理论教育 约束条件下的粒子群优化计算

约束条件下的粒子群优化计算

时间:2023-06-15 理论教育 版权反馈
【摘要】:随着粒子群的广泛应用,对于具有约束条件的粒子群的优化问题也受到了越来越多的研究人员的关注。由于罚函数法能很好地将约束问题转化成无约束的问题,所以可以将罚函数法与粒子群优化方法相结合一起解决约束优化问题。

约束条件下的粒子群优化计算

PSO对于无约束的优化问题能很好的解决,然而在实际应用中,我们发现大部分的优化问题都存在约束条件。随着粒子群的广泛应用,对于具有约束条件的粒子群的优化问题也受到了越来越多的研究人员的关注。一般的约束条件有等式约束条件、不等式约束条件和混合约束条件,具有它们可以用下面的数学模型来表示:

式中:f(x)表示目标函数,hi(x)表示等式约束条件,gj(x)表示不等式约束条件。对于具有约束条件的优化问题,常用的方法有罚函数法、Rosen梯度投影法、坐标轮换法等,其中罚函数法能够很好的处理一般的约束优化问题,等式和不等式约束可以很好的解决,其基本思想是将约束问题转化为无约束问题的求解,将原目标函数和约束条件函数一起组合得到的函数即是罚函数。一般罚函数的构造如下:

(1)对于等式约束罚函数构造。

优化问题:

罚函数可以为:

(2)对于不等式约束罚函数构造。

优化问题:

罚函数可以为:

(3)对于既有等式又有不等式约束的罚函数,可以由上面两中方法相结合得到即

优化问题:

罚函数可以为:

罚函数的构造方法有很多,但是其基本的思路都是一样的,就是使罚函数和原来的目标函数在可行点处的值一致,否则,罚函数的值等于一个很大的数值。罚函数法包括内点、外点、混合罚函数法和乘子法,它们的思想都是一样的,主要不同之处是向约束边界靠拢的方向不一样。由于罚函数法能很好地将约束问题转化成无约束的问题,所以可以将罚函数法与粒子群优化方法相结合一起解决约束优化问题。(www.daowen.com)

由于标准的粒子群优化方法具有容易陷入局部最优的缺点,所以出现了大量改进的粒子群优化方法,如退火粒子群优化[5]、带审敛因子的变邻域粒子群算法[6]自适应粒子群优化[7]等方法,但这些方法使得粒子群优化方法变得复杂化,为此文章采用基于线性递减权重法的粒子群优化方法[8]。惯性权重的大小决定了粒子的搜索能力,大的惯性权重有利于跳出局部极小点,小的有利于算法的收敛和对当前搜索区域进行精确搜索。所以对于粒子群优化算法易陷入局部最优的缺点,以及该算法后期在全局最优解附近易产生震荡现象的问题,这种方法可以很好地解决。如下所示惯性权重的变化公式为:

其中,wmax、wmin分别是惯性权重w的最大和最小值,通常wmax=0.9,wmin=0.4;n是当前的迭代步数;Nmax是最大迭代步数。该算法的基本步骤与标准粒子群优化方法的步骤相比,只是在跟新粒子的更新速度和位移之后,更新一下惯性权重,其他的步骤都是一样的,所以此处不再赘述。

采用基于罚函数的改进的粒子群优化方法,可以很好的解决具有约束条件的优化问题,具体的流程如下:

(1)根据约束条件,构造罚函数;

(2)设定PSO中的粒子数、最大迭代次数、学习因子、粒子的搜索空间、最大和最小权重值等;

(3)初始化粒子的位置和速度;

(4)根据粒子的适应度设置粒子的局部最优和全局最优位置和适应度;

(5)根据式(4-2)、式(4-3)和式(4-11)来更新粒子的速度、位置以及惯性权重;

(6)根据每个粒子的适应度来跟新粒子的个体最优和全局最优位置;

(7)判断算法是否结束。若满足结束条件,返回当前全局最优位置,算法结束;否则,返回步骤(5)。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈