现代优化算法 之 模拟退火

本文详细介绍了模拟退火算法的原理,该算法源于统计力学,用于解决复杂的优化问题,如旅行商问题。在退火过程中,通过逐步降低温度,算法能够找到全局最优解。文章还提供了一个具体的例子,解释了如何应用模拟退火算法来解决敌方目标侦察路径的最短时间问题,并给出了算法描述和MATLAB程序实现。
摘要由CSDN通过智能技术生成

现代优化算法

现代优化算法是 80 年代初兴起的启发式算法。这些算法包括禁忌搜索(tabu search),模拟退火(simulated annealing),遗传算法(genetic algorithms),人工神经网络(neural networks)。它们主要用于解决大量的实际应用问题。目前,这些算法在理论和实际应用方面得到了较大的发展。无论这些算法是怎样产生的,它们有一个共同的目标-求 NP-hard 组合优化问题的全局最优解。虽然有这些目标,但 NP-hard 理论限制它们只能以启发式的算法去求解实际问题。

启发式算法包含的算法很多,例如解决复杂优化问题的蚁群算法(Ant Colony Algorithms)。有些启发式算法是根据实际问题而产生的,如解空间分解、解空间的限制等;另一类算法是集成算法,这些算法是诸多启发式算法的合成。

现代优化算法解决组合优化问题,如 TSP(Traveling Salesman Problem)问题,QAP(Quadratic Assignment Problem)问题,JSP(Job-shop Scheduling Problem)问题等效果很好。

这一章讲解模拟退火的算法过程,之前也介绍过一些简单的模拟退火的思想,上次是基于ACM-ICPC的思想进行介绍的,这次是详细的计算推导过程。

模拟退火

模拟退火算法得益于材料的统计力学的研究成果。统计力学表明材料中粒子的不同结构对应于粒子的不同能量水平。在高温条件下,粒子的能量较高,可以自由运动和重新排列。在低温条件下,粒子能量较低。如果从高温开始,非常缓慢地降温(这个过程被称为退火),粒子就可以在每个温度下达到热平衡。当系统完全被冷却时,最终形成处于低能状态的晶体。

如果用粒子的能量定义材料的状态,Metropolis 算法用一个简单的数学模型描述了退火过程。假设材料在状态 i 之下的能量为 E(i) ,那么材料在温度 T 时从状态 i 进入状态 j 就遵循如下规律:

  • (1)如果 E(j)E(i) ,接受该状态被转换。

    • (2)如果 E(j)>E(i) ,则状态转换以如下概率被接受:
      eE(i)E(j)KT
    • 其中 K 是物理学中的波尔兹曼常数, T 是材料温度。

      在某一个特定温度下,进行了充分的转换之后,材料将达到热平衡。这时材料处于状态 i 的概率满足波尔兹曼分布:

      PT(x=i)=eE(i)KTjSeE(j)KT

      其中 x 表示材料当前状态的随机变量, S 表示状态空间集合。
      显然

      limTeE(i)KTjSeE(j)KT=1|S|

      其中 |S| 表示集合 S 中状态的数量。这表明所有状态在高温下具有相同的概率。而当温度下降时,

      limT0eE(i)EminKTjSeE(j)EminKT=limT0eE(i)EminKTjSmineE(j)EminKT+jSmineE(j)EminKT</
  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值