模拟退火算法由来
所有传统优化算法都是针对连续或可导的目标函数来说的,处理的问题也比较简单。而实际问题的参数优选常常表现出高维、多峰值、非线性、不连续、非凸性及带噪声等复杂特征。为了求解这些优化问题中的难解问题,现代优化算法孕育而生。现代优化算法主要包括 禁忌搜索(Tabu Search)、遗传算法(Genetic Algorithms)、模拟退火(Simulated Annealing) 和神经网络(Neural Networks)等。
遗传算法:具有良好的全局搜索能力,可以快速地将解空间中的全体解搜索出, 而不会陷入局部优解的快速下降陷阱;并且利用它的内在并行性,可以方便地进行分布式 计算,加快求解速度。但是遗传算法的局部搜索能力较差,导致单纯的遗传算法比较费时,在进化后期搜索效率较低。在实际应用中,遗传算法容易产生早熟收敛的问题。采用何种选 择方法既要使优良个体得以保留,又要维持群体的多样性,一直是遗传算法中较难解决的问题。
模拟退火算法:虽具有摆脱局部优解的能力,能够以随机搜索技术从概率的意义上 找出目标函数的全局小点。但是,由于模拟退火算法对整个搜索空间的状况了解不多,不便于使搜索过程进入有希望的搜索区域,使得模拟退火算法的运算效率不高。模拟退火算法对参数(如初始温度)的依赖性较强,且进化速度慢。
模拟退火算法
模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。
根据Metropolis准则,粒子在温度T时趋于平衡的概率为e-ΔE/(kT),其中E为温度T时的内能,ΔE为其改变量,k为Boltzmann常数。用固体退火模拟组合优化问题,将内能E模拟为目标函数值f,温度T演化成控制参数t,即得到解组合优化问题的模拟。
退火算法
由初始解i和控制参数初值t开始,对当前解重复“产生新解→计算目标函数差→接受或舍弃”的迭代,并逐步衰减t值,算法终止时的当前解即为所得近似最优解,这是基于蒙特卡罗迭代求解法的一种启发式随机搜索过程。退火过程由冷却进度表控制,包括控制参数的初值t及其衰减因子Δt、每个t值时的迭代次数L和停止条件S。
模拟退火算法模型
模拟退火算法可以分解为解空间、目标函数和初始解三部分。
模型改进
退火算法应用范围
模拟退火算法的应用很广泛,可以较高的效率求解最大截问题(Max Cut Problem)、0-1背包问题(Zero One Knapsack Problem)、图着色问题(Graph Colouring Problem)、调度问题(Scheduling Problem)等等。