模拟退火算法在货郎担问题中的应用.docxVIP

  • 0
  • 0
  • 约2.71千字
  • 约 4页
  • 2023-08-13 发布于广东
  • 举报

模拟退火算法在货郎担问题中的应用.docx

模拟退火算法在货郎担问题中的应用 0 求解路径为最短路线的问题 路径优化问题类似于货郎压力问题,在解算过程中具有一定的难度。货郎担问题是指在数个城市中,货郎自某一城市出发巡回售货,每个城市经过一次且仅经过一次,求解所经过路径为最短路线的问题。该问题是一个典型的NP完全问题,不宜采用“多项式时间算法”求解,自1932年由MENGER K提出以来,至今仍在寻找较为有效的求解方法。笔者引入最小模拟退火算法,在考虑货郎行走路程最短路线的最优路径和通过对不同城市之间道路的行走速度进行加权后探讨时间最短的“最优路径”,以这两种优化目标探讨退火算法对这一问题的求解过程。 1 基本原则 1.1 城市j的距离 货郎担问题(TSP)可描述为:设有n个城市及表示城市i到城市j的距离D=|dij|,其中dij0、dij=dji,并有dik+dkj≥dij,且dii=0(i,j=1,2,3,…,n)。笔者仅讨论EUCLID平面上的TSP问题。 1.2 物质凝结点的组合优化 KIRKPATRICK等于1983年首先提出模拟退火算法。该算法用于求解优化问题的出发点是基于物理中固体物质的退火过程与一般优化问题间的相似性,在对固体物质进行退火处理时,常先将它加温使其粒子可自由运动,以后随着温度的逐渐下降,粒子逐渐形成低能态晶格,若在凝结点附近的温度下降速率足够慢,则固体物质定会形成最低能量的基态。对于组合优化问题也存在类似过程,设其一个解X及其目标函数F(X)分别与固体微观状态i及其能量Ei等价,并以控制参数T模拟其固体温度。对于T的每一个取值,持续进行“产生新解一判断一接受/舍弃”的迭代过程,用一个随机接受准则(METROPOLIS准则)有限度地接受恶化解,且接受恶化解的概率慢慢趋向于0,使得算法有可能从局部极值区域中跳出,尽可能找到全局最优解,并保证了算法的收敛性。模拟退火算法最主要的特征是具有跳出局部极值点区域的能力,故能寻找到全局最优或近似最优而与初始点的选择无关,这也正是模拟退火算法和局部搜索算法的本质区别所在。 2 在解决路径优化问题时 2.1 n路径 笔者将TSP的一个解表示为一个循环排列π=(π1,π2,…,πn),它也可以表示为:π1→π2→…πn的一条路径。πi(1≤i≤n)是该路径中第i个经过的城市,必须满足πi≠πj(i≠j的解才是可行解),所有可行解的集合构成解空间S。本例中,解空间S=为{1,2,…,n}的循环排列,其中每一循环排列表示遍访n个城市的一条回路,并约定πn+1=π1,初始解定为{1,2,…,n}。 2.2 目标函数 式中:为访问所有城市的路径长度。 TSP的目标是使路径长度最短,即使目标函数f(π)最小。 2.3 变换dnap,q的k间路径反演 采用了二邻域法这样一种改进的相邻状态变换方法。如图1所示,设(s,f)是讨论问题的一个实例,而n2是一个二变换邻域结构,则二变换n2(p,q)可看成是城市p与q间路径的反向接入。 变换后的新路径是π1…πu-1πv-1……πu+1πvπv+1…πn(uv)。这样保证了当前状态的每一相邻状态均能被实现一次,也使得低温下每一状态仅被实现一次便可找到能够使目标函数值下降的移动。 2.4 是否接受有关i到新解j的转移? 采用METROPOLIS准则,由随机移动接受概率 式中:t为控制参数,确定是否接受从当前解i到新解j的转移。计算开始时t取较大值(与固体的熔解温度相对应),在进行足够多的转移后,缓慢减小t的值(与“徐徐”降温相对应),如此重复,直至满足某个停止准则时计算终止。 2.5 温度计划表的确定 在本算法中,采用随机数发生器来交换两城市访问次序的方法产生新解,冷却进度表的衰减函数设为α,MAPKOB链的长度取为城市数n的100倍。城市坐标初始化按照1.1节的方法产生初始回路,并计算总路径长度。 (1)采用二变换法更改初始路径,并得到一条新路径,计算更改后总路径与初始路径的长度差△f; (2)如果满足METROPOLIS准则,则更换路径的行走方式,否则重复过程(1); (3)取衰减函数α,随着tk=αtk-1(k=1,2,3,…,n)而降温,并转向(1); (4)当满足停止准则而采用某一t值时,接受新解次数以小于1On为准。当次数大于该值时,则执行降温过程,重新执行退火过程。 在程序中,随机数发生器确定之后,需要经过多次实际选取合适温度计划表中的各个参数,包括控制参数t及其衰减函数α,对应MAPKOB链的长度本程序选择如下: (1)控制参数t=0.5; (2)衰减函数α=0.95; (3) MAPKOB链的长度Lk=100n(n表示城市数)。 3 模型解雇算法的示例 3.1 算法比较结果 笔者对文献中的树形算法案例应用退火算法进行优化并比较其计算结果,如图2所示。 由“最优路径长

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档