无人机与卡车联合配送 - README
文章目录
- 无人机与卡车联合配送-论文代码复现
- 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
mintc+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+1i=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∈N0i=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相关推荐
- 马化腾:《王者荣耀》将举办AI电竞赛;美团发布自研无人机,15分钟配送到家;微软将为员工发放1500美元奖金|极客头条...
「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...
- 2017年研究生数学建模优秀论文汇总
转至:https://blog.csdn.net/a1183/article/details/81489555 转 2017年研究生数学建模优秀论文汇总 置顶 2018年08月07日 22:09:19 ...
- 运筹说 第63期|论文速读之无人机车辆路径问题
前几期的推送已经讲解了整数规划的基本知识.数学模型和相关算法,相信大家对整数规划已经有了充分的了解,这期小编将带大家一起来读一篇关于无人机车辆路径问题的文章. 1.文章信息 题目:Vehicle ro ...
- 全球及美国首张无人机配送商业化“驾照”先后落地,国内还要多久?
来源:智能相对论(aixdlun) 前不久,美国首张无人机配送"驾照"正式落地,获得者还是之前在澳大利亚拿下全球首张无人机商业飞行许可的谷歌. 最早提出无人机配送的亚马逊被谷歌两次 ...
- 长沙南站启动脸部识别验证验票;奔驰和美国无人机物流公司公司合作用无人机配送商品...
人脸识别系统走入济南各大景区 保障游客出行安全 雷锋网 AI 掘金志消息,人脸识别系统最近已经应用在济南的长途汽车站和各大酒店等地.如今在济南的各大景点,也有了人脸识别系统. 在大明湖西南门入口处,记 ...
- 武汉流星汇聚:亚马逊无人机配送来临,无人机送货将成为趋势
近期,有消息称亚马逊将使用无人机来完成物流配送的最后一公里.目前,亚马逊已经证实了这一消息,据流星汇聚了解,亚马逊将在加州开展无人机送货计划,先在加州进行无人机配送试点. 在流星汇聚看来,无人机配送 ...
- 产业升级、政策助跑,中国能否在物流无人机领域干掉美国?
物流无人机技术已经基本成熟,更多则是运营标准及监管政策的落地. 物流无人机作为无人机在商用领域的重要落地项目,得到世界各国的关注和大力推进.总体来讲,美国在技术和项目落地上仍是先驱,欧洲各国近几年也在 ...
- 无人机送快递是噱头还是方向? 实现智慧物流还需时日
中国物流行业正在经历着快速变革和创新.无人机.云仓储.机器人等出现在物流行业,让整个行业充满"智慧转型"的期待. 然而,记者在采访中发现,目前物流行业的信息化基础设施还处于初级阶段 ...
- 加码无人配送,美团要干掉骑手?
导语 大家好,我是智能仓储物流技术研习社的社长,老K.室外无人配送机器人一时成为人们的谈资,听说美团也盯上了这块,还要干掉自己的骑手?随老K一起来看看究竟怎么回事. 美团正在对无人配送表现出更多兴趣. ...
最新文章
- 持币过节也能让钱生钱
- 2020年高等数学方法与提高(上海理工大学)学习笔记汇总
- SQLServer之创建显式事务
- .netcore 如何获取系统中所有session_ASP.NET Core微服务实战 一、二
- 沙尘暴为何再次肆虐?
- java多线程的基本实现方式与示例
- 为什么setTimeout(fn,0)有时有用?
- SQL应用与开发:(七)数据操作 #183; 查 #183; (一)常规型
- Warning:Null pointer access: The variable addStrings can only be null at this location
- HAProxy从零开始到掌握
- linq where的应用
- 理解 CMOS IMAGE Sensor
- 方正飞腾4.0视频教程
- 计算机用户接入广域网的技术,广域网接入技术
- 7.2 可分离变量的微分方程
- 基于Java+Swing+Socket实现中国象棋-网络版
- 苹果6访问限制密码4位_破解6位密码只需4秒!3步设置密码挡住黑客
- 一键配置网站服务器环境,服务器环境一键配置
- Linux 指令学习之ping
- Eclypse-Z7 + Zmod ADC 1410 基础环境搭建(SDK部分)
热门文章
- 全面解读Java线程池的工作原理
- VIVO应用商店APP侵权投诉流程
- 鼎利测试软件多少钱_鼎利测试软件窗口详细说明.docx
- [运放滤波器]3_反相同相比例放大电路_Multisim电路仿真
- 技术团队人员管理:如何快速的组建团队
- 多波次导弹发射中的规划问题(二)
- es报Unexpected character (‘ï‘ (code 239)): was expecting comma to separate Object entries解决方法
- 飞腾服务器如何查看cpu型号,飞腾CPU服务器云平台管理
- 计算机检索常用中文数据库,常用文献信息数据库检索指南
- VS+Opencv出现:xxx处有未经处理的异常: Microsoft C++ 异常: cv::Exception,位于内存位置xxx处。