600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 智能优化算法:未来搜索算法-附代码

智能优化算法:未来搜索算法-附代码

时间:2021-11-17 04:57:27

相关推荐

智能优化算法:未来搜索算法-附代码

智能优化算法:未来搜索算法-附代码

文章目录

智能优化算法:未来搜索算法-附代码1.算法原理1.1 算法初始化1.2 局部解和全局最优解1.3 定义新解1.4 更新随机初始值2.算法结果3.参考文献4.Matlab代码

摘要:未来搜索算法(Future search algorithm,FSA) 是 M. Elsisi于 年通过模仿人类向往美好生活而提出的一种新颖搜索算法。该算法通过建立数学模型模拟人与人之间最优生活( 局部搜索) 和历史最优生活( 全局搜索) 来获得最优解。与其他算法相比,FSA 具有调节参数少、收敛速度快、寻优能力强等优点。

1.算法原理

FSA 数学描述简述如下:

1.1 算法初始化

FSA 通过式(1) 初始化当前解:

S(i,:)=Lb+(Ub−Lb)∗rand(1,d)(1)S(i,:)=Lb + (Ub-Lb)*rand(1,d)\tag{1} S(i,:)=Lb+(Ub−Lb)∗rand(1,d)(1)

式中 S(i,:)S( i,: )S(i,:)​ —第 i 个国家/地区当前解;Ub,LbUb,LbUb,Lb—搜索空间的上,下限;randrandrand—均匀分布随机数;ddd—问题维度;

1.2 局部解和全局最优解

FSA 将每个国家/地区当前最优解定义为局部最优解LSLSLS​,将所有国家/地区当前最优解定义为全局最优解GSGSGS​,并通过迭代过程获得待优化问题最优解。FSA 通过式(3) 、(4)实现局部解和全局最优解的更新:

S(i,:)L=(LS(i,:)−S(i,:))∗rand(3)S(i,:)_L=(LS(i,:)-S(i,:))*rand\tag{3} S(i,:)L​=(LS(i,:)−S(i,:))∗rand(3)

S(i,:)G=(GS−S(i,:))∗rand(4)S(i,:)_G=(GS-S(i,:))*rand \tag{4} S(i,:)G​=(GS−S(i,:))∗rand(4)

式中 S(i,:)LS(i,:)_LS(i,:)L​ 、S(i,:)GS(i,:)_GS(i,:)G​ —第iii个国家/地区局部解和全局最优解; LS(i,:)LS(i,:)LS(i,:) —第iii​个国家/地区局部最优解; GSGSGS—所有国家/地区全局最优解; randrandrand​—[0,1]范围内随机数。

1.3 定义新解

在获得第iii​​个国家/地区局部解和全局最优解后,利用式(5) 重新定义当前解:

S(i,:)=S(i,:)+S(i,:)L+S(i,:)G(5)S(i,:)=S(i,:)+S(i,:)_L+S(i,:)_G\tag{5} S(i,:)=S(i,:)+S(i,:)L​+S(i,:)G​(5)

1.4 更新随机初始值

FSA 在更新局部最优解LSLSLS和全局最优解 GSGSGS​ 后,利用式(6) 更新式(1) 的随机初始值:

S(i,:)=GS+[GS−LS(i,:)]∗rand(6)S(i,:)=GS+[GS-LS(i,:)]*rand \tag{6} S(i,:)=GS+[GS−LS(i,:)]∗rand(6)

算法步骤

step1.初始化国家\地区

step2.计算适应度值,记录全局最优值和局部最优值

step3.根据局部最优解和全局最解更新国家、地区位置

step4.计算适应度值,记录全局最优值和局部最优值

step5.根据式(6)更新初始化国家、地区。

step6.判断是否满足停止条件,如果满足则输出最优解,否则重复步骤step2-6。

2.算法结果

3.参考文献

[1]M. Elsisi. Future search algorithm for optimization[J]. Springer Berlin Heidelberg,,12(1):

[1]郭存文,崔东文.PCA-FSA-MLR模型及在径流预测中的应用研究[J].人民珠江,,42(06):91-98.

4.Matlab代码

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。