zl程序教程

您现在的位置是:首页 >  后端

当前栏目

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

算法智能代码 优化 未来 搜索算法
2023-09-14 09:06:12 时间

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


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

1.算法原理

FSA 数学描述简述如下:

1.1 算法初始化

FSA 通过式(1) 初始化当前解:
S ( i , : ) = L b + ( U b − L b ) ∗ r a n d ( 1 , d ) (1) S(i,:)=Lb + (Ub-Lb)*rand(1,d)\tag{1} S(i,:)=Lb+(UbLb)rand(1,d)(1)
式中 S ( i , : ) S( i,: ) S(i:)​ —第 i 个国家/地区当前解; U b , L b Ub,Lb Ub,Lb—搜索空间的上,下限; r a n d rand rand—均匀分布随机数; d d d—问题维度;

1.2 局部解和全局最优解

FSA 将每个国家/地区当前最优解定义为局部最优解 L S LS LS​,将所有国家/地区当前最优解定义为全局最优解 G S GS GS​,并通过迭代过程获得待优化问题最优解。FSA 通过式(3) 、(4)实现局部解和全局最优解的更新:
S ( i , : ) L = ( L S ( i , : ) − S ( i , : ) ) ∗ r a n d (3) S(i,:)_L=(LS(i,:)-S(i,:))*rand\tag{3} S(i,:)L=(LS(i,:)S(i,:))rand(3)

S ( i , : ) G = ( G S − S ( i , : ) ) ∗ r a n d (4) S(i,:)_G=(GS-S(i,:))*rand \tag{4} S(i,:)G=(GSS(i,:))rand(4)

式中 S ( i , : ) L S(i,:)_L S(i,:)L S ( i , : ) G S(i,:)_G S(i,:)G —第 i i i个国家/地区局部解和全局最优解; L S ( i , : ) LS(i,:) LS(i,:) —第 i i i​个国家/地区局部最优解; G S GS GS—所有国家/地区全局最优解; r a n d rand rand​—[0,1]范围内随机数。

1.3 定义新解

在获得第 i i i​​个国家/地区局部解和全局最优解后,利用式(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 在更新局部最优解 L S LS LS和全局最优解 G S GS GS​ 后,利用式(6) 更新式(1) 的随机初始值:
S ( i , : ) = G S + [ G S − L S ( i , : ) ] ∗ r a n d (6) S(i,:)=GS+[GS-LS(i,:)]*rand \tag{6} S(i,:)=GS+[GSLS(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,2019,12(1):

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

4.Matlab代码