智能优化算法改进策略之局部搜索算子(七)--自适应模式搜索法

1、原理介绍

    模式搜索法[1]是Hooke与Jeeves提出的一种直接搜索算法,其目的是通过比较目标函数在有限点集中的函数值来优化目标函数。更重要的是,它不仅不使用任何导数知识,而且不需要隐式地建立任何一种导数近似。

在这种直接搜索技术中,将模式移动和探索移动相结合,迭代地寻找最优解。该技术首先沿着每个轴进行探索性移动,以寻找新的基点和有利于函数值下降的方向。然后,为了加快在探索性移动中确定的方向上的搜索过程,采用模式移动。模式移动与探索移动交替进行,直到满足停止条件,如图1所示[2]。

图片

                        图模式搜索示意图

图片

图片

                      图二:模式搜索算法伪代码

2、自适应模式搜索

模式搜索方法原有的固定步长适用于单峰函数,但在处理复杂的多峰问题时,可能导致解陷入局部最优。因此,为了保持种群的多样性并充分利用搜索空间中每个解的知识,采用自适应步长。公式如下所示:

图片

3、仿真实验

以海洋捕食者算法(MPA)为基本算法。考察基于自适应模式搜索的改进海洋捕食者算法(命名为PMPA) vs. 海洋捕食者算法(MPA)

在Sphere函数上:

图片

  在Rosenbrock函数上:

图片

  在Penalized1函数上:

图片

  在CEC2017-1上:

图片

在CEC2017-3上:

图片

在CEC2017-4上:

图片

在CEC2017-12上:

图片

在CEC2017-24上:

图片

在CEC2017-28上:

图片

        基于自适应模式搜索法的改进海洋捕食者算法(PMPA)在23个标准测试函数及CEC2017测试集中的大部分函数上的性能优于原算法。在30维的Rosenbrock函数上精度达到1e-20,30维的Penalized1函数上的精度达到1e-30,在30维CEC2017测试集的单峰函数上能直接找到全局最优。

代码获取:

4、参考文献

[1] Hvattum L M, Glover F. Finding local optima of high-dimensional functions using direct search methods[J]. European Journal of Operational Research, 2009, 195(1): 31-45.

[2] Kang F, Li J, Li H. Artificial bee colony algorithm and pattern search hybridized for global optimization[J]. Applied Soft Computing, 2013, 13(4): 1781-1791.

[3] Torczon V. On the convergence of pattern search algorithms[J]. SIAM Journal on optimization, 1997, 7(1): 1-25.

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
模拟退火-粒子群自适应优化算法是一种结合了模拟退火和粒子群优化算法的混合优化算法。模拟退火算法是一种概率性搜索算法,用于求解具有多个局部最优解的问题。粒子群优化算法是一种基于群体智能优化算法,通过不断迭代和更新粒子的速度和位置来寻找最优解。自适应优化算法则是根据问题的性质和当前状态,动态调整算法的参数,以提高算法的效率和精度。 模拟退火-粒子群自适应优化算法的主要步骤包括: 1. 初始化:设置初始温度、温度下降率、粒子群规模、粒子速度和位置等参数,以及一个解的初始群体。 2. 评估:对每个粒子进行评估,得到当前解的质量。 3. 更新:根据粒子群的位置和速度,更新粒子的速度和位置,生成新的解。 4. 接受/拒绝:根据接受概率,对新的解进行接受或拒绝。接受概率与解的质量和当前温度有关,随着温度的降低而减小。 5. 温度衰减:随着算法的进行,温度逐渐降低,直到达到预设的终止条件(如达到最大迭代次数或温度降至预设值)。 6. 输出:输出最优解以及对应的性能指标。 该算法的特点包括: * 结合了模拟退火算法和粒子群优化算法的优势,能够处理具有多个局部最优解的问题。 * 自适应调整参数,根据问题的性质和当前状态动态调整算法的参数,提高算法的效率和精度。 * 适用于连续或离散的目标函数优化,可以处理大规模问题。 * 具有良好的鲁棒性和全局搜索能力。 不过需要注意的是,该算法的具体实现和参数设置可能会因问题而异,需要根据具体问题进行适当的调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值