21 题数学蚁群算法求解tsp问题 过程

MATLAB课程设计报告 学号: 姓名: 班级: 教师: **学院 *******学院 设计名称:蚁群算法蚁群算法求解tsp问题TSP问题 日期:2013年6月22日 设计内容: TSP问题的简单形象描述是:给定n个城市,有一个旅行商从某一城市出发,访问各城市一次且仅有一次后再回到原出发城市,要求找出一条最短的巡回路径蚂蚁个体之间是通过一种称之为信息素的物質进行信息传递的。在运动过程中, 蚂蚁能够在它所经过的路径上留下该种信息素, 而且能够感知信息素的浓度, 并以此指导自己的运动方向 蟻群的集体行为表现出一种信息正反馈现象: 某一路径上走过的蚂蚁越多, 则后来者选择该路径的概率就越大。蚂蚁个体之间就是通过这种信息的交流达到搜索食物的目的它充分利用了生物蚁群通过个体间简单的信息传递,搜索从蚁巢至食物间最短路径的集体寻优特征以及該过程与旅行商问题蚁群算法求解tsp问题之间的相似性。 二、建立数学模型 我们来介绍一下如何用蚁群算法蚁群算法求解tsp问题n个城市的TSP设為城市ij之间的几何距离,=设 表示t时刻位于城市i的蚂蚁的个数,蚂蚁总数m=表示t时刻在ij连线上残留的信息量,初始时刻各条路径上的信息量为=C(C为常数)用参数表示信息量的保留度,则经过n个时刻后路径ij上的信息量根据下式作调整: ⑴ ⑵ 表示第k只蚂蚁在本次循环中留在路径ij上的信息量,表示本次循环所有经过的蚂蚁留在ij上的信息量 = ⑶ 定义=1/。蚂蟻k(k=12,…m)在运动过程中,表示在t时刻蚂蚁k由位置i转移到位置j的概率: = ⑷ 我们用记录蚂蚁k目前已经走过的城市集合allow表示蚂蚁k下一步允许选择的城市集合,它等于全部的城市集合除去第k只蚂蚁已走过的集合 定义为第k只蚂蚁在本次循环Φ走过的路径和。 用蚁群算法解决TSP问题是一个递推过程 当t=0时,将蚂蚁放在各城市设定每条路径上的信息量初值=C,每呮蚂蚁根据公式⑷决定的概率从城市i到城市j表示曾经有多少蚂蚁经过路径(i,j);说明较近的城市有更大的可能性被选中α,β用来控制两者对蚂蚁选择的影响力程度。经过一个循环后,根据公式⑴⑵⑶计算更新每条路径的信息量将所有的复原,最后求出本次循环的最短路径min这个过程不断重复,直到所有的蚂蚁都选择同样的路径或者循环次数达到预先设定的最高次数。 三、建立数学模型 1.初始化:设定t=0循环计数器nc=0,对每条路径设定初始信息量=C,=0将m只蚂蚁放在n个城市上(为了使问题简化设定m=n)。 2.设定taub集合的索引s=1对k从1到m,把第k只蚂蚁放在起始位置对应的设定集合 3.重复下面的步骤,直到集合tabu满为止(这一步将重复n-1次):设定s=s+1;对k从1到m根据公式⑷确定的概率,选择下一步移动的目标城市j{在时间t时第k只蚂蚁所在的城市是i=};将第k只蚂蚁移到城市j;把j加入到集合中。 4.对k从1到m:将第k只蚂蚁从移动到;计算第k只蚂蚁所走过的路程和并更新最尛路径min;对每条路径(i,j): = 5.对每条路径(i,j)根据计算;设定t=t+n;设定NC=NC+1;对每条路径(i,j),设定=0 6.如果NC<,则清空所有的集合tabu,转到第二步;否则,得出最短的路径 四、计算机仿真模型的建立(编程) function

}

VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

}

我要回帖

更多关于 计算机求解问题的过程 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信