仅供学习使用
一.模拟退火算法原理
1.模拟退火算法简介
模拟退火算法借鉴物理退火过程
物理退火过程
加温过程、等温过程、冷却过程
统计力学表明材料中粒子的不同结构对应粒子不同能量水平。 在高温条件下,粒子的能量较 高,可以自由运动和重新排列。 在低温条件下,粒子能量较低。 如果从高温开始,非常缓慢 地降温(这个过程被称为退火),粒子就可以在每个温度下达到热平衡。当系统完全被冷却 时,最终形成处于低能状态的晶体。
通俗来讲,模拟退火算法是一种基于概率的算法,一开始为算法设定一个较高的值T(模拟温度),算法不稳定,选择当前较差解的概率很大;随着T的减小,算法趋于稳定,选择较差解的概率减小,最后,T降至终止迭代的条件,得到近似最优解。
2.模拟退火算法与物理退火的关系
模拟退火算法 | 物理退火 |
解 | 粒子状态 |
最优解 | 能量最低态 |
设定初温 | 熔解过程 |
Metropolis采样过程 | 等温过程 |
控制参数T下降 | 冷却 |
目标函数 | 能量 |
3.模拟退火算法的模拟要求
(1)初始温度足够高
(2)降温过程足够慢
(3)终止温度足够低
二、玻尔兹曼分布
假设热力学系统S中所有粒子有n个状态(有限且离散的),其中处于状态i的粒子能量为Ei,在温度Tk下,经一段时间达到热平衡,此时处在状态i的粒子数量的概率为:
系统能否从状态i进入到状态j,通过以下概率判断:
三、模拟退火算法的基本流程
关键要素
四、模拟退火算法的改进
算法本身的改进,以提高算法的搜索效率
1).设计合适的状态产生函数,使其根据搜索过程的需要表现出状态的全空间分散性和局部区域性;
2).设计高效的退火策略,改进对温度的控制方式;
3).避免状态的迂回搜索;
4).采用并行搜索结构;
5).选择合适的初始状态与算法终止准则。
增加某些环节
1).增加升温或重升温过程。在算法进程的适当时期,调整温度。
2).增加记忆功能。存储算法过程中的较优状态,避免最优解遗失。
3).增加补充搜索过程。即以最优解为初始解在此执行退火过程。
4).结合其他搜索机制的算法,如遗传算法,粒子蚁群算法等。
5).综合以上各个方法的应用。
五、模拟退火算法的应用
工业方面:再制造车间布局优化问题;系统可靠性;
交通方面:运输网络的优化;供应链优化;
材料科学:自旋玻璃模型优化;
图像带宽系统最优化问题;
地球物理:物体重力研究;
大气辐射方程求解问题;
医学方面:放射治疗中放束角优化问题;
其他方面:最优解的求解;电解过程优化;家具下料问题;贷款问题优化方案
六、总结
模拟退火算法是一种启发式算法,模仿自然界退火现象而得,利用了物理中固体物质的退火过程与一般优化问题的相似性从某一初始温度开始,伴随温度的不断下降,结合概率突跳特性在解空间中随机寻找全局最优解。