№ | AO | Description | Hilly | Hilly final | Forest | Forest final | Megacity (discrete) | Megacity final | Final result | % of MAX | ||||||
10 p (5 F) | 50 p (25 F) | 1000 p (500 F) | 10 p (5 F) | 50 p (25 F) | 1000 p (500 F) | 10 p (5 F) | 50 p (25 F) | 1000 p (500 F) | ||||||||
1 | (P+O)ES | (P+O) evolution strategies | 0,99934 | 0,91895 | 0,56297 | 2,48127 | 1,00000 | 0,93522 | 0,39179 | 2,32701 | 0,83167 | 0,64433 | 0,21155 | 1,68755 | 6,496 | 72,18 |
2 | SDSm | stochastic diffusion search M | 0,93066 | 0,85445 | 0,39476 | 2,17988 | 0,99983 | 0,89244 | 0,19619 | 2,08846 | 0,72333 | 0,61100 | 0,10670 | 1,44103 | 5,709 | 63,44 |
请链接本表中的相关文章。
double FF( const double &Arg[] ) { double Res = 1; for (uint i = ArraySize(Arg); (bool)i--;) Res *= MathSin(Arg[i]); return(Res); }最佳值应该接近于 1。但这一系列文章中的算法能否接近这个最大值呢?
我试着把这一系列算法拖入优化器很长时间(我想并行处理它们),但它出现了严重的故障 - https://www.mql5.com/en/forum/454524/page2#comment_50233782。

- 2023.10.20
- www.mql5.com
我试着把这一系列的算法拖入优化器很长时间(我想把它们并行化),但它出现了严重的故障 - https://www.mql5.com/en/forum/454524/page2#comment_50233782。


- www.mql5.com
讨论文章 "群体优化算法:微型人工免疫系统 (Micro-AIS) 算法"。
fxsaber, 2024.01.19 22:30
优化一个物种的函数很困难吗?double FF( const double &Arg[] ) { double Res = 1; for (uint i = ArraySize(Arg); (bool)i--;) Res *= MathSin(Arg[i]); return(Res); }最佳值应该接近于1。但这一系列文章中的算法能接近这个最大值吗?
已测试。
#define dInput01 X1 #define dInput02 X2 #define dInput03 X3 #define dInput04 X4 #define dInput05 X5 #define dInput06 X6 #define dInput07 X7 #include <fxsaber\Input_Struct\Input_Struct.mqh> //https://www.mql5.com/zh/code/47932 INPUT_STRUCT inInputs; MACROS_INPUT(double, X1, 0); MACROS_INPUT(double, X2, 0); MACROS_INPUT(double, X3, 0); MACROS_INPUT(double, X4, 0); MACROS_INPUT(double, X5, 0); MACROS_INPUT(double, X6, 0); MACROS_INPUT(double, X7, 0); // 内部优化器的 FF 就是一个例子。 double OnTester() { return(MathSin(inInputs.X1) * MathSin(inInputs.X2) * MathSin(inInputs.X3) * MathSin(inInputs.X4) * MathSin(inInputs.X5) * MathSin(inInputs.X6) * MathSin(inInputs.X7)); } #include <fxsaber\Optimization\Optimization_Addon.mqh> //https://www.mql5.com/ru/blogs/post/755815
输入。
自定义优化器。
自定义。
PSO Finished 15835 of 35000 planned passes: true BestResult = 0.9884554736115849: X1 = 99.0, X2 = 99.0, X3 = 11.0, X4 = 77.0, X5 = 14.0, X6 = 11.0, X7 = 33.0 Check = 0.9884554736115849: X1 = 99.0, X2 = 99.0, X3 = 11.0, X4 = 77.0, X5 = 14.0, X6 = 11.0, X7 = 33.0 01: OPTIMIZATION_METHOD_AO_Micro_AIS OPTIMIZATION_METHOD_AO_Micro_AIS BestResult = 0.6914924547679845: X1 = 17.0, X2 = 89.0, X3 = 61.0, X4 = 33.0, X5 = 71.0, X6 = 64.0, X7 = 8.0 Check = 0.6914924547679845: X1 = 17.0, X2 = 89.0, X3 = 61.0, X4 = 33.0, X5 = 71.0, X6 = 64.0, X7 = 8.0 02: OPTIMIZATION_METHOD_AO_POES OPTIMIZATION_METHOD_AO_POES BestResult = 0.9268682527605293: X1 = 55.0, X2 = 80.0, X3 = 27.0, X4 = 99.0, X5 = 8.0, X6 = 52.0, X7 = 11.0 Check = 0.9268682527605293: X1 = 55.0, X2 = 80.0, X3 = 27.0, X4 = 99.0, X5 = 8.0, X6 = 52.0, X7 = 11.0 03: OPTIMIZATION_METHOD_AO_P_O_ES OPTIMIZATION_METHOD_AO_P_O_ES BestResult = 0.7717845794829589: X1 = 11.0, X2 = 49.0, X3 = 74.0, X4 = 30.0, X5 = 11.0, X6 = 77.0, X7 = 43.0 Check = 0.7717845794829589: X1 = 11.0, X2 = 49.0, X3 = 74.0, X4 = 30.0, X5 = 11.0, X6 = 77.0, X7 = 43.0 04: OPTIMIZATION_METHOD_AO_SC OPTIMIZATION_METHOD_AO_SC BestResult = 0.5703083565001157: X1 = 4.0, X2 = 39.0, X3 = 20.0, X4 = 93.0, X5 = 8.0, X6 = 20.0, X7 = 33.0 Check = 0.5703083565001157: X1 = 4.0, X2 = 39.0, X3 = 20.0, X4 = 93.0, X5 = 8.0, X6 = 20.0, X7 = 33.0 05: OPTIMIZATION_METHOD_AO_SIA OPTIMIZATION_METHOD_AO_SIA BestResult = 0.3770511069126069: X1 = 30.0, X2 = 55.0, X3 = 49.0, X4 = 77.0, X5 = 100.0, X6 = 65.0, X7 = 27.0 Check = 0.3770511069126069: X1 = 30.0, X2 = 55.0, X3 = 49.0, X4 = 77.0, X5 = 100.0, X6 = 65.0, X7 = 27.0 06: OPTIMIZATION_METHOD_AO_SA OPTIMIZATION_METHOD_AO_SA BestResult = 0.4195625904721657: X1 = 58.0, X2 = 77.0, X3 = 27.0, X4 = 40.0, X5 = 70.0, X6 = 14.0, X7 = 70.0 Check = 0.4195625904721657: X1 = 58.0, X2 = 77.0, X3 = 27.0, X4 = 40.0, X5 = 70.0, X6 = 14.0, X7 = 70.0 07: OPTIMIZATION_METHOD_AO_NMm OPTIMIZATION_METHOD_AO_NMm BestResult = 0.8314291991406518: X1 = 30.0, X2 = 46.0, X3 = 99.0, X4 = 11.0, X5 = 96.0, X6 = 39.0, X7 = 74.0 Check = 0.8314291991406518: X1 = 30.0, X2 = 46.0, X3 = 99.0, X4 = 11.0, X5 = 96.0, X6 = 39.0, X7 = 74.0 08: OPTIMIZATION_METHOD_AO_DE OPTIMIZATION_METHOD_AO_DE BestResult = 0.514763435265798: X1 = 33.0, X2 = 39.0, X3 = 49.0, X4 = 20.0, X5 = 73.0, X6 = 20.0, X7 = 58.0 Check = 0.514763435265798: X1 = 33.0, X2 = 39.0, X3 = 49.0, X4 = 20.0, X5 = 73.0, X6 = 20.0, X7 = 58.0 09: OPTIMIZATION_METHOD_AO_SDOm OPTIMIZATION_METHOD_AO_SDOm BestResult = 0.6248310950237546: X1 = 55.0, X2 = 61.0, X3 = 20.0, X4 = 71.0, X5 = 26.0, X6 = 74.0, X7 = 36.0 Check = 0.6248310950237546: X1 = 55.0, X2 = 61.0, X3 = 20.0, X4 = 71.0, X5 = 26.0, X6 = 74.0, X7 = 36.0 10: OPTIMIZATION_METHOD_AO_IWDm OPTIMIZATION_METHOD_AO_IWDm BestResult = 0.6582185170915256: X1 = 33.0, X2 = 24.0, X3 = 61.0, X4 = 55.0, X5 = 46.0, X6 = 36.0, X7 = 1.0 Check = 0.6582185170915256: X1 = 33.0, X2 = 24.0, X3 = 61.0, X4 = 55.0, X5 = 46.0, X6 = 36.0, X7 = 1.0 11: OPTIMIZATION_METHOD_AO_CSS OPTIMIZATION_METHOD_AO_CSS BestResult = 0.17125241139972677: X1 = 11.0, X2 = 5.0, X3 = 11.0, X4 = 37.0, X5 = 56.0, X6 = 65.0, X7 = 37.0 Check = 0.17125241139972677: X1 = 11.0, X2 = 5.0, X3 = 11.0, X4 = 37.0, X5 = 56.0, X6 = 65.0, X7 = 37.0 12: OPTIMIZATION_METHOD_AO_SDS OPTIMIZATION_METHOD_AO_SDS BestResult = 0.7015125972513457: X1 = 17.0, X2 = 46.0, X3 = 27.0, X4 = 39.0, X5 = 77.0, X6 = 71.0, X7 = 86.0 Check = 0.7015125972513457: X1 = 17.0, X2 = 46.0, X3 = 27.0, X4 = 39.0, X5 = 77.0, X6 = 71.0, X7 = 86.0 13: OPTIMIZATION_METHOD_AO_SDSm OPTIMIZATION_METHOD_AO_SDSm BestResult = 0.8318883232825393: X1 = 77.0, X2 = 14.0, X3 = 14.0, X4 = 30.0, X5 = 80.0, X6 = 49.0, X7 = 24.0 Check = 0.8318883232825393: X1 = 77.0, X2 = 14.0, X3 = 14.0, X4 = 30.0, X5 = 80.0, X6 = 49.0, X7 = 24.0 14: OPTIMIZATION_METHOD_AO_MEC OPTIMIZATION_METHOD_AO_MEC BestResult = 0.821421124921697: X1 = 99.0, X2 = 58.0, X3 = 90.0, X4 = 27.0, X5 = 14.0, X6 = 80.0, X7 = 96.0 Check = 0.821421124921697: X1 = 99.0, X2 = 58.0, X3 = 90.0, X4 = 27.0, X5 = 14.0, X6 = 80.0, X7 = 96.0 15: OPTIMIZATION_METHOD_AO_SFL OPTIMIZATION_METHOD_AO_SFL BestResult = 0.7123520662251704: X1 = 49.0, X2 = 52.0, X3 = 80.0, X4 = 93.0, X5 = 52.0, X6 = 87.0, X7 = 14.0 Check = 0.7123520662251704: X1 = 49.0, X2 = 52.0, X3 = 80.0, X4 = 93.0, X5 = 52.0, X6 = 87.0, X7 = 14.0 16: OPTIMIZATION_METHOD_AO_EM OPTIMIZATION_METHOD_AO_EM BestResult = 0.4739892519704631: X1 = 39.0, X2 = 96.0, X3 = 49.0, X4 = 54.0, X5 = 93.0, X6 = 8.0, X7 = 11.0 Check = 0.4739892519704631: X1 = 39.0, X2 = 96.0, X3 = 49.0, X4 = 54.0, X5 = 93.0, X6 = 8.0, X7 = 11.0 17: OPTIMIZATION_METHOD_AO_SSG OPTIMIZATION_METHOD_AO_SSG BestResult = 0.7570642423726676: X1 = 5.0, X2 = 49.0, X3 = 30.0, X4 = 96.0, X5 = 14.0, X6 = 55.0, X7 = 89.0 Check = 0.7570642423726676: X1 = 5.0, X2 = 49.0, X3 = 30.0, X4 = 96.0, X5 = 14.0, X6 = 55.0, X7 = 89.0 18: OPTIMIZATION_METHOD_AO_MA OPTIMIZATION_METHOD_AO_MA BestResult = 0.7831093525101701: X1 = 93.0, X2 = 36.0, X3 = 17.0, X4 = 58.0, X5 = 42.0, X6 = 61.0, X7 = 74.0 Check = 0.7831093525101701: X1 = 93.0, X2 = 36.0, X3 = 17.0, X4 = 58.0, X5 = 42.0, X6 = 61.0, X7 = 74.0 19: OPTIMIZATION_METHOD_AO_HS OPTIMIZATION_METHOD_AO_HS Error optimization! 20: OPTIMIZATION_METHOD_AO_GSA OPTIMIZATION_METHOD_AO_GSA BestResult = 0.020184193323560605: X1 = 9.0, X2 = 27.0, X3 = 54.0, X4 = 6.0, X5 = 77.0, X6 = 75.0, X7 = 23.0 Check = 0.020184193323560605: X1 = 9.0, X2 = 27.0, X3 = 54.0, X4 = 6.0, X5 = 77.0, X6 = 75.0, X7 = 23.0 21: OPTIMIZATION_METHOD_AO_GSA_Stars OPTIMIZATION_METHOD_AO_GSA_Stars Error optimization! 22: OPTIMIZATION_METHOD_AO_BFO OPTIMIZATION_METHOD_AO_BFO BestResult = 0.7322059190279094: X1 = 20.0, X2 = 11.0, X3 = 52.0, X4 = 49.0, X5 = 89.0, X6 = 36.0, X7 = 99.0 Check = 0.7322059190279094: X1 = 20.0, X2 = 11.0, X3 = 52.0, X4 = 49.0, X5 = 89.0, X6 = 36.0, X7 = 99.0 23: OPTIMIZATION_METHOD_AO_IWO OPTIMIZATION_METHOD_AO_IWO BestResult = 0.7392111937754324: X1 = 20.0, X2 = 11.0, X3 = 52.0, X4 = 49.0, X5 = 89.0, X6 = 37.0, X7 = 100.0 Check = 0.24076952243473274: X1 = 20.0, X2 = 11.0, X3 = 52.0, X4 = 49.0, X5 = 89.0, X6 = 37.0, X7 = 100.0 24: OPTIMIZATION_METHOD_AO_BA OPTIMIZATION_METHOD_AO_BA BestResult = 0.35033516894855804: X1 = 98.0, X2 = 49.0, X3 = 92.0, X4 = 77.0, X5 = 96.0, X6 = 99.0, X7 = 21.0 Check = 0.35033516894855804: X1 = 98.0, X2 = 49.0, X3 = 92.0, X4 = 77.0, X5 = 96.0, X6 = 99.0, X7 = 21.0 25: OPTIMIZATION_METHOD_AO_FAm OPTIMIZATION_METHOD_AO_FAm BestResult = 0.8628261244286874: X1 = 61.0, X2 = 33.0, X3 = 93.0, X4 = 55.0, X5 = 30.0, X6 = 49.0, X7 = 55.0 Check = 0.8628261244286874: X1 = 61.0, X2 = 33.0, X3 = 93.0, X4 = 55.0, X5 = 30.0, X6 = 49.0, X7 = 55.0 26: OPTIMIZATION_METHOD_AO_FSS OPTIMIZATION_METHOD_AO_FSS BestResult = 0.6586267117021989: X1 = 90.0, X2 = 17.0, X3 = 30.0, X4 = 11.0, X5 = 11.0, X6 = 89.0, X7 = 46.0 Check = 0.6586267117021989: X1 = 90.0, X2 = 17.0, X3 = 30.0, X4 = 11.0, X5 = 11.0, X6 = 89.0, X7 = 46.0 27: OPTIMIZATION_METHOD_AO_COAm OPTIMIZATION_METHOD_AO_COAm BestResult = 0.751387775021677: X1 = 33.0, X2 = 74.0, X3 = 89.0, X4 = 52.0, X5 = 2.0, X6 = 8.0, X7 = 99.0 Check = 0.751387775021677: X1 = 33.0, X2 = 74.0, X3 = 89.0, X4 = 52.0, X5 = 2.0, X6 = 8.0, X7 = 99.0 28: OPTIMIZATION_METHOD_AO_GWO OPTIMIZATION_METHOD_AO_GWO BestResult = 0.7905125996746682: X1 = 64.0, X2 = 24.0, X3 = 58.0, X4 = 11.0, X5 = 39.0, X6 = 36.0, X7 = 55.0 Check = 0.7905125996746682: X1 = 64.0, X2 = 24.0, X3 = 58.0, X4 = 11.0, X5 = 39.0, X6 = 36.0, X7 = 55.0 29: OPTIMIZATION_METHOD_AO_ABC OPTIMIZATION_METHOD_AO_ABC BestResult = 0.2279828722733523: X1 = 37.0, X2 = 49.0, X3 = 45.0, X4 = 96.0, X5 = 86.0, X6 = 54.0, X7 = 89.0 Check = 0.2279828722733523: X1 = 37.0, X2 = 49.0, X3 = 45.0, X4 = 96.0, X5 = 86.0, X6 = 54.0, X7 = 89.0 30: OPTIMIZATION_METHOD_AO_ACOm OPTIMIZATION_METHOD_AO_ACOm BestResult = 0.7283588705105443: X1 = 58.0, X2 = 36.0, X3 = 46.0, X4 = 58.0, X5 = 77.0, X6 = 42.0, X7 = 46.0 Check = 0.7283588705105443: X1 = 58.0, X2 = 36.0, X3 = 46.0, X4 = 58.0, X5 = 77.0, X6 = 42.0, X7 = 46.0 31: OPTIMIZATION_METHOD_AO_PSO OPTIMIZATION_METHOD_AO_PSO BestResult = 0.5892210470192797: X1 = 52.0, X2 = 52.0, X3 = 68.0, X4 = 62.0, X5 = 86.0, X6 = 77.0, X7 = 30.0 Check = 0.5892210470192797: X1 = 52.0, X2 = 52.0, X3 = 68.0, X4 = 62.0, X5 = 86.0, X6 = 77.0, X7 = 30.0 32: OPTIMIZATION_METHOD_AO_RND OPTIMIZATION_METHOD_AO_RND BestResult = 0.6663782757838177: X1 = 4.896755719304697, X2 = 61.0, X3 = 23.0, X4 = 8.0, X5 = 52.0, X6 = 67.0, X7 = 58.0 Check = 0.6663782757838177: X1 = 4.896755719304697, X2 = 61.0, X3 = 23.0, X4 = 8.0, X5 = 52.0, X6 = 67.0, X7 = 58.0
ZY 在 IWO 中有些地方运行不正常。也许是我的移植方式不对。
新文章 种群优化算法:微人工免疫系统(Micro-AIS)已发布:
本文研究一种基于人体免疫系统原理的优化方法 — 微人工免疫系统(Micro-AIS) - AIS 的修订版。Micro-AIS 使用更简单的免疫系统模型,和更简单的免疫信息处理操作。本文还讨论了 Micro-AIS 与传统 AIS 相比的优缺点。
AIS 算法针对这些过程运用抗原(输入)、抗体(溶液)和杀伤细胞(优化过程)的概念进行建模,从而以最优方式解决问题。抗原代表需要优化的输入。抗体代表了这个问题的潜在解。杀手细胞是寻找优化问题的最佳解的优化过程。
人工免疫系统(AIS)优化方法于 1990 年代提出。针对这种方法的早期研究可以追溯到 1980 年代中期,Farmer、Packard、Perelson(1986)、以及 Bersini 和 Varela(1990)都为其做出了重大贡献。
从那时起,AIS 方法不断发展,并成为科学界一直研究的主题。已经提出了该方法的许多变体和修订版本,以及它在各种优化和学习问题中的应用。身体免疫系统在抵御感染和肿瘤等外部影响方面也起着重要作用。它有能力识别和检测异常,并攻击恶意个体,同时维护区分和存储有关它们的信息以备将来使用。
Micro-AIS(微免疫算法)是免疫系统(AIS)算法的修改版,旨在解决优化问题。它与传统 AIS 的不同之处在于,它使用更简单的免疫系统模型和更简单的免疫信息处理操作。
作者:Andrey Dik