起点终点相同的运送计划

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

起点终点相同的运送计划

运输公司、配送中心在运输货物时常常要求车辆在完成运输后要回到出发地。

起点终点重合的路径问题也被称为巡回推销员问题。有一个n 个节点

},...{1n v v 构成的网络,已知节点间的“距离”}...,2,1;,...,2,1,{n j n i c ij ==,要寻找一条经过所有节点的距离最短的回路。

可以用如下数学模型来表示:

∑∑==n i n

j ij ij x c 11

min

s.t.

∑===n

j ij

n i x

1...,2,1,1

∑===n i ij

n j x

1

...,2,1,1

n j n i x ij ,...2,1,,..,2,1},1,0{==∈

其中⎩⎨⎧=。的下一站不是节点

,表示节点;的下一站是节点

,表示节点j i j i x ij 01

这是一个整数型线性规划问题,当网络中包含很多节点时,没有有效的算法。一般采用直觉方法和启发式方法,这些方法可在合理的时间内给出一个较优解。

例如在直觉上,一定的长度,包含面积最多的曲线是圆形,因此好的路线规划中应该呈凸形或水滴形,并且没有线路交叉。例如下图中b)的路线规划就要比a)好。

a)不好的路线规划 b)较好的路线规划

图6-10 路线规划比较

启发式方法中很多是贪婪方法,例如最近邻点法,最近插入法等。 最近邻点法就是从某点开始,总是找离目前位置最近的、还未到过的节点作为下一点,直到所有节点走完,再回到起点。得到的结果常常是不理想的。

最近插入法要更进一步,在选择下一点时,不仅仅只考虑当前的一点,而是考虑所有已走过的点。另外,它每一步是整个回路的扩张,即从一开始它就考虑回到起点的成本。方法描述如下:

(1) 找出离1v 最近的节点k v ,构成子回路},,{11v v v T k =。 (2) 重复(3)直到T 包含所有节点:

(3)从子回路T 以外的节点中找出离回路T 中节点最近的节点k v ,在T 中找到边),(j i v v ,使ij kj ik c c c -+最小,将k v 插入j i v v ,之间,即用),(k i v v ,),(j k v v 代替),(j i v v ,构成新的回路T 。

资料6.13一家面包房每天要向五家零售店送货,各点之间的行车时间如下:(由于交通的问题,同一线路不同方向的行车时间有些不同)

表6-6面包房及零售店之间的行车时间

第1步,找出00k k c c +最小的点5,5005c c +=41,T={0,5,0};

第2步,离{0,5}最近的点是1,1651=c ,接下去考虑1插在0,5之间还是5,0之间,因为22051501=-+c c c ,17501051=-+c c c ,因此插在5,0之间,得到T={0,5,1,0};

第3步,离{0,1,5}最近的点,3,2153=c ,43053503=-+c c c ,

32513153=-+c c c ,40103013=-+c c c ,得T={0,5,3,1,0};

第4步,离{0,1,3,5}最近的点,4,1434=c ,77054504=-+c c c ,

36534354=-+c c c ,29314134=-+c c c ,80104014=-+c c c ,得T={0,5,3,4,1,0};

第5步,最后一点是2,90052502=-+c c c ,51532352=-+c c c ,

24342432=-+c c c ,11412142=-+c c c ,57102012=-+c c c ,得T={0,5,3,4,2,1,0};

因此最后的结果是{0,5,3,4,2,1,0},总运输时间为130。

相关文档
最新文档