智能优化算法:未来搜索算法-附代码
文章目录
智能优化算法:未来搜索算法-附代码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.