论文部分内容阅读
在有些场合,需要找出函数的多个甚至所有极值点,这类问题被称为多峰搜索问题。为了求解多峰搜索问题,可以通过引入小生境和物种理论,用分享和限制交配机制相结合的方法来实现多峰搜索,该方法是以峰个数已知和峰均匀分布的假设为基础的;另一种方法是通过把函数进行变换,使所有峰等高且被找到的机会均等,再用改进后的遗传算法进行搜索;文[4]把这种思想进行了发扬,用微粒群算法来进行实现。通过分析可以发现,用微粒群算法进行多峰搜索的难点在于对峰的个数和分布情况不了解,一般希望每个微粒一开始就在一个峰的附近,每个峰与一个微粒对应,事实上,由于峰个数和分布的未知,导致微粒数目和位置的确定变得困难。数论网格方法可以根据不同的生成向量获得一组不同的随机数,本文将该随机数序列作为微粒的初始位置,然后应用改进的微粒群算法优化各微粒的位置,通过使用不同的生成向量并多次运行微粒群算法,可以找到多组解,当不再有新的解出现时,算法终止。仿真实验表明,该算法相比其他的多峰搜索算法,更加简单有效,且有较强的适应能力。