1快递公司送货策略一摘要:本文是关于快递公司送货策略的优化设计问题,即在给定送货地点和给定设计规范的条件下,确定所需业务员人数,每个业务员的运行线路,总的运行公里数,以及费用最省的策略。本文主要从最短路经和费用最省两个角度解决该问题,建立了两个数据模型。模型一:利用“图”的知识,将送货点抽象为“图”中是顶点,由于街道和坐标轴平行,即任意两顶点之间都有路。在此模型中,将两点之间的路线权值赋为这两点横纵坐标之和。如A(x1,y1),B(x2,y2)两点,则权值为D=|x2-x1|+|y2-y1|。并利用计算机程序对以上结果进行了校核。模型二:根据题意,建立动态规划的数学模型。然后用动态规划的知识求得最优化结果。根据所建立的两个数学模型,对满足设计要求的送货策略和费用最省策略进行了模拟,在有标尺的坐标系中得到了能够反映运送最佳路线的模拟图。最后,对设计规范的合理性进行了充分和必要的论证。二关键词:快递公司送货最优化图模型多目标动态规划TSP模型三问题重述:在快递公司送货策略中,确定业务员人数和各自的行走路线是本题的关键。这个问题可以描述为:一中心仓库(或配送调度中心)拥有最大负重为25kg的业务员m人,负责对30个客户进行货物分送工作,客户i的快件量为已知,求满足需求的路程最短的人员行驶路径,且使用尽量少的人数,并满足以下条件:1)每条送快件的路径上各个客户的需求量之和不超过个人最大负重。2)每个客户的需求必须满足,且只能由一个人送货.3)每个业务员每天平均工作时间不超过6小时,在每个送货点停留的时间为10分钟,途中速度为25km/h。4)为了计算方便,我们将快件一律用重量来衡量,平均每天收到总重量为184.5千克。表一为题中所给的数据:表一最大载重量25kg重载时速20km/h途中的平均速度25km/h重载酬金3元/km*kg业务员工作时间上限6h空载时速30km/h每个送货点停留时间10min空载酬金2元/km备注1、快件一律用重量来衡量2、假定街道方向均平行于坐标轴2处于实际情况的考虑,本研究中对人的最大行程不加限制.本论文试图从最优化的角度,建立起满足设计要求的送货的数学模型,借助于计算机的高速运算与逻辑判断能力,求出满足题意要求的结果。四问题分析:从公司总部配出一个人,到任意未配送的送货点,然后将这个人配到最近的未服务的送货点范围之内的邻居,并使送货时间小于6小时,各送货点总重量不超过25kg。继续上述指派,直到各点总重量超过25kg,或者送货时间大于6小时。最后业务员返回总部,记录得到的可行行程(即路线)。对另一个业务员重复上述安排,直到没有未服务的送货点。对得到的可行的行程安排解中的每一条路径,求解一个旅行商问题,决定访问指派给每一条行程的业务员的顺序,最小化运输总距离。得到可行解的行程安排解后退出。根据题意的要求,每个人的工作时间不超过6小时,且必须从早上9点钟开始派送,到当天17点之前(即在8小时之内)派送完毕。且8255.184kgkg,故至少需要8条路线。表二列出了题中任意两配送点间的距离。表二:任意两点间的距离矩阵3因为距离是对称的,即从送货点i到送货点j的距离等于从j到i的距离。记作:dij.表三给出了客户的需求,为了完成送快递的任务,每个人在工作时间范围内,可以承担两条甚至更多的线路。表中给出了送货点序号,送货点编号,快件量T,以及送货点的直角坐标。表三序号送货点快件量T坐标(km)序号送货点快件量T坐标(km)xyxY1183216163.5216228.21517175.86183365418187.51117445.54719197.815125630820153.4199654.531121326.2225777.27922226.8210882.39623232.4279991.410224247.6151910106.514025259.6151411114.11732626102017121212.7146272712211313135.812928286.02242014143.8101229298.1251615204.671430304.22818五模型假设:(1)街道方向均平行于坐标轴,且在该前提下,业务员可以任意选择路线。(2)无塞车现象,即业务员送快递途中不受任何外界因素影响,且业务员的休息时间不包括在最大工作时间6个小时内。(3)业务员人数不限制。(4)每个业务员的路线一旦确定,便不再更改。(5)每个业务员送快递是独立的,每人之间互不影响。(6)业务员到某送货点后必须把该送货点的快件送完。(7)每个业务员每天的工作时间不超过6个小时。(8)业务员回到快递公司后停留一个小时。4六主要符号说明:Ti:序号为i的送货点的快件重量(xi,yi)序号为i的送货点的坐标M重:业务员送货总重载费用M空:业务员送货总空载费用M总:业务员送货总费用N:业务员送货的总次数m:业务员人数mj:第j个业务员送货的次数的送货点没有送快件,业务员在序号为的送货点送快件业务员在序号为i0i,1ai1,ki0kibi第条路线选择序号为的送货点是最远点,第条路线选择序号为的送货点不是最远点七模型建立与求解:7.1问题一模型本模型考虑用多目标动态规划求解。由于问题一中只要求给出一个合理的方案,且未涉及到业务员工资问题,故只要满足条件——业务员的工作时间上限是6个小时以及每条路线的最大载重量不大于25kg即可,本模型中追加两个目标——路程最短和人员最少。可以通过以下两种方法实现:(1)每一个行程的第一个送货点是距离总部最近的未服务的送货点。用这种方法,即可得到一组运行路线,总的运行公里数,以及总费用。(2)每一个行程的第一个送货点是距离总部最远的未服务的送货点。然后以该点为基准,选择距它最近的点,加上约束条件,也可得到一组数据。然后比较两组结果,通过函数拟合即可得到最优化结果。本模型中以满足需求的路程最短的人员行驶路径,且使用尽量少的人数,即N30k1i1min(2*bi*(xi+yi))且minm约束条件为:①时间约束:mj1j3016)6125)(2(iaiyixi②载重量约束:25*aiTi方法一:每一个行程的第一个送货点是距离总部最近的未服务的送货点。5第一条行程中访问了节点0-1-3-4-5-0,是因为1距离原点最近,因此由1出发,3是距离1点最近的点,而且两处快件量之和为14kg,小于每个人最大负重量,可以继续指配。接着,4是距离3最近的点,而且三处快件量之和为19.5kg,仍小于25kg,还可以继续指配。在剩下的未服务送货点中,5距离4最近(其实距离4最近的点有2,5,6,7四个点,然后考虑该点需求的快件量,将其从大到小依次排列,快件量需求大者优先,但超过25kg上限的点舍去。这里2,7被舍去,故选择了5)总快件量之和为24kg。再继续扩充,发现就会超出“25kg”这个上限,因此选择返回,所以0-1-3-4-5就为第一条路线所含有的送货点。用该算法得到的各路线为:(1)013450(2)1267130(3)9812100开始找离原该点最近的点v,且该点的访问标志设为被访问,该点快递重量为w,输出该点。找点v最近的点,快递重量为w1,且w1+w25,当其不成立时找次远点。找到符合条件的点,且不止一个时选择快递重量最重的那个点,访问标志设为被反问,并输出该点,赋值给v,且w=w+w1;Y找不到符合条件的点时N6(4)01617201415230(5)0112232190(6)027260(7)01824250(8)02928300现在0-1-3-4-5这四个送货点之间的最优访问路径安排就是一个典型的单回路问题。可以通过单回路运输模型-TSP模型求解。一般而言,比较简单的启发式算法求解TSP模型求解有最邻近法和最近插入法两种。由RosenkrantzStearns等人在1977年提出的最近插入法,能够比最近邻点法,取得更满意的解。由于0-1-3-0已经先构成了一个子回路,现在要将节点4插入,但是客户4有三个位置可以插入,现在分析将客户4插入到哪里比较合适:1.插入到(0,1)间,C总=7+4+5+1+4+9=30。2.插入到(1,3)间,C总=5+6+4+9=24。3.插入到(3,0)间,C总=5+4+4+11=24。比较上述三种情况的增量,插入到(3,0)间和(1,3)间增量最小,考虑到下一节点插入时路程最小问题,所以应当将4插入到送货点3和总部0之间。接下来,用同样的方法,将5插到4和0之间,能使该条路线总路程最小,该路线总路程为32km,历时1.9467h。结果子回路为T={0-1-3-4-5-0}.因为街道平行于坐标轴方向,所以它就是最优化路线。第二条行程这中,由于所剩下节点中,2距离0点最近,因此由2出发,就可以找到最近点13,接着是7,然后6.这样,第二条优化路线0-2-13-7-6-0就确定了。用这种方法,依次可确定以下剩余六条路线。得到总的送货路线为:(1)013450(2)0213760(3)01012890(4)01617201415230(5)0191132220(6)01824250(7)0272607(8)02930280运输员序号所经站数最近点所用时间(小时)总载重(kg)总路程(km)141(3,2)1.94672432242(1,5)2.346724.242349(10,2)1.866422.9304616(2,16)4.600023.5905411(17,3)4.213424.9726318(11,17)3.750024.7687227(21,13)3.706722768329(25,16)4.840018.396合计3028.2699184.5506改进前和改进后的路程,时间比较如下:020406080100线路一线路二线路三线路四线路五线路六线路七线路八路程比较改进前改进后8012345线路一线路二线路三线路四线路五线路六线路七线路八时间比较改进前改进后然后,根据所经历的时间进行划分,确定运送人数。在工作时间小于6小时的前提下,最终只需要六名运输员,第一条线路和第二条线路有一人完成,第三条和第七条线路由一人完成,则各运输员到达各站点时间的情况如下:路线站点编号到各站点时间出发时间路线站点编号到各站点时间出发时间119:129:0051910:059:0039:321110:4149:523211:08510:142211:322212:0211:5861810:079:001312:482410:31713:102510:53613:3972713:4512:233109:349:002614:07129:5882910:389:00810:203011:00910:442811:244169:439:001710:072010:291410:511511:302311:599路径为:方法二:每一个行程的第一个送货点是距离总部最远的未服务的送货点。分析方法如一:得到的路径为:(1)030292823150(2)0262780(3)02425149010(4)01817201660(5)0322211100(6)0191370(7)012430(8)05210同方法一,用最近插入法修改路径可以得到更优的解,改进后的路径为:(1)028302923150(2)0262780(3)024251490(4)02018171660(5)0113222100(6)0191370(7)041230(8)02510运输员序号所经站数最远点所用时间(小时)总载重(km)总路程(km)1530(28,18)4.833324.11002326(20,17)3.540024.3763424(15,19)3.386722.4684518(11,17)3.153024.4585432(22,5)2.826723.6546319(15,12)2.660020.8547312(14,6)2.180024.242835(3,11)