车辆路径问题

车辆路线问题(VRP)最早是由Dantzig和Ramser于1959年首次提出,它是指一定数量的客户,各自有不同数量的货物需求,配送中心向客户提供货物,由一个车队负责分送货物,组织适当的行车路线,目标是使得客户的需求得到满足,并能在一定的约束下,达到诸如路程最短、成本最小、耗费时间最少等目的。

关于设有一场站(depot),共有M 辆货车,车辆容量为Q,有N位顾客(customer),每位顾客有其需求量D。车辆从场站出发对客户进行配送服务最后返回场站,要求所有顾客都被配送,每位顾客一次配送完成,且不能违反车辆容量的限制,目的是所有车辆路线的总距离最小。车辆路线的实际问题包括配送中心配送、公共汽车路线制定、信件和报纸投递、航空和铁路时间表安排、工业废品收集等。

车辆路线问题之学术研究文献众多,也提出了相当多的求解策略与方法,Bodin and Golden(1981)将众多之求解方法归纳成以下七种:

数学解析法(Exact Procedure)

人机互动法(Interactive);

先分群再排路线(Cluster First–Route Second);

先排路线再分群(Route First–Cluster Second);

节省法或插入法(Saving or Insertion);
     改善或交换法(Improvement or Exchanges);

数学规划近似法(Mathematical programming)。

遗传算法介绍

遗传算法(Genetic Algorithm)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。遗传算法是从代表问题可能潜在的解集的一个种群(population)开始的,而一个种群则由经过基因(gene)编码的一定数目的个体(individual)组成。每个个体实际上是染色体(chromosome)带有特征的实体。染色体作为遗传物质的主要载体,即多个基因的集合,其内部表现(即基因型)是某种基因组合,它决定了个体的形状的外部表现,如黑头发的特征是由染色体中控制这一特征的某种基因组合决定的。因此,在一开始需要实现从表现型到基因型的映射即编码工作。由于仿照基因编码的工作很复杂,我们往往进行简化,如二进制编码,初代种群产生之后,按照适者生存和优胜劣汰的原理,逐代(generation)演化产生出越来越好的近似解,在每一代,根据问题域中个体的适应度(fitness)大小选择(selection)个体,并借助于自然遗传学的遗传算子(genetic operators)进行组合交叉(crossover)和变异(mutation),产生出代表新的解集的种群。这个过程将导致种群像自然进化一样的后生代种群比前代更加适应于环境,末代种群中的最优个体经过解码(decoding),可以作为问题近似最优解。

遗传算法是解决搜索问题的一种通用算法,对于各种通用问题都可以使用。搜索算法的共同特征为:
① 首先组成一组候选解
② 依据某些适应性条件测算这些候选解的适应度
③ 根据适应度保留某些候选解,放弃其他候选解
④ 对保留的候选解进行某些操作,生成新的候选解。
在遗传算法中,上述几个特征以一种特殊的方式组合在一起:基于染色体群的并行搜索,带有猜测性质的选择操作、交换操作和突变操作。这种特殊的组合方式将遗传算法与其它搜索算法区别开来。

遗传算法还具有以下几方面的特点:
(1)遗传算法从问题解的串集开始搜索,而不是从单个解开始。这是遗传算法与传统化算法的极大区别。传统优化算法是从单个初始值迭代求最优解的;容易误入局部最优解。遗传算法从串集开始搜索,覆盖面大,利于全局择优。
(2)遗传算法同时处理群体中的多个个体,即对搜索空间中的多个解进行评估,减少了陷入局部最优解的风险,同时算法本身易于实现并行化。
(3)遗传算法基本上不用搜索空间的知识或其它辅助信息,而仅用适应度函数值来评估个体,在此基础上进行遗传操作。适应度函数不仅不受连续可微的约束,而且其定义域可以任意设定。这一特点使得遗传算法的应用范围大大扩展。
(4)遗传算法不是采用确定性规则,而是采用概率的变迁规则来指导他的搜索方向。
(5)具有自组织、自适应和自学习性。遗传算法利用进化过程获得的信息自行组织搜索时,适应度大的个体具有较高的生存概率,并获得更适应环境的基因结构。
(6)此外,算法本身也可以采用动态自适应技术,在进化过程中自动调整算法控制参数和编码精度,比如使用模糊自适应法。

主要源码1:种群初始化            构造函数,初始化种群,将适应度,选择概率,期望概率,是否被选择均置为0,利用随机函数为每个基因分配一个城市序列。最后调用initdistance函数将34个城市之间的距离初始化。

2.计算每个种群每个基因个体的适应度,选择概率,期望概率,和是否被选择。

3.填充函数

4 . 交叉函数

5.变异

6 判断是否结束

7.计算程序执行时间

遗传算法解决车辆路径问题相关推荐

  1. [置顶] 基于遗传算法求解车辆路径问题

    今天整理了一下以前写过的一个遗传算法求解车辆路径问题的程序(C#写的),发上来和大家分享一下,有误的地方还请各位指点. 1.车辆路径问题: 车辆路径问题可以描述为:在一个存在供求关系的系统中,有若干台 ...

  2. 基于遗传算法求解车辆路径问题

    今天整理了一下以前写过的一个遗传算法求解车辆路径问题的程序(C#写的),发上来和大家分享一下,有误的地方还请各位指点. 1.车辆路径问题: 车辆路径问题可以描述为:在一个存在供求关系的系统中,有若干台 ...

  3. matlab遗传算法求解车辆路径问题(一)续

    一.引言 上篇关于使用matlab编写遗传算法求解车辆路径问题写完后,我发现南柯一梦那篇文章的参考文献应该是一篇<中国管理科学>的文章<用混合遗传算法求解物流配送路径优化问题的研究& ...

  4. 基于双参数蜜蜂算法解决车辆路径问题(Matlab代码实现)

    目录 1 概述    1.1研究背景 2 运行结果 3 Matlab代码实现 4 参考文献 1 概述 群智能起源于自然环境中生物群体经过长期自然进化后具有的解决问题的能力,其中的许多问题在人类看来可以 ...

  5. 基于图神经网络强化学习解决车辆路径规划问题

    一.实验要求 复现以下论文的方法和结果: Duan,L., Zhan,Y., Hu,H., Gong,Y., Wei,J., Zhang,X., Xu,Y.: Efficiently solving ...

  6. 【路径规划】基于遗传算法求解多车多类型车辆的车辆路径优化问题附matlab代码

    1 内容介绍 多车辆多路线的交通路线优化涉及到排序问题,是一个N-P难题,高效精确的算法存在的可能性不大.提出了基于遗传算法的求解方法,给出了实例来证明如何利用遗传算法解决多车辆多路线的优化问题.结果 ...

  7. 【路径规划】基于遗传算法求解带时间窗车辆路径规划问题(VRPTW)matlab源码

    1 简介 有时间窗的车辆路径问题(Vehicle Routing Problem with Time Windows,VRPTW)因为其有重要的现实意义而备受关注.其时间窗即为客户接受服务的时间范围, ...

  8. 智能车路径提取matlab_遗传算法求解多车型车辆路径问题

    [导语]车辆路径问题是经典的组合优化问题,通过学习如何编写求解该问题的智能优化算法,可以将该求解思路扩展到类似的组合优化问题,帮助大家更好的理解组合优化问题的求解过程. 1.遗传算法(GA_VRP)求 ...

  9. 【路径规划-VRP问题】基于遗传算法求解带距离的多车场车辆路径规划问题(含单线路局部优化)matlab代码

    1 简介 物流配送所获取的利润在现代物流企业利润中所占比例非常大,而车辆路径问题又是物流配送中的核心问题.因此对车辆路径问题(VRP)的研究具有非常重要的意义.在实际生活中,大型的物流企业并不只拥有一 ...

  10. 【TWVRP】基于matlab遗传算法求解多车场开放式多商品带时间窗的车辆路径规划问题【含Matlab源码 1849期】

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

最新文章

  1. 学习软件测试需要掌握哪些内容?这篇文章告诉你
  2. 图说:Word 15 阅读模式
  3. 网易云基于Prometheus的微服务监控实践
  4. ping网关丢包_网络/摄像机丢包的原因分析
  5. cv mat的shape_pybind11—opencv图像处理(numpy数据交换)
  6. android 推送的小图标,android - 推送通知中没有声音并且没有自定义的小图标 - 堆栈内存溢出...
  7. 项目管理概论网课作业(用于复习)
  8. C#安装本地nupkg包
  9. DXP导出PCB为PDF格式的设置
  10. 您的计算机无法访问dota2服务器,提示“已连接至DOTA2游戏协调服务器,正在登陆中”该如何解决?...
  11. SpringBoot整合Memcached
  12. 《引力的动态理论》的解读-尼古拉·特斯拉
  13. 2、使用FTP客户端连接FTP服务器
  14. Python爬虫编程实践--task01
  15. 手机vnc远程桌面,手机vnc远程桌面的配置说明
  16. 自动化测试效率提升方案
  17. Android 资源文件错误排查 Process 'command ' 等错误排查
  18. 这一篇对项目的优化实战,能让你面试加分30%
  19. DNA 4. SCI 文章中基因组的突变信号(maftools)
  20. 360Buy刘强东:中国电子商务还没形成产业

热门文章

  1. 前端微信小程序开发基础
  2. 通过Windows的bat方式一键给计算机网卡替换IP地址
  3. ubuntu18.04安装CH340和CH341驱动
  4. C#使用NOPI导入Excel
  5. freeSWITCH之安装
  6. html代码快速生成
  7. 利用Python的openpyxl对Excel实现空白单元格的填充
  8. python 双色球 大乐透 5注随机选号
  9. 手机蓝牙串口的调试助手demo实现
  10. 题解 luogu P6002 【[USACO20JAN]Berry Picking S】