1.一种基于改进遗传算法的物流配送优化方法,其特征在于,所述物流配送优化方法包括以下步骤:
1)获取所在城市的路径基础信息集合E、路径交点集合V、配送车辆的运送成本C、决策变量Xij、路况因子θij、客户点集合I={I1,I2,I3,...,IN}、配送中心J、配送中心车辆集合K={K1,K2,K3,...,KM}、车辆载重量Q、客户需求量为qL,L∈{1,2,3,...,N},配送中心到各个客户点的距离为d0i,客户点i到客户点j的距离为dij,i,j∈{1,2,3,...,N};配送车辆k从客户点i到客户点j时Xij取值为1,否则为0;以配送总里程数最短为目标函数,建立如下数学模型:
2)参数设置:配送车辆的运送成本C、客户点数目N、车辆载重量Q、变异概率R、种群规模S、迭代次数G,约束条件:每条路径上各个客户的货物需求量之和不超过配送车辆的载重,且每个客户仅能由一辆车配送;
3)将城市的路径基础信息、路径交点信息导入ArcMap平台,根据真实道路进行地图矢量化操作和地理配准,利用网络分析模块得到目标区域的网络数据集,并创建表征配送中心和客户点的特征图层;
4)分析获取道路距离成本矩阵D, N表示客户点编号,0表示配
送中心,矩阵中对角线元素d00,d11,…,dNN值为0,d0j表示配送中心0到客户点j的真实道路距离,di0表示客户点i返回配送中心0的真实道路距离,dij表示客户点i到客户点j之间的真实道路距离,i,j∈V且i≠j;
5)编码:采用自然数的编码方式,0表示配送中心,1,2,3,…,N表示客户点的编码;
6)种群初始化,过程如下:
6.1)从客户点集合I中随机选择一个客户点Ir作为初始目标点,并将其添加到染色体的第一个编码位置;
6.2)以Ir为目标中心点,将距离客户点Ir最近的三个客户点按升序排列,记为Ia,Ib,Ic,其权重概率依次赋值为p1,p2,p3,p1>p2>p3且p1+p2+p3=1,利用轮盘赌的思想从Ia,Ib,Ic中随机选择一个客户点Ir′,添加到染色体的第二个编码位置,其中Ir′∈{Ia,Ib,Ic};
6.3)将目标中心点Ir更新为Ir′,重复步骤6.2)完成相应的权重赋值和添加染色体新的编码操作,直至遍历完集合中的所有客户点,可形成一条初始染色体;
6.4)迭代步骤6.1)至步骤6.3)S次,得到包含S条染色体的初始种群,即S种配送方案;
7)交叉操作,过程如下:
7.1)随机选择两条父代染色体,产生两个小于染色体长度的随机数w1,w2;
7.2)交换父代染色体2中位于w1,w2的客户点片段,并且保留客户点w1,w2之间的路径;
7.3)生成一个子代染色体,使子代染色体中w1到w2的客户点与父代染色体1中w1到w2的客户点相同;
7.4)对比两条父代染色体,将父代染色体1中w1到w2的客户点设为Y,去除父代染色体2中与Y相同的客户点,将父代染色体2中其余客户点按其原有顺序写入子代染色体中,同理,交换父代染色体1、父代染色体2的位置,将生成另外一个子代染色体,计算两条父代染色体和两条子代染色体的适应度fi,适应度函数为目标函数的倒数,选择适应度较高的两条染色体作为交叉操作的结果;
7.5)迭代步骤7.1)至7.4),遍历所有染色体,得到交叉操作后的所有配送方案;
8)变异操作:产生一个0到1之间的数,若该数小于变异概率R,随机选择染色体中的一个客户点编码,交换该客户点相邻的两个客户点编码,将该染色体作为变异操作的结果,否则保留该染色体,得到变异操作后的配送方案;
9)选择操作:计算变异前后两条染色体的适应度,若变异后染色体的适应度优于变异前染色体的适应度,则接受该染色体,否则以一定的概率接受,接受概率为 ε为变异后染色体的接受概率,Ei为变异前染色体的适应度,Ej为变异后染色体的适应度,通过该操作得到选择后的配送方案;
10)解码操作:在染色体首位基因前和末位基因后添加0,若满足 且
则在染色体的第m个基因后面插入0,即客户点m后需要重新安排车辆,随后重新开始计算,直至遍历完所有客户点,获得配送车辆数目K,得到一个可行解;
11)迭代步骤8)至10)达到最大迭代次数,根据适应度的大小筛选出适应度最高的染色体并进行解码操作,得到目标函数的最优解,即物流配送的最佳路线。