1.一种基于改进蚁群算法的多配送中心车辆路径优化方法,其特征在于:所述车辆路径优化方法包括以下步骤:
1)定义算法所需的目标函数:
其中,F为车辆总路程,N为需要服务的客户点数,M为配送中心数,每个配送中心拥有容量大小相同、车型相同的车辆Cm辆,Iij为道路网络中i点与j点之间的阻抗,决策变量为如果配送中心m的车辆p从用户i行驶到用户j取1,反之均取0;约束条件为:每辆车配送的货物重量不得超过其最大载重Q,每个客户都要被配送,且每个客户只能被配送一次,每辆车m配送完其路径上的所有客户点后必须回到出发配送中心;
2)设置参数:蚂蚁数ant_num,迭代次数G;
3)令g=1;
4)令num=1;
5)解的初始化,过程如下:
5.1)任意一只蚂蚁从M个配送中心中随机选择一个配送中心mi;
5.2)在选定的配送中心mi中随机选择一辆尚未使用过的车辆ck;
5.3)当前结点记为nodei,令nodei=mi;所有客户点集合记为{j1,j2,…jk…jN},当前结点到任一结点的网络阻抗记为 令 其中,dist(pi,pj)表示结点pi与pj之间的欧氏距离;下一结点记为next,当且仅当jr∈{j1,j2,…jk…jN}且dist(nodei,jr)=min{dist(nodei,jk)}时,令next=jr,其中,jk∈{j1,j2,…jk…jN};
5.4)重复执行步骤5.3)直到所有客户点访问完毕,得到初始解:其中, 表示配送中心mi的车辆 的路径;下标li表示此配送中心发出的车辆序号;
6)计算每个客户点的最近配送中心,对于客户点jk,其最近配送中心记为 当且仅当dist(ji,mi)=min{dist(ji,mk)}时,令 mk∈{1,2…M},mi∈{1,2…M},集合{1,2…M}为M个配送中心的序号集;
7)计算结点i处蚂蚁选择路径时的惩罚函数:
其中,i表示当前结点,j表示尚未访问到的任意结点,dij表示结点i到结点j的欧氏距离, 为当前结点i的最近配送中心,h∈(0,1)为此范围内的任意常数;
8)使用启发式信息构造车辆路径,过程如下:
8.1)对于当前结点i,计算信息素τ(i,j),首先计算τ的初始值τ0, f为所有结点的个数f=N+M, 为步骤5.3)中计算得到的欧氏距离jk∈{j1,j2,…jk…jN},jr∈{j1,j2,…jk…jN},进一步地,τ(i,j)=(1‑ρ)τ(i,j)+ρ,其中,ρ∈(0,1)为此范围内的任意常数;
8.2)对于当前结点i,计算选择下一结点的概率
其中,i表示当前结点,j表示候选的下一结点,φ(i,j)为步骤7)中计算得到的结点i的惩罚函数,u为满足约束条件的任意结点, 为对当前结点i,满足约束条件的共k个点的集合,τ(i,j)为结点i处的信息素,β为调节参数,β∈{1,2,3};
8.3)选择下一结点next,随机产生随机数random,random∈(0,1),如果random<0.85,选择具有最大概率p(i,j)的结点j作为下一结点;如果random≥0.85,对每个候选结点j产生(0,1)之间均匀分布的随机数rj,选择具有最大rj的候选结点j作为下一结点;
9)重复执行步骤8)直到所有的客户点被访问完毕,得到路径solk,同时,非劣解集合记为P={P1,P2,…,Pant_num},如果目标函数值 则Pk=solk;
10)num=num+1;如果num<ant_num,转至步骤7);
11)模拟退火,过程如下:
11.1)在非劣解集合P中任意选择解Pp;
11.2)根据2‑opt交换准则由Pp得到Pp+1;
11.3)根据Metropolis准则决定是否用Pp+1替换Pp;
11.4)重复执行步骤11.1),11.2),11.3)ant_num次;
12)全局信息素更新,
其中, 为所有非劣解的目标函数值的平均值,α∈{1,2,3,4,5};
13)g=g+1;若g≤G,转至步骤8);
14)选出当前非劣解集合中目标函数值最小的个体为最优路径优化方案。