News

新闻中心

智能优化算法能不能每次能找到一个固定的结果?

2024-09-09 12:54:27
浏览次数:
返回列表

比如 遗传算法 粒子群算法 引力搜索算法等,在优化一个问题的过程中,假设500次迭代出一次结果,当我想要100个结果的时候,我这100个结果是否都能优化到同一个值,即这100个结果都是相等的?还是说这100个结果都是在某一个范围内就是可以接受的?

不能,


除非参数特别少,否则一般不能获得最优解。


除非使用伪随机数,否则一般不会获得相同解。

如遗传算法,粒子群算法等都是基于种群的启发式算法,这些算法在初始阶段都需要一个种群。相关的文献证明了遗传算法是具有收敛性质[1]的(原谅我已将老师的知识全部还给他了),在理论上验证了只要在算力资源充足的情况下,种群可以收敛的,即算法是可以找到最优解的,最终所有的种群结果都可以收敛到某个值。

但是事实并非完全如此,现有发表的基于遗传算法、粒子群算法的文章,都是在宣扬一种思想,我设计的某个交叉、变异算子很新颖,而且, 试验部分的结果往往都是某个标准测试集[2, 3]的局部最优解,同时,求解的主要还是一些低维优化问题(自变量个数小于20),高维优化问题另当别论。问题的维度较低时,搜索空间可能不太复杂,局部最优解的数目不是特别多,这时,如果遗传算法具有较好的搜索性能(-->交叉、变异算子较好)(遗传算法本质上还是局部搜索算法),在充足计算资源的情况下是可以达到你所希望的要求的。如果只是在计算资源充足的情况下,也是可以达到你所希望的要求的,但是,越到后期,收敛速度越慢....反之,当问题的维度增高,搜索空间指数级增长,局部最优解数据急剧增长,算法可能会陷入到某个局部最优解,此时,可能种群就停滞在此局部最优解处,且每次运行遗传算法可能得到的结果都不同(个人试验验证过,国际上发表的文章也都是多次使用算法对某问题求解,然后求出多次中的最优解, 中位值,最差解,方差,根据这些结果判定算法优劣)

所以,一切因你遇到的问题而定,因你拥有的计算资源而定(结果是否具有时效性--->在这些计算资源下所生成的结果是否达到最优,在限定时间的计算资源下的结果是否具有代表性,可用),因你对启发式算法的改进而定。

[1]孙成富, 赵建洋, 陈剑洪, 差分进化算法马尔可夫链模型及收敛性分析, 计算机技术与发展,2013, (8), 62-65

[2]Ke Tang, Xiaodong Li, P. N. Suganthan, Zhenyu Yang, and Thomas Weise. Benchmark functions for the CEC’2010 special session and competition on large-scale global optimization. Technical report, Nature Inspired Computation and Applications Laboratory, USTC, China, 2009.

[3]X. Li, K. Tang, M. N. Omidvar, Z. Yang, and K. Qin, “Benchmark functions for the CEC’2013 special session and competition on largescale global optimization,” RMIT University, Melbourne, Australia, Tech. Rep., 2013.

看问题和规模。

夸张点,一个二次函数求极值,500次重复试验肯定返回你同样的解(只要参数设置正常)。

一个10维的问题,20维的问题,乃至50维的问题,如果目标函数友好,例如convex,那多次重复运行极有可能重复相同解。

当问题维度增加,或者函数形式复杂,求得同一解的概率不断下降。其实对于大规模复杂问题,不用太纠结解的精度。在合理误差范围内或者满足个人需求即可。

都是基于随机理论的


1.250+种优化算法及对比-Matlab版:cnblogs.com/huakaifugui

2.实现250+种优化算法对变分模态分解(VMD)参数的优化:cnblogs.com/huakaifugui

3.250+种优化算法实现电力系统最优潮流计算:cnblogs.com/huakaifugui

4.基于250多种优化算法实现三维无人机路径规划:cnblogs.com/huakaifugui

5.基于250多种优化算法实现机器人网格地图路径规划:cnblogs.com/huakaifugui

6.基于250多种优化算法实现图像多阈值分割:cnblogs.com/huakaifugui

7.基于250多种优化算法的图像分割:cnblogs.com/huakaifugui

8.基于250多种优化算法结合聚类的图像分割:cnblogs.com/huakaifugui

9.基于250多种优化算法实现无人机三维路径规划:cnblogs.com/huakaifugui

10.基于250+种优化算法的发电机经济负荷调度问题:mbd.pub/o/works/449892

11.基于250多种优化算法解决14种限制性工程设计问题:cnblogs.com/huakaifugui

光谱优化算法(Light Spectrum Optimizer,LSO)由Mohamed Abdel-Basset等人于2022年提出。

参考文献:Abdel-Basset M, Mohamed R, Sallam KM, Chakrabortty RK. Light Spectrum Optimizer: A Novel Physics-Inspired Metaheuristic Optimization Algorithm. Mathematics. 2022; 10(19):3466. doi.org/10.3390/math101

蜘蛛蜂优化算法(Spider wasp optimizer,SWO)由Mohamed Abdel-Basset等人于2023年提出,该算法模型雌性蜘蛛蜂的狩猎、筑巢和交配行为,具有搜索速度快,求解精度高的优势。蜘蛛蜂优化算法(Spider wasp optimizer,SWO)_IT猿手的博客-CSDN博客


参考文献:

[1]Abdel-Basset, M., Mohamed, R., Jameel, M. et al. Spider wasp optimizer: a novel meta-heuristic optimization algorithm. Artif Intell Rev (2023). doi.org/10.1007/s10462-

斑马优化算法(Zebra Optimization Algorithm,ZOA)Eva Trojovská等人于2022年提出,其模拟斑马的觅食和对捕食者攻击的防御行为。斑马优化算法(Zebra Optimization Algorithm,ZOA)_IT猿手的博客-CSDN博客


参考文献:

E Trojovská, M Dehghani, P Trojovsky. Zebra Optimization Algorithm: A New Bio-Inspired Optimization Algorithm for Solving Optimization Algorithm[J]. IEEE Access, 2022,10:49445-49473.

能量谷优化算法(Energy valley optimizer,EVO)是MahdiAzizi等人于2023年提出的一种新颖的元启发式算法,其灵感来自关于稳定性和不同粒子衰变模式的物理原理。能量谷优化算法(Energy valley optimizer,EVO)_IT猿手的博客-CSDN博客


参考文献

Azizi, M., Aickelin, U., A. Khorshidi, H. et al. Energy valley optimizer: a novel metaheuristic algorithm for global and engineering optimization. Sci Rep 13, 226 (2023). doi.org/10.1038/s41598-

开普勒优化算法(Kepler optimization algorithm,KOA)由Mohamed Abdel-Basset等人于2023年提出。


参考文献:Mohamed Abdel-Basset, Reda Mohamed, Shaimaa A. Abdel Azeem, Mohammed Jameel, Mohamed Abouhawwash, Kepler optimization algorithm: A new metaheuristic algorithm inspired by Kepler’s laws of planetary motion, Knowledge-Based Systems, 2023. DOI: doi.org/10.1016/j.knosy

淘金优化算法(Gold rush optimizer,GRO)由Kamran Zolf于2023年提出,其灵感来自淘金热,模拟淘金者进行黄金勘探行为。淘金优化算法(Gold rush optimizer,GRO)提供MATLAB代码_IT猿手的博客-CSDN博客


参考文献: K. Zolfi. Gold rush optimizer: A new population-based metaheuristic algorithm. Operations Research and Decisions 2023: 33(1), 113-150. DOI 10.37190/ord230108

测试集:23组基本测试函数简介及图像(提供python代码)_常用测试函数有几个典型_IT猿手的博客-CSDN博客

在智能优化算法的性能测试过程中,经常需要借助一些测试函数对算法的全局搜索和局部搜索的性能测试。CEC(国际进化计算会议) 测试函数,常用的23组整理如下:

参考文献:

[1]Yao X, Liu Y, Lin G M. Evolutionary programming made faster[J]. IEEE transactions on evolutionary computation, 1999, 3(2):82-102.

(1)部分代码

Function_name='F8';%测试函数F1-F23(可以修改)
addpath('https://www.zhihu.com/question/AlgorithmCode/')%添加算法路径
SearchAgents_no=100; % 种群大小(可以修改)
Max_iteration=100; %最大迭代次数(可以修改)
[lb,ub,dim,fobj]=Get_Functions_details(Function_name);%获取测试函数上下界、维度及目标函数
for i=1:size(AlgorithmName,2)%遍历每个算法,依次求解当前问题
[Best_score,Best_pos,Convergence_curve]=Algorithm(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);%当前算法求解
%reference code link: https://mbd.pub/o/bread/ZJuYk5dp
%将当前算法求解结果放入data中
data(i).Best_score=Best_score;%保存该算法的Best_score到data
data(i).Best_pos=Best_pos;%保存该算法的Best_pos到data
data(i).Convergence_curve=Convergence_curve;%保存该算法的Convergence_curve到data
end

(2)部分结果









搜索

平台注册入口