带约束的粒子群优化算法C++实现
2018年1月份给师姐做的一个小项目,本来不打算写的,因为论文还没发表,涉及查重等乱七八糟的问题。。。。
感觉现在不写,以后应该来不及了,因为已经在实习岗位了。。。。
不做过多介绍,只做大概的描述,我是在别人程序上进行改进和优化的。。。。
之前还想把博文写的好看一点,现在没时间也没心思了,每天挤三个小时公交车去上班,那有多余时间来弄博文。
参考几位大神的博文和百度知道:
https://blog.csdn.net/bettarwang/article/details/12179995#insertcode
https://blog.csdn.net/lmm6895071/article/details/78329045?locationNum=7&fps=1
https://zhidao.baidu.com/question/574425289.html?push=keyword#answer-1447459538
https://blog.csdn.net/chen_jp/article/details/7947059
粒子群算法的原理:
这个网上一大堆,上面的博文中也详细的描述了,没必要要照葫芦画瓢了。
约束问题的描述:
对于 ,算法描述:
当 当作为0处理,当 当作 处理。
意思就是,满足条件直接在原来的基础上加上一个正值,让目标变大。当不满足条件,那就等于0,或者等于一个负值,目的让目标变小。因为优化的目标为大,反之相反即可!
对于 ,C++代码描述:
float result = 3x + 2y + ((2x+3y-2000)>0?0:abs(2x+3y-2000));
下面的几个约束就类似,比较简单了。
粒子群算法的C++实现VS2015控制台版本:
论文还未发表,暂时不上传代码,如果需要的朋友请留邮箱!
粒子群算法的C++实现QT5.7.0界面版:
论文还未发表,暂时不上传代码,如果需要的朋友请留邮箱!
-------------------------------------------
个性签名:衣带渐宽终不悔,为伊消得人憔悴!
如果觉得这篇文章对你有小小的帮助的话,记得关注再下的公众号,同时在右下角点个“推荐”哦,博主在此感谢!