模拟退火算法
模拟退火算法来源于固体退火原理,将固体加温至充
分高,再让其徐徐冷却,加温时,固体内部粒子随温升变
为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每
个温度都达到平衡态,最后在常温时达到基态,内能减为
最小。根据 Metropolis 准则,粒子在温度 T 时趋于平衡
的概率为 e-ΔE/(kT),其中 E 为温度 T 时的内能,ΔE 为
其改变量,k 为 Boltzmann 常数。用固体退火模拟组合优
化问题,将内能 E 模拟为目标函数值 f,温度 T 演化成控
制参数 t,即得到解组合优化问题的模拟退火算法:由初
始解 i 和控制参数初值 t 开始,对当前解重复“产生新解→
计算目标函数差→接受或舍弃”的迭代,并逐步衰减 t 值,
算法终止时的当前解即为所得近似最优解,这是基于蒙特
卡罗迭代求解法的一种启发式随机搜索过程。退火过程由
冷却进度表(Cooling Schedule)控制,包括控制参数的初
值 t 及其衰减因子 Δt、每个 t 值时的迭代次数 L 和停止条
件 S。
模拟退火算法可以分解为解空间、目标函数和初始解
三部分。
模拟退火的基本思想:
(1) 初始化:初始温度 T(充分大),初始解状态 S(是
算法迭代的起点), 每个 T 值的迭代次数 L