其中,*表示暂未确定码,对于子个体1、子个体2中*部分,分别保留从其父个体中未选定需求点,得到:
q 1: (4 5 | 9 2 3 10 * * 1 12 6 7 )
q 2 : (11 8 | 2 * * 7 6 9 3 1 10 12 )
然后,根据交叉点前的映射关系,得到:
11??4 8??5
如果映射关系中存在传递关系,即被选交换有多个码,则选择此前未确定的一个码作为交换。
于是,最终的子个体为:
q 1:(4 5 | 9 2 3 10 8 11 1 12 6 7)
q2:(11 8 ! 2 4 5 7 6 9 3 1 10 12)
则交换后选定的配送中心地址分别为(4 5 9 )和(11 8 2)。
运用步骤(3)判断两个子染色体与其父染色体的优劣性,从中选出两个最优者,然后执行步骤(7)。
(7)染色体的变异
对交叉后的染色体按概率pm=0.02依次进行变异操作,其中变异位只选择k1至kn,变异规则是若对某位发生变异,则在k1至kn之间随机产生一新的基因代替此位基因,新基因值的原位置由此位基因填入,变异后的染色体用步骤(3)判断其适应值大小,若小于原染色体的适应值,则变异失败,仍采用原染色体进入新群体,否则采用变异后的染色体作为新个体。
(8)判断及替代
将当前代已执行遗传操作的染色体数目加2,判断其是否小于种群大小,若小于,则返回步骤(5)循环;否则,将当前代种群的最优个体g1复制到下一代,这样可保证最优者生存,然后返回步骤(4)循环。
4.3采用改进遗传算法对车辆路径问题的求解
从第二章对车辆路径问题的理论分析可以知道,求解车辆路径问题的关键是合理确定车辆与各需求点的关系,在满足车辆载重量、时间和各需求点需求量的约束条件下使得总费用最小。下面我们对基本遗传算法进行改进来构造车辆路径问题优化解的求解方法,具体实现步骤如下:
(1)编码方案
染色体(或个体)由1到x的整数排列串构成,其中x为车辆数K与需求点数q的乘积。我们可以将其记为:
g=(w1,w2,...,wj,...,wx) (4.8)
1,2,...,x? 其中: wj??1,2,...x?, wj1?wj2 ?j1?j2 j1,j2??
染色体中的元素wj可以表示三个方面的含义:
①对应需求点的编号为:
?wj?1?m= wj-???q (4.9)
?q?
(其中〔]表示取整,下同)
②对应的路径编号为:
?wj?1? k=??+1 (4.10) ?q?
③确定需求点m是否由车辆k配送以及确定需求点m在路径k中的顺序为j。
(2)初始种群的产生
在满足编码方案的前提下,随机产生L个个体,构成初始种群。我们将其记为:
G0??g1,g2,...,gL?
此时代数为0。
(3)可行化过程
将染色体的编码向量映射为满足全部约束条件的可行解称为可行化。对于一般车辆路径问题,其过程如下:
①需求点的需求条件满足的标志变量为dzm = 0(其中m=1, 2,.,.,q);
②令路径k中的需求点数目nk= 0;设汽车的载重量为bk,令bk?bk;路径k所包含的需求点Rk??;路径k中除去配送中心后的第i个位置的需求点号为rki=0,即此时所有路径皆未形成。〔其中k=1, 2,?,K; i =1, 2,?,q
③令了一1;
④第_i次确定需求点m和路径k间的关系,其中:
w} -[丫」一
「w.-1q」一
(5.12)
k=
(5 .13)
⑤判断d,是否等于0,若等于0,表明需求点m的需求尚未满足,转⑥继续 判断,否则转⑦执行。
⑥判断需求点m的需求量呱是否小于或等于k车辆所剩余的载重量瓦,若 成立,令d,. -1, bk一b*一dm, nk =nk+1,、,=m,Rk=凡u {m},然后转⑦
执行;若不成立,直接转⑦执行。
⑦j = j+1,判断.7是否等于Kxq十1,若不相等,转④重复上述过程;若相 等,则表明该染色体中的Kxq个元素已经判断完毕,此时检查是否所有atm成
立。若成立,说明在满足各约束条件的情况下,所有的需求点均分配了一个路径, 构成路径集合RT二{凡,Rz,二,,凡},即为染色体所对应的原车辆问题的一个可行 解;若不成立,说明此染色体表示的路径分配方案不满足约束,为原车辆路径问 题的一个不可行解。
为了对该可行化过程有一个更加清晰的认识,下面我们以6.2节的数据来说 明上述过程。在该例中一个配送中心用两辆汽车为8个需求点配送货物,故其染 色体的长度为16,其值为1至16之间的整数。假设一染色体编码为:
11 3 7 9 14 12 16 5 13 15 4 1 2 8 6 10
首先w!二
,
11,贝。确定路径、一[wi- 1 1十1=2与需求点m
Lq」
Fw,一11
二”’l一}—}·q=3乙
L q」
间的关系,因为峨3 =Os d3 =1<砚=8,故可将需求点3加入到路径2中,将峨3 变为d,=1 , b2变为b2=8- 1;
第二次,w2月,则确定路径k
Lw,一1]_._.、_Lw。一11
_l‘二1-11二二护巴翻三尸tl兮尸扁.一~峭。.1‘l~_
=I—It l一1 }J rT-'n ll-}- .I } , ill=W,一I—I.U一
[q」一‘仁q」