带时间窗物流配送车辆路径问题_精品文档Word格式.doc
《带时间窗物流配送车辆路径问题_精品文档Word格式.doc》由会员分享,可在线阅读,更多相关《带时间窗物流配送车辆路径问题_精品文档Word格式.doc(19页珍藏版)》请在冰豆网上搜索。
0-1.6-3.9-7.7-13.9
80+75+90+160=405
3+1.5+2.5=7
3
0-6-4-0
0-2-6-10.8
100+75+90=265
4+3=7
考虑在车辆返回时选择最短路线,我们采用Dijkstra算法求出中心仓库到各个客户的最短距离,将结果改进为885公里,具体结果如下:
0-8-5-7-2-0
80+75+90+135=380
模型二考虑需求量随机变化时的安排方案,假设客户需求量遵循正态分布,首先按照需求期望根据模型一得到一个比较好的方案,然后按照这一方案进行送货,在送货过程中,如果出现需求量过大的情况,允许车辆返回仓库进行补充。
模型一的思路清晰,考虑条件全面。
但最优解解决起来困难,遗传算法只是一种相对好的解决方法,可以找出最优解的近似解。
模型二的想法比较合理,易于实施,但还有待改进。
关键词:
规划时间窗物流车辆路径遗传算法
一、问题重述
一个中心仓库,拥有一定数量容量为Q的车辆,负责对N个客户进行货物派送工作,客户i的货物需求量为,且,车辆必须在一定的时间范围内到达,早于到达将产生等待损失,迟于到达将处以一定的惩罚,请解决如下问题:
(1)给出使派送费用最小的车辆行驶路径问题的数学模型及其求解算法。
并具体求解以下算例:
客户总数N=8,每辆车的容量Q=8(吨/辆),各项任务的货运量(单位:
吨)、装货(或卸货)时间(单位:
小时)以及要求每项任务开始执行的时间范围由附录1给出,车场0与各任务点以及各任务点间的距离(单位:
公里)由附件二给出,这里假设车辆的行驶时间与距离成正比,每辆车的平均行驶速度为50公里/小时,问如何安排车辆的行驶路线使总运行距离最短;
(2)进一步请讨论当客户i的货物需求量为随机参数时的数学模型及处理方法。
二、问题分析
本题主要在两种不同情况下,研究使派送费用最小的车辆行驶路径问题。
车辆行驶派送的费用主要包括运输成本、车辆在客户要求到达时间之前到达产生的等待损失和车辆在客户要求到达时间之后到达所受惩罚等等。
为满足派送费用最小的需求,即要使所选行车路径产生的总费用最小,从而确定出最佳的车辆派送方案。
当客户i的货物需求量固定时,首先,我们根据题意,取若干辆车进行送货,然后,主要考虑每辆车各负责哪些客户的送货任务,我们可以给出满足题中限制条件的很多参考方案供选用,并考虑以所选行车路径产生的总费用最小为目标的情况下,建立最优化模型确定最佳的车辆派送方案。
进一步讨论,当客户i的货物需求量为随机参数时,我们首先可以简化随机模型,根据客户i的货物需求量的期望与方差,确定每天应该运送给客户i的货物量,即,再根据第一题,确定最佳的车辆派送方案。
但考虑到客户的储存能力有限及货物在客户处的储存费用,客户不需要将一天的货物一次性接收完,只要满足缺货的情况出现的概率很低,客户可以让配送中心一天几次送货,这样可以得到很多满足约束的方案,考虑以单位时间的储存费用最小为目标,建立最优化模型,确定配送中心给每位客户每次的配送量、配送周期与最有车辆行驶路径。
三、模型假设
(1)每个客户的需求只能由一辆配送车满足;
(2)每辆车送货时行驶的路程不超过它所能行驶的最远路程;
(3)中心仓库的车辆总数大于或等于当派送费用最小时所需的车辆数;
(4)从配送中心到各个用户、各个用户之间的运输距离已知;
(5)配送中心有足够的资源以供配送。
四、符号说明
:
运货车的容量
该配送中心服务的客户总数
:
派送费用最小时所需的车辆数
第i位客户所需货物
车k由i驶向j
点i的货运任务友s车完成
第i位客户最早允许接货时间
第i位客户最晚允许接货时间
车辆在第i位客户处等待时间
车辆在第i位客户处迟到时间
第i位客户处车辆到达时间
从第i位客户到第j位客户所需时间
第i位客户处装货(或卸货)所需时间
第i位客户与第j位客户之间的距离
车辆行驶单位距离的运输成本
车辆早到单位时间产生的等待损失
车辆迟到单位时间应承担的惩罚
派送货物产生的总损失
A:
运输成本
B:
车辆早到所产生总的等待损失
C:
车辆迟到所受的总惩罚
五、模型的建立和求解
5.1问题一模型的建立及求解:
5.1.1问题的分析
中心仓库为了给N个客户派送货物,供发出m辆车,为了派货的节约和方便,每辆车载着适量的货物出发,可以给某一片的若干个满足约束条件的客户派送货物,见图一:
图一中心仓库派送货物图
中心仓如上图库派送货物时,必须满足约束条件:
(1)各个客户群的总需求小于或等于运输车的装载量;
(2)每个客户都必须且只能由一辆运输车运输所需货物;
(3)运输车为每位客户开始服务的时间必须尽可能在时间窗内。
根据如上的约束条件,我们可以得到很多可行解,但考虑到以所选行车路径产生的总费用最小为目标的情况下,我们可以建立最优化模型确定最佳的车辆派送方案,最优路径产生图如下:
图二最优路径产生图
5.1.2模型的建立
(1)中心仓库使用车辆数量的确定
设配送中心需要向N个客户送货,每个客户的货物需求量是gi(i=1,2,…..N),每辆配送车的载重量是Q,且gi<
Q。
首先为了安排路线需要对要使用的车辆数有一个估计。
在现实情况中,货物装(卸)车越复杂,约束条件越多,一辆车的实际载货量就越小。
在本文中使用文献[1]的公式来确定需要的车辆数m:
[]表示取整,a为参数,0<
a<
1。
约束条件越多,货物装(卸)越复杂,a值越小。
参考文献[2],取a为0.85。
(2)引入0—1变量:
1)表示车辆是否从客户行驶到客户。
定义其为0—1变量,则
2)表示客户的任务由车辆完成。
同样定义其为0—1变量,则
(3)非线性规划模型的建立:
a.目标函数的确定。
题目要求所选行车路径产生的总费用最小,我们确定总费用为目标函数,记为。
总费用由运输成本A、等待损失B和迟到所收惩罚C组成,根据题意有:
所以,总费用Z最小化为:
b.约束条件的确定。
约束1:
车辆的运送总重量应不超过车辆的最大载重,即车辆有一定的运送能力,则可引入约束条件,
()
约束2:
每个客户只能由一辆车来配送,则可引入约束条件,
约束3:
保证到达一个客户的车辆也离开该客户,则可引入约束条件,
()
()
c.变量之间关系的确定
由上可确定等待时间,超时时间为:
车辆从客户到客户需经过两段时间为:
设车辆为客户运送完货物后即为客户运送,则到达客户处时间和到达客户处时间之间的关系为:
d.此非线性规划模型为:
5.1.3模型的求解
我们采用遗传算法解决上面的问题:
1.编码
采用自然数编码,即序数编码。
货物运输路线可以编成长度为N+m的染色体,其中,表示第项任务。
0表示车场,m表示完成任务所需的车辆数。
2.出生初始群体
初始群体随机产生,即产生项货物运输任务点的全排列,如,如果,且,将s至N的数向后移动一位,将0插入第s位。
接着,继续上述操作,直到m个0全部插入为止。
这样就构成了一条初始染色体。
用这种方法构造一个群体的染色体。
如:
,该编码插零之后变成。
它代表着需要三辆车运输货物。
其中,第1辆车行走路线为,即从仓库出发到依次到8、2、5商店再回到仓库。
第2辆车行走路线为,第3辆车行走路线为。
3.适应度函数
适应度函数取,其中为染色体的适应度,b为常数,为初始种群中最好的染色体的运输成本,为染色体对应的运输成本。
4.遗传算子
选取最佳保留的轮盘赌复制法进行染色体的复制。
变异算子采用反转变异。
交叉算子用最大保留交叉,其操作过程为:
a)若染色体交叉点处的两个基因都为0,则直接进行顺序交叉运算;
b)若染色体交叉点处的基因不全为0,则将交叉点左移(右移),直到左右两个交叉处的基因都为0,再进行顺序交叉运算。
5.算法的实现步骤
Step1:
采用自然数编码的方式,构造表示可行车路线的染色体;
Step2:
设置控制参数,包括交叉率、变异率、群体规模;
Step3:
初始化,令,随机产生初始群体,群体中包括个染色体,每个染色体代表一条行车线路;
Step4:
令;
Step5:
将群体中的第个染色体译为线路长度;
Step6:
计算适应度;
Step7:
若满足算法终止条件,则停止,否则继续;
Step8:
;
Step9:
若,回到step5,否则,转step10;
Step11:
进行最大保留交叉、基于位的变异和倒位操作;
Step12:
;
Step13:
若满足算法终止条件,则停止,否则转step4。
运用matlab软件编写程序得到在车辆总行程最短的条件小的派送方案为:
从上表可以看出,按照上表的行车路线,总路线长度为910公里。
5.1.4结果分析
从上面解出的派送方案可以看出,上面的每条路线在车辆送完货物后,直接从最后一个客户处返回中心仓库,我们通过求中心仓库到各个客户的最短路径可以发现,上面的返回路线不是最优的,返回路线可