文章目录

  • 无人机与卡车联合配送-论文代码复现
    • Introduction
    • Model
    • Quick start
    • Dependencies
    • Dataset Format
    • Contact
    • About us

无人机与卡车联合配送-论文代码复现

原博客链接 https://blog.csdn.net/HsinglukLiu/article/details/107871295

Introduction

本代码主要是复现了2015年发表在Transportation Research Part C: Emerging Technologies上的关于无人机与卡车联合配送的文章中的模型部分的求解器求解代码。论文题目为The flying sidekick traveling salesman problem: Optimization of drone-assisted parcel delivery.

代码求解结果可视化效果如图

例如:

Model

min⁡tc+1s.t. ∑i∈N0i≠jxij+∑i∈N0∑k∈N+i≠jyijk=1,∀j∈C∑j∈N+x0j=1,∑i∈N0xi,c+1=1,ui−uj+1≤(c+2)(1−xij),∀i∈C,j∈{N+:j≠i}∑i∈N0xij=∑k∈N+i≠jxjk,∀j∈C∑j∈C∑k∈Ntj≠i(j,j)∈Pyijk≤1,∀i∈N0∑i∈N0i≠k∑j∈Ci≠i,j,k⟩∈Pyijk≤1,∀k∈N+2yijk≤∑h∈N0h≠ixhi+∑l∈Cl≠kxlk,∀i∈C,j∈{C:j≠i},k∈{N+:⟨i,j,k⟩∈P}y0jk≤∑h∈N0h≠kxhk,∀j∈C,k∈{N+:⟨0,j,k⟩∈P}uk−ui≥1−(c+2)(1−∑j∈Cyijk),∀i∈C,k∈{N+:k≠i}ti′≥ti−M(1−∑j∈C∑k∈N+j≠iyijk),∀i∈Cti′≤ti+M(1−∑j∈Cj≠i∑k∈N+⟨i,j⟩∈Pyijk),∀i∈Ctk′≥tk−M(1−∑i∈N0∑j∈Ci≠kyijk),∀k∈N+tk′≤tk+M(1−∑i∈N0i≠k(ij,k)∈Pyijk),∀k∈N+tk≥th+τhk+sL(∑l∈C∑m∈N+l≠kyklm)+sR(∑i∈N0∑j∈Cyijk)−M(1−xhk),∀h∈N0,k∈{N+:k≠h}tj′≥ti′+τij′−M(1−∑k∈N+⟨i,j,k)∈Pyijk)∀j∈C′,i∈{N0:i≠j}tk′≥tj′+τjk′+sR−M(1−∑i∈N0⟨i,j,k∈Pyijk)∀j∈C′,k∈{N+:k≠j}tk′−(tj′−τij′)≤e+M(1−yijk)∀k∈N+,j∈{C:j≠k},i∈{N0:⟨i,j,k⟩∈P}ui−uj≥1−(c+2)pij∀i∈C,j∈{C:j≠i}ui−uj≤−1+(c+2)(1−pij)∀i∈C,j∈{C:j≠i}pij+pji=1∀i∈C,j∈{C:j≠i}tl′≥tk′−M(3−∑j∈Cyijk−∑m∈C∑n∈N+{ij,k∈Pylmn−pil∀i∈N0,k∈{N+:k≠i},l∈{C:l≠i,l≠k}t0=0,t0′=0,p0j=1,∀j∈Cxij∈{0,1},∀i∈N0,j∈{N+:j≠i}yijk∈{0,1},∀i∈N0,j∈{C:j≠i},k∈{N+:⟨i,j,k⟩∈P}1≤ui≤c+2,∀i∈N+ti≥0,∀i∈Nti′≥0∀i∈Npij∈{0,1},∀i∈N0,j∈{C:j≠i}\begin{aligned} \min & \quad t_{c+1} \\ \text { s.t. } & \sum_{i \in N_{0} \atop i \neq j} x_{i j}+\sum_{i \in N_{0}} \sum_{k \in N_{+} \atop i \neq j} y_{i j k}=1, \quad \forall j \in C \\ &\sum_{j \in N_{+}} x_{0 j}=1, \\ &\sum_{i \in N_{0}} x_{i, c+1}=1 , \\ &u_{i}-u_{j}+1 \leq (c+2)\left(1-x_{i j}\right), \quad \forall i \in C, j \in\left\{N_{+}: j \neq i\right\} \\ &\sum_{i \in N_{0}} x_{i j}=\sum_{k \in N_{+} \atop i \neq j} x_{j k}, \quad \forall j \in C \\ &\sum_{j \in C} \sum_{k \in N_{t} \atop j \neq i(j, j) \in P} y_{i j k} \leq 1, \quad \forall i \in N_{0} \\ &\sum_{i \in N_{0} \atop i \neq k} \sum_{j \in C \atop i \neq i, j, k\rangle \in P} y_{i j k} \leq 1, \quad \forall k \in N_{+} \\ &2 y_{i j k} \leq \sum_{h \in N_{0} \atop h \neq i} x_{h i}+\sum_{l \in C \atop l \neq k} x_{l k}, \quad \\ & \hspace{2cm} \forall i \in C, j \in\{C: j \neq i\}, k \in\left\{N_{+}:\langle i, j, k\rangle \in P\right\} \\ &y_{0 j k} \leq \sum_{h \in N_{0} \atop h \neq k} x_{h k}, \quad \forall j \in C, k \in\left\{N_{+}:\langle 0, j, k\rangle \in P\right\} \\ &u_{k}-u_{i} \geq 1-(c+2)\left(1-\sum_{j \in C} y_{i j k}\right), \quad \\ &\hspace{2cm}\forall i \in C, k \in\left\{N_{+}: k \neq i\right\} \\ &t_{i}^{\prime} \geq t_{i}-M\left(1-\sum_{j \in C} \sum_{k \in N_{+} \atop j \neq i} y_{i j k}\right), \quad \forall i \in C \\ &t_{i}^{\prime} \leq t_{i}+M\left(1-\sum_{j \in C \atop j \neq i} \sum_{k \in N_{+} \atop\langle i, j\rangle \in P} y_{i j k}\right), \quad \forall i \in C \\ &t_{k}^{\prime} \geq t_{k}-M\left(1-\sum_{i \in N_{0}} \sum_{j \in C \atop i \neq k} y_{i j k}\right), \quad \forall k \in N_{+} \\ &t_{k}^{\prime} \leq t_{k}+M\left(1-\sum_{i \in N_{0} \atop i \neq k(i j, k) \in P} y_{i j k}\right), \quad \forall k \in N_{+} \\ &t_{k} \geq t_{h}+\tau_{h k}+s_{L}\left(\sum_{l \in C} \sum_{m \in N_{+} \atop l \neq k} y_{k l m}\right)+s_{R}\left(\sum_{i \in N_{0}} \sum_{j \in C} y_{i j k}\right)-M\left(1-x_{h k}\right), \\ &\hspace{2cm}\forall h \in N_{0}, k \in\left\{N_{+}: k \neq h\right\} \\ &t_{j}^{\prime} \geq t_{i}^{\prime}+\tau_{i j}^{\prime}-M\left(1-\sum_{k \in N_{+} \atop\langle i, j, k) \in P} y_{i j k}\right) \quad \forall j \in C^{\prime}, i \in\left\{N_{0}: i \neq j\right\} \\ &t_{k}^{\prime} \geq t_{j}^{\prime}+\tau_{j k}^{\prime}+s_{R}-M\left(1-\sum_{i \in N_{0} \atop\langle i, j, k \in P} y_{i j k}\right) \quad \\ &\hspace{2cm}\forall j \in C^{\prime}, k \in\left\{N_{+}: k \neq j\right\} \\ &t_{k}^{\prime}-\left(t_{j}^{\prime}-\tau_{i j}^{\prime}\right) \leq e+M\left(1-y_{i j k}\right) \quad \\ &\hspace{2cm}\forall k \in N_{+}, j \in\{C: j \neq k\}, i \in\left\{N_{0}:\langle i, j, k\rangle \in P\right\} \\ &u_{i}-u_{j} \geq 1-(c+2) p_{i j} \forall i \in C, j \in\{C: j \neq i\} \\ &u_{i}-u_{j} \leq-1+(c+2)\left(1-p_{i j}\right) \forall i \in C, j \in\{C: j \neq i\} \\ &p_{i j}+p_{j i}=1 \quad \forall i \in C, j \in\{C: j \neq i\} \\ &t_{l}^{\prime} \geq t_{k}^{\prime}-M(3-\sum_{j \in C} y_{i j k}-\sum_{m \in C} \sum_{n \in N_{+} \atop\{i j, k \in P} y_{l m n}-p_{i l} \\ &\hspace{2cm} \forall i \in N_{0}, k \in\left\{N_{+}: k \neq i\right\}, l \in\{C: l \neq i, l \neq k\} \\ &t_{0}=0 , \\ &t_{0}^{\prime}=0 , \\ &p_{0 j}=1, \quad \forall j \in C \\ &x_{i j} \in\{0,1\}, \quad \forall i \in N_{0}, j \in\left\{N_{+}: j \neq i\right\} \\ &y_{i j k} \in\{0,1\} , \quad \forall i \in N_{0}, j \in\{C: j \neq i\}, k \in\left\{N_{+}:\langle i, j, k\rangle \in P\right\} \\ &1 \leq u_{i} \leq c+2, \quad \forall i \in N_{+} \\ &t_{i} \geq 0, \quad \forall i \in N \\ &t_{i}^{\prime} \geq 0 \quad \forall i \in N \\ &p_{i j} \in\{0,1\}, \quad \forall i \in N_{0}, j \in\{C: j \neq i\} \end{aligned} min s.t. ​tc+1​i​=ji∈N0​​∑​xij​+i∈N0​∑​i​=jk∈N+​​∑​yijk​=1,∀j∈Cj∈N+​∑​x0j​=1,i∈N0​∑​xi,c+1​=1,ui​−uj​+1≤(c+2)(1−xij​),∀i∈C,j∈{N+​:j​=i}i∈N0​∑​xij​=i​=jk∈N+​​∑​xjk​,∀j∈Cj∈C∑​j​=i(j,j)∈Pk∈Nt​​∑​yijk​≤1,∀i∈N0​i​=ki∈N0​​∑​i​=i,j,k⟩∈Pj∈C​∑​yijk​≤1,∀k∈N+​2yijk​≤h​=ih∈N0​​∑​xhi​+l​=kl∈C​∑​xlk​,∀i∈C,j∈{C:j​=i},k∈{N+​:⟨i,j,k⟩∈P}y0jk​≤h​=kh∈N0​​∑​xhk​,∀j∈C,k∈{N+​:⟨0,j,k⟩∈P}uk​−ui​≥1−(c+2)⎝⎛​1−j∈C∑​yijk​⎠⎞​,∀i∈C,k∈{N+​:k​=i}ti′​≥ti​−M⎝⎜⎛​1−j∈C∑​j​=ik∈N+​​∑​yijk​⎠⎟⎞​,∀i∈Cti′​≤ti​+M⎝⎜⎛​1−j​=ij∈C​∑​⟨i,j⟩∈Pk∈N+​​∑​yijk​⎠⎟⎞​,∀i∈Ctk′​≥tk​−M⎝⎜⎛​1−i∈N0​∑​i​=kj∈C​∑​yijk​⎠⎟⎞​,∀k∈N+​tk′​≤tk​+M⎝⎜⎛​1−i​=k(ij,k)∈Pi∈N0​​∑​yijk​⎠⎟⎞​,∀k∈N+​tk​≥th​+τhk​+sL​⎝⎜⎛​l∈C∑​l​=km∈N+​​∑​yklm​⎠⎟⎞​+sR​⎝⎛​i∈N0​∑​j∈C∑​yijk​⎠⎞​−M(1−xhk​),∀h∈N0​,k∈{N+​:k​=h}tj′​≥ti′​+τij′​−M⎝⎜⎛​1−⟨i,j,k)∈Pk∈N+​​∑​yijk​⎠⎟⎞​∀j∈C′,i∈{N0​:i​=j}tk′​≥tj′​+τjk′​+sR​−M⎝⎜⎛​1−⟨i,j,k∈Pi∈N0​​∑​yijk​⎠⎟⎞​∀j∈C′,k∈{N+​:k​=j}tk′​−(tj′​−τij′​)≤e+M(1−yijk​)∀k∈N+​,j∈{C:j​=k},i∈{N0​:⟨i,j,k⟩∈P}ui​−uj​≥1−(c+2)pij​∀i∈C,j∈{C:j​=i}ui​−uj​≤−1+(c+2)(1−pij​)∀i∈C,j∈{C:j​=i}pij​+pji​=1∀i∈C,j∈{C:j​=i}tl′​≥tk′​−M(3−j∈C∑​yijk​−m∈C∑​{ij,k∈Pn∈N+​​∑​ylmn​−pil​∀i∈N0​,k∈{N+​:k​=i},l∈{C:l​=i,l​=k}t0​=0,t0′​=0,p0j​=1,∀j∈Cxij​∈{0,1},∀i∈N0​,j∈{N+​:j​=i}yijk​∈{0,1},∀i∈N0​,j∈{C:j​=i},k∈{N+​:⟨i,j,k⟩∈P}1≤ui​≤c+2,∀i∈N+​ti​≥0,∀i∈Nti′​≥0∀i∈Npij​∈{0,1},∀i∈N0​,j∈{C:j​=i}​

Quick start

Data类:存储算例数据
Solution类:提取问题最优解的类
其中函数
getSolution(self, data, model) 用于提取最优解的信息

readData(data, path, customerNum) : 读取文件路径path中的数据,客户点的个数设置为customerNum个,返回一个data类型的实例。

Dependencies

gurobi
numpy
math
re
matplotlib
pandas

Dataset Format

Solomon VRP benchmark instance
下载地址https://www.sintef.no/projectweb/top/vrptw/solomon-benchmark/100-customers/

C101VEHICLE
NUMBER     CAPACITY25         200CUSTOMER
CUST NO.  XCOORD.   YCOORD.    DEMAND   READY TIME  DUE DATE   SERVICE   TIME0      40         50          0          0       1236          0   1      45         68         10        912        967         90   2      45         70         30        825        870         90   3      42         66         10         65        146         90   4      42         68         10        727        782         90   5      42         65         10         15         67         90   6      40         69         20        621        702         90   7      40         66         20        170        225         90   8      38         68         20        255        324         90   9      38         70         10        534        605         90   10      35         66         10        357        410         90   11      35         69         10        448        505         90   12      25         85         20        652        721         90   13      22         75         30         30         92         90   14      22         85         10        567        620         90   15      20         80         40        384        429         90   16      20         85         40        475        528         90   17      18         75         20         99        148         90   18      15         75         20        179        254         90   19      15         80         10        278        345         90   20      30         50         10         10         73         90   21      30         52         20        914        965         90   22      28         52         20        812        883         90   23      28         55         10        732        777         90   24      25         50         10         65        144         90   25      25         52         40        169        224         90   26      25         55         10        622        701         90   27      23         52         10        261        316         90   28      23         55         20        546        593         90   29      20         50         10        358        405         90   30      20         55         10        449        504         90   31      10         35         20        200        237         90   32      10         40         30         31        100         90   33       8         40         40         87        158         90   34       8         45         20        751        816         90   35       5         35         10        283        344         90   36       5         45         10        665        716         90   37       2         40         20        383        434         90   38       0         40         30        479        522         90   39       0         45         20        567        624         90   40      35         30         10        264        321         90   41      35         32         10        166        235         90   42      33         32         20         68        149         90   43      33         35         10         16         80         90   44      32         30         10        359        412         90   45      30         30         10        541        600         90   46      30         32         30        448        509         90   47      30         35         10       1054       1127         90   48      28         30         10        632        693         90   49      28         35         10       1001       1066         90   50      26         32         10        815        880         90   51      25         30         10        725        786         90   52      25         35         10        912        969         90   53      44          5         20        286        347         90   54      42         10         40        186        257         90   55      42         15         10         95        158         90   56      40          5         30        385        436         90   57      40         15         40         35         87         90   58      38          5         30        471        534         90   59      38         15         10        651        740         90   60      35          5         20        562        629         90   61      50         30         10        531        610         90   62      50         35         20        262        317         90   63      50         40         50        171        218         90   64      48         30         10        632        693         90   65      48         40         10         76        129         90   66      47         35         10        826        875         90   67      47         40         10         12         77         90   68      45         30         10        734        777         90   69      45         35         10        916        969         90   70      95         30         30        387        456         90   71      95         35         20        293        360         90   72      53         30         10        450        505         90   73      92         30         10        478        551         90   74      53         35         50        353        412         90   75      45         65         20        997       1068         90   76      90         35         10        203        260         90   77      88         30         10        574        643         90   78      88         35         20        109        170         90   79      87         30         10        668        731         90   80      85         25         10        769        820         90   81      85         35         30         47        124         90   82      75         55         20        369        420         90   83      72         55         10        265        338         90   84      70         58         20        458        523         90   85      68         60         30        555        612         90   86      66         55         10        173        238         90   87      65         55         20         85        144         90   88      65         60         30        645        708         90   89      63         58         10        737        802         90   90      60         55         10         20         84         90   91      60         60         10        836        889         90   92      67         85         20        368        441         90   93      65         85         40        475        518         90   94      65         82         10        285        336         90   95      62         80         30        196        239         90   96      60         80         10         95        156         90   97      60         85         30        561        622         90   98      58         75         20         30         84         90   99      55         80         10        743        820         90   100      55         85         20        647        726         90   

solomon相关数据集、最优解等详细信息见官网:solomon benchmark

Contact

Your Name : hsinglul@163.com

My blog: https://blog.csdn.net/HsinglukLiu?spm=1010.2135.3001.5113

About us

运小筹公众号是致力于分享运筹优化(LP、MIP、NLP、随机规划、鲁棒优化)、凸优化、强化学习等研究领域的内容以及涉及到的算法的代码实现。编程语言和工具包括Java、Python、Matlab、CPLEX、Gurobi、SCIP 等。

关注我们: 运筹小公众号

无人机与卡车联合配送 - README相关推荐

  1. 马化腾:《王者荣耀》将举办AI电竞赛;美团发布自研无人机,15分钟配送到家;微软将为员工发放1500美元奖金|极客头条...

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...

  2. 2017年研究生数学建模优秀论文汇总

    转至:https://blog.csdn.net/a1183/article/details/81489555 转 2017年研究生数学建模优秀论文汇总 置顶 2018年08月07日 22:09:19 ...

  3. 运筹说 第63期|论文速读之无人机车辆路径问题

    前几期的推送已经讲解了整数规划的基本知识.数学模型和相关算法,相信大家对整数规划已经有了充分的了解,这期小编将带大家一起来读一篇关于无人机车辆路径问题的文章. 1.文章信息 题目:Vehicle ro ...

  4. 全球及美国首张无人机配送商业化“驾照”先后落地,国内还要多久?

    来源:智能相对论(aixdlun) 前不久,美国首张无人机配送"驾照"正式落地,获得者还是之前在澳大利亚拿下全球首张无人机商业飞行许可的谷歌. 最早提出无人机配送的亚马逊被谷歌两次 ...

  5. 长沙南站启动脸部识别验证验票;奔驰和美国无人机物流公司公司合作用无人机配送商品...

    人脸识别系统走入济南各大景区 保障游客出行安全 雷锋网 AI 掘金志消息,人脸识别系统最近已经应用在济南的长途汽车站和各大酒店等地.如今在济南的各大景点,也有了人脸识别系统. 在大明湖西南门入口处,记 ...

  6. 武汉流星汇聚:亚马逊无人机配送来临,无人机送货将成为趋势

    ​近期,有消息称亚马逊将使用无人机来完成物流配送的最后一公里.目前,亚马逊已经证实了这一消息,据流星汇聚了解,亚马逊将在加州开展无人机送货计划,先在加州进行无人机配送试点. 在流星汇聚看来,无人机配送 ...

  7. 产业升级、政策助跑,中国能否在物流无人机领域干掉美国?

    物流无人机技术已经基本成熟,更多则是运营标准及监管政策的落地. 物流无人机作为无人机在商用领域的重要落地项目,得到世界各国的关注和大力推进.总体来讲,美国在技术和项目落地上仍是先驱,欧洲各国近几年也在 ...

  8. 无人机送快递是噱头还是方向? 实现智慧物流还需时日

    中国物流行业正在经历着快速变革和创新.无人机.云仓储.机器人等出现在物流行业,让整个行业充满"智慧转型"的期待. 然而,记者在采访中发现,目前物流行业的信息化基础设施还处于初级阶段 ...

  9. 加码无人配送,美团要干掉骑手?

    导语 大家好,我是智能仓储物流技术研习社的社长,老K.室外无人配送机器人一时成为人们的谈资,听说美团也盯上了这块,还要干掉自己的骑手?随老K一起来看看究竟怎么回事. 美团正在对无人配送表现出更多兴趣. ...

最新文章

  1. 持币过节也能让钱生钱
  2. 2020年高等数学方法与提高(上海理工大学)学习笔记汇总
  3. SQLServer之创建显式事务
  4. .netcore 如何获取系统中所有session_ASP.NET Core微服务实战 一、二
  5. 沙尘暴为何再次肆虐?
  6. java多线程的基本实现方式与示例
  7. 为什么setTimeout(fn,0)有时有用?
  8. SQL应用与开发:(七)数据操作 #183; 查 #183; (一)常规型
  9. Warning:Null pointer access: The variable addStrings can only be null at this location
  10. HAProxy从零开始到掌握
  11. linq where的应用
  12. 理解 CMOS IMAGE Sensor
  13. 方正飞腾4.0视频教程
  14. 计算机用户接入广域网的技术,广域网接入技术
  15. 7.2 可分离变量的微分方程
  16. 基于Java+Swing+Socket实现中国象棋-网络版
  17. 苹果6访问限制密码4位_破解6位密码只需4秒!3步设置密码挡住黑客
  18. 一键配置网站服务器环境,服务器环境一键配置
  19. Linux 指令学习之ping
  20. Eclypse-Z7 + Zmod ADC 1410 基础环境搭建(SDK部分)

热门文章

  1. 全面解读Java线程池的工作原理
  2. VIVO应用商店APP侵权投诉流程
  3. 鼎利测试软件多少钱_鼎利测试软件窗口详细说明.docx
  4. [运放滤波器]3_反相同相比例放大电路_Multisim电路仿真
  5. 技术团队人员管理:如何快速的组建团队
  6. 多波次导弹发射中的规划问题(二)
  7. es报Unexpected character (‘ï‘ (code 239)): was expecting comma to separate Object entries解决方法
  8. 飞腾服务器如何查看cpu型号,飞腾CPU服务器云平台管理
  9. 计算机检索常用中文数据库,常用文献信息数据库检索指南
  10. VS+Opencv出现:xxx处有未经处理的异常: Microsoft C++ 异常: cv::Exception,位于内存位置xxx处。