实验六:遗传算法求解TSP问题实验讲解

1-3-7-8-4-5-0-6-12 28.0447 31.6308 30.3267 2-9 0-5-4-7-8-3-1-9-13 27.0935 31.5688 29.4332 2-6 4-5-0-2-6-9-1-3-14 28.0934 31.1576 29.9646 8-7 5-0-6-2-9-1-3-7-15 28.0447 31.6626 29.7761 8-4 2-0-5-4-7-8-3-1-16 28.0934 31.5591 30.3473 9-6 7-8-3-1-9-2-6-0-17 27.0935 31.618 29.5988 5-4 1-3-8-7-4-5-0-6-18 27.0935 32.718 29.7033 2-9 3-1-9-6-2-0-5-4-19 28.0934 32.6801 30.2011 7-8 4-0-5-6-2-9-1-3-20 28.7108 31.374 30.1589 27.8075平均值 分析:

个体选择概率分配方式采用非线性排序方式时,程序运行结果非

45 31.792530.060771 5 815.1 8-7 1031 756 672 697 732 823 672 737 732 常糟糕。20次模拟中竟然有11次无法找到最优解。运行时间也很慢。可见在该条件下(交叉概率,变异概率,种群规模等),个体选择概率分配方式不宜采用非线性排序方式,简单的适应度比例方法的效果明显更好。

城市之间的距离矩阵

问题求解结果

三、 实验分析

本文用遗传算法对TSP问题进行了求解,熟悉遗传算法地算法流

程,证明了遗传算法在求解TSP问题时,具有可行性。

遗传算法在设计过程中要照顾好两个原则,一是子代要具有父代

优良的基因信息即继承性,二是子代要保持群体的多样性,即变异。虽然这两个原则在设计过程中经常会出现冲突,我们必须统筹的把握。既要实现算法的快速运算,又要实现解的最优。

通过本实验,更加深入体会了参数设置对算法结果的影响。同一

个算法,参数值不同,获得的结果可能会完全不同。

遗传算法是一种智能优化算法,它能较好的近似求解TSP问题,

在问题规模比较大的时候,遗传算法的优势就明显体现出来,当然不能完全保证能得到最优解。

遗传算法的实现有些关键点,一是串的编码方式,本质就是问题编码,

串长度及编码形式对算法收敛影响极大;二是适应函数的确定,这是选择的基础,应具体问题具体分析,没有大一统的方法;三是自身参数的设定,其中重要的是种群规模,最大迭代次数,交叉概率和变异概率,通过实验我们可以看到种群规模、最大迭代次数对问题求解的精度有很大影响,交叉概率和变异概率的设定对问题的收敛速度和求解精度也都有极大的影响,但在不同条件下,这种影响表现的程度有很大的不同。具体参数的设定应根据具体的领域问题。

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4