34: OPTIMIZATION_METHOD_AO_HS = 1 e-323 33: OPTIMIZATION_METHOD_AO_GSA = 0.11926002964619356 32: OPTIMIZATION_METHOD_AO_ABC = 0.4042085745674859 31: OPTIMIZATION_METHOD_AO_MA = 0.612338549995716 30: OPTIMIZATION_METHOD_AO_BFO = 0.6679763921514072 29: OPTIMIZATION_METHOD_AO_BFO_GA = 0.71308437578657 28: OPTIMIZATION_METHOD_AO_CSS = 0.7316626048819873 27: OPTIMIZATION_METHOD_AO_FSS = 0.7355579934372427 26: OPTIMIZATION_METHOD_AO_GWO = 0.7390576242470235 25: OPTIMIZATION_METHOD_AO_RND = 0.8155449913938271 24: OPTIMIZATION_METHOD_AO_PSO = 0.8222303819859975 23: OPTIMIZATION_METHOD_AO_SC = 0.8340939685401099 22: OPTIMIZATION_METHOD_AO_BA = 0.845763320077643 21: OPTIMIZATION_METHOD_AO_Micro_AIS = 0.8528065344750899 20: OPTIMIZATION_METHOD_AO_SA = 0.8589854552563216 19: OPTIMIZATION_METHOD_AO_SFL = 0.8597046576708655 18: OPTIMIZATION_METHOD_AO_IWDm = 0.862259472275573 17: OPTIMIZATION_METHOD_AO_EM = 0.8779833807818905 16: OPTIMIZATION_METHOD_AO_SDS = 0.9027267066161594 15: OPTIMIZATION_METHOD_AO_NMm = 0.9076903894257041 14: OPTIMIZATION_METHOD_AO_FAm = 0.9111364322206529 13: OPTIMIZATION_METHOD_AO_ESG = 0.9128694208149278 12: OPTIMIZATION_METHOD_AO_SDOm = 0.9182612507465655 11: OPTIMIZATION_METHOD_AO_COAm = 0.9198698363722636 10: OPTIMIZATION_METHOD_AO_IWO = 0.923914294524697 09: OPTIMIZATION_METHOD_AO_SSG = 0.9304990658351672 08: OPTIMIZATION_METHOD_AO_BGA = 0.9389284935189659 07: OPTIMIZATION_METHOD_AO_ACOm = 0.944545536542497 06: OPTIMIZATION_METHOD_AO_DE = 0.9482478998933197 05: OPTIMIZATION_METHOD_AO_POES = 0.9528516011673952 04: OPTIMIZATION_METHOD_AO_SIA = 0.9540996483364099 03: OPTIMIZATION_METHOD_AO_MEC = 0.9574730447145243 02: OPTIMIZATION_METHOD_AO_SDSm = 0.9648638811101882 01: OPTIMIZATION_METHOD_PSO = 0.9653160312454183 00: OPTIMIZATION_METHOD_AO_P_O_ES = 0.9654152361899765
34: OPTIMIZATION_METHOD_AO_ABC = 0.42453133581346014 33: OPTIMIZATION_METHOD_AO_IWDm = 0.48360991828383987 32: OPTIMIZATION_METHOD_AO_SIA = 0.49114081735004017 31: OPTIMIZATION_METHOD_AO_EM = 0.49479704987697276 30: OPTIMIZATION_METHOD_AO_RND = 0.5085913649249508 29: OPTIMIZATION_METHOD_AO_MA = 0.5129110822292692 28: OPTIMIZATION_METHOD_AO_HS = 0.5129110822292692 27: OPTIMIZATION_METHOD_AO_CSS = 0.5138134842496185 26: OPTIMIZATION_METHOD_AO_SSG = 0.518468314742929 25: OPTIMIZATION_METHOD_AO_SC = 0.5243709181146918 24: OPTIMIZATION_METHOD_AO_SA = 0.532630712905892 23: OPTIMIZATION_METHOD_AO_FSS = 0.5405996550405998 22: OPTIMIZATION_METHOD_AO_PSO = 0.5430691869913079 21: OPTIMIZATION_METHOD_AO_FAm = 0.5629971666466362 20: OPTIMIZATION_METHOD_AO_BA = 0.5653828707497576 19: OPTIMIZATION_METHOD_AO_BFO = 0.5708620661833331 18: OPTIMIZATION_METHOD_AO_IWO = 0.5736967768562664 17: OPTIMIZATION_METHOD_AO_NMm = 0.5818790406200212 16: OPTIMIZATION_METHOD_AO_ESG = 0.5945790493029925 15: OPTIMIZATION_METHOD_AO_GWO = 0.6234871646160723 14: OPTIMIZATION_METHOD_PSO = 0.6256882439878475 13: OPTIMIZATION_METHOD_AO_GSA = 0.6735183680285166 12: OPTIMIZATION_METHOD_AO_SFL = 0.6885524892005978 11: OPTIMIZATION_METHOD_AO_DE = 0.7092034045816206 10: OPTIMIZATION_METHOD_AO_COAm = 0.7263185318109061 09: OPTIMIZATION_METHOD_AO_SDS = 0.7686064552778226 08: OPTIMIZATION_METHOD_AO_Micro_AIS = 0.7722431882203732 07: OPTIMIZATION_METHOD_AO_SDOm = 0.7808430850753312 06: OPTIMIZATION_METHOD_AO_MEC = 0.7816647439743983 05: OPTIMIZATION_METHOD_AO_ACOm = 0.7830252357918316 04: OPTIMIZATION_METHOD_AO_POES = 0.8453008986622238 03: OPTIMIZATION_METHOD_AO_P_O_ES = 0.8523920887258357 02: OPTIMIZATION_METHOD_AO_SDSm = 0.9046058644799349 01: OPTIMIZATION_METHOD_AO_BGA = 0.9856063511804057 00: OPTIMIZATION_METHOD_AO_BFO_GA = 0.9880292622094636
因为最大结果是无法保证的。我还要告诉你,在随机搜索中,没有任何结果是有保证的。
你只能估算出一定测试次数的平均结果,在文章中,我们取了 10 次测试,这足以很好地评估算法之间的比较。当然,也有可能增加测试次数,比如 100 次或更多,但这样做毫无意义,因为测量精度会迅速下降。总之,10 次测试是最好的,我之前用过 5 次测试--这还不够。
而且,有些算法在收敛性方面表现出非常大的分散性, 这是优化算法的一个非常重要的特性--结果的可重复性,它是算法概率模型稳定性的特征(当然,除非我们谈论的是确定性搜索策略,其结果将始终如一,但通常情况下,此类算法的收敛性较低)。
一般来说,要对搜索策略具有随机性的算法进行充分比较,至少需要进行 10 次测试。
我们可以非常粗略地打个比方:要在一堆稻草中找到一个苹果,哪种把矛戳进干草堆的策略更有效?这种比较只能在多次试验中进行,否则,如果严格地从草垛顶端的中心开始戳,第一次用矛戳中苹果的概率就不会为零,而认为这是这种策略的必然结果是错误的。
此外,这些策略是以绝对纯粹的形式给出的,可以说是策略的灵丹妙药,在有限的 FF 运行中,没有应用重复筛选和其他搜索加速技术。每个新的重复集都会浪费一次运行,这种纯粹形式的算法非常容易比较。
当搜索空间较小时,重复排除会带来很大的不同,即使是很弱的算法也能显示出很好的结果。但随着搜索空间的增大,重复排除就会变得毫无意义,搜索策略的能力差异也就越明显。
我在这篇文章中可能没有很好地表达我的观点,很遗憾,有些事情很难解释清楚。
fxsaber #:
我认为有一个输入参数 "重复次数 "来搜索全局最大值是合乎逻辑的。
我认为有一个输入参数 "重复次数 "来搜索全局最大值是合乎逻辑的。

34: OPTIMIZATION_METHOD_AO_HS = -1.7976931348623157 e+308 33: OPTIMIZATION_METHOD_AO_CSS = 0.49720358822818334 32: OPTIMIZATION_METHOD_AO_FSS = 0.5126268634117646 31: OPTIMIZATION_METHOD_AO_MA = 0.5456638212207142 30: OPTIMIZATION_METHOD_AO_SC = 0.5493573778417595 29: OPTIMIZATION_METHOD_AO_SFL = 0.5586288936731915 28: OPTIMIZATION_METHOD_AO_EM = 0.5622069376759021 27: OPTIMIZATION_METHOD_AO_BFO = 0.572272929264936 26: OPTIMIZATION_METHOD_AO_GWO = 0.576823172558009 25: OPTIMIZATION_METHOD_AO_BA = 0.5780620208551676 24: OPTIMIZATION_METHOD_AO_COAm = 0.6122501636921197 23: OPTIMIZATION_METHOD_AO_FAm = 0.6140389813209256 22: OPTIMIZATION_METHOD_AO_IWO = 0.668152749061326 21: OPTIMIZATION_METHOD_AO_RND = 0.6708834560036839 20: OPTIMIZATION_METHOD_AO_SDSm = 0.6949312990837662 19: OPTIMIZATION_METHOD_AO_ESG = 0.6998001260367949 18: OPTIMIZATION_METHOD_AO_DE = 0.7011196053256343 17: OPTIMIZATION_METHOD_AO_IWDm = 0.7021399692041209 16: OPTIMIZATION_METHOD_AO_GSA = 0.7220579685405103 15: OPTIMIZATION_METHOD_AO_PSO = 0.749441828773945 14: OPTIMIZATION_METHOD_AO_SA = 0.7682447940796119 13: OPTIMIZATION_METHOD_AO_MEC = 0.7861990306904714 12: OPTIMIZATION_METHOD_AO_ABC = 0.7907454297118246 11: OPTIMIZATION_METHOD_AO_SDS = 0.8196051951016118 10: OPTIMIZATION_METHOD_AO_SIA = 0.8221393904152611 09: OPTIMIZATION_METHOD_AO_SDOm = 0.8473736964247897 08: OPTIMIZATION_METHOD_PSO = 0.8554905139189528 07: OPTIMIZATION_METHOD_AO_BFO_GA = 0.9302287492114422 06: OPTIMIZATION_METHOD_AO_SSG = 0.9508929176886642 05: OPTIMIZATION_METHOD_AO_Micro_AIS = 0.9744230924005981 04: OPTIMIZATION_METHOD_AO_BGA = 0.9758026556865227 03: OPTIMIZATION_METHOD_AO_ACOm = 0.9842635986445009 02: OPTIMIZATION_METHOD_AO_P_O_ES = 0.9862393247408759 01: OPTIMIZATION_METHOD_AO_POES = 0.9939584765415376 00: OPTIMIZATION_METHOD_AO_NMm = 0.9992316949848764 inAmountCycles = 1000, inRepeats = 5
Repeats- 独立调用算法的次数。
AmountCycles- 每次尝试中调用 FF 的次数(参见重复次数)。
对于每种算法,都会输出最佳结果(见重复次数)。
MathSrand ((int)GetMicrosecondCount ()); // 重置发电机
我会这样做。
Sleep(1); // 随机 GetMicrosecondCount (). MathSrand ((int)TimeLocal() + (int)GetMicrosecondCount ()); // 重置发电机
否则每次运行脚本时都会重复。
新文章 种群优化算法:社群进化(ESG)已发布:
我们将研究构造多种群算法的原理。作为该算法类别的一个示例,我们将查看新的自定义算法 — 社群进化(ESG)。我们将分析该算法的基本概念、种群互动机制和优势,并检查其在优化问题中的表现。
在优化领域,有范围广阔的种群算法,旨在寻找各种问题中的最优解。然而,尽管它们很重要,但多种群和多群体算法在我以前的文章中并未得到充分的涵盖。有鉴于此,我觉得有必要针对这个迷人而有前景的话题进行更详细的研究。
多种群算法基于多个独立种群来求解优化问题的思路。种群在逻辑上并行运作,可以交流有关最优解的信息,这样就令同时探索参数空间的不同区域并、并找到不同的最优值成为可能。另一方面,多群体算法使用许多互动份子的社群(群落),其也可以彼此合作,并交流达成最佳解的信息。
在本文中,我们将研究本文专门创建的多种群 ESG 算法。我们将研究该类算法的基本原理。此外,我们将研究比较研究的结果,这将令我们能够评估这些算法相比单种群优化方法的有效性。
作者:Andrey Dik