用Python3.6解决PSO算法高维约束问题

在确定使用PSO算法的时候,因本人之前对算法了解不多,所以选择了参考他人的代码。源代码网址为:https://blog.csdn.net/ztf312/article/details/75669685

接下来我将描述我要解决的问题,如果大家和我有相同的困惑,欢迎讨论,本人菜鸟一枚。(由于课题涉密原因,全部代码并不能全部展现给大家,希望大家谅解)

我先用语言描述一下,尽可能描述清楚。
1.参考源代码处理的问题是一维无约束函数,我就在此基础上进行了扩展,初始化种群如下:

用Python3.6解决PSO算法高维约束问题_第1张图片

2.参考源代码的目标函数就是简单的自变量平方求和,我需要解决的问题由于自变量个数多,所以我在目标函数那里添加了约束函数,如下:
用Python3.6解决PSO算法高维约束问题_第2张图片
用Python3.6解决PSO算法高维约束问题_第3张图片

3.更新粒子位置和速度
用Python3.6解决PSO算法高维约束问题_第4张图片

4.运行结果如下:

用Python3.6解决PSO算法高维约束问题_第5张图片

经过验证这个结果是不对的。。。。问题已经困惑我很久了,请求各位大神路过指点我一下,万分感谢,你的一句话可以救小弟一命,谢谢各位!!!

你可能感兴趣的:(用Python3.6解决PSO算法高维约束问题)