带时间窗物流配送车辆路径问题
- 格式:doc
- 大小:258.50 KB
- 文档页数:15
带软时间窗约束的车辆路径问题的混合算法研究及其应用车辆路径问题(Vehicle Routing Problems,VRP)是一个NP难问题,是物流领域中具有重要理论和实际意义的问题。
在现实生活中,有很多问题可以抽象为VRP问题,如银行押款车的行驶路线、快递分发包裹、工业垃圾回收、校车接送学生、餐馆送餐等。
选择合理的物流配送方案,可以降低企业物流开支,节约成本,提高效率,加速货物的流通过程,赚取更多的利润,对于一个企业的成败具有关键性意义。
在中国物流业快速发展的今天,对VRP问题的研究愈发重要。
带时间窗约束的 VRP 问题(Vehicle Routing Problems with Time Windows,VRPTW)是在基本VRP问题的基础上衍生而来,有着很高的研究价值。
本文致力于研究带重量约束和软时间窗约束的VRP问题(Capacitated Vehicle Routing Problems with Soft Time Windows,CVRPSTW)。
长期以来,国内外许多学者对这个问题进行了大量的研究和阐述,产生了许多优秀的算法。
在他们工作的基础上,利用VRP问题的数学模型,本文提出了一种分布式的多阶段混合启发式算法,目标是在合理的时间内取得较好的结果。
本文的主要工作包括:第一,实现单机版的多阶段混合启发式算法,包括使用模拟退火算法(Simulated Annealing,SA)对车辆数目进行优化,使用禁忌搜索算法(Tabu Search,TS)对违反时间窗代价和路线总行程距离进行优化。
在求解过程中,使用了多种不同的邻域生成方法,包括对部分元素的交换和重置的小邻域生成法、基于摧毁和重建思想的大邻域生成法,以减少在局部最优附近的重复搜索。
加入自适应存储(Adaptive Memory,AM)算法,当搜索陷入瓶颈时,从AM中产生新的邻域搜索中心,开始新一轮迭代搜索,使得搜索及时跳出瓶颈并向着好的方向前进,保证搜索的有效性和多样性。
带时间窗物流配送车辆路径问题摘要本题是一个带有时间窗的车辆路径安排问题(VRPTW问题)。
根据题目条件,本文建立了一个求解最小派送费用的VRPTW优化模型,采用遗传算法,给出了该模型的求解方法。
然后,对一个实际问题进行求解,给出了一个比较好的路线安排方式。
模型一(见5.1.2)针对问题一,在需求量、接货时间段、各种费用消耗已知的情况下,决定采用规划模型,引入0-1变量,建立各个约束条件,包括车辆的容量限制,到达每个客户的车辆和离开每个客户的车辆均为1的限制,总车辆数的限制,目标函数为费用的最小化,费用包括车辆的行驶费用,车辆早到或晚到造成的损失。
模型一的求解采用遗传算法(见5.1.3),对题目给出的实际问题进行求解,首先按照需求期望根据模型一得到一个比较好的方案,然后按照这一方案进行送货,在送货过程中,如果出现需求量过大的情况,允许车辆返回仓库进行补充。
模型一的思路清晰,考虑条件全面。
但最优解解决起来困难,遗传算法只是一种相对好的解决方法,可以找出最优解的近似解。
模型二的想法比较合理,易于实施,但还有待改进。
关键词:规划 时间窗 物流 车辆路径 遗传算法一、 问题重述一个中心仓库,拥有一定数量容量为Q 的车辆,负责对N 个客户进行货物派送工作,客户i 的货物需求量为i q ,且i q Q <,车辆必须在一定的时间范围[],i i a b 内到达,早于i a 到达将产生等待损失,迟于i b 到达将处以一定的惩罚,请解决如下问题:(1)给出使派送费用最小的车辆行驶路径问题的数学模型及其求解算法。
并具体求解以下算例:客户总数N=8,每辆车的容量Q=8(吨/辆), 各项任务的货运量i q (单位:吨)、装货(或卸货)时间i s (单位:小时)以及要求每项任务开始执行的时间范围[],i i a b 由附录1给出,车场0与各任务点以及各任务点间的距离(单位:公里)由附件二给出,这里假设车辆的行驶时间与距离成正比,每辆车的平均行驶速度为50公里/小时,问如何安排车辆的行驶路线使总运行距离最短; (2)进一步请讨论当客户i 的货物需求量i q 为随机参数时的数学模型及处理方法。
带时间窗车辆路径问题的最优解带时间窗的车辆调度问题是物流配送系统的关键之关键,对它的研究越来越重视。
本文将建立物流管理中的带时间窗车辆路径问题的模型,并得到此模型的最优解,有一定的实用意义。
标签:带时间窗车辆路径问题物流管理组合优化一、提出问题在许多物流配送系统中,管理者需要采取有效的配送策略以提高服务水平、降低货运费用。
其中车辆路径问题是亟待解决的一个重要问题,此问题可描述如下:有一个货物需求点(或称顾客),已知每个需求点的需求量及地理位置,至多用K辆汽车从中心仓库(或配送中心)到达这批需求点,每辆汽车载重量一定,安排汽车路线使运输距离最短并且满足每条线路不超过汽车载重量和每个需求点的需求量且必须只能用一辆汽车来满足。
带时间窗车辆路径问题(VRPTW,vehicle routing problem with time windows)是在车辆路径问题中加入了客户要求访问的时间窗口,由于在现实生活中许多问题都可以归结为VRPTW来处理,但处理的好坏将直接影响到一个企业的效益和顾客的服务质量,所以对它的研究越来越受到人们的重视,目前对它的求解主要集中在启发式算法上。
20世纪90年代后,遗传算法、禁忌搜索算法、模拟退火算法、人工神经网络算法和动态蚁群算法等启发式算法的出现,为求解VRPTW提供了新的工具。
但是,遗传算法存在“早熟性收敛”问题,禁忌搜索算法、人工神经网络算法也存在一些不尽人意的地方,如何针对VRPTW的特点,构造简单、寻优性能优异的启发式算法,这不仅对于物流配送系统而且对于许多可转化为VRPTW求解的优化组合问题均具有十分重要的意义。
实际数据表明动态蚁群算法行之有效,不失为一种求解VRPTW的性能优越的启发式算法。
二、问题描述VRPTW可以描述如下:给定车辆集合V,需求点集合C和有向图G。
此有向图有|C|+2个顶点,顶点1,2,K,n表示需求点,顶点0表示离开时的中心仓库,顶点n+1表示返回时的中心仓库,把顶点0,1,2,3,K,n+1记作集合N。
带时间窗的车辆路径问题(VRPTW)是一种重要的组合优化问题,在许多实际的物流配送领域都有着广泛的应用。
该问题是对经典的车辆路径问题(VRP)进行了进一步扩展,考虑了车辆在每个节点进行配送时的时间窗约束。
VRPTW的数学建模和求解具有一定的复杂性,需要综合考虑车辆的路径规划和时间限制方面的因素。
本文将对带时间窗的车辆路径问题进行数学建模,并探讨一些常见的求解方法和算法。
一、问题描述带时间窗的车辆路径问题是一个典型的组合优化问题,通常可以描述为:给定一个具有时间窗约束的有向图G=(V,E),其中V表示配送点(包括仓库和客户),E表示路径集合,以及每个节点v∈V都有一个配送需求q(v),以及一个时间窗[Tmin(v),Tmax(v)],表示了可以在节点v进行配送的时间范围;另外,给定有限数量的车辆,每辆车的容量有限,且其行驶速度相同。
问题的目标是设计一组最优的车辆路径,使得所有的配送需求都能够在其对应的时间窗内得到满足,且最小化车辆的行驶距离、行驶时间或总成本,从而降低配送成本和提高配送效率。
二、数学建模针对带时间窗的车辆路径问题,一般可以采用整数规划(IP)模型来进行数学建模。
以下是一个经典的整数规划模型:1. 定义决策变量:设xij为车辆在节点i和节点j之间的路径是否被选中,若被选中则为1,否则为0;di表示节点i的配送需求量;t表示车辆到达每个节点的时间;C表示车辆的行驶成本。
2. 目标函数:目标是最小化车辆的行驶成本,可以表示为:minimize C = ∑(i,j)∈E cij*xij其中cij表示路径(i,j)的单位成本。
3. 约束条件:(1)容量约束:车辆在途中的配送总量不能超过其容量限制。
∑j∈V di*xij ≤ Q, for i∈V(2)时间窗约束:Tmin(v) ≤ t ≤ Tmax(v), for v∈Vtij = t + di + dij, for (i,j)∈E, i≠0, j≠0(3)路径连通约束:∑i∈V,x0i=1; ∑j∈V,xji=1, for j∈V(4)路径闭合约束:∑i∈V xi0 = ∑i∈V xi0 = k其中k表示车辆数量。
带时间窗物流配送车辆路径问题摘要本题是一个带有时间窗的车辆路径安排问题(VRPTW 问题)。
根据题目条件,本文建立了一个求解最小派送费用的VRPTW 优化模型,采用遗传算法,给出了该模型的求解方法。
然后,对一个实际问题进行求解,给出了一个比较好的路线安排方式。
模型一(见,在需求量、接货时间段、各种费用消耗已知的情况下,决定采用规划模型,引入0-1变量,建立各个约束条件,包括车辆的容量限制,到达每个客户的车辆和离开每个客户的车辆均为1的限制,总车辆数的限制,目标函数为费用的最小化,费用包括车辆的行驶费用,车辆早到或晚到造成的损失。
模型一的求解采用遗传算法(见,对题目给出的实际问题进行求解,得到3首先按照需求期望根据模型一得到一个比较好的方案,然后按照这一方案进行送货,在送货过程中,如果出现需求量过大的情况,允许车辆返回仓库进行补充。
模型一的思路清晰,考虑条件全面。
但最优解解决起来困难,遗传算法只是一种相对好的解决方法,可以找出最优解的近似解。
模型二的想法比较合理,易于实施,但还有待改进。
关键词:规划 时间窗 物流 车辆路径 遗传算法一、 问题重述一个中心仓库,拥有一定数量容量为Q 的车辆,负责对N 个客户进行货物派送工作,客户i 的货物需求量为i q ,且i q Q <,车辆必须在一定的时间范围[],i i a b 内到达,早于i a 到达将产生等待损失,迟于i b 到达将处以一定的惩罚,请解决如下问题:(1)给出使派送费用最小的车辆行驶路径问题的数学模型及其求解算法。
并具体求解以下算例:q(单位:客户总数N=8,每辆车的容量Q=8(吨/辆), 各项任务的货运量is(单位:小时)以及要求每项任务开始执行的时间吨)、装货(或卸货)时间ia b由附录1给出,车场0与各任务点以及各任务点间的距离(单位:公,范围[]i i里)由附件二给出,这里假设车辆的行驶时间与距离成正比,每辆车的平均行驶速度为50公里/小时,问如何安排车辆的行驶路线使总运行距离最短;q为随机参数时的数学模型及处理方(2)进一步请讨论当客户i的货物需求量i法。
二、问题分析本题主要在两种不同情况下,研究使派送费用最小的车辆行驶路径问题。
车辆行驶派送的费用主要包括运输成本、车辆在客户要求到达时间之前到达产生的等待损失和车辆在客户要求到达时间之后到达所受惩罚等等。
为满足派送费用最小的需求,即要使所选行车路径产生的总费用最小,从而确定出最佳的车辆派送方案。
q固定时,首先,我们根据题意,取若干辆车进行送当客户i的货物需求量i货,然后,主要考虑每辆车各负责哪些客户的送货任务,我们可以给出满足题中限制条件的很多参考方案供选用,并考虑以所选行车路径产生的总费用最小为目标的情况下,建立最优化模型确定最佳的车辆派送方案。
q为随机参数时,我们首先可以简化随进一步讨论,当客户i的货物需求量i机模型,根据客户i的货物需求量的期望与方差,确定每天应该运送给客户i的q,再根据第一题,确定最佳的车辆派送方案。
货物量,即i但考虑到客户的储存能力有限及货物在客户处的储存费用,客户不需要将一天的货物一次性接收完,只要满足缺货的情况出现的概率很低,客户可以让配送中心一天几次送货,这样可以得到很多满足约束的方案,考虑以单位时间的储存费用最小为目标,建立最优化模型,确定配送中心给每位客户每次的配送量、配送周期与最有车辆行驶路径。
三、模型假设(1)每个客户的需求只能由一辆配送车满足;(2)每辆车送货时行驶的路程不超过它所能行驶的最远路程;(3)中心仓库的车辆总数大于或等于当派送费用最小时所需的车辆数;(4)从配送中心到各个用户、各个用户之间的运输距离已知;(5)配送中心有足够的资源以供配送。
四、符号说明五、模型的建立和求解5.1 问题一模型的建立及求解:中心仓库为了给N个客户派送货物,供发出m辆车,为了派货的节约和方便,每辆车载着适量的货物出发,可以给某一片的若干个满足约束条件的客户派送货物,见图一:图一中心仓库派送货物图中心仓如上图库派送货物时,必须满足约束条件:(1)各个客户群的总需求小于或等于运输车的装载量;(2)每个客户都必须且只能由一辆运输车运输所需货物;(3)运输车为每位客户开始服务的时间必须尽可能在时间窗内。
根据如上的约束条件,我们可以得到很多可行解,但考虑到以所选行车路径产生的总费用最小为目标的情况下,我们可以建立最优化模型确定最佳的车辆派送方案,最优路径产生图如下:图二最优路径产生图(1)中心仓库使用车辆数量的确定设配送中心需要向N个客户送货,每个客户的货物需求量是gi(i=1,2,…..N),每辆配送车的载重量是Q,且gi<Q。
首先为了安排路线需要对要使用的车辆数有一个估计。
在现实情况中,货物装(卸)车越复杂,约束条件越多,一辆车的实际载货量就越小。
在本文中使用文献[1]的公式来确定需要的车辆数m:[ ]表示取整,a为参数,0<a<1。
约束条件越多,货物装(卸)越复杂,a 值越小。
参考文献[2],取a为0.85。
(2)引入0—1变量:x表示车辆s是否从客户i行驶到客户j。
定义其为0—1变量,则1)ijsy表示客户i的任务由车辆s完成。
同样定义其为0—1变量,则2)is(3)非线性规划模型的建立:a.目标函数的确定。
题目要求所选行车路径产生的总费用最小,我们确定总费用为目标函数,记为Z。
总费用由运输成本A、等待损失B和迟到所收惩罚C组成,根据题意有:所以,总费用Z最小化为:b.约束条件的确定。
约束1:车辆k 的运送总重量应不超过车辆的最大载重,即车辆有一定的运送能力,则可引入约束条件,1Ni isi q yQ =≤∑ (},,2,1{m k ∈∀)约束2:每个客户只能由一辆车来配送,则可引入约束条件, 约束3:保证到达一个客户的车辆也离开该客户,则可引入约束条件,111m Nijss i x===∑∑ (1,2,3,,;j N =)111mNijks j x===∑∑ (1,2,3,,;i N =)c .变量之间关系的确定由上可确定等待时间i D ,超时时间i X 为: 车辆k 从客户i 到客户j 需经过两段时间ij t 为:设车辆为客户i 运送完货物后即为客户j 运送,则到达客户i 处时间i t 和到达客户j 处时间j t 之间的关系为:d .此非线性规划模型为:我们采用遗传算法解决上面的问题: 1.编码采用自然数编码,即序数编码。
货物运输路线可以编成长度为N+m 的染色体11121s 21210,,,,0,,,0,,0,,,)t m mw i i i i i i i (,,其中,ik i 表示第ik i 项任务。
0表示车场,m 表示完成任务所需的车辆数。
2.出生初始群体初始群体随机产生,即产生N 项货物运输任务点的全排列,如12,,,N i i i ,如果11s ijj qQ -=≤∑,且1sij j q Q =>∑,将s 至N 的数向后移动一位,将0插入第s 位。
接着,继续上述操作,直到m 个0全部插入为止。
这样就构成了一条初始染色体。
用这种方法构造一个群体的染色体。
如:82576314,该编码插零之后变成0825*******。
它代表着需要三辆车运输货物。
其中,第1辆车行走路线为08250,即从仓库出发到依次到8、2、5商店再回到仓库。
第2辆车行走路线为07630,第3辆车行走路线为0140。
3.适应度函数适应度函数取'k kbz f z =,其中k f 为染色体k v 的适应度,b 为常数,'z 为初始种群中最好的染色体的运输成本,k z 为染色体k v 对应的运输成本。
4.遗传算子选取最佳保留的轮盘赌复制法进行染色体的复制。
变异算子采用反转变异。
交叉算子用最大保留交叉,其操作过程为:a) 若染色体交叉点处的两个基因都为0,则直接进行顺序交叉运算; b) 若染色体交叉点处的基因不全为0,则将交叉点左移(右移),直到左右两个交叉处的基因都为0,再进行顺序交叉运算。
5.算法的实现步骤Step1:采用自然数编码的方式,构造表示可行车路线的染色体;Step2:设置控制参数,包括交叉率0.7c p =、变异率0.1m p =、群体规模10n =; Step3:初始化,令0d =,随机产生初始群体(0)p ,群体中包括n 个染色体,每个染色体代表一条行车线路; Step4:令1i =;Step5:将群体()p d 中的第i 个染色体译为线路长度; Step6:计算适应度;Step7:若满足算法终止条件,则停止,否则继续; Step8:1ii =+;Step9:若i n ≤,回到step5,否则,转step10;Step11:进行最大保留交叉、基于位的变异和倒位操作; Step12: 1dd =+;Step13:若满足算法终止条件,则停止,否则转step4。
运用matlab 软件编写程序得到在车辆总行程最短的条件小的派送方案为:从上面解出的派送方案可以看出,上面的每条路线在车辆送完货物后,直接从最后一个客户处返回中心仓库,我们通过求中心仓库到各个客户的最短路径可以发现,上面的返回路线不是最优的,返回路线可以经过某些客户使得所走路线最短。
公里。
5.2 问题二模型的建立及求解:在问题一中,根据已知的各个商店的需求分布,根据遗传算法求解,预先确定一条总费用最小的路径(或者虽不是最优路径,但是此结果能够接受的)。
车辆沿该路径服务商店,因此服务商店的顺序固定不变。
而问题二中,在车辆服务商店的过程中,事先并不知道商店的需求量。
而这个不确定信息要随着车辆的服务逐步确定,商店具体的需求只有车辆到达用户后才确定。
这样第一问的求解方法得到的路径并不适用于第二问的求解。
假设:(1)商店的需求变化符合正态分布,第i 个商店的需求量的期望和方差分别为i μ和2i σ。
(2)商店的供货可以分为多次补充但在每次供货中最大程度满足用户需求,即只有出现当前车载余量小于用户需求量时才出现下一次的供货。
基于第一问解决了在已知用户需求概率情况下,确定一个服务方案,满足所有n 个商店的需求并且使车辆期望行程费用最小这个问题。
我们由假设可知,第i 个商店的需求量的期望为i μ,则由需求量的期望得到一个使车辆期望行程费用最小的服务方案,称该方案为A 。
当用户的需求未知(当车辆服务商店时需求变成已知量)时,由于用户的需求量在区间(3)i i μσ±的概率是96%,而在区间外的事件可以看成小概率事件,由小概率事件定理可知,在一次试验中,小概率事件可以看成不可能事件。
由此可知,用户需求量就在区间(3)i i μσ±里。
用户需求在区间(3)i i μσ±里,而需求决定服务方案。