带约束的粒子群优化算法C++实现

时间:2024-11-22 17:06:50

2018年1月份给师姐做的一个小项目,本来不打算写的,因为论文还没发表,涉及查重等乱七八糟的问题。。。。

感觉现在不写,以后应该来不及了,因为已经在实习岗位了。。。。

不做过多介绍,只做大概的描述,我是在别人程序上进行改进和优化的。。。。

之前还想把博文写的好看一点,现在没时间也没心思了,每天挤三个小时公交车去上班,那有多余时间来弄博文。


参考几位大神的博文和百度知道:

  https://blog.****.net/bettarwang/article/details/12179995#insertcode

  https://blog.****.net/lmm6895071/article/details/78329045?locationNum=7&fps=1

  https://zhidao.baidu.com/question/574425289.html?push=keyword#answer-1447459538  

  https://blog.****.net/chen_jp/article/details/7947059

粒子群算法的原理:

  这个网上一大堆,上面的博文中也详细的描述了,没必要要照葫芦画瓢了。

约束问题的描述:

  带约束的粒子群优化算法C++实现

  对于 带约束的粒子群优化算法C++实现 ,算法描述:

    当 带约束的粒子群优化算法C++实现 当作为0处理,当 带约束的粒子群优化算法C++实现 当作 带约束的粒子群优化算法C++实现 处理。

    意思就是,满足条件直接在原来的基础上加上一个正值,让目标变大。当不满足条件,那就等于0,或者等于一个负值,目的让目标变小。因为优化的目标为大,反之相反即可!

  对于 带约束的粒子群优化算法C++实现 ,C++代码描述:   

float result = 3x + 2y + ((2x+3y-2000)>0?0:abs(2x+3y-2000));

   下面的几个约束就类似,比较简单了。

粒子群算法的C++实现VS2015控制台版本:

    论文还未发表,暂时不上传代码,如果需要的朋友请留邮箱!

粒子群算法的C++实现QT5.7.0界面版:

      论文还未发表,暂时不上传代码,如果需要的朋友请留邮箱!

带约束的粒子群优化算法C++实现

带约束的粒子群优化算法C++实现