| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 01路径规划问题的相关理论 -> 正文阅读 |
|
[人工智能]01路径规划问题的相关理论 |
目录 1、旅行商问题????????旅行商问题(Traveling Saleman Problem,TSP)是VRP的特例,由于Gaery已证明TSP问题是NP难题,因此,VRP也属于NP难 ????????旅行商问题(TSP)又译为旅行推销员问题、货郎担问题,简称为TSP问题,是最基本的路线问题,该问题是在寻求单一旅行者由起点出发,通过所有给定的需求点之后,最后再回到原点的最小路径成本。最早的旅行商问题的数学规划是由Dantzig(1959)等人提出 2、有能力约束的车辆路径问题????????有能力约束的车辆路径问题(Capacity Vehicle Routing Problem,CVRP)是所有车辆调度问题的基础模型,由Dantzig和Ramser在1959年首先提出,这个模型仅仅对车辆的载重和行驶线路进行规划,该问题可以看做是旅行商问题与装箱问题的一个混合问题,将实际的物流配送问题转化为数学模型,需要做出一定的假设:
配送模型图如下所示: ????? 3、车辆路径主要要素特征(1)道路网络 ????????道路网路通过图论中的点和弧组成的赋权图表示,是车辆路径中最核心的要素。其中节点表示接受服务的顾客点及提供服务的配送中心,弧表示配送中心与顾客点,顾客点与顾客点之间的道路。在一般的城市道路网络中,道路都是双向的,并且所有点之间的距离都满足三角不等式。 (2)顾客点 (3)配送中心 (4)车辆 (5)边约束 (6)时间窗 (7)运作目标 根据不同的要素组成,将VRP问题划分为如下几种情况: 4、约束条件分析??????? 车辆路径问题的约束条件归纳如下,主要包含节点约束、车辆约束,为了比较清晰的描述模型,定义符号如下: D ? :顾客点集合; ???? K??? :配送车辆集合; O??? :? 配送中心; C??? :? 配送车辆单位距离的运输成本; ? :点i到点j的距离; ?? :客户点i的需求量 ?Q? :配送车辆的额定载重量; ?? :客户点i的最早服务时间; ??? :客户点i的最晚服务时间; epu:车辆提前到达的等待成本; lpu :车辆晚到客户点的惩罚值; :服务客户点i的时间;
节点约束需要满足的条件有流量平衡约束、流向唯一约束、路径唯一约束以及一车一节点约束。流量平衡约束,对于配送节点i而言,所有到达节点i的车流量等于所有离开节点 i 的车流量。 流向唯一约束,在车辆路径问题中,所有离开用户点i与到达用户点j的车辆唯一以及所有到达用户点j的上一节点i唯一。 路径唯一约束,在车辆路径模型中,对于节点i至多只有一条路径经过。 一车一节点约束,即每个客户点有且仅有一辆车对它进行服务。 ?
在路径规划中,车辆约束主要包括运载量约束、车辆数约束。 运载量约束,这是路径规划中最为常见的约束之一,主要是约束车辆v所服务的客户点需求之和小于车辆的运载量。 ? ?车辆数目约束,从配送中心出发的车辆数目小于配送中心所拥有的车辆数目。 ? 5、带时间窗的车辆路径问题??????? 该文将重点以最常见的一种情况为例,进行说明。带时间窗的车辆路径问题是在有约束的车辆路径问题的基础上衍生出来的另一种车辆路径问题,其为每个客户点新增了服务的窗口时间,而时间窗问题又被划分为硬时间窗问题和软时间窗问题[49],硬时间窗问题对于早到的车辆需要等待,会产生等待成本,而对于晚到的车辆,顾客不接受因而需要二次配送,产生了额外的行驶成本和时间成本,软时间窗口问题对于早到的车辆需要等待,会产生等待成本,而对于晚到的车辆,需要惩罚继而产生惩罚成本。 ????????对于带时间窗的车辆路径问题,需要增加时间窗的约束,在目标函数中新增等待成本和惩罚成本。 6、车辆路径问题求解算法?????????车辆路径问题经过60多年的发展历程,求解算法已经层出不穷,其大致经历了精确求解、启发式求解到现在的智能优化算法求解以及混合求解算法。精确算法能够直接求出VRP问题模型的精确解,当前在VRP问题中比较流行的的精确算法有:列生成算法和分支定价法。精确算法能求得模型的最优解,但其过于拘泥于运筹学体系下的数学抽象框架,随着物流系统的扩大,求解规模会越来越复杂,且精确算法是基于严苛的数学理论体系,使得问题的求解常常出现指数爆炸问题而具有很深的局限性。因此在为求得模型的满意解而非精确解的背景下,启发式算法也应运而生,车辆路径问题研究至今,启发式算法的求解也是百花齐放,由浅入深依次可以划分为:构造启发式算法、两阶段启发式算法、改进启发式算法。其中节约法是比较出色的构造启发式算法,主要的思想是根据三角形的性质进行线路合并,先把顾客看做一条线路形成0-i-0的线路,如何构造0-i--j-0,计算客户i和客户j之间费用的节约值,节约值越大说明总路程减少的越少。后面学者们对构造启发式算法进行了一些改良,第一步先生成VRP问题的可行解,第二步在保持相关约束的前提下,调整客户路径来产生新的可行解,使目标更优,这就是两阶段启发式算法的思想。其中两阶段算法又被划分为两类:先安排线路后分组的策略以及先安排分组后安排线路的两种策略,比较著名的就是扫描算法,于1974年被Gillert和Miller提出,其算法的主要思想就是以车场为中心发出的射线扫描整个区域,在扫描的过程中,时刻保持车辆的载重限制,逐步将顾客分组的一种策略。而在往后发展,算法改良的程度更大,改进启发式算法是针对前两种算法求得的结果再次进行改良的一种算法。比较典型的有针对单线路改良的2-opt、3-opt等,也有针对多条线路进行串交换的另一种改良策略,近年来,学者们根据自然界的一些规律提出了众多的智能优化算法,比如遗传算法、量子进化算法、模拟退火算法等等,其中遗传算法被广泛应用于VRP问题及其变种中,其求解思路主要涉及编码、模式以及遗传算子等,该算法先通过构造车辆路径问题的初始种群解,每个个体解又唤为染色体,通过选择、交叉、变异将种群通过一代代的迭代,最终算法收敛得到最优的个体或者相对满意的个体,遗传算法的优点就是原理简单,适用性强,结合性强以及具有全局搜索能力,但问题是该算法容易提前陷入早熟使模型收敛。在遗传算法中,交叉算子是最重要的一个算子,它决定了整个算法收敛性,常用的交叉算子有映射交叉、位置次序交叉、两点交叉、循环交叉等等。对于求解不同类型的VRP问题,采用遗传算法时初始种群的设定会对求解的质量与求解的速度产生直接的影响,从理论上讲,编码不仅需要描述问题,更应该要适合问题的求解,常见的编码方式有二进制编码、整数编码、实数编码,依据编码结构又划分为一维编码和多维编码,依据编码的长度又被划分为定长编码和变长编码,以及依据编码内容又被划分为近似问题解和包含参数的解。其中车辆路径的求解算法归纳如下: 7、小节????????本文主要是介绍了VRP的相关理论,包含VRP的演变,VRP从TSP问题逐渐过渡,VRP的关键要素组成,约束条件分析等,以及对于VRP问题常用的求解算法。 ????????后续本专栏将会由浅入深的讲解各种VRP问题,包括从不同的VRP问题,以及对应的智能优化算法以及源码分享等,目前VRP专栏的更新进度才刚开始,敬请各位朋友们耐心等待,也欢迎对VRP问题感兴趣的朋友关注此专栏,因为工作原因,整理项目包括排版分享等工作较耗时间,但作者相信,大家的等待一定是值得的。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 4:54:32- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |