有时间限制的物资配送车辆路径问题
摘要: 这是一个带有时间约束的车辆路径安排问题,车辆路径问题是指一定数量的各自有不同
货物需求的客户,配送中心向客户提供货物,由一个车队负责分送货物,组织适当的行车路线,并能在一定约束条件下,使客户的需求得到满足且达到诸如路程最短,成本最小,耗费时间最少等目的。
根据题中所给的条件,我们建立了一个求最短路径的模型,所用到的算法是遗传算法,遗传算法是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然计划过程搜索最优解的方法。我们暂且考虑车辆都在规定时间内到达客户的情况 ,这种做法虽有不妥之处却在一定程度上简化了该模型。我们所建立的模型针对该问题,在需求量、接货时间段、各种费用消耗已知的情况下,采用规划模型,引入0-1变量,建立各个约束条件,包括车辆的容量限制、到达每个客户的车辆和离开每个客户的车辆均为1的限制、货物剩余量、时间段限制,目标函数为可行路径长度的最小化。
根据这些约束条件及所建立模型,我们可以编程解决该问题,在本文假设条件下,可得:最短路径为:910公里,发车数量为:3辆,货车行驶路径分别为:0-8-5-7-0,0-3-1-2-0,0-6-4-0 车辆 所执行的任务编号 路线 1 2 3 0-8-5-7-0 0-3-1-2-0 0-6-4-0 到达各点的时间 0-1.6-3.9-7.7-13.9 0-1.5-3.3-5.6-8.8 0-2-6-10.8 路线长度 80+75+90+160=405 75+40+65+60=240 100+75+90=265 货运量 3+1.5+2.5=7 4.5+2+1.5=8 4+3=7 但是,由于受到我们假设的约束,这样得出的结果未必为最优解,然后我们可用典型的单源最短路径算法即Dijkstra(迪杰斯特拉)算法进行优化,这种算法用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩散,直到扩散到终点为止。优化后可得最短路为公里885,三条路径分别为分别为:0-8-5-7-2-0,0-3-1-2-0,0-6-4-0。
关键词:遗传算法,迪杰特斯拉算法,时间限制,车辆路径
1
一、问题重述
物流中心O有容量为Q的车辆若干辆,负责对需求量分别为q的Ni个客户进行货物派送工作,客户i的货物需求量为q,且qi?Q,车辆必须在一定的时间范围?ai,bi?内到达,否则会有一定的损失,按照要求求解一下两个问题:
1. 建立送货车辆每天总运行里程最短的一般数学模型,并给出求解方法。
2. 具体求解以下算例,载重量为 Q?8 吨、平均速度为 v?50千米/小时 的送货车辆从物流中心(i?0)出发,为编号是 i?1,2,…,8 的8个客户配送物资。某日,第i个客户所需物资的重量为qi吨(qi?Q),在第i个客户处卸货时间为si小时,第i个客户要求送货车辆到达的时间范围 ?ai,bi? 由表1给出。物流中心与各客户以及各客户间的公路里程(单位:千米)由表2给出。问当日如何安排送货车辆(包括出动车辆的台数以及每一台车辆的具体行驶路径)才能使总运行里程最短
表1 物资配送任务及其要求
客户 1 2 1 2 1.5 2 3 4.5 1 4 3 3 5 1.5 2 6 4 2.5 7 2.5 3 8 3 0.8 q(吨) s(小时) ?ai,bi?
[1, 4] [4, 6] [1, 2] [4, 7] [3, 5.5] [2, 5] [5, 8] [1.5, 4]
2
表2 点对之间的公路里程(千米)
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
0 40 60 75 90 200 100 160 80 40 0 65 40 100 50 75 110 100 60 65 0 75 100 100 75 75 75 75 40 75 0 100 50 90 90 150 90 100 100 100 0 100 75 75 100 200 50 100 50 100 0 70 90 75 100 75 75 90 75 70 0 70 100 160 110 75 90 75 90 70 0 100 80 100 75 150 100 75 100 100 0 二、问题分析
本题属于比较常见的车辆路径问题(VRP),不同的是,装货点只有一个。车辆路径问题,即对于多个装货点和卸货点,组织适当的行车线路,使车辆有序地通过它们,在满足一定的约束条件(如货物需求量、发送量、交发货时间、车辆容量限制、行驶里程限制、时间限制,即时间窗等)下,达到一定问题的目标(如路程最短、费用最少、时间尽量少、使用车辆数尽量少等)。要在一定的约束条件下,使得派送总费用最小(派送总费用包括运输成本,车辆在客户要求到达时间之前到达产生的等待损失,车辆在客户要求到达时间之后到达所受惩罚等),相应的,总路程也最短。现在就要根据这些约束条件,从而确定最佳派送方案。
题中已给定客户i的货物需求量qi,每个客户的接货时间范围[ai,bi],卸货时间si,和物流中心与各客户之间及客户与客户之间的路程dij,货车最大载重量Q,货车行驶速度v等,因此,我们便要根据题意,选取若干辆车进行送货,然后考虑每辆车负责哪些客户的送货任务。我们可
3
以在适当合理的假设下,通过编程,给出满足题中限制条件(各客户时间范围,货车最大载重量,剩余物资等)的很多参考方案,并在不重复的基础上选出使得总路程最小的路径,从而建立最优化模型确定最佳车辆派送方案。
三、模型假设
1、车辆不会出现折线行走,即车辆在经过某个客户点时一定卸货。 2、物流中心有足够的资源以及足够的车辆以供配送。
3、每辆车送货行驶时不会有突发状况影响车辆的送货计划以及车辆速度。 4、每个客户的物资只能由一辆车辆配送。
四、符号定义与说明
物流中心 车辆的最大送货量 运送车辆的总数 第i个客户最早到时间为a第i个客户的最晚到时间bi。 O Q m ?ai,bi? q ,第i个客户的所需货物数量 i到j的路程 车辆从i到j的行驶时间 车辆在i处的卸货(等待)时间 编号为k的车辆从i走到j 所有车辆行驶的总路程 i的货物由编号为k的车辆完成 dij si xijk z yik
4
v
车辆的平均行驶速度
五、模型建立与求解
1、 模型思路
给出所有路径(穷举法或图的遍历)——限制条件下求解可行路径(遗传算法)——在求出的路径中选择最短路径(优化)——考虑车辆返回物流中心时可走折线路线,用迪杰特斯拉算法求解最短路径(最优化)。 2、模型建立
(1)?建立二维数组,对从物流中心出发的所有客户进行全排列。
或 ?客户与物流中心均看成点,互相连接,标记其之间距离,使其成为图,图的遍历,指的是从图中的任一顶点出发,对图中的所有顶点访问一次且只访问一次。
本题中,我们采用方法?来进行编程。 (2)根据题意,模型所求目标函数为
minz????xi?0j?0k?1nnmijkdij
5
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库有时间限制的物资配送车辆路径问题在线全文阅读。
相关推荐: