_all of the code for this study
MMC_cantilever和MMC_Lshape函数是分别是两个算例的求解函数,FUNCTION文件夹是子函数。
pso.m运行可以得到论文中的结果,对应不同算例需要改变pso.m中对应的求解函数以及model,这里求解函数指MMC_cantilever.m和MMC_Lshape.m,model是图像分类模块的模型。
pkl文件是利用机器学习训练好的模型,用于图像识别,文件名末尾为ET的对应是cantilever算例的模型。末尾是ET-l的是Lshape算例的模型。
Lshape和cantilever-beam压缩包是机器学习的训练数据
完整运行代码需要安装scilit-learning 0.23.0版本
opencv 包含SIFT算法的全功能opencv,附件给出了安装方式
- PSO.m
这是优化的主运行程序,不同的算例需要改变不同的求解函数,程序中表达为CostFuction的部分。 - MMC188.m and MMC_Lshape.m
分别对应两个算例的MMC优化迭代函数,需要更改图片保存路径。 - switch.py
将迭代的保存的jpg图片转化为png图片,以区别新旧的粒子种群迭代出的图像。需要更改图片的路径。 - test.py
对生成的图片进行识别,给定图片的标签,确定迭代的结构是否为可行解。需要对不同的例子更改不同的pkl模型文件,以及图片的路径。
- BasicKe.m
- Heaviside.m:符号函数
- tPhi.m
- tvoid.m
- variables.m
- subsolv.m
- mmasub.m
- afterProcessing.m
程序自动运行结束后,会保存一个all.mat的文件,直接运行此代码可以将迭代过程中的粒子最优解pbest以及迭代顺序的全局最优解gbest等关键的程序结果提取出来。