CN104463328A - 求解旅行商问题的顺序交叉多子代遗传算法 - Google Patents

求解旅行商问题的顺序交叉多子代遗传算法 Download PDF

Info

Publication number
CN104463328A
CN104463328A CN201410740661.8A CN201410740661A CN104463328A CN 104463328 A CN104463328 A CN 104463328A CN 201410740661 A CN201410740661 A CN 201410740661A CN 104463328 A CN104463328 A CN 104463328A
Authority
CN
China
Prior art keywords
individual
parent
individuality
population
algorithm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410740661.8A
Other languages
English (en)
Inventor
王吉权
田占伟
王福林
何梦莹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northeast Agricultural University
Original Assignee
Northeast Agricultural University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northeast Agricultural University filed Critical Northeast Agricultural University
Priority to CN201410740661.8A priority Critical patent/CN104463328A/zh
Publication of CN104463328A publication Critical patent/CN104463328A/zh
Pending legal-status Critical Current

Links

Landscapes

  • General Factory Administration (AREA)
  • Feedback Control In General (AREA)

Abstract

本发明公开了一种求解旅行商问题的顺序交叉多子代遗传算法。首先依据生物进化理论和数学生态学理论,提出了一种求解旅行商问题的顺序交叉多子代遗传算法,并给出了基于顺序交叉的多子代的产生方法。顺序交叉多子代遗传算法所产生的子代个体数量明显增多,使得种群竞争更加激烈,从而增加了产生优秀个体的可能性,故可使遗传算法的性能得到更好的改善。TSPLIB中两个例子的计算结果表明,顺序交叉多子代遗传算法的运算速度明显提高,迭代次数明显减少,从而验证了本发明所给出的求解旅行商问题的顺序交叉多子代遗传算法的有效性。

Description

求解旅行商问题的顺序交叉多子代遗传算法
技术领域
本发明求解旅行商问题的顺序交叉多子代遗传算法,属于应用人工智能技术领域。
背景技术
旅行商问题(Travelling Salesman Problem,简称TSP)是近代组合优化领域、数学领域中的著名问题之一。TSP问题的一般提法是:一个商人要到n个城市去推销商品,n个城市中任意两个城市之间的距离是已知的,该旅行商从某一城市出发,寻找一条可经由每个城市一次且仅一次,最后回到原出发城市,并使所走的路程最短的路线。TSP问题已经被证明是一个典型的NP难题。由于TSP问题具有形式简单、易于理解等优点,在电网规划、网络优化、管道铺设和物流调度等方面有着广泛的应用。因此,求解TSP问题有着很高的实际应用价值。自1932年K. Menger提出旅行商问题以来,该问题已经引起多个领域的许多学者的兴趣,它是目前优化领域里研究的热点问题。1985年,Goldberg和Grefenstette首次应用遗传算法求解TSP问题。此后,许多学者对求解TSP的遗传算法进行了改进,在一定程度上克服了算法的早熟收敛问题,而且算法的收敛速度也有一定程度的提高。
现有文献中的遗传算法每次迭代产生子代数量与父代相同,但在自然界中所有能够生存和发展的种群,其父代产生子代的数量都远远多于父代个体的数量。基于这样的事实,提出了基于顺序交叉的多子代遗传算法,并用其求解TSP问题。所谓的多子代遗传算法是指交叉产生的子代个体数量多于父代个体数量的遗传算法。顺序交叉多子代遗传算法通过顺序交叉产生的子代个体数量多于父代个体数量,使得种群内的竞争加剧。在种群内的竞争过程中,优秀的个体具有较强的生命力,容易存活下来,而具有较低生存能力的个体则被淘汰,从而使物种逐渐地向适应于生存环境的方向进化,进而产生更优良的物种。因此,求解TSP问题的顺序交叉多子代遗传算法可提高算法的收敛速度。
发明内容
针对现有运用遗传算法求解旅行商问题存在的问题,本发明对现有遗传算法进行改进,提出了一种求解旅行商问题的顺序交叉多子代遗传算法。求解旅行商问题的顺序交叉多子代遗传算法与现有求解旅行商问题的遗传算法相比,其显著特征在于:其一,进化策略不同。顺序交叉多子代遗传算法的交叉概率为1。其二,交叉后产生的子代数量不同。顺序交叉多子代遗传算法交叉产生的子代数量明显多于现有求解旅行商问题的遗传算法。这种求解旅行商问题的顺序交叉多子代遗传算法产生优秀个体的可能性增加,因而可提高算法的收敛速度。
求解旅行商问题的顺序交叉多子代遗传算法,其特征在于,具体包括以下几个步骤:
步骤一:顺序交叉多子代遗传算法的理论基础。
    (1)生物学理论基础
现有文献中求解TSP问题的遗传算法,都是一对父代产生一对子代。而在生物进化的过程中,通常一对父代繁殖的子代个数多于两个,这样的物种在进化过程中不但能够很好的生存下来,而且能够使物种得到进化,从而得到更优良的物种;而一对父代繁殖的子代个数小于等于两个的物种实际上是不存在的,即使存在这样的物种,在进化的过程中,由于疾病、食物等因素的影响,最终也会灭绝。另外,当某一种群内部的子代个体数量多于父代时,种群内个体的数量增加,促使种群内部的竞争加剧,由于种群内部的优秀个体具有较强的生存能力,容易存活下来,而具有较低生存能力的个体则被淘汰,从而使物种逐渐地向适应于生存环境的方向进化,进而产生更优良的物种。因此,自然界中的物种在进化过程中,子代个体的数量应该多于父代个体的数量。
(2)数学生态学理论基础
为了说明生物灭种的概率,我们假设一个种群开始只有一个个体,在某一时间t其大小将为0的概率是
(1)
式中,i是初始种群数量,是死亡率,λ是生殖率。
如果初始大小为i的种群随着时间的流逝而灭种,则i个独立的家系都已经死光,即对于任意的i,这种情况发生的概率是
(2)
要求出种群最终灭种的概率,必须让t趋于无穷。故对式(2)我们分三种情况讨论:
① 当生殖率小于死亡率时,即 时
显然,在式(2)中指数项随而变为0,因此可得:
(3)
概率为1,说明生物最终一定会灭种,显然这种种群不可能无限地延续下去。
② 当生殖率大于死亡率时,即
则当时,式(2)可化为
(4)
这样的种群不能够保证继续存在下去,因为灭种仍有一定的概率,但是,生殖率超过死亡率越多,种群的初始大小越大,生物灭种的概率就会越小。
③ 当生殖率等于死亡率时,即
我们将式(2)中的指数项展开成级数形式,令 ,求当时,求,因此(5)
时,项忽略,并且因为,所以
(6)
显然(7)
由此可见,即使生殖率等于死亡率,最终灭种也是肯定的。虽然种群的期望大小是常数,但是围绕这个期望大小的随机波动,经过了充分长的时间后也会导致灭种。仅仅当时,即种群有一个正的增加率的情况下,种群才有可能(并非必然)无限地保持下去。而且,数学生态学已经证明:当生物初始种群的数量已知时,生物种群规模取值的概率分布只取决于每个个体增加率与时间的乘积,所以一个高生殖率进行较短的时间,和一个低生殖率进行较长的时间,只要每个个体增加率与时间的乘积相等,就会得到相同的结果,因此为了能在最短的时间内得到更加优良的个体,需要提高物种的生殖率。基于这样的数学生态学理论,提出了求解TSP问题的顺序交叉多子代遗传算法。
步骤二:顺序交叉多子代遗传算法的进化策略。
首先,产生种群规模为n的初始种群,以初始种群作为父代,并将种群中的所有个体按路线长度从小到大进行排序,根据排序的结果计算每一个个体的适应度,然后进行选择、交叉和变异。交叉产生的子代个体数量为父代个体数量的2倍,即2n个子代个体,并从交叉产生的2n个子代个体和n个父代个体中保留q个精英个体,然后将交叉产生的2n个子代个体按变异概率p m 进行变异,变异后得到的个体数为2np m ,再加上交叉后没有变异的那一部分个体与从父代和交叉产生的个体中选出的q个精英个体,此时种群中共有2n +q个子代个体,可在2n +q个个体中选取最优的q个作为精英个体,选取最优的n个个体作为子代。判断是否满足迭代终止条件,若满足迭代终止条件,则停止迭代;若不满足迭代终止条件,则把子代当成父代。重复上述步骤,直至满足迭代终止条件为止。
步骤三:顺序交叉多子代遗传算法参数的初始化。
(1)令变异概率p m =0.3,最大迭代次数Maxgen=1000,种群的规模为n=100,初始迭代次数为gen=1,旅行商问题的城市数m由具体问题给定,保留精英个体的数量为q=5。
(2)初始化种群,给出100条满足旅行商问题要求的路线。
步骤四:计算种群中个体的适应度值。
(1)读取m个城市的旅行商问题的城市坐标,计算路线的长度。首先,计算任意两个城市间的距离,若任意两个城市间的距离直接给出,可直接求路线的长度;若给出的是每一个城市的坐标,设第i个城市的坐标为(x i ,y i ),第k个城市的坐标为(x k ,y k ),则第i和第k个城市之间的距离为D ik =[(x i -x k )2+(y i -y k )2]0.5。其次,计算每一条路线的长度(为叙述为便,这里以9个城市为例,设路线为691387452,则该路线的长度为D 69+D 91+D 13+D 38D 87+D 74+D 52+D 26)。
(2)将种群中的n个个体,按路线长度从小到大排序。
(3)计算排序后种群中各个个体的适应度值。
设参数,定义基于序的适应度函数F i (X i ’)为F i (X i ’)=β(1-β) i-1i=1,2,…,mX i ’为种群个体按优劣排序后的第个个体。一般在0.01~0.3之间取值。
 
步骤五:选择参与交叉的个体。
按照个体的适应度大小,采用轮盘赌的方法进行选择配对。
步骤六:顺序交叉多子代遗传算法的子代产生方法。
设有两个被选择参与交叉的父代个体AB,为叙述为便,以9个城市为例介绍基于顺序交叉的多子代产生方法。
设被选择配对的父代个体为AB
A=3 4 6 8 1 2 9 7 5
B=2 7 1 9 5 3 6 4 8
根据均匀随机分布产生两个交叉点,用“|”表示交叉点所在的位置,具体情况如下:
A=3 4 6 | 8 1 2 9|7 5
B=2 7 1 | 9 5 3 6|4 8
首先,两个交叉点之间的中间段保持不变,得到
C 1=* * * |8 1 2 9|* *
C 2=* * * |9 5 3 6|* *
然后,记取父代个体B从第二个交叉点开始城市码的排列顺序,当到达B的最后时,返回B的开始继续记录代表城市的数字,直至到达第二个交叉点结束,这样便得到了父代个体B从第二个交叉点开始的城市排列顺序为4-8-2-7-1-9-5-3-6。对于父代个体A而言,已有城市码有8-1-2-9,将它们从父代个体B的城市码排列顺序中去掉,得到排列顺序4-7-5-3-6,再将这个顺序复制给父代个体A,复制的起点也是从第二个交叉点开始,以此决定子代个体1对应位置的未知码*,得到的子个体1为:
C 1=5 3 6 |8 1 2 9|4 7
    同样,可以产生子个体2为:
C 2=8 1 2 |9 5 3 6|7 4
其次,两个父代个体中第二个交叉点后面的城市码不变,将中间部分移到最前面,这样变化后AB两个父代个体中城市码的排列顺序为
AA=8-1-2-9-3-4-6-7-5
BB=9-5-3-6-2-7-1-4-8
然后,将AA中4-8的城市码去掉,将BB中7-5的城市码去掉,得到1-2-9-3-6-7-5和9-3-6-2-1-4-8,再将7-5加到9-3-6-2-1-4-8的尾部,将4-8加到1-2-9-3-6-7-5的尾部,得到两个子个体为:
C 3=9 3 6|2 1 4 8|7 5
C 4=1 2 9|3 6 7 5|4 8
这样父代个体AB经过顺序交叉后,产生了四个子代个体。
当初始种群的规模为n时,通过顺序交叉就可以得到2n个子代个体。
步骤七:种群竞争操作
顺序交叉多子代遗传算法通过交叉操作所得到的子代个体数为2n,这2n个个体按变异概率p m 进行变异,变异后得到的个体数为2np m ,再加上交叉后没有变异的那一部分个体与从父代和交叉产生的个体中选出的q个精英个体,此时种群中共有2n +q个子代个体。因此,顺序交叉多子代遗传算法通过交叉和变异操作后的种群规模远远超过了初始种群的规模。为了在每代进化过程中保持种群的规模不变,可在2n +q个个体中选取最优的q个作为精英个体,选取最优的n个个体作为子代,这一操作我们称之为种群竞争。
步骤八:判断是否满足给定的迭代条件。
重复前面的过程,进行下一次迭代,直至满足给定的迭代条件为止。
步骤九:给出m个城市的最优路径及最优路径的长度。
本发明的优点在于:
第一,给出了一种新的进化策略。该进化策略即可保持种群的规模不变,又能加剧种群的竞争,从而保证优秀的个体进入下一代,有利于种群向好的方向进化。
第二,给出了一种求解旅行商问题的顺序交叉多子代遗传算法的子代产生方法。
附图说明
图1 求解旅行商问题的顺序交叉多子代遗传算法的进化策略
图2 burma14的最优路径
图3 eil51的最优路径。
具体实施方式
下面结合附图对本发明的实施方式进行详细说明。
本发明提出的求解旅行商问题的顺序交叉多子代遗传算法,具体包括以下几个步骤:
(1)求解旅行商问题的顺序交叉多子代遗传算法的生物学理论基础和数学生态学理论基础。
根据生物学理论基础和数学生态学理论基础,本发明提出了求解旅行商问题的顺序交叉多子代遗传算法。
(2)求解旅行商问题的顺序交叉多子代遗传算法的进化策略。
求解旅行商问题的顺序交叉多子代遗传算法的进化策略如图1所示。按照这种进化策略可以取消顺序交叉多子代遗传算法的交叉概率。这种进化策略为:首先,产生种群规模为n的初始种群,以初始种群作为父代,并将种群中的所有个体按路线长度从小到大进行排序,根据排序的结果计算每一个个体的适应度,然后进行选择、交叉,并从交叉产生的2n个子代个体和n个父代个体中保留q个精英个体,然后将交叉产生的2n个子代个体中的2n个子代个体按变异概率p m 进行变异,变异后得到的个体数为2np m ,再加上交叉后没有变异的那一部分个体与从父代和交叉产生的个体中选出的q个精英个体,此时种群中共有2n +q个子代个体,可在2n +q个个体中选取最优的q个作为精英个体,选取最优的n个个体作为子代。判断是否满足迭代终止条件,若满足迭代终止条件,则停止迭代;若不满足迭代终止条件,则把子代当成父代,重复上述步骤。直至满足迭代终止条件为止。
(3)顺序交叉多子多子代遗传算法参数的初始化。
令变异概率p m =0.3,最大迭代次数Maxgen=1000,种群的规模为n=100,初始迭代次数为gen=1,旅行商问题的城市数m由具体问题给定,保留精英个体的数量为q=5。
(4)初始化种群,给出100条满足旅行商问题要求的路线。
(5)读取m个城市的旅行商问题的城市坐标,计算路线的长度。首先,计算任意两个城市间的距离,若任意两个城市间的距离直接给出,可直接求路线的长度;若给出的是每一个城市的坐标,设第i个城市的坐标为(x i ,y i ),第k个城市的坐标为(x k ,y k ),则第i和第k个城市之间的距离为D ik =[(x i -x k )2+(y i -y k )2]0.5。其次,计算每一条路线的长度(为叙述为便,这里以9个城市为例,设路线为691387452,则该路线的长度为D 69+D 91+D 13+D 38D 87+D 74+D 52+D 26)。
(6)将种群中的n个个体,按路线长度从小到大排序。
(7)计算排序后种群中各个个体的适应度值。
设参数,定义基于序的适应度函数F i (X i ’)为F i (X i ’)=β(1-β) i-1i=1,2,…,mX i ’ 为种群个体按优劣排序后的第个个体。一般在0.01~0.3之间取值。
(8)选择参与交叉的个体。按照个体的适应度大小,采用轮盘赌的方法进行选择配对。
(9)将选择配对的个体进行顺序交叉,通过顺序交叉产生多子代的方法如下:
设有两个被选择参与交叉的父代个体AB,为叙述为便,以9个城市为例介绍基于顺序交叉的多子代产生方法。
设被选择配对的父代个体为AB
A=3 4 6 8 1 2 9 7 5
B=2 7 1 9 5 3 6 4 8
根据均匀随机分布产生两个交叉点,用“|”表示交叉点所在的位置,具体情况如下:
A=3 4 6 | 8 1 2 9|7 5
B=2 7 1 | 9 5 3 6|4 8
首先,两个交叉点之间的中间段保持不变,得到
C 1=* * * |8 1 2 9|* *
C 2=* * * |9 5 3 6|* *
然后,记取父代个体B从第二个交叉点开始城市码的排列顺序,当到达B的最后时,返回B的开始继续记录代表城市的数字,直至到达第二个交叉点结束,这样便得到了父代个体B从第二个交叉点开始的城市排列顺序为4-8-2-7-1-9-5-3-6。对于父代个体A而言,已有城市码有8-1-2-9,将它们从父代个体B的城市码排列顺序中去掉,得到排列顺序4-7-5-3-6,再将这个顺序复制给父代个体A,复制的起点也是从第二个交叉点开始,以此决定子代个体1对应位置的未知码*,得到的子个体1为:
C 1=5 3 6 |8 1 2 9|4 7
    同样,可以产生子个体2为:
C 2=8 1 2 |9 5 3 6|7 4
其次,两个父代个体中第二个交叉点后面的城市码不变,将中间部分移到最前面,这样变化后AB两个父代个体中城市码的排列顺序为
AA=8-1-2-9-3-4-6-7-5
BB=9-5-3-6-2-7-1-4-8
然后,将AA中4-8的城市码去掉,将BB中7-5的城市码去掉,得到1-2-9-3-6-7-5和9-3-6-2-1-4-8,再将7-5加到9-3-6-2-1-4-8的尾部,将4-8加到1-2-9-3-6-7-5的尾部,得到两个子个体为:
C 3=9 3 6|2 1 4 8|7 5
C 4=1 2 9|3 6 7 5|4 8
这样父代个体AB经过顺序交叉后,产生了四个子代个体。
当初始种群的规模为n时,通过顺序交叉就可以得到2n个子代个体。
(10)将交叉后得到的2n个子代个和n个父代个体放在一起,选出q个作为精英个体。
(11) 将将交叉产生的2n个子代个体按变异概率p m 进行变异。变异的方法是:先选第一个子代个体,然后产生一个0和1之间的随机数,如果该随机数小于变异概率p m ,则该子代个体进行变异,如果该随机数大于变异概率p m ,则该子代个体不变异。如果变异,采用基因倒位算子进行变异,即选取该子代个体中的一个子串,并将该子串基因依次首尾颠倒,子代个体中被倒位的子串长度是随机的。
(12)将变异后的2n个个体加上保留的q个精英个体,重新计算路线的长度,并按路线长度从小到大进行排序。
(13)在2n+q个子代个体中,选择路线最短的q个个体作为新的精英个体,选择n个最优的个体作为子代。
(14)返回第(7)步,进行下一次迭代,直至满足给定的迭代条件为止。
(15)给出m个城市的最优路径及最优路径的长度。
由于影响遗传算法性能的主要因素有:进化策略、选择、交叉和变异。因此,为了验证本发明给出的求解旅行商问题的顺序交叉多子代遗传算法的有效性,将进化策略、交叉和变异方式与多子代遗传算法相同,但交叉产生的子代个数为n,并对交叉产生的n个个体进行变异的遗传算法称为基本遗传算法。以Matlab R2013a为编程工具,编写了利用基本遗传算法求解旅行商问题和基于顺序交叉多子代遗传算法求解旅行商问题的计算程序。
另外,为了验证本发明所提出的求解旅行商问题的顺序交叉多子代遗传算法的有效性,选取TSPLIB中的两个例子:(1)TSPLIB中的burma14,城市数为14;(2)TSPLIB中的eil51,城市数为51。这两例子分别用顺序交叉多子代遗传算法和基本遗传算法在同一台计算机上运行50次,计算运行50次的平均值。计算过程中,变异概率取p m =0.3,种群规模为n=100,迭代次数取gen=1000,精英个体的数量q=5,计算结果如表1所示。
表1 两种方法的计算结果
注:表中的GA代表基本遗传算法,MOGA代表多子代遗传算法。
表1中平均时间和平均迭代次数的计算方法如下:
首先,计算每次运行的时间,该时间可按下式计算
式中,t为迭代1000次的时间,gen 1为当最大迭代次数为gen时,路径第一次达到最短时的迭代次数,t 1为路径第一次达到最短时的时间。
其次,计算运行10的平均时间和平均迭代次数。将每次运行时的t 1相加并除以10,即可得到平均时间;将每次运行时的gen 1相加除以10,即可得到平均运行次数。
由表1可知,对于burma14,求解旅行商问题的顺序交叉多子代遗传算法与现有求解旅行问题的遗传算法的运行时间和迭代次数明显减少;对于eil51,求解旅行商问题的顺序交叉多子代遗传算法与现有求解旅行问题的遗传算法的运行时间和迭代次数减也明显减少。而且,当城市数量增加时,平均时间减少的越多。由表1的计算结果可知,本发明提出的求解旅行商问题的顺序交叉多子代遗传算法是切实可行的,而且是非常有效的,无论是获得最优解的时间,还是迭代次数都明显减少。
用顺序交叉多子代遗传算法求解旅行商问题时得到的最优路径如图2和图3所示。
由实际应用结果可以看出,求解旅行商问题的顺序交叉多子代遗传算法与现有求解旅行问题的遗传算法相比,顺序交叉多子代遗传算法具有更好的收敛性,并具有更强的全局寻优能力。该方法是解决诸如旅行商问题等大规模复杂优化问题的有效途径。
综上所述,本发明所述提供了一种有效求解旅行商问题的顺序交叉多子代遗传算法,凡在本发明所述思想和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (2)

1.求解旅行商问题的顺序交叉多子代遗传算法,其特征在于:
与现有求解旅行商问题的遗传算法的进化策略不同,求解旅行商问题的顺序交叉多子代遗传算法的进化策略为:
首先,产生种群规模为n的初始种群,以初始种群作为父代,并将种群中的所有个体按路线长度从小到大进行排序,根据排序的结果计算种群中每一个个体的适应度,然后进行选择、交叉,并从交叉产生的2n个子代个体和n个父代个体中保留q个精英个体,然后将交叉产生的2n个子代个体按变异概率p m 进行变异,变异后得到的个体数为2np m ,再加上交叉后没有变异的那一部分个体与从父代和交叉产生的个体中选出的q个精英个体,此时种群中共有2n +q个子代个体,可在2n +q个个体中选取最优的q个作为精英个体,选取最优的n个个体作为子代;判断是否满足给定的迭代终止条件,若满足迭代终止条件,则停止计算;若不满足迭代终止条件,则把子代当成父代;重复上述步骤,直至满足迭代终止条件为止。
2.根据权利要求1所述的求解旅行商问题的顺序交叉多子代遗传算法,其特征在于给出了一种基于顺序交叉的多子代产生方法;这种多子代的产生方法为:
设被选择配对的父代个体为AB
A=3 4 6 8 1 2 9 7 5
B=2 7 1 9 5 3 6 4 8
根据均匀随机分布产生两个交叉点,用“|”表示交叉点所在的位置,具体情况如下:
A=3 4 6 | 8 1 2 9|7 5
B=2 7 1 | 9 5 3 6|4 8
首先,两个交叉点之间的中间段保持不变,得到
C 1=* * * |8 1 2 9|* *
C 2=* * * |9 5 3 6|* *
然后,记取父代个体B从第二个交叉点开始城市码的排列顺序,当到达B的最后时,返回B的开始继续记录代表城市的数字,直至到达第二个交叉点结束,这样便得到了父代个体B从第二个交叉点开始的城市排列顺序为4-8-2-7-1-9-5-3-6;对于父代个体A而言,已有城市码有8-1-2-9,将它们从父代个体B的城市码排列顺序中去掉,得到排列顺序4-7-5-3-6,再将这个顺序复制给父代个体A,复制的起点也是从第二个交叉点开始,以此决定子代个体1对应位置的未知码*,得到的子个体1为:
C 1=5 3 6 |8 1 2 9|4 7
    同样,可以产生子个体2为:
C 2=8 1 2 |9 5 3 6|7 4
其次,两个父代个体中第二个交叉点后面的城市码不变,将中间部分移到最前面,这样变化后AB两个父代个体中城市码的排列顺序为
AA=8-1-2-9-3-4-6-7-5
BB=9-5-3-6-2-7-1-4-8
然后,将AA中4-8的城市码去掉,将BB中7-5的城市码去掉,得到1-2-9-3-6-7-5和9-3-6-2-1-4-8,再将7-5加到9-3-6-2-1-4-8的尾部,将4-8加到1-2-9-3-6-7-5的尾部,得到两个子个体为:
C 3=9 3 6|2 1 4 8|7 5
C 4=1 2 9|3 6 7 5|4 8
这样父代个体AB经过顺序交叉后,产生了四个子代个体;
当初始种群的规模为n时,通过顺序交叉就可以得到2n个子代个体。
CN201410740661.8A 2014-12-09 2014-12-09 求解旅行商问题的顺序交叉多子代遗传算法 Pending CN104463328A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410740661.8A CN104463328A (zh) 2014-12-09 2014-12-09 求解旅行商问题的顺序交叉多子代遗传算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410740661.8A CN104463328A (zh) 2014-12-09 2014-12-09 求解旅行商问题的顺序交叉多子代遗传算法

Publications (1)

Publication Number Publication Date
CN104463328A true CN104463328A (zh) 2015-03-25

Family

ID=52909333

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410740661.8A Pending CN104463328A (zh) 2014-12-09 2014-12-09 求解旅行商问题的顺序交叉多子代遗传算法

Country Status (1)

Country Link
CN (1) CN104463328A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108413980A (zh) * 2018-06-07 2018-08-17 华北电力大学 一种减少路径分支的交通巡回路径规划方法
CN109472362A (zh) * 2018-10-29 2019-03-15 武汉理工大学 一种基于可变任务窗的agv动态调度方法及装置
CN109523074A (zh) * 2018-11-14 2019-03-26 浙江工业大学 一种基于最近邻遗传混合算法的服装裁剪路径优化方法
CN109816262A (zh) * 2019-01-31 2019-05-28 贵州大学 采用改良免疫遗传算法的柔性作业车间调度方法
CN110322968A (zh) * 2019-06-24 2019-10-11 北京科技大学 一种疾病类别医学数据的特征选择方法和装置
CN110610239A (zh) * 2019-08-13 2019-12-24 浙江工业大学 一种基于动态遗传算法的平衡运输问题解决方法
CN111210157A (zh) * 2020-01-13 2020-05-29 上海威派格智慧水务股份有限公司 一种水箱动态调蓄方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108413980A (zh) * 2018-06-07 2018-08-17 华北电力大学 一种减少路径分支的交通巡回路径规划方法
CN108413980B (zh) * 2018-06-07 2021-06-11 华北电力大学 一种减少路径分支的交通巡回路径规划方法
CN109472362A (zh) * 2018-10-29 2019-03-15 武汉理工大学 一种基于可变任务窗的agv动态调度方法及装置
CN109472362B (zh) * 2018-10-29 2020-08-07 武汉理工大学 一种基于可变任务窗的agv动态调度方法及装置
CN109523074A (zh) * 2018-11-14 2019-03-26 浙江工业大学 一种基于最近邻遗传混合算法的服装裁剪路径优化方法
CN109816262A (zh) * 2019-01-31 2019-05-28 贵州大学 采用改良免疫遗传算法的柔性作业车间调度方法
CN109816262B (zh) * 2019-01-31 2023-04-28 贵州大学 采用改良免疫遗传算法的柔性作业车间调度方法
CN110322968A (zh) * 2019-06-24 2019-10-11 北京科技大学 一种疾病类别医学数据的特征选择方法和装置
CN110610239A (zh) * 2019-08-13 2019-12-24 浙江工业大学 一种基于动态遗传算法的平衡运输问题解决方法
CN111210157A (zh) * 2020-01-13 2020-05-29 上海威派格智慧水务股份有限公司 一种水箱动态调蓄方法
CN111210157B (zh) * 2020-01-13 2023-05-12 上海威派格智慧水务股份有限公司 一种水箱动态调蓄方法

Similar Documents

Publication Publication Date Title
CN104463328A (zh) 求解旅行商问题的顺序交叉多子代遗传算法
Karakoyun et al. A new algorithm based on gray wolf optimizer and shuffled frog leaping algorithm to solve the multi-objective optimization problems
Saif et al. Multi-objective artificial bee colony algorithm for simultaneous sequencing and balancing of mixed model assembly line
CN110083165A (zh) 一种机器人在复杂狭窄环境下路径规划方法
CN107330560B (zh) 一种考虑时序约束的异构飞行器多任务协同分配方法
Hosseinabadi et al. GELS-GA: hybrid metaheuristic algorithm for solving multiple travelling salesman problem
Hassan et al. A modified Marine predators algorithm for solving single-and multi-objective combined economic emission dispatch problems
CN107563653B (zh) 一种多机器人全覆盖任务分配方法
CN107122843A (zh) 一种基于改进遗传算法的旅行商问题求解方法
CN104616062B (zh) 一种基于多目标遗传规划的非线性系统辨识方法
CN112013829A (zh) 基于多目标优化的多uav/ugv协同长时作业路径规划方法
CN103488851B (zh) 基于几何结构信息的多目标优化方法
CN108413963A (zh) 基于自学习蚁群算法的条形机器人路径规划方法
CN104200272A (zh) 一种基于改进遗传算法的复杂网络社区挖掘方法
CN105512755A (zh) 一种基于分解的多目标分布估计优化方法
CN103150614A (zh) 一种土地利用空间自动配置方法
Gorjestani et al. A hybrid COA-DEA method for solving multi-objective problems
Hosseinabadi et al. Presentation of a new and beneficial method through problem solving timing of open shop by random algorithm gravitational emulation local search
CN109074348A (zh) 用于对输入数据集进行迭代聚类的设备和迭代方法
Satapathy et al. Teaching learning based optimization for neural networks learning enhancement
Varnamkhasti et al. A genetic algorithm based on sexual selection for the multidimensional 0/1 knapsack problems
CN109885401B (zh) 基于lpt局部优化的结构化网格负载平衡方法
Lattarulo et al. Application of the multi-objective alliance algorithm to a benchmark aerodynamic optimization problem
Yin et al. An improved artificial bee colony algorithm for staged search
CN105512754A (zh) 一种基于共轭先验的单模分布估计优化方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150325

WD01 Invention patent application deemed withdrawn after publication