首页 理论教育 用遗传算法优化100城市TSP问题的最佳路径及实验结果

用遗传算法优化100城市TSP问题的最佳路径及实验结果

时间:2023-06-27 理论教育 版权反馈
【摘要】:图9.6.1求解TSP问题的遗传算法框图该例采用n城市的遍历顺序编码法,适应度函数取总长度T的倒数。表9.6.1SA法和GA法求解TSP问题的实验结果表中所列TSP路径长度为相对长度,其值计算公式为式中:T d为实际路径长度;X为包含TSP所有城市的最小正方形的边长;n为TSP问题的城市数目。图9.6.2100城市TSP问题的初始路径图9.6.3100城市TSP问题经遗传算法优化后得到的最佳路径

用遗传算法优化100城市TSP问题的最佳路径及实验结果

文献[48]对一个n个城市的TSP问题做了实验验证,所采用的遗传算法框图如图9.6.1所示。

图9.6.1 求解TSP问题的遗传算法框图

该例采用n城市的遍历顺序编码法,适应度函数取总长度T的倒数(无惩罚函数)。选择机制是保留M个较优个体,在每一代运算中,个体被选中的概率与其在群体中的相对适应度成正比。交换操作采用修改的OX法。此法的重点举例如下。

(1)在串中随机选择交配区域,如两父串及交配区选定为

A=12|3456|789

B=98|7654|321

(2)将B的交配区域加到A的前面(或后面),A的交配区域加到B的前面(或后面)得到

A'=7654|123456789

B'=3456|987654321

(3)在A'中从交配区域后依次删除与交配区相同的城市码,得到最终的两个子串为

在本实验中,变异操作的概率很小,一旦发生,则用随机方法产生交换次数K,对所需变异操作的串进行K次对换(对换的两个码位也是随机产生)。

引入逆转操作,对于给定的串,随机给定两个逆转点,在两逆转点之间进行逆转,若逆转后适应度提高,则执行逆转。如此反复,直至不存在这样的逆转操作为止。这一操作,可以改良它的局部极点。(www.xing528.com)

实验在386微机上进行,群体规模定为100,交换概率为0.95,变异概率为0.003,初始群体由随机法产生。实验结果表明:

(1)当n≤15时,本算法可以100%搜索到穷举法求得的最优解;

(2)当15<n≤30时,本算法能收敛到“最好解”(难以确认其最优性);多次实验误差结果为0;与模拟退火法相比,时间约为模拟退火法的1/6;

(3)对n=50,n=60,n=80及n=100,…的测试结果表明,遗传算法在求解质量上略优于模拟退火法(SA),优化效率则大大高于模拟退火法,如表9.6.1所示。

表9.6.1 SA法和GA法求解TSP问题的实验结果

表中所列TSP路径长度为相对长度,其值计算公式为

式中:T d为实际路径长度;X为包含TSP所有城市的最小正方形的边长;n为TSP问题的城市数目。图9.6.2为城市规模n=100的TSP问题的初始群体的路径,图9.6.3为经遗传算法优化后得到的最佳路径。

图9.6.2 100城市TSP问题的初始路径(G=0代)

图9.6.3 100城市TSP问题经遗传算法优化后得到的最佳路径(G=200代)

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈