1.一种基于参数自学习的差分进化物流配送路径优化方法,其特征在于:所述路径优化方法包括以下步骤:
1)以所有配送车辆的总路程最短为目标建立如下目标函数:其中, 为配送车辆数量,qi表示第i个客户的所需货物的重量,α∈[0,1]为约束因子, 表示向下取整;rki表示客户点在第k辆车配送的客户顺序中为第i个,rk0表示配送中心,nk表示第k辆车配送的客户数量, 表示第k辆车配送的第i个客户和第i‑1个客户之间的距离, 表第k辆车配送完nk个客户后返回配送中心的路程,sign(nk)为决策变量,如果第k辆车没有进行配送任务,则取0,反之均取1;配送模型的约束条件为:每辆车配送的货物重量小于其最大载重Q,且每辆车的配送路程小于其最大可行驶路程D,每辆车的配送客户数量小于需要配送的总客户数量L,每个客户都要被配送,且每个客户只能被配送一次;
2)编码:用数字1表示配送中心,2,3,4,…,L+1表示各客户点,则配送路径编码为(1,2,
3,4,1,5,6,7,1,8,…,L+1,1),其中1的数量为K+1,(1,2,3,4,1)表示第一辆车的配送路径为第1个客户点到第2个客户点,再到第3个客户点,以此类推;
3)通过xs=(1,2,3,4,1,5,6,7,1,8,…,L+1,1)表示配送方案,其中xsj,j=1,2,...,L+K+1表示xs的第j维元素;
4)种群初始化,生成NP个初始配送方案,过程如下:
4.1)对xs中的配送顺序进行NP次随机排序,每一次随机排序则生成一种配送方法,从而生成NP种新的配送方案;
4.2)判断4.1)中产生的方案是否满足步骤1)中的约束条件且互不相同,若不满足,则根据步骤4.1)重新生成配送方案,直至产生的配送方案数量达到NP个为止;
4.3)将每一种配送方案看作一个个体xm,组建初始种群P={x1,x2,...,xNP},其中NP为种群规模;
5)确定每个个体的步长因子Fm和交叉概率CRm,过程如下:
5.1)如果迭代代数g≤20,则Fm=rand(0,1),CRm=rand(0,1),其中rand(0,1)表示从0到1之间的随机数;Fm表示第m个个体的步长因子,CRm表示第m个个体的交叉概率;
5.2)如果g>20,则根据如下步骤确定Fm和CRm:
5.2.1)将Fm的取值范围(0,1)平均分为10等份,即生成10个值域区间,分别记作(0,
0.1),[0.1,0.2),…,[0.9,1);
5.2.2)获取当前代的前20代中所有测试个体um成功替换目标个体xm的Fm值及其所对应的区间;然后分别计算每个区间上成功的Fm的次数,记为Ns,s∈{1,2,...,10},其中s为Fm的取值区间索引;
5.2.3)根据公式 分别计算10个值域区间内Fm的成功率,将10个区间的成功率依次记为p1,p2,…,p10;其中,ps表示第s个区间的成功率,W表示前20代中Fm成功的总次数;如果某一值域区间上没有成功的Fm,则将该区间上的成功率记为0.01;
5.2.4)在(0,1)内随机生成一个小数t,对ps进行累加,直到p1+p2+…+pq≥t时,选取第q个区间作为产生步长因子Fm的取值范围,并在此范围内随机生成一个小数作为Fm的值;
5.2.5)根据步骤5.2.1)‑5.2.4)同样的方法产生CRm,即将上述步骤中的Fm替换成CRm;
6)根据公式(1)计算当前种群中每个个体的目标函数值,并根据目标函数值对所有个体进行升序排序;
7)对当前种群NP中的每一个目标个体xm,m=1,2,...,NP进行如下操作:
7.1)从排名靠前的NP/2个个体上中随机选取NP/4个个体xe,e=1,2,...,NP/4,并根据目标函数值对这NP/4个个体重新进行降序排序,记录每个个体的排名Re,e=1,2,...,NP/
4,其中Re表示第e个个体的排名;
7.2)计算步骤7.1)中所选择的每个个体的选择概率 e=1,2,...,NP/4,其中Xe表示第e个个体的选择概率;
7.3)随机生成一个0和1之间的小数T,对Xe进行累加,直到X1+X2+...+XZ>T为止,选择第Lbest
Z个个体,并记为x ;
7.4)对个体xm中不为1的元素xmj进行变异生成变异个体vm:其中Fm为步长因子,vmj表示目标个体xm的一个变异个体vm的第j维元素,a和b为从{1,
2,…,NP}中随机选取的不相同的且与m不同的数字,xaj、xbj和 分别表示种群个体xa、xbLbest
和x 的第j维元素,且xaj、xbj和 均不等于1, 表示向上取整;
7.5)对变异个体vm和目标个体xm进行交叉,过程如下:生成测试个体um:其中umj表示测试个体um的第j维元素,vmj表示变异个体vm的第j维元素,rand(0,1)表示
0到1之间的随机数,CRm表示交叉概率,jrand表示1到L+K+1之间的随机整数;
7.6)如果测试个体um的各维元素中除了1以外的元素有不在区间(1,L+1]内的元素或者有相同的元素,则从2到L+1之间随机生成一个整数进行替换,直到所有除了1以外的元素均在2和L+1之间,且互不相同为止;
8)根据公式(1)计算测试个体um所对应的路线的目标函数值,如果um的目标函数值小于目标个体xm的目标函数值,且um满足步骤1)中的约束条件,则um替换目标个体xm;
9)对种群中的每个个体都执行完步骤5)‑8)以后,迭代次数g=g+1;
10)如果满足终止条件,则继续步骤11),否则返回步骤5);
11)选出当前种群中目标函数值最小的个体进行解码,其中第1个1和第2个1之间的数字表示第1辆车的配送路线,第2个1和第3个1之间的数字表示第2辆车的配送路线,以此类推,则第K个1个第K+1个1之间的数字表示第K辆车的配送路线,其中1与1之间的数字表示配送点,1表示配送中心。
2.如权利要求1所述的一种基于参数自学习的差分进化物流配送路径优化方法,其特征在于:所述步骤10)中,终止条件为迭代次数g达到预设最大迭代次数gmax。