构建重力小于零的中心力优化模型:以6元件Yagi-Uda阵列为案例研究
前言:研究在将中心力优化(Central Force Optimization)作为全局搜索和优化方法来设计和优化6元件Yagi-Uda阵列时,添加三个扩展的效果。这些扩展包括负重力(Negative Gravity)、精英主义(Elitism)和动态阈值优化(Dynamic Threshold Optimization)。基本的中心力优化启发式算法并不包含这些扩展,但是添加它们显著提高了算法的性能。
扩展了之前的一篇论文的工作,该论文只考虑了负重力,并且在一系列优化阵列中显示出了显著的性能改进。通过将精英主义和动态阈值优化添加到其中,可以获得更好的结果。通过这样做,最佳适应度整体改进了19.16%。
负重力并不是唯一的改进措施。本文报告了在负重力的基础上添加了另外两个扩展:精英主义和动态阈值优化(DTO),每个扩展都进一步改进了CFO的性能。CFO是一种进化算法(EA),通过使用"探针"在一系列的"时间步骤"中探索DS并对目标函数进行采样。
动态阈值优化是一种纯几何方法,它在任何全局搜索和优化程序(GSO,包括程序或启发式算法,上下文允许的情况下)的连续运行中修改目标函数的拓扑结构。DTO通过过滤掉低于在运行开始时建立的阈值值的所有局部极大值来从下方压缩目标函数的"地形"。DTO可以应用于任何GSO算法,甚至是连续运行中的不同算法。
π分数满足这些要求。prv可以通过枚举或计算来指定,因此始终保持确定性。相比之下,真随机变量(rv)是先验不可知的,因为它必须从概率分布中计算得出。这种差异是基本且重要的,尤其是当使用元启发式方法解决实际问题时。通过使用prv,CFO在每一步都保持确定性,同时包含一定程度的"随机性",以改善其探索能力。
在Yagi阵列#11至#18的DTO结果中,使用了表2中显示的指定阈值进行计算。但这种方法可能不是最佳的。对于第19至27次运行,阈值是计算得出的,而不是枚举的。表5显示了Yagi #19和Yagi #27的阈值和最佳适应度数据,表4中其他运行的数据都类似。每次运行从五个探针开始,每个连续阈值的探针数量翻倍。
阈值的计算公式为Tk=Fk−1min+C⋅(Fk−1max−Fk−1min),其中Fmax和Fmin是最大和最小适应度,对于k = 1,C = 0.2,对于k > 1,C = 0.8。F0min和F0max是在初始化运行中返回的最小和最大适应度,该运行不使用阈值。系数C是通过实验确定的,在确定性GSO(如CFO)中很容易实现,因为否则使用随机GSO很难确定改变C的影响。
如表5(a)所示,对于Yagi #19,使用五个DTO阈值,随着阈值的增加,最佳适应度显著增加。在阈值为-1055.3856时,适应度最低为37.8033,在阈值为54.116时,适应度最高为56.4300。对于Yagi #27,表5(b)显示了使用七个阈值的相应数据,适应度为57.0669,在阈值为-1312.5739时,适应度为57.0670,在阈值为57.0073时。
通过这次运行,最佳适应度基本上已经饱和,这可以从表4中的数据中看出。显然确定性的GSO允许用户快速收敛到一个运行设置,最大限度地减少计算机资源使用,并接近优化设计。在这种情况下,一旦最佳适应度的饱和性变得明显,那么进行额外计算就没有意义,因为它们不会提供显著更好的结果。
扩展了以前一篇文章中的工作,该文章仅考虑了负重力(G < 0),并在一系列优化阵列中显示出显著的性能改进。通过添加精英主义和DTO,可以获得更好的优化结果。尽管本研究仅限于6元素Yagi的D/O,但基于这些数据,合理的结论是,任何天线D/O,确实任何GSO问题,无论是天线还是其他,使用CFO作为GSO引擎的方法都可以通过添加这三个扩展来获益,可能是显著的。
仅将精英主义添加到仅具有负重力的CFO中,最佳适应度提高了近11%。使用枚举阈值而无种子探针的DTO将最佳适应度提高了约4%。通过包括种子探针(来自先前运行的最佳适应度位置的坐标)和使用计算而不是枚举的DTO阈值,仍然可以进一步改进。这些修改将最佳返回的适应度从56.641提高到57.067。
结论:研究将三个扩展应用于全局搜索和优化(GSO)中的中心力优化(CFO)在Yagi-Uda阵列设计和优化(D/O)中的效果,这些扩展包括:1)注入少量伪随机的负重力(G < 0);2)两种类型的精英主义,逐步精英主义和运行间精英主义;3)动态阈值优化。基本的CFO算法不包括这些扩展。