Routing路径系列数学建模(TSP+CVRP)

news2024/12/23 15:42:57

1.Traveling Salesperson Problem(TSP)

参考:维基百科TSP

 给定一些城市和城市之间的距离,找到最短路径,经过每个城市最后返回起点,组合优化问题中属于NP-hard难度。对于TSP问题有两类混合整数规划模型:Miller–Tucker–Zemlin (MTZ)形式和Dantzig–Fulkerson–Johnson (DFJ)形式,DFJ模型更好,但是在某些特定条件下,MTZ模型仍然有用。两类模型有一些通用的符号。

     上述模型不能保证解中不出现子回路,我们只需要得到一个经过所有点的回路,有以下两种方式消除子回路。

  • Miller–Tucker–Zemlin formulation(MTZ)

  • Dantzig–Fulkerson–Johnson formulation(DFJ) 

 两种形式的完整数学模型如下:

2.Vehicle Routing Problem(VRP)

参考:维基百科VRP

为了向一组给定的客户交付货物,车队要经过的最佳路线集是什么?这是TSP问题的扩展

目标函数:

  • 最小化全局运输成本和固定成本
  • 最小化使用的车辆
  • 最小化行驶时间和车辆负载的方差
  • 最小化低服务质量的惩罚
  • 最大化利润

VRP变种:

  • Vehicle Routing Problem with Profits (VRPP):带有利润的车辆路径规划问题。与标准VRP不同,它允许车辆不必访问所有的顾客点,而是要在限定的时间内访问尽可能多的顾客以最大化利润。车辆需要从仓库出发,访问顾客,然后返回仓库,同时需要在每辆车的行驶时间内完成任务。具体问题包括Team Orienteering Problem (TOP),Capacitated Team Orienteering Problem (CTOP),TOP with Time Windows (TOPTW)等
  • Vehicle Routing Problem with Pickup and Delivery (VRPPD):具有提货和交付的车辆路径规划问题。有一组车辆需要从仓库或起始点出发,分别访问一系列提货地点以收集货物,然后将货物交付到相应的交付地点,最终返回仓库或结束点。问题的目标通常是最小化总行驶距离、时间或成本,或者在满足一定的约束条件下,找到一组最佳的路线方案。
  • Capacitated Vehicle Routing Problem (CVRP):容量限制车辆路径规划问题。在CVRP中,每辆车辆都有一个限定的最大携带容量
  • Vehicle Routing Problem with Time Windows (VRPTW):带有时间窗口的车辆路径规划问题。在VRPTW中必须在每个配送地点的时间窗口内完成配送。时间窗口表示了在一定的时间范围内必须到达每个客户或配送地点,以满足客户的需求。
  • Vehicle Routing Problem with LIFO:带有LIFO(Last-In-First-Out)规则的车辆路径规划问题。在每个交付地点,要交付的货物必须是最近提取的货物。换句话说,车辆遵循LIFO规则,最后提取的货物必须首先被交付。这个规则的主要目的是减少在交付地点的装卸时间,因为不需要临时卸载除了应该被交付的货物之外的其他货物。
  • Vehicle Routing Problem with Multiple Trips (VRPMT):具有多次行程的车辆路径规划问题。车辆具有更大的灵活性,可以执行多个行程,即在一次任务执行后返回仓库,然后重新出发执行另一个任务。
  • Open Vehicle Routing Problem (OVRP):开放车辆路径规划问题。车辆不要求返回到起始点或仓库。
  • Multi-Depot Vehicle Routing Problem (MDVRP):多仓库车辆路径规划问题。存在多个仓库,每个仓库都可以作为车辆的起始点和结束点。这意味着不同的车辆可以从不同的仓库出发,执行任务后返回到同一仓库或不同的仓库。

2.1 CVRP

参考:Comparison between LP bound of the Two-Index and the Three-Index Vehicle Flow Formulation for the Capacitated Vehicle Routing Problem

​​​​​​​CVPR有两种建模方式:two-Index Vehicle Flow Formulation 和  three-Index Vehicle Flow Formulation,区别在于决策变量的索引数

2.1.1 two-Index Vehicle Flow Formulation

该模型中变量数为\frac{n(n+1)}{2}n+1个等式,2^{n}-1个不等式,共2^{n}+n个约束

2.1.2 three-Index Vehicle Flow For- mulation

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1015787.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PYTHON-模拟练习题目集合

🌈write in front🌈 🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流. 🆔本文由Aileen_0v0🧸 原创 CSDN首发🐒 如…

QScrollBar滚动条、QSlider滑块、 QDial表盘

QAbstractSlider 类、 QSCrollBar 类、 QSlider 类 一、 基本原理 1、 QAbstractSlider 继承自 QWidget,该类主要用于提供一个范围内的整数值, 2、 QAbstractSlider 类是 QScrollBar 类(滚动条)、 QSlider 类(滑块)、 QDial 类(表盘)的父类,因…

智能公厕大脑,提高城市公共厕所管理效率!

随着城市建设的不断发展,公共设施的完善也成为人们关注的重要问题之一。而城市公共厕所作为城市治理的一部分,管理效率和运营成本则直接关系到城市环境整体卫生和市民的生活质量。如何提高城市公共厕所管理能力和服务水平,成为城市治理和市民…

MQ的初步了解

目录 什么是MQ? 为什么要用MQ(MQ的优点)? MQ的缺点 常用的MQ产品 MQ使用中的常见问题 什么是MQ? 【1】MQ:MessageQueue,消息队列。 队列,是一种FIFO 先进先出的数据结构。消息由…

28335 GPIO作为输入的配置记录

28335 GPIO配置为输入,可以启动输入滤波功能,看了网上很多的讲解,把滤波配置记录一下: 主要是配置两个参数: GpioCtrlRegs.GPXCTRL.bit.QUALPRDX :用于配置采样的周期,由配置值和SYSCLKOUT共同…

Java面试题之——异常和错误

提示:解释Java中的异常和错误是什么,以及它们之间的区别是什么? 文章目录 前言从定义上来说:从处理方式来看:总结⭐️ 好书推荐 前言 提示:这里可以添加本文要记录的大概内容: 在Java编程语言…

PostgreSQL 如果想知道表中某个条件查询条件在索引中效率 ?

开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,SQL Server,Redis ,Oracle ,Oceanbase 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请加微信号 liuaustin3 &…

NSS [HNCTF 2022 Week1]Challenge__rce

NSS [HNCTF 2022 Week1]Challenge__rce hint:灵感来源于ctfshow吃瓜杯Y4大佬的题 开题&#xff0c;界面没东西&#xff0c;源码里面有注释&#xff0c;GET传参?hint 传参后返回了源码 <?php error_reporting(0); if (isset($_GET[hint])) {highlight_file(__FILE__); }…

如何判断linux 文件(或lib)是由uclibc还是glibc编译出来的?

工作中使用的编译环境有2套编译器&#xff0c;一个是glibc&#xff0c;一个是uclibc。 有些项目使用的glibc编译的lib&#xff0c;和使用uclibc编译的工程&#xff0c;在一起就会出现reference的编译错误如下&#xff1a; 那和如何来判断一个文件是由哪个编译器编译的呢&#…

苹果cms大橙子vfed 5.0去授权完美破解主题模板

大橙模版算是在苹果 cms 众多主题里&#xff0c;较为亮眼的一款了&#xff0c;主题简洁&#xff0c;功能众多&#xff0c;非常的齐全。 今天分享的就是大橙 5.0 版本模板&#xff0c;自定义菜单输入下列代码使用主题设置和资源采集。 vfed 主题设置&#xff0c;/index.php/la…

MiniApp Dev 6

商城、会员、积分

通过 API 使用 React

&#x1f3ac; 岸边的风&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 若使用相同的 Hello World! 应用 &#xff08;通过 React 生成并通过 Visual Studio Code 更新的应用&#xff09;&#x…

微信小程序开发--4.3订阅消息

首先在微信公众平台登录相应的微信小程序&#xff0c;左侧导航栏找到功能&#xff0c;点进去订阅消息&#xff0c;点击开通&#xff0c;点击选用&#xff0c;在公共模板库中选用订阅消息的模板。 js wx.requestSubscribeMessage({tmplIds:[aDRNef2_ty37dXyqVXyUADSyO8BXOZRWYi…

手撕双链表

> 作者简介&#xff1a;დ旧言~&#xff0c;目前大一&#xff0c;现在学习Java&#xff0c;c&#xff0c;c&#xff0c;Python等 > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 望小伙伴们点赞&#x1f44d;收藏✨加关注哟&#x1f495;&#x1…

3D视觉到三维视觉之结构光

3D视觉是计算机视觉的终极体现形式 2D视觉技术主要在二维空间下完成工作&#xff0c;三维信息基本上没有得到任何利用&#xff0c;而三维信息才真正能够反映物体和环境的状态&#xff0c;也更接近人类的感知模式。近年来&#xff0c;学术界和工业界推出了一系列优秀的算法和产…

【【萌新的RISC-V学习之再看计算机组成与设计大收获总六】】

萌新的RISC-V学习之再看计算机组成与设计大收获总六 我们在进行设计的时候首先要明白一点 就是 确定我们的设计所需要的 指令的大小和 地址的大小 指令集是32位的 而 地址则一般更多的是64位 数据也是64位 PC与指令寄存器之间的关系 PC是用来保存当前指令的地址。假设地址是0…

Huggingface遇到 Couldn‘t reach xxx on the Hub (ConnectionError)解决方法

文章目录 遇到的问题解决方法参考 遇到的问题 使用服务器下载Huggingface的数据集&#xff0c;显示ConnectionError: Couldn’t reach ‘Salesforce/dialogstudio’ on the Hub (ConnectionError) 具体代码如下&#xff1a; dataset load_dataset("Salesforce/dialogs…

Scanner类用法(学习笔记)

Scanner类用法&#xff08;学习笔记&#xff0c;后续会补充&#xff09; 1.next&#xff08;&#xff09;用法 package com.yushifu.scanner; import java.util.Scanner;//util java工具包 //Scanner类&#xff08;获取用户的输入&#xff09; Scanner s new Scanner&#…

Otter改造 增加springboot模块和HTTP调用功能

环境搭建 & 打包 环境搭建&#xff1a; 进入 $otter_home/lib 目录执行&#xff1a;bash install.sh 打包&#xff1a; 进入$otter_home目录执行&#xff1a;mvn clean install -Dmaven.test.skip -Denvrelease发布包位置&#xff1a;$otter_home/target 项目背景 阿里…

【量化交易】151个量化交易策略解析

我又来推书了~ 今天分享的这本书&#xff0c;量化交易领域的同学们肯定喜欢&#xff08;doge&#xff09;&#xff0c;它就是Zura Kakushadze大佬&#xff08;“Alpha101”作者&#xff09;撰写的《151 Trading Strategies》。&#xff08;文末领&#xff09; 《151 Trading …