1 内容介绍

开放式车辆路径问题(OpenVehicleRoutingProblem,OVRP)是经典车辆路径问题(VehicleRoutingProblem,VRP)的拓展问题.OVRP和VRP最显著的区别在于:VRP中车辆路线是一个哈密尔顿巡回(Hamiltoniantour),而OVRP中,则是一个哈密尔顿路径(Hamiltonianpath).这主要是由于在OVRP中,车辆在服务完最后一个顾客点后,不要求其回到出发车场,若需要回到车场,则必须沿原路返回.OVRP是配送管理中广泛存在的问题,它可以用来对很多实际应用问题来进行建模.比如一个没有自有车队的配送公司,为了完成对顾客的配送任务而将其业务分包给其它雇佣的车辆,上述问题即为一个OVRP,该问题中配送公司并不关心车辆是否回到车场(配送公司),其也不支付车辆从最后一个服务顾客点到配送公司之间的旅行费用.OVRP在现实中有很多应用,特别是在具有外包业务特点的经济活动中具有重要的应用价值,比如报纸配送、牛奶配送、校园班车问题等,在这类问题中,企业没有自己的自有车辆,而是将其配送业务外包给其它的车辆或车队,这些企业并不需要车辆在服务完顾客后回到车场点,因此如何合理的安排车辆路线对于企业提高运营效率、改善顾客服务质量具有重要的价值.尽管文献中对于经典VRP进行了大量富有成效的研究工作,但是关于OVRP算法研究较少.对于OVRP,最早的文献要追溯到1981年Schrage的文章[1].从1981年开始的20多年,OVRP很少引起学者们的注意,也没有关于OVRP求解算法的论文发表.从2000年起部分学者开始研究OVRP的求解算法,并提出了如下一些算法.Sariklis和Powell[2]提出了一个求解OVRP的两阶段启发式算法,即先分组后安排路线.第一阶段分组阶段又分为两个步骤:在考虑车辆装载能力约束,顾客点首先被进行分组,然后在已经形成的分组间重新分配顾客,从而优化分组,即优化车辆路径距离.算法的第二阶段,通过求解一个最小生成树问题来将分组转化为OVRP的车辆路线.

Bra~ndao[3]提出了一个求解OVRP的禁忌搜索算法(TabuSearch,TS).作者通过两种方法来产生初始解:一个是用最近邻居法产生;一个是用K度方法(K表示车辆数的下界).在开始禁忌搜索算法之前,作者首先用两种方法来优化车辆路线距离:最近邻居法(NearestNeighbormethod)和改进的US过程(Theunstringingandstringingprocedure)[4].TS算法中使用了两种邻域结构:插入算子(Insert)和交换算子(Swap)来产生邻居解.在Fu等[5]、符卓[6]提出的求解OVRP的禁忌算法中,作者用两种方法来产生初始解,随机的方法和最远者优先启发式算法

2 仿真代码

<span style="color:#333333"><span style="background-color:rgba(0, 0, 0, 0.03)"><code><span style="color:#afafaf">%%</span> <span style="color:#dd1144">计算所有配送路线的总行驶距离,以及每条配送路线的行驶距离</span></code><code><span style="color:#afafaf">%输入VC:</span>                  <span style="color:#dd1144">配送方案</span></code><code><span style="color:#afafaf">%输入dist:</span>                <span style="color:#dd1144">距离矩阵</span></code><code><span style="color:#afafaf">%输出sumTD:</span>               <span style="color:#dd1144">所有配送路线的总行驶距离</span></code><code><span style="color:#afafaf">%输出everyTD:</span>             <span style="color:#dd1144">每条配送路线的行驶距离</span></code><code>function <span style="color:#dd1144">[sumTD,everyTD]=travel_distance(VC,dist)</span></code><code>n=<span style="color:#dd1144">size(VC,1);                        %车辆数</span></code><code>everyTD=<span style="color:#dd1144">zeros(n,1);</span></code><code>for <span style="color:#dd1144">i=1:n</span></code><code>    part_seq=<span style="color:#dd1144">VC{i};                  %每辆车所经过的顾客</span></code><code>    %如果车辆不经过顾客,则该车辆所行使的距离为0</code><code>    if <span style="color:#dd1144">~isempty(part_seq)</span></code><code>        <span style="color:#afafaf">everyTD(i)</span>=<span style="color:#dd1144">part_length( part_seq,dist );</span></code><code>    end</code><code>end</code><code>sumTD=<span style="color:#dd1144">sum(everyTD);                  %所有车行驶的总距离</span></code><code>end</code></span></span>

3 运行结果

4 参考文献

[1]郭玉洁, 张强, 魏永和. 求解带容量约束车辆路径问题的离散鲸鱼算法[J]. 计算机与数字工程, 2021, 49(8):6.

[2]李相勇, 田澎. 开放式车辆路径问题的蚁群优化算法[J]. 系统工程理论与实践, 2008, 28(6):13.

[3]曹高立. "基于求解车辆路径问题的混合智能优化算法研究." 昆明理工大学(2015).

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

【OVRP问题】基于鲸鱼优化算法求解开放式车辆路径问题附matlab代码相关推荐

  1. 【路径规划】基于鲸鱼算法求解带时间窗开放式车辆路径问题附matlab代码

    1 内容介绍 1.1.1 研究背景 物流作为现代经济社会的流动血液,在国民经济发展和人们生产生活中发挥着不可 替代的作用,没有物流的流动也就没有生产商品的交换流动,人们的生活必需品也不可能得到及时供应 ...

  2. 【微电网优化】基于粒子群算法求解智能微电网调度问题附matlab代码

    1 简介 搭建光伏,风力发电机和储能电池的数学模型.充分考虑对蓄电池的充放电保护,制定优化调度策略.应用粒子群算法(PSO)对其优化调度模型进行求解,在算法中增加了蓄电池满充满放的限制条件,同时使系统 ...

  3. 【路径规划】基于头脑风暴优化算法求解带时间窗和同时取送货的车辆路径问题附matlab代码

    1 内容介绍 本文主要研究广州番禺配送中心的车辆路径规划问题,首先针对之前车辆运行中的先送货后取货模式,产生车辆运行路线的迂回,以及车辆在回程中的空载,路径规划不合理,送货时间长的问题,采用集成的观点 ...

  4. 鲸鱼优化算法(WOA)及其优秀变体(含MATLAB代码)

    先做一个声明:文章是由我的个人公众号中的推送直接复制粘贴而来,因此对智能优化算法感兴趣的朋友,可关注我的个人公众号:启发式算法讨论.我会不定期在公众号里分享不同的智能优化算法,经典的,或者是近几年提出 ...

  5. MATLAB应用实战系列NSGA-II多目标优化算法原理及应用实例(附MATLAB代码)

    前言 NSGA-Ⅱ是最流行的多目标遗传算法之一,它降低了非劣排序遗传算法的复杂性,具有运行速度快,解集的收敛性好的优点,成为其他多目标优化算法性能的基准. NSGA-Ⅱ算法是 Srinivas 和 D ...

  6. ​【优化求解】基于人工蜂群算法求解无刷直流电机PID控制matlab代码

    1 简介 高精度的精密微位移系统在近代尖端工业生产和科学研究领域内占有极其重要的地位.它广泛应用于航空航天.微型机械制造.超精密加工.医学.生物工程等领域.纳米级位移定位技术已经成为推动科技发展的前进 ...

  7. 【优化求解】基于遗传算法优化PARSEC 方法的翼型形状附matlab代码

    1 内容介绍 航天航空技术的快速发展和市场竞争的日益激烈,导致人们对飞行器的运输效率.飞行品质和气动性能等方面的要求越来越高,使得飞行器的设计过程面临着更大的挑战.因此,对飞行器气动外形的优化设计方法 ...

  8. 【物理应用】基于粒子群优化算法实现瞬变电磁法视电阻率反演附matlab代码

    1 内容介绍 煤矿井下矿井瞬变电磁法(MTEM)探测中,电磁场呈全空间分布,全空间瞬变电磁反演是复杂的非线性问题,目前反演计算中全空间响应主要由半空间响应乘以全空间响应系数来得到,导致反演结果中顶板和 ...

  9. 【路径规划】基于遗传算法求解灾情巡视路径问题附matlab代码

    1 内容介绍 灾情巡视属于旅行商问题,具有广泛的应用价值.假定有若干巡视组,分工协作对所辖区域内的各灾民聚集地进行巡视,需要对各巡视组的巡视任务,巡视路线进行合理的分配和设计.在现实生活中,各被巡视地 ...

  10. 【无人机三维路径规划】基于蚁群算法实现无人机三维路径规划含Matlab代码

    ⛄ 内容介绍 随着无人机可执行任务的多样化,航迹规划成为其顺利完成任务的基本前提.针对该问题,提出了基于蚁群算法的无人机航迹规划方法.运用等效地形模拟方法,将作战区域中的敌方威胁.地形障碍等效为山峰, ...

最新文章

  1. 汇总|计算机摄影学资源,涉及视频、书籍以及国内外著名实验室
  2. linux中wget命令
  3. Huawei交换机配置两台交换机堆叠示例
  4. USACO翻译:USACO 2014 FEB SILVER 三题
  5. 【往届成功检索】ICAITA2020国际学术会议来袭,诚邀参与!
  6. 2015年4月27日---C语言:输出特殊图案,请在c环境中运行,看一看,Very Beautiful!...
  7. OpenCV3学习(4.2)——图像常用滤波方法(方框、均值、高斯、中值、双边)
  8. 基于JAVA+SpringMVC+Mybatis+MYSQL的小学生智能学习系统
  9. asp.net中DataGrid双行跨列表头设计心得
  10. 第三方接口,消息保障性发送机制
  11. 免费复制百度文库的VIP文章(非常简单!)
  12. echart.js给series,xAxis中的data动态赋值(三种方式)
  13. QTableWidget获取一行数据
  14. 英读廊——一个人的旅行:原汁原味希腊克里特游记
  15. C2. Pokémon Army (hard version)
  16. shell 回车键判断_Bash技巧:把变量赋值为换行符,判断文件是否以换行符结尾...
  17. 中国大学排名爬取代码更新
  18. d3中文案例_D3.js实现动态仪表盘案列
  19. 2021年安全员-B证考试报名及安全员-B证模拟考试题
  20. Keras CIFAR-10彩色图像物体识别 卷积神经网络

热门文章

  1. 一款 Java 开源的 Spring Boot 即时通讯 IM 聊天系统(源码自取)
  2. Js设置Cookie
  3. snownlp 原理_snownlp入门
  4. 神经元模型图手工制作,神经元模型图手工模型
  5. MATLAB数字水印系统
  6. duet for Mac(Mac投屏软件)好用又不花钱
  7. STM32 实现光敏传感器
  8. 爱发php企业发卡网源码_企业级发卡平台源码,界面友好,支付通道齐全,运营级发卡平台源码...
  9. 随机生成一注双色球号码
  10. brctl tunctl 虚拟网卡 桥接