论文部分内容阅读
本文通过分析传统群智能优化算法在设计时候受到的制约,并结合近几十年来计算机发展所带来的计算和存储优势,介绍了一种全新的多元优化过程记忆的智能算法—多元优化算法(MOA)。目的是充分的利用现代计算内存容量大和读取速度快的特点,从全新的角度来解决优化问题。MOA算法的主要思想是通过全局和局部搜索交替进行对整个解空间进行全面的搜索。算法构造了一个特殊的MOA结构表,按照结构表的操作规则将搜索元存储到合适的位置,以此实现搜索信息的高效共享和搜索过程的存储记忆。本文首先详细阐述了MOA算法中结构表的构成和操作规则,并给出了算法的操作流程。之后对MOA算法的特性进行了简单的分析。通过讨论C++对计算机底层内存分配和指针操作的支持为实现MOA算法带来的便利和优势,本文使用C++构建了一个新的MOA算法平台。实现部分使用数据结构描述的方式给出了MOA结构表的抽象数据类型和操作接口,并借助接口的方式来配合算法的操作规则。通过Mex混合编程的方式,将C++平台下的MOA算法集成到Matlab计算平台上,进一步拓展了新平台的使用领域。文章最后详细讨论了算法的多元组特性,以及它的多元组特性使得算法在不添加任何机制的情况下就可以直接运用到多模态优化问题中,并分析了算法和主流多模态优化算法的区别。然后使用新构建的MOA平台对算法在多模态优化中的运用进行了研究。实验部分使用了7个具有不同特性的多模态测试函数,对算法进行了全面的分析。通过观察搜索元在测试函数解空间内的位置的变化,验证了算法在多模态优化问题中的可行性;实验结果也证明了MOA算法在不同的多模态环境下依然可以保持较高的稳定性。之后将MOA算法和3个专门针对多模态优化而设计的小生境PSO算法在相同条件下对测试函数进行实验,从收敛精度、成功率和收敛速度三个性能指标对4种算法的性能进行了对比分析。实验结果表明MOA算法是一种高效的多模态优化算法。