[发明专利]一种合作式物流问题的任务分配与路径规划方法有效

专利信息
申请号: 201910010718.1 申请日: 2019-01-07
公开(公告)号: CN109559062B 公开(公告)日: 2021-05-11
发明(设计)人: 张同亮;林娜;史彦军;屈福政 申请(专利权)人: 大连理工大学
主分类号: G06Q10/06 分类号: G06Q10/06;G06Q10/04;G06Q10/08;G06N3/12
代理公司: 大连理工大学专利中心 21200 代理人: 温福雪;侯明远
地址: 116024 辽*** 国省代码: 辽宁;21
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 合作 物流 问题 任务 分配 路径 规划 方法
【权利要求书】:

1.一种合作式物流问题的任务分配与路径规划方法,其特征在于,步骤如下:

第一步,模型建立

一个总公司辖有M个子公司,所有子公司共有N个订单需要满足,子公司统一使用具有相同载重量的车型运送货物;目标是得到运输距离最短的路径行驶方案;以下是模型中各变量及其所代表的意义:

M:子公司个数;N:总订单的个数;C:车辆的载重量约束;K:车辆的数量;

H:所有车辆的集合;k:车辆的编号,k∈H;V:所有点的集合,包括子公司与所有订单,V=(1,2,…,N,N+1,…,M);i,j:集合V中任意点的编号;A:所有订单的集合,A=(1,2,…,N);B:所有子公司的集合,B=(1,2,…,M);m:子公司的编号,m∈B,1≤m≤M;Sm:每个子公司m分配到的订单集合,包括公司m点,Rm:每个子公司m分配到的订单数,有Tm:每个子公司m的车辆集合,tm:每个子公司m的车辆数,D:集合V中任意两点的距离构成的集合;dij:集合V中任意两点i和j的距离,dij∈D;Q:集合A中任意订单i的需求构成的集合;qi:集合A中任意订单i的需求,qi0,qi∈Q;xijk:二进制变量,xijk等于1,表示车辆k从点i点离开后到达点j,k∈H,i,j∈V,否则为0;

目标函数:

约束:

xijk∈{0,1}i,j∈V k∈H (8)

该模型中,公式(1)描述了CoVRP问题的目标,即最小化所有子公司的总运输距离;

第二步,求解模型

步骤1:订单重分配

定义1:模糊点与模糊集:不能分配给最近子公司的订单点称为模糊点,模糊点构成的集合为模糊集,用F表示;

定义2:距离比例:订单点到两个子公司的距离之比,用a(t,u)=Dt[i]/Du[i]表示,i表示集合A中的任意一个订单,t,u表示集合B中任意两个子公司的编号,且tu,Dt,Du示分别表示集合A中所有订单分别到子公司t,u的距离的集合;

定义3:相对距离系数:反映了一个订单被分配给最近子公司的容易程度,用α和β表示;

步骤1.1:对于集合A中的订单,令i=0;

步骤1.2:计算订单i所有的距离比例a(t,u),其中1≤t≤M,1≤u≤M,且t<u;

步骤1.3:判断

如果任意a(1,u)≤α,其中1<u≤M,订单i分配给第一个子公司,得到S1

如果任意a(t,m)≥β且a(m,u)≤α,其中1<ms,t=(1,2,...,m),p=(m+1,...,s),且t<m<p,则订单i分配给第m个子公司,得到Sm

如果任意a(t,M)≥β,其中1≤t<M,则订单i分配给第M个子公司,得到SM

当以上判断条件都不满足,将订单i加入模糊集F;

步骤1.4:令i=i+1,判断i与N的大小,如果i≤N-1,则转到步骤1.2,否则转到步骤1.5;

步骤1.5:对于集合F中的订单i,计算订单i与集合A中所有订单的距离,记录与订单i距离最小的A中订单的编号j;

步骤1.6:获取订单j分配到的子公司,并将订单i分配给该子公司;

步骤1.7:顺序移动到集合F的下一个订单,判断是否到达集合F的最后位置,若是,转到步骤1.8,否则返回步骤1.5;

步骤1.8:输出每一个子公司m分配到的订单集合Sm,根据Sm中的元素个数,得到每一个子公司m分配到的订单个数Rm

基于Sm、Rm进行子公司内部的车辆路径规划,目标是优化每一个子公司的运输成本,得到运输距离最小的车辆配送路线;

步骤2:子公司车辆路径规划

步骤2.1:问题编码

路径问题编码部分首先用一条含有Sm中所有订单的长路径表示一个解,然后通过车辆载重量约束C,将含有Rm个订单的解划分为带有tm条子路径的解;

设L表示包含子公司m所有订单的数组,数组L表示一整条路径,长度为Rm;h记录订单在数组L中的次序,h为整数,0≤h≤Rm-1,L[h]表示数组L中第h个订单;

步骤2.1.1:随机生成一个包含有Rm个整数的数组L,令h=0,tm=0;

步骤2.1.2:在集合Q中检索并记录订单L[h]对应的需求量,令h=h+1;

步骤2.1.3:检索订单L[h]在集合Q中的需求,并计算当前订单的总需求;

步骤2.1.4:判断当前总需求是否满足车辆的载重量约束C,如果满足,则令h=h+1,转到步骤2.1.5,否则转到步骤2.1.6;

步骤2.1.5:判断h大小,如果h≤Rm-1,转到步骤2.1.3,否则转到步骤2.1.7;

步骤2.1.6:在当前订单的下一位置插入分隔符“0”,令h=h+1,tm=tm+1,转到步骤2.1.2;

步骤2.1.7:在当前订单的下一位置插入分隔符“0”,令tm=tm+1;

步骤2.1.8:输出带有分隔符“0”的路径L以及路径中的子路径个数tm

步骤2.2:种群初始化

将基于角度的划分方法与随机策略产生解的比例设置为1:9;种群大小为P,则基于角度的划分方法产生的后代数为0.1P,随机策略产生的后代为0.9P;

步骤2.2.1:重复步骤2.1共0.9P次,得到0.9P个随机初始解;

步骤2.2.2:通过基于角度的划分方法得到0.1P个初始解;

步骤2.3:交叉过程

步骤2.3.1:删除过程

步骤2.3.1.1:在当前种群P中随机选择两个父代,P1和P2

步骤2.3.1.2:分别在P1和P2中选择一条子路径r1,r2,然后将P1选择的子路径r1中的需求点在P2解中删除掉,将P2选择的子路径r2中的需求点在P1解中删除掉;r1,r2为包含部分订单的数组,分别表示来自父代P1和P2的子路经;

步骤2.3.2:插入过程

设e为数组r1,r2中订单的次序,r1[e]表示子路经r1中第e个订单,r2[e]表示子路经r2中第e个订单;|r1|表示子路经r1的订单个数,|r2|表示子路经r2的订单个数;

步骤2.3.2.1:首先在父代P1中插入缺失的点,即P2子路径r2中的点,令e=0;

步骤2.3.2.2:在P1的当前子路径中顺序插入订单点r2[e];

步骤2.3.2.3:判断P1的子路径是否满足车辆的载重量约束C,若满足,转到步骤2.3.2.4,否则在P1中顺序转入下一条子路径,并转到步骤2.3.2.2;

步骤2.3.2.4:由公式(10)计算并存储插入后的成本Cost;

步骤2.3.2.5:根据公式(10)计算P1中当前子路径中下一个可行的插入点,判断P1是否检索到最后一个可插入点,如果是,转到步骤2.3.2.6,否则转到步骤2.3.2.3;

步骤2.3.2.6:比较所有Cost中的最小值,将Cost最小值的方案作为订单最佳插入位置,令e=e+1;

步骤2.3.2.7:判断e大小,如果e≤|r2|-1,则转到步骤2.3.2.2,否则转到步骤2.3.2.8;

步骤2.3.2.8:在父代P2中插入缺失的点,即P1子路径r1中的点,令e=0;

步骤2.3.2.9:在P2的当前子路径中顺序插入订单点r1[e];

步骤2.3.2.10:判断P2的子路径是否满足车辆的载重量约束C,若满足,转到步骤2.3.2.11,否则在P2中顺序转入下一条子路径,并转到步骤2.3.2.9;

步骤2.3.2.11:由公式(10)计算并存储插入后的成本Cost;

步骤2.3.2.12:根据公式(10)计算P2中当前子路径中下一个可行的插入点,判断P2是否检索到最后一个可插入点,如果是,转到步骤2.3.2.13,否则转到步骤2.3.2.10;

步骤2.3.2.13:比较所有Cost中的最小值,将Cost最小值的方案作为订单最佳插入位置,令e=e+1;

步骤2.3.2.14:判断e大小,如果e≤|r1|-1,则转到步骤2.3.2.9,否则转到步骤2.3.3;

步骤2.3.3:重复步骤2.3.1-2.3.2共P次;

步骤2.3.4:2P个交叉后的子代;

步骤2.4:变异过程

设w表示变异过程执行的次序,1≤w≤2P;

步骤2.4.1:令w=1;

步骤2.4.2:在2P个个体中随机选择一个个体;

步骤2.4.3:随机生成0到1之间的随机数,如果该随机数小于变异概率Pm,则转到步骤2.4.4,否则令w=w+1,转到步骤2.4.5;

步骤2.4.4:随机选择该个体中的一条子路径,然后随机选择子路径中的两个订单进行交换,令w=w+1;

步骤2.4.5:判断w的大小,如果w≤2P,转到步骤2.4.2,否则转到步骤2.4.6;

步骤2.4.6:输出2P个变异后的后代;

步骤2.5:选择过程

步骤2.5.1:在2P个变异后的个体中随机选择两个个体,分别计算两个个体的适应度值,选择适应度大的个体进入下一代;

步骤2.5.2:重复步骤2.5.1共P次,即从2P个个体中选择出P个新个体进行下一次迭代;

步骤2.6:重复步骤2.3-2.5共g次,g表示最大迭代代数,记录下g次迭代中Cost最小的个体,将该个体及Cost值作为子公司m的车辆路径规划方案输出;

步骤2.7:重复步骤2.1-2.5共M次,得到每一个子公司的车辆路径规划方案及对应的Cost:

2.如权利要求1所述的一种合作式物流问题的任务分配与路径规划方法,其特征在于,步骤2.2.2:通过基于角度的划分方法得到0.1P个初始解,具体步骤如下

步骤2.2.2.1:以子公司m的位置为原点,画出x轴与y轴,分别计算每一个订单点i与m的连线和x轴的夹角θ值,具体计算过程如式(9)所示:

其中x0,y0分别为子公司m的横、纵坐标,xi,yi分别为订单i的横、纵坐标;

设数组z包含子公司m所有订单的θ值,长度为Rm;数组b为数组z中的数值按照从小到大顺序排列的结果;数组G存储数组b中每一个角度值对应的订单;f记录订单在数组G中的次序,f为整数,0≤f≤Rm-1,G[f]表示数组G中第f个订单;

步骤2.2.2.2:令f=0,tm=0;

步骤2.2.2.3:在集合Q中检索并记录订单G[f]对应的需求量,令f=f+1;

步骤2.2.2.4:检索订单G[f]在集合Q中的需求,并计算当前订单的总需求;

步骤2.2.2.5:判断当前总需求是否满足车辆的载重量约束C如果满足,令f=f+1,转到步骤2.2.2.6,否则转到步骤2.2.2.7;

步骤2.2.2.6:判断f大小,如果f≤Rm-1,转到步骤2.2.2.6,否则转到步骤2.2.2.8;

步骤2.2.2.7:在当前订单的下一位置插入分隔符“0”,令f=f+1,tm=tm+1,转到步骤2.2.2.3;

步骤2.2.2.8:在当前订单的下一位置插入分隔符“0”,令tm=tm+1;

步骤2.2.2.9:输出带有分隔符“0”的路径G以及路径中的子路径个数tm

步骤2.2.2.10:重复步骤2.2.2共0.1P次,得到0.1P个初始解。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大连理工大学,未经大连理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201910010718.1/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top