[发明专利]一种基于共享承运人和共享仓库的协同车辆路径优化方法有效
| 申请号: | 201910589176.8 | 申请日: | 2019-07-02 |
| 公开(公告)号: | CN110322066B | 公开(公告)日: | 2021-11-30 |
| 发明(设计)人: | 张帅;蔡怡帅;张文宇;陈子旋 | 申请(专利权)人: | 浙江财经大学 |
| 主分类号: | G06Q10/04 | 分类号: | G06Q10/04;G06Q10/08 |
| 代理公司: | 杭州君度专利代理事务所(特殊普通合伙) 33240 | 代理人: | 杨天娇 |
| 地址: | 310018 浙江*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 共享 承运 人和 仓库 协同 车辆 路径 优化 方法 | ||
1.一种基于共享承运人和共享仓库的协同车辆路径优化方法,其特征在于,所述的基于共享承运人和共享仓库的协同车辆路径优化方法,包括以下步骤:
步骤1、建立基于共享承运人和共享仓库的协同车辆路径优化模型,包括:
步骤1.1、建立子目标函数
建立服务质量目标函数f1为:
建立服务可靠性目标函数f2为:
建立运输成本目标函数f3为:
建立运输时间目标函数f4为:
其中,Q表示总服务质量,D表示仓库集合,Sd表示运送货物到仓库d的承运人集合,qh表示承运人h的服务质量,R表示总服务可靠性,rh表示承运人h的服务可靠性,C表示总运输成本,S表示承运人集合,Us表示与承运人s有关的弧集合,满足条件{(i,j)∈U:i,j∈Ds,或者(i=sandj∈Ds),或者(i∈Dsandj=s)},U表示节点i到节点j之间所有的弧集合,Ds表示对承运人s有货物需求的仓库集合,cij表示从节点i到节点j的运输成本,T表示总运输时间,tij表示从节点i到节点j的运输时间,其中为决策变量,且
步骤1.2、归一化处理
对服务质量目标函数f1和服务可靠性目标函数f2按照以下公式进行归一化处理:
式中,i为1或2,fi′表示归一化处理后的目标函数,fi表示归一化处理前的目标函数,表示目标函数的最大值,表示目标函数的最小值;
对运输成本目标函数f3和运输时间目标函数f4按照以下公式进行归一化处理:
式中,i为3或4,fi′表示归一化处理后的目标函数,fi表示归一化处理前的目标函数,表示目标函数的最大值,表示目标函数的最小值;
步骤1.3、建立多目标集成的总目标函数F
F=wQf1′+wRf2′+wCf3′+wTf4′;
式中,wQ表示服务质量的权重,wR表示服务可靠性的权重,wC表示运输成本的权重,wT表示运输时间的权重,且wQ+wR+wC+wT=1,fi′(i=1,2,3,4)表示对目标函数fi(i=1,2,3,4)归一化处理后的目标函数;
其中,根据子目标函数建立约束条件如下:
(1)一个仓库对一个承运人的货物需求只能被送到一个仓库:
(2)一个仓库对一个承运人的货物需求只能由一个承运人运送:
(3)车辆进入一个仓库也会离开该仓库:
(4)当货物分配给一个承运人时,有关该承运人的路线将被调用:
(5)承运人车辆通过顾客i前后,车辆装载量的变化:
(6)一个承运人车辆所装载的货物量不能超过其容量:
(7)一个仓库存储的货物不能超过其最大存储量:
上述约束条件中,表示决策变量,Si表示运送货物到仓库i的承运人集合,Uh表示与承运人h有关的弧集合,表示仓库d对承运人h的需求通过弧(i,j)运输的量,表示仓库d对承运人h的需求通过弧(k,j)运输的货物量,lsd表示仓库d对承运人s的货物需求量,表示仓库d对承运人s的需求通过弧(i,j)运输的货物量,V表示车辆容量,P表示仓库存储容量;
步骤2、采用VNS算法求解所述协同车辆路径优化模型,包括:
步骤2.1、初始化获得所述协同车辆路径优化模型的当前解,即初始的运输方案,并采用块状编码表示所述当前解,包括:
步骤2.1.1、采用矩阵表示当前解
建立承运人协同矩阵、仓库协同矩阵和运输顺序矩阵,各矩阵的行表示承运人、列表示仓库,所述承运人协同矩阵中的元素表示承运人,所述仓库协同矩阵中的元素表示仓库,所述运输顺序矩阵中的元素表示运输顺序;
根据承运人协同矩阵、仓库协同矩阵和运输顺序矩阵得到每个承运人的承运人向量、仓库向量和运输顺序向量;
步骤2.1.2、根据向量特征构建块状编码
以承运人为单位建立块,每个块由所述承运人向量、仓库向量和运输顺序向量组成,即每个块的列表示仓库,行分别表示承运人、仓库和运输顺序,得到所有承运人对应的块,组合所有块得到采用块状编码表示的当前解;
步骤2.2、对当前解进行振动操作,得到包含多个邻域解的邻域集,包括:
所述振动操作包括交换子操作和重分配子操作:
所述交换子操作为:从向量中选择两个非零元素并进行位置交换;
所述重分配子操作为:固定向量中零元素的位置,从向量中移除非零元素,并将移除的非零元素插入向量中的其它位置;
对当前解中每个块的承运人向量、仓库向量和运输顺序向量分别进行交换子操作和重分配子操作,每次执行子操作后得到一个邻域解,多次执行子操作后得到包含多个邻域解的邻域集;
步骤2.3、对步骤2.2中的各邻域解进行变异操作,更新所述邻域集,包括:
步骤2.3.1、随机取邻域集N(x)中的一个邻域解x,对邻域解x中的每个块执行步骤2.3.2~步骤2.3.4;
步骤2.3.2、从区间[1,a]中选择一个整数随机替换承运人向量中的一个非零元素,其中a为承运人数量;
步骤2.3.3、从区间[1,b]中选择一个整数随机替换仓库向量中的一个非零元素,其中b为仓库数量;
步骤2.3.4、从区间[1,c]中选择一个整数随机替换运输顺序向量中的一个非零元素,其中c为车辆数量+1;
步骤2.3.5、对每个块执行完成后得到邻域解x′,把邻域解x′放入集合N′(x)中,并将邻域解x从邻域集N(x)中移除;
步骤2.3.6、若邻域集N(x)不为空集,则重复执行步骤2.3.1~步骤2.3.5;若N(x)为空集,则输出集合N′(x)作为新的邻域集;
步骤2.4、对步骤2.3中更新的邻域集进行局部搜索操作,得到全局最优解,包括:
步骤2.4.1、随机取邻域集N′(x)中的一个邻域解x′,并设置参数n=1;
步骤2.4.2、从区间[0,1]中随机产生一个实数q,若q<0.8,则从区间[1,3]中随机选择一个整数k;若q≥0.8,则执行步骤2.4.4;
步骤2.4.3、随机选取邻域解x′中向量k的一个元素,若该元素为非零元素,则将该元素从邻域解x′中移除,更新邻域解x′,并将移除的元素放入集合Ak(x′)中;若该元素为零元素,则执行步骤2.4.4;
步骤2.4.4、n=n+1;
步骤2.4.5、若n小于等于仓库数量,则重复执行步骤2.4.2~步骤2.4.4;若n大于仓库数量,则输出最新的邻域解x′作为邻域解x″,并执行步骤2.4.6;
步骤2.4.6、从集合Ak(x′)中随机选择一个元素a,将元素a插入邻域解x″中向量k的随机位置,更新邻域解x″,并将元素a从集合Ak(x′)中移除,k为步骤2.4.2随机选择的整数;
步骤2.4.7、若集合Ak(x′)不为空集,则重复执行步骤2.4.6;若集合Ak(x′)为空集,则输出最新的邻域解x″作为邻域解x″′,并执行步骤2.4.8;
步骤2.4.8、对邻域解x″′进行2-opt操作,得到局部最优解;
步骤2.4.9、若邻域集N′(x)不为空集,则重复执行步骤2.4.1~步骤2.4.8;若N′(x)为空集,则根据局部最优解得到全局最优解;
步骤2.5、若全局最优解的函数值大于当前解的函数值,则将全局最优解作为当前解;否则保持当前解不变;
步骤2.6、判断是否满足预设的终止条件,若满足终止条件,则输出最新的当前解,即最优的运输方案;否则进入步骤2.2继续迭代。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江财经大学,未经浙江财经大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910589176.8/1.html,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理





