uj?uk??1,uk?ui??1,从而有0??3,导致矛盾。其他情况以此类推。 于是我们可以得到如下的模型: n??minz??dijxiji,j?1??n??xij?1,i?1,2,n1?ii??j??s..t?n??xij?1,i?1,2,n1?jj??i??ui?uj?nxij?n?1,1?i?j?n?xij?0或1,i,j?1,2,n???ui为实数,i?1,2,n 然后运用lingo程序进行实现,求得在一辆调度车的行驶的最短路径,即本全局最优解。本文中有两辆调度车,可以将租赁点合理地分为两组,得出两组的最佳行驶路线,而行驶速率一定,则时间达到最短。lingo程序代码如附录二所示。 租赁点车辆的分配数bis,需求量ais(附件二中网点格式简单的需求量)满足关系 ?30??bis?850,i?1?? ?ais?bis,?0?b?40,is???第i个租赁点下一时间段的分配数 bi,s?1?bis?ais???ajspij i?1j?1i?j3030ajs表示j点在s时段的自行车需求量,与ais相区别。 由于居民可以在任意一个租赁点还车,在某个租赁点还车的概率与租车点和还车点的距离成反比,且假设居民的骑行距离不超过2km;在此我们设在某租赁pij?点还车的概率 kidij,依据概率论相关知识必然事件概率和为1,则
第6页 共 26 页
?pij?j?130ki?1dij 由Matlab编程可以求得三十个方程的结果,得到反比例系数ki的三十个数pij?值。Matlab程序如附录三所示。又kidij由此可以确定pij,pij共有900个数值其中包括租赁点的距离大于2km情况,但其概率为0,为避免数据量大导致误差,我们在此并未将概率算出,而是直接将概率使用到了求解自行车分配数bi,s?1的求解程序中,既简化了模型求解步骤,又保证了数据的准确性。 从其余租赁点还到i租赁点的自行车数bi, bis=??ajspij i?1j?1i?j3030经过Matlab编程可以求得bi的一系列数值,Matlab程序如附录四所示。也就可以得到问题一调度方案中需要调度的最少自行车数。 第i个租赁点装卸车用时ci=bis?ais,从而求得目标函数: z2??ci i?130完成调度所耗费的时间z=Min?z1?z2? 。 模型求解
经过lingo编程能够得到最短路线经过的租赁点序号:
x(1,2)=1, x(2,3)=1, x(3,17)=1, x(4,22)=1, x(5,19)=1, x(6,23)=1, x(7,8)=1, x(8,27)=1, x(9,30)=1, x(10,28)=1, x(11,12)=1,
x(12,14)=1,
x(13,15)=1, x(18,11)=1,
x(14,13)=1, x(15,16)=1, x(19,29)=1,
x(20,5)=1,
x(16,1)=1, x(17,4)=1, x(21,20)=1, x(22,6)=1,
x(23,24)=1, x(24,10)=1, x(25,21)=1,
x(26,25)=1, x(27,26)=1, x(28,9)=1, x(29,18)=1, x(30,7)=1 而其余全为0。由以上数据可以得到一辆调度车时的最佳行车回路为:
第7页 共 26 页
→1→2→3→17→4→22→6→23→24→10→28→9→30→7→8→27→26→25→21→20→5→19→29→18→11→12→14→13→15→16→1→
总共用时27.87min。本文问题一中有两辆调度车进行运输,考虑到调度问题的复杂性,结合实际情况把租赁点进行分区管理,使调度过程简单、效率高,本模型将只有一辆调度车时最佳行驶路线经过的租赁点划分为两部分,两辆调度车分别经过各自租赁点的时间基本相等。分组如下
第一组: →11→12→14→13→15→16→1→2→3→17→4→22→6→23→24→ 第二组:→10→28→9→30→7→8→27→26→25→21→20→5→19→29→18→ 假设每辆调度车负责的区域一定,则每组的租赁点调度时应该构成行驶路线回路,使用附录二中的程序分别对两组租赁点的最佳行驶路线进行求解,得到最佳行驶路线:
第一组:→7→30→28→10→9→8→21→20→5→19→18→25→26→27→7→所花费时间18.75min
第二组:→1→15→11→12→13→14→2→3→17→4→22→24→23→6→29→16→1→ 所花费时间20.02min
如下图所示
第8页 共 26 页
由附录四程序可以得到每个租赁点在三个时间段所还车辆bis ,所需车辆ajs对比如下图: 7:00-8:30 所还车所需车编号 1 2 3 4 5 6 7 辆bi1 20 22 23 21 22 23 25 辆aj1 15 23 38 38 17 32 13 编号 1 2 3 4 5 6 7 11:00-12:30 所还车所需车辆bi2 22 24 27 22 23 23 22 辆aj2 30 35 31 22 28 10 34 编号 1 2 3 4 5 6 7 17:30-19:00 所还车所需车辆bi3 20 22 23 21 22 23 25 辆aj3 15 23 38 38 17 32 13
第9页 共 26 页
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 26 26 23 23 22 21 26 22 22 25 22 23 25 23 23 21 23 26 25 23 30 23 24 40 26 18 18 35 7 12 38 17 21 23 28 23 15 35 15 34 21 23 35 18 13 18 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 24 24 22 23 24 22 25 24 22 24 22 24 24 23 23 22 22 25 23 23 28 24 23 16 19 37 27 33 28 13 12 6 23 32 20 20 34 6 38 10 13 20 35 20 17 38 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 26 26 23 23 22 21 26 22 22 25 22 23 25 23 23 21 23 26 25 23 30 23 24 40 26 18 18 35 7 12 38 17 21 23 28 23 15 35 15 34 21 23 35 18 13 18 由以上各个时间段的所还、所需车数可求出两者的差值,也就是调度车在租赁点需要装卸的自行车的数目,本模型为了满足车辆调度只在附件2中车辆需要最多的时间段进行和每个租赁点自行车数量最多不超过40辆的要求,并完成调度任务,本模型做了如下调整,调整前后增减车辆数代数和相等: 实际所需增减车辆数 0 -8 5 -1 -11 -1 -4 -2 -13 -5 0 -7 2 -5 5 12 13 -9 -12 -12 12 4 8 -14 4 5 0 调整后时间增减车辆数 -4 -4 5 -4 -5 -4 -6 -7 -6 -5 -3 -4 -1 -2 3 6 6 4 -8 -8 8 0 0 -2 3 3 3
第10页 共 26 页