VRP(车辆路径问题)的两种简单算法

VRP问题描述:

假设在一个供求关系系统中,车辆从货源取货,配送到对应的若干配送点。车辆存在最大载货量,且配送可能有时间限制。需要合理安排取货时间,组织适当的行车路线,使用户需求得到满足,同时使某个代价函数最小,比如总工作时间最少、路径最短等。

可以看出TSP问题是VRP问题的一种简单特殊形式。因此,VRP也是一种NP hard 问题。

目前解决此种问题的办法有多种,主要以启发式算法为主。包括退火算法、遗传算法、蚁群算法、禁忌算法等,本文介绍两种比较简单算法:C-W节约算法和遗传算法。

C-W节约算法:

基本思想是把各点单独与货源相连,构成若干条仅含一个配送点的线路,总费用为两倍从原点到各点的距离费用;然后计算将点 i 和点 j 连接在一条线路上费用节约值:

S(i,j)=Coi+Cio+Coj+Cjo−(Coi+Cij+Cjo)=Coi+Coj+Cij

具体步骤:

(1)计算节约值S(i,j),按从大到小排序

(2)考虑表格中最大元素

Smax(i,j) ,对应点i和j,按条件进行操作:

1. 若i和j均不在构成线路上,则得到线路 o -> i ->j ->o,转到(3)

2. 若i或j在已构成线路上,但不是内点 0 -> i ->o,则可连接,转到(3)

3. 若i和j位于已构成不同线路上,且均不是内点,则连接得到线路,转到(3)

4. 若i和j位于已构成的同一线路,则不连接,转到(3)

(3)划去第i行和第j列,即i点不能再到其他点,j点也不能由其他店到达

(4)若所有元素均被划去,则得到完整线路,算法终止;否则,在没有划去的元素中选最大元素,转至(2)。

遗传算法(GA):

基本思想是种群仿照生物遗传进化,通过基因交叉、突变繁衍出子代,形成新的种群,然后根据种群中每个个体的适应值,淘汰代价较高的个体,余下个体继续繁衍。在VRP问题中具体步骤如下:

(1)设定种群大小,设定繁衍代数,对所有的配送点编号,每个个体对应于所有配送点的一种排序,初始化得到初始种群;

(2)通过交叉、变异操作,形成子代,与原来的父代形成新的种群;

(3)根据载货量限制,确定何时回货源取货,再结合代价标准,对种群中的每个个体计算适应值;

(4)根据适应值,淘汰代价高的父代子代,余下个体形成新的种群,繁衍代数增加1;

(5)若繁衍代数达到(1)中设定的初值,停止繁衍,返回代价最小的个体,即最为最佳的配送次序;否则,返回(2)。

vrp问题的java_VRP(车辆路径问题)的两种简单算法相关推荐

  1. SpringBoot+Vue项目中遇到Not allowed to load local resource图片路径问题的两种解决方案(在后端映射本地路径或将图片转base64返回给前端)

    一.报错截图 第一种解决方案 后端映射本地路径 编写MyConfig类 Java代码[MyWebConfig] package com.wechat.front.utils;import org.sp ...

  2. vrp车辆路径问题 php,车辆路径问题

    车辆路径问题(Vehicle Routing Problem,VRP) [编辑] 什么是车辆路径问题 车辆路线问题(VRP)最早是由Dantzig和Ramser于1959年首次提出,它是指一定数量的客 ...

  3. 【TWVRP】基于matlab粒子群算法求解带时间窗的车辆路径规划问题(总成本最低)【含Matlab源码 2590期】

    ⛄一.VRP简介 1 VRP基本原理 车辆路径规划问题(Vehicle Routing Problem,VRP)是运筹学里重要的研究问题之一.VRP关注有一个供货商与K个销售点的路径规划的情况,可以简 ...

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

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

  5. 车辆路径问题的(资源)探索与归纳

    目前,我所知道的关于车辆路径规划问题的有几个种类,以及对应的求解器.在这里将资料分类整理. 以便学习和归纳. VRP(vehicle routing problem,车辆路径规划问题) PDP(Pic ...

  6. 【路径规划】基于水滴算法求解多仓库车辆路径规划问题matlab代码

    1 简介 车辆路径优化问题是典型的组合优化问题,是基于系统优化的思想,对运输作业服务中车辆的路径进行优化的方式,以达到运输作业服务中目标函数最优化的问题.随着经济节奏的加快对运输作业服务所提出的要求多 ...

  7. 【路径规划】基于粒子群算法求解VRPTW模型

    1 粒子群算法 1.1 研究背景 粒子群算法的发展过程.粒子群优化算法(Partical Swarm Optimization PSO),粒子群中的每一个粒子都代表一个问题的可能解,通过粒子个体的简单 ...

  8. Java书签 #MyBatis之setMapperLocations配置多个mapper路径的两种方法详解

    楔子:通向幸福的路很多,没有一条叫欲望.- 宫部美雪<火车> 1.今日书签 SpringBoot 集成 MyBatis 的项目中,怎么使用 sqlSessionFactoryBean.se ...

  9. 欧拉回路/路径浅谈(七桥问题,两种算法)

    文章目录 前言 引子 欧拉回路/路径 定义 欧拉路径 欧拉回路 无向图(连通) 欧拉回路-无向 欧拉路径-无向 有向图(连通) 欧拉回路-有向 欧拉路径-有向 注意事项 算法 Fluery算法 Hie ...

  10. vrp车辆路径问题 php,蚁群算法在车辆路径问题(VRP)中的应用.ppt

    蚁群算法在车辆路径问题(VRP)中的应用 ◆割平面法(Cutting Planes Approach)[6] 割平面法求解VRP问题(A)的基本思想是,在求解相应的不含整数约束的VRP问题(B)上,增 ...

最新文章

  1. 计算机二级申请创新学分理由,创新学分申请书范文
  2. 计算机视觉:让冰冷的机器看懂这个多彩的世界
  3. html2canvas input,html2canvas 将html绘制到canvas中 [不建议使用]
  4. Channel SDK (渠道SDK) for Unity
  5. SAP CRM WebClient UI F2页面里from pre-processing table标签位的含义
  6. Spark中导入scalax
  7. 智能健康管理系统开发提供精准健康管理
  8. windows通过bat批处理命令,快速清理系统垃圾文件,释放硬盘空间
  9. 人工智能属于计算机科学研究方向,《人工智能》课程简介
  10. 【论文投稿】电子信息类中文权威期刊(SCIEI)投稿攻略
  11. 大数据仓库之拉链表讲解与举例说明【基础部分】
  12. A - Round decimals
  13. [张雨生][张雨生典藏合集22CD][APE/整轨/7.56 GB][旋风/快传]
  14. ADODB.Stream 错误 #x27;800a0bb9#x27; 参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
  15. python判别性别的代码_学习文章—(Python实践)Python实现手机号自动判断男女性别...
  16. 产品说接口返回数据需要脱敏 只能安排
  17. 医学统计分析:心电图智能诊病
  18. 计算机在职研究生分数,在职研究生复试录取分数线-在职研招网-在职研究生招生信息网...
  19. 书单|互联网企业面试案头书之程序员软技能篇
  20. java之extends关键字

热门文章

  1. 吐血整理!Python常用第三方库,码住!!!
  2. Web渗透测试实战——(2.1)Metasploit 6.0初步
  3. python snownlp_snownlp · PyPI
  4. Markdown用法——带圆圈的数字编号
  5. numpy 下载安装
  6. linux dhcpv6 客户端,Linux(RedHat6.4)下配置radvd和dhcpv6
  7. 好汇阁外汇MT4-API多账户跟单交易管理系统介绍
  8. DBSCAN密度聚类算法
  9. 声艺fx16调音台怎么样_声艺调音台FX16II使用说明书.doc
  10. adb通过usb连接手机