首页 理论教育 优化算法流程:粒子群与内点罚函数结合

优化算法流程:粒子群与内点罚函数结合

时间:2023-06-17 理论教育 版权反馈
【摘要】:结合前面的多目标单一化原理,则最终的目标函数为F=min max{μ+h} 算法流程本章模型化为单目标优化问题后,采用7.8节中的粒子群优化算法与内点罚函数结合的优化算法,算法流程如下:步骤1:确定系统参数,包括惯性权重系数、学习因子、迭代次数、罚因子及罚因子递减系数、初始点、收敛精度等。

优化算法流程:粒子群与内点罚函数结合

(1)多目标单一化

PSO算法能够有效地应用于单目标优化问题中,但由于多目标优化问题一般是一组或者几组连续解的集合,不存在完全意义上的最优解,即使各个目标函数都达到最优。在本章的多目标模型中,既要使储能装置的成本尽可能小和收益尽可能大,又要考虑储能装置对出力曲线的平滑效果,同时由于两个目标函数具有不同的量纲,不能采用加权的方法转为单目标优化问题,所以本章采用隶属度函数的方法使目标模糊化。转化后的目标函数为

min max{μfi)} (8-9)

式中 fi———单目标指标值;

μfi)———各目标的隶属度值。

个体某种指标越差,相应的隶属度值越大。优化目的是将各目标中隶属度值最大的指标(该指标性能最差)最小化。

隶属度函数的取法有线性、凸指数形、凹指数形、双曲线形等。本章采用线性函数,对于经济性指标,选择隶属度函数μf1)为单调递减函数,如式(8-10)所示;对于功率波动衡量指标,选择隶属度函数μf2)为单调递增函数,如式(8-11)所示。

式中 f1minf2max———不能接受的目标值(本章中f1min取0;f2max取未采取储能优化时的值);

f1maxf2min———理想的目标值(本章中取以单一目标计算所得的最优解)。

(2)约束条件的处理

求解有约束优化问题时,最常采用的办法是罚函数法,把较为复杂的有约束最优化问题转化为简单的无约束优化问题,通过求出无约束问题的最优解来逼近原有约束最优化问题的解。本章中模型只存在不等式约束,则约束条件采用内点法构造惩罚项进行处理。

对于有约束最优化模型:

添加罚函数后的增广目标函数形式为

记罚函数项 978-7-111-39449-5-Chapter08-12.jpg

上式中,rl)为罚因子,它是一个递减的无穷序列。其作用是使搜索点不越出已被满足的不等式约束边界,随着rl不断减小,可使搜索点向有效约束边界逼近。如此则原有约束优化问题转化为无约束优化问题。

结合前面的多目标单一化原理,则最终的目标函数为(www.xing528.com)

F=min max{μfi)+h} (8-15)

(3)算法流程

本章模型化为单目标优化问题后,采用7.8节中的粒子群优化算法与内点罚函数结合的优化算法,算法流程如下:

步骤1:确定系统参数,包括惯性权重系数、学习因子、迭代次数、罚因子及罚因子递减系数、初始点、收敛精度等。

步骤2:根据两个目标函数和约束条件,确定罚函数,分别得出两个单目标函数的增广目标函数。

步骤3:随机初始化粒子的个数,赋予每个粒子初始速度和初始位置,若粒子不为内点,则利用临时目标函数进行修正。

步骤4:根据每个粒子初始的位置计算增广目标函数值pbest,将所有pbest中最好的作为本代粒子的gbest

步骤5:迭代次数增加1,更新罚因子和增广目标函数。计算新一代粒子的位置和速度。

步骤6:根据步骤4中的方法计算当代粒子的增广函数目标值,并与上一代pbest比较,得出本代pbest,将本代pbest作为本代gbest

步骤7:判断结果的精度是否已达到要求或者循环迭代次数是否达到了最大次数,如未达到,则返回步骤5。

步骤8:判断结果的精度是否已达到要求或者循环迭代次数是否达到了最大次数,如达到则停止迭代,提取gbest作为单目标最优化的结果。

步骤9:根据前面步骤所得到的优化结果f1maxf2min,按照前面介绍的多目标单一化的方法对多目标函数进行单一化处理。

步骤10:重新设定单一化处理后的优化问题的系统参数。

步骤11:根据单一化处理结果和约束条件确定罚函数,得出增广目标函数。

步骤12:重复步骤3至步骤8。

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

我要反馈