取送货问题(Pickup and Delivery Problem)

取送货问题及其变体

广义取送货问题(General Pickup and Delivery Problems,GPDP)可以分为两类:

  • Vehicle Routing Problems with
    Backhauls,VRPB:从配送中心(depot)取货运输货物到客户点,再从客户点取货运输至配送中心交付(backhoul)。

    transportation of goods from the depot to linehaul customers and from backhaul customers to the depot

  • Vehicle Routing Problems with Pickups and Deliveries
    ,VRPPD:货物在取货点和送货点之间流转。按照取货点和交货点是否是成对的,可以进一步分为两类:

    • unpaired:对于货物,从某一取货点取货,可以交付至任意送货点。如果只有一辆车,那么问题简化为Pickup and Delivery Traveling Salesman Problem,PDTSP。如果是多辆车,Pickup and Delivery Vehicle Routing Problem,PDVRP。
    • paired:对于某一订单,从某一指定取货点取货,只能交付至指定的送货点。如果研究的对象是货物,则有Single Pickup and Deleivery Problem,SPDP(一辆车)和PDP两个问题。如果研究的对象是乘客,则有e Dial-A-Ride Problem,DARP问题,对于一辆车的情况为the single vehicle case of the DARP as SDARP.

本文研究的取送货问题为PDP,如图:
在这里插入图片描述

接下来,本文所说的取送货问题,均为同车型,多辆车的Pickup and Delivery Problem,Homogeneous Multi vehicle pickup and delivery problem用PDP表示。

Parragh S N, Doerner K F, Hartl R F. A survey on pickup and delivery problems: Part II: Transportation between pickup and delivery locations[J/OL]. Journal für Betriebswirtschaft, 2008, 58(2): 81-117. https://doi.org/10.1007/s11301-008-0036-4.

取送货问题数学模型(Homogeneous Multi vehicle pickup and delivery problem formulations)

参数

  • n n n:取货点数量。
  • n ~ \tilde{n} n~:送货点数量,因为这里是Paired PDP问题,故 n = n ~ n=\tilde{n} n=n~
  • P P P:取货点集合, P = { 1 , . . . , n } P = \{1,..., n\} P={1,...,n}
  • D D D:送货点集合, D = { n + 1 , . . . , n + n ~ } D = \{n +1,..., n +\tilde{n}\} D={n+1,...,n+n~}
  • K K K:车辆集合

决策变量

  • x i j k x_{ijk} xijk:车辆路径决策变量, x i j k = 1 x_{ijk}=1 xijk=1,车辆 k k k经过弧 ( i , j ) (i,j) (i,j)
  • Q i k Q_{i}^{k} Qik:车辆 k k k离开节点 i i i时的装载量;
  • B i k B_{i}^{k} Bik:车辆 k k k服务 i i i点的开始时刻;

混合整数规划模型
min ⁡ ∑ k ∈ K ∑ ( i , j ) ∈ A c i j k x i j k subject to. ∑ k ∈ K ∑ j : ( i , j ) ∈ A x i j k = 1 ∀ i ∈ P ∪ D , ∑ j : ( 0 , j ) ∈ A x 0 j k = 1 ∀ k ∈ K , ∑ i : ( i , n + n ~ + 1 ) ∈ A x i , n + n ~ + 1 k = 1 ∀ k ∈ K , ∑ i : ( i , j ) ∈ A x i j k − ∑ i : ( j , i ) ∈ A x j i k = 0 ∀ j ∈ P ∪ D , k ∈ K , x i j k = 1 ⇒ B j k ≥ B i k + d i + t i j k ∀ ( i , j ) ∈ A , k ∈ K , x i j k = 1 ⇒ Q j k = Q i k + q j ∀ ( i , j ) ∈ A , k ∈ K , max ⁡ { 0 , q i } ≤ Q i k ≤ min ⁡ { C k , C k + q i } ∀ i ∈ V , k ∈ K , e i ≤ B i k ≤ l i ∀ i ∈ V , k ∈ K , B n + n ~ + 1 k − B 0 k ≤ T k ∀ k ∈ K , x i j k ∈ { 0 , 1 } ∀ ( i , j ) ∈ A , k ∈ K . \begin{align} \min \quad & \sum_{k\in K}\sum_{(i,j) \in A} c_{ij}^k x_{ij}^k \\ \text{subject to.} \quad &\sum_{k \in K} \sum_{j:(i, j) \in A} x_{i j}^{k} =1 & \forall i \in P \cup D, \\ &\sum_{j:(0, j) \in A} x_{0 j}^{k}=1 & \forall k \in K, \\ &\sum_{i:(i, n+\tilde{n}+1) \in A} x_{i, n+\tilde{n}+1}^{k} =1 & \forall k \in K, \\ &\sum_{i:(i, j) \in A} x_{i j}^{k}-\sum_{i:(j, i) \in A} x_{j i}^{k} =0 &\forall j \in P \cup D, k \in K, \\ &x_{i j}^{k}=1 \Rightarrow B_{j}^{k} \geq B_{i}^{k}+d_{i}+t_{i j}^{k} & \forall(i, j) \in A, k \in K, \\ &x_{i j}^{k}=1 \Rightarrow Q_{j}^{k} =Q_{i}^{k}+q_{j} & \forall(i, j) \in A, k \in K, \\ &\max \left\{0, q_{i}\right\} \leq Q_{i}^{k} \leq \min \left\{C^{k}, C^{k}+q_{i}\right\} & \forall i \in V, k \in K, \\ & e_i \leq B_i^k \leq l_i & \forall i \in V, k \in K,\\ & B_{n+\tilde{n}+1}^k -B_{0}^k \leq T^k &\forall k \in K,\\ &x_{i j}^{k} \in\{0,1\} & \forall(i, j) \in A, k \in K . \end{align} minsubject to.kK(i,j)AcijkxijkkKj:(i,j)Axijk=1j:(0,j)Ax0jk=1i:(i,n+n~+1)Axi,n+n~+1k=1i:(i,j)Axijki:(j,i)Axjik=0xijk=1BjkBik+di+tijkxijk=1Qjk=Qik+qjmax{0,qi}Qikmin{Ck,Ck+qi}eiBikliBn+n~+1kB0kTkxijk{0,1}iPD,kK,kK,jPD,kK,(i,j)A,kK,(i,j)A,kK,iV,kK,iV,kK,kK,(i,j)A,kK.

  • 目标函数(1)最小化总体行驶成本;
  • 约束(2)保证了每个客户点都被访问了一次;
  • 约束(3-5)分别保证了每辆车必须从始发站出发,到达并离开每个客户点,并最终回到终点站;
  • 约束(6)消除子回路,
  • 约束(7-8)车辆容量约束

【注】约束(6)和(7)是非线性的,可以用大M进行线性化

参考:
Parragh S N, Doerner K F, Hartl R F. A survey on pickup and delivery problems: Part II: Transportation between pickup and delivery locations[J/OL]. Journal für Betriebswirtschaft, 2008, 58(2): 81-117. https://doi.org/10.1007/s11301-008-0036-4.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/505500.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

备战蓝桥杯---动态规划的一些思想1

话不多说,直接看题: 目录 1.双线程DP 2.正难则反多组DP 3.换个方向思考: 1.双线程DP 可能有人会说直接贪心:先选第1条的最优路径,再选第2条最优路径。 其实我们再选第1条时,我们怎么选会对第2条的路径…

在线开源免费问卷调查系统

在线开源免费问卷调查系统 平台简介 本项目旨在提供一个简单易用的问卷调查平台,帮助用户创建、分享问卷,并收集、分析调查数据。我们希望能够为各行各业的调查需求提供一种高效、便捷的解决方案。 项目特点 用户友好:清晰直观的用户界面…

华为数通方向HCIP-DataCom H12-821题库(多选题:21-40)

第21题 管理员在配置 VRRP 时,下面哪些不是必须配置的? A.抢占模式 B.抢占延时 C.虚拟IP 地址 D.虚拟路由器的优先级 【参考答案】ABD 【答案解析】 VRRP的作用之一是提供一个虚拟的IP地址,用作默认网关,用来实现冗余和故障转移。因此,配置虚拟IP地址是必须的。华为设备vr…

深入sizeof与strlen

一、sizeof与strlen的对比 sizeofstrlensizeof是单目操作符strlen是库函数,使用需要包含头文件string.hsizeof计算操作数所占用的内存,单位是字节strlen是求字符串长度,统计的是\0之前字符的个数不关注内存中存放什么数据 关注内存总是否有\0…

数据结构开篇

目录 一. 如何学好数据结构二. 基本概念和术语2.1 区分数据、数据元素、数据项、数据对象2.2 数据结构2.2.1 逻辑结构2.2.2 存储结构 2.3 数据类型和抽象数据类型2.4 抽象数据类型的实现 \quad 一. 如何学好数据结构 勤于思考;多做练习;多上机;善于寻求帮助;不怕困难&#xff…

基于springboot+vue的计算机课程管理平台(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

python爬虫之selenium知识点记录

selenium 一、前期准备 1、概述 selenium本身是一个自动化测试工具。它可以让python代码调用浏览器。并获取到浏览器中加载的各种资源。 我们可以利用selenium提供的各项功能。 帮助我们完成数据的抓取。 2、学习目标 掌握 selenium发送请求,加载网页的方法 掌…

划分开始结束位置设置标记

划分开始结束位置 初始音轨如下图所示 在想开始地方单击左键,长按直到你想要的结束位置松开。就可以划分开始和结束位置 设置标记 方式1 :直接点击该图标 方式二:使用快捷键M 设置标记点可以自定义名称方便检索标记点

React多个echarts图表在一个页面的使用

前景 很多情况下图标都是一个,我们大概率会像下面代码一样的做法 大概流程就是获取到数据后执行初始化,因为先初始化后异步请求再设置state里面的数据回导致无法正常显示echarts(除非再次调用setOption)下面就记录下自己解决过程源码 https://github.com/superBiuBiuMan/react-…

VMware安装Centos7详细过程

1.硬件软件准备 软件:VMware16 硬件:因为是在宿主机上运行虚拟化软件安装centos,所以对宿主机的配置有一定的要求。最起码I5CPU双核、硬盘500G、内存4G以上。 镜像:centos7,镜像下载地址centos安装包下载_开源镜像站-阿里云 2…

递归回溯剪枝-括号生成

LCR 085. 括号生成 - 力扣(LeetCode) 一. 根据题意,分析出符合要求的括号组合需要满足以下两个条件: 1. 左括号数或者右括号数都不能超过 n; 2. 从最左侧开始的每一个子集,不可以出现右括号数大于左括号数&…

使用python实现一个SCP小工具

源码地址: ssh_scp 工具截图: 一个简易的scp文件上传下载小工具,用来上传或下载一些小文件。 目前只适用于windows, 使用方法: 前提: 工具同级目录,创建一个ssh_commands.json文件。用来存储配…