当今汽车供应链拉动式生产盛行,汽车零部件入厂物流表现出高度的复杂性和专业性,针对该场景下的循环取货问题,引入卸货时间窗的概念,设计供应商集货需求可拆分的数学模型,以降低零部件循环取货过程中的车辆运输成本,同时满足卸货时间窗和车辆容量的限制。根据所设计模型的特点设计禁忌搜索算法,改进初始解及邻域搜索算法,最后通过实验数据证明算法的有效性,并与现有算法进行比对,表明该模式下的循环取货模式可以更有效的节约运输成本,保证生产效率。 Nowadays, pulling type production becomes more popular in automobile supply chain. Inbound logistics of auto parts showed a high degree of complexity and professionalism. For the milk-run problem in such scene, this paper designs a model with unload time window and split deliveries, to minimize the transportation cost. According to the characteristics of the model, this paper designed a tabu search algorithm, and the initial solution and the neighborhood search algorithm are improved. Finally, it proved the validity of the algorithm by the experimental data, and compared with the existing algorithms. The result shows that the milk-run mode can effectively save transportation cost and ensure production efficiency.
陶业辉1,2,赵磊1,2,朱道立1,2
1上海交通大学中美物流研究院,上海
2上海交通大学安泰经济与管理学院,上海
收稿日期:2016年12月8日;录用日期:2016年12月22日;发布日期:2016年12月29日
当今汽车供应链拉动式生产盛行,汽车零部件入厂物流表现出高度的复杂性和专业性,针对该场景下的循环取货问题,引入卸货时间窗的概念,设计供应商集货需求可拆分的数学模型,以降低零部件循环取货过程中的车辆运输成本,同时满足卸货时间窗和车辆容量的限制。根据所设计模型的特点设计禁忌搜索算法,改进初始解及邻域搜索算法,最后通过实验数据证明算法的有效性,并与现有算法进行比对,表明该模式下的循环取货模式可以更有效的节约运输成本,保证生产效率。
关键词 :汽车零部件入厂物流,循环取货,卸货时间窗,禁忌搜索算法
汽车零部件入厂物流具有高度复杂性和专业性,优化的汽车零部件入厂物流可以降低物流成本且同时提高响应市场的速度和生产柔性,因此它是汽车制造企业增强供应链竞争能力的重要环节。在汽车供应链拉动式结构、零部件采购全球化、整车生产准时化的背景下汽车生产物料供给逐渐形成了递阶供应的模式。汽车零部件一般经过三/四阶递阶供应从供应商到达生产线终端,如图1所示。第一阶集货物流,为零部件从海外供应商经Milk-run循环取料运至海外的集货中心;第二阶取货物流,为零部件从海外集货中心经干线运输运至到国内配送中心,或者为零部件从国内供应商经Milk-run循环取料运至国内的配送中心;第三阶配送物流,为零部件从国内配送中心经配送运输运至国内主机厂货架;第四阶厂内物流,为零部件从主机厂货架经厂内运输运至国内汽车装配线。在这个过程中,第一阶集货物流与第二阶取货物流中都存在着Milk-run循环取料问题,因而Milk-run是汽车零部件入厂物流合理化的重要途径之一,它不仅能够解决由供应商单独配送带来的时间和运输成本问题,并且还能够大幅度提高汽车零部件入厂物流的效率。
图1. 汽车零部件递阶供应示意图
Milk-Run的概念源自奶制品行业,又称循环取货、牛奶式取货等,它的运作方式是车辆从配送中心出发,按照既定的路线和时间要求依次到不同的供应商处收取原料或者零配件,并将其集中到配送中心然后再进行拼装配送到主机厂。Milk-Run的显著优点是能够满足小批量多频次的取货需求并且能够提高车辆的装载率和使用效率,有效减少装配工厂的拥挤、大幅度减少车辆总行驶距离、汽车尾气的排放等。Browersox等人 [
汽车零部件中循环取货模式应用的关键是在相关约束条件下的取货路径优化。在汽车零部件入厂物流的实际运作中,处于供应链的核心地位的汽车主机厂奉行JIS、JIT等拉动式生产方式,力求降低自身库存水平,因此对所需零部件到达主机厂的时间做严格的要求。与此同时,为了提升运输环节的车辆利用率,一个供应商的货物可以由多个批次的车辆进行载运,这些情景与传统循环取货模式有一定区别。因此本文针对循环取货在汽车零部件入厂物流中的应用,提出一种新的适应汽车零部件入厂物流中Milk-run循环取料问题特点的混合整数规划模型,并对模型进行分析。同时,本文提出一种启发式算法对该问题进行求解,并通过算法分析和数值实验论证了本文提出的方法可以有效地解决该问题。本文结构如下:第二节对Milk-run循环取料问题与传统车辆路径问题(VRP问题)进行比较分析,提出Milk-run循环取料问题的新特点。第三节本文针对Milk-run循环取料问题构建了混合整数规划模型。第四节针对Milk-run循环取料问题提出一种启发式方法进行求解。第五节通过计算实验分析论证了本文方法的有效性。第六节对全文进行总结。
车辆路径问题最早在1959年由Dantzig和Ramser提出,用来描述对天然气服务站的配送。1964年,Clark和Wright提出了一种有效的贪婪算法,提升了Dantzig和Ramser对该问题的求解效率,在这之后的50多年中,大量的研究工作对车辆路径问题进行了研究。汽车零部件入厂Milk-run循环取料问题与车辆路径问题有很大的相似之处。本节将对汽车零部件入厂Milk-run循环取料问题与车辆路径问题之间的异同进行比较分析。
汽车零部件入厂Milk-run循环取料问题是在满足约束条件的情况下找到总运输成本尽量少的路线方案,其应当满足的约束条件如下:(1) 所有车辆都从配送中心出发最终回到配送中心;(2) 每一个供应商的需求取货量可以被一辆或者多辆车取回;(3) 每一个供应商的需求取货量都存在一个卸货要求时间窗;(4) 每一辆车的总取货量都不能超过其对应车型的载货能力。
与汽车零部件入厂Milk-run循环取料问题类似的车辆路径问题主要有:带时间窗的车辆路径问题、需求可拆分的车辆路径问题、多车型车辆路径问题。带时间窗的车辆路径问题由Savelsbergh [
本文的研究的汽车零部件入厂物流循环取货问题可以被定义在一个全连通图
在以上集合定义的基础上,本模型相关参数定义如下:
基于以上定义,本模型引入三个变量,分别用来对路径、访问时间和去货量进行决策:
本问题所构建目标模型的目标函数及约束条件可以表述如下:
式(1)为目标函数,表示总成本,即总运输里程成本。式(2)~式(12)为约束条件,其中式(2)表示每个供应商至少被一辆车访问一次;式(3)、式(5)表示所有车辆都由RDC出发,最终回到RDC;式(4)表示访问某个供应商的车辆都一定会离开该供应商;式(6)表示车辆运行的时间顺序,用来避免闭回路的出现;式(7)表示访问供应商的车辆需要满足该供应商的卸货时间窗;式(8)、式(9)表示任意供应商的供货量只能被拆分到经过该供应商的车辆上,且该供应商的供应量需要被完全运载;式(10)表示车辆的总装载量应满足该线路对应车辆的装载能力约束。
上述模型基于现实汽车零配件入厂物流的情景,在传统车辆路径问题(vehicle routing problem)基础上进行延伸,引入需求可拆分以及卸货时间窗等要素,属于NP-Hard问题,难以在合适的时间内得到精确解,因此本文设计改进的启发式算法进行求解,初始解的构造将采用改进的最佳插入法,并运用禁忌搜索算法进一步优化。
禁忌搜索算法多初始解依赖性较强,本文将本文采用改进的最优插入算法进行初始解的生成。具体流程如下:
Step 1:集合
Step 2:
Step 3:选择
Step 4:考察此时路径的总容量是否满载,否则将此供应商阶段从集合
Step 5:考察此时路径是否超载,是否超载,否则该路径构建结束,将最后插入路径的供应商从集合
Step 6:对
Step 7:对
禁忌搜索算法最早是由美国的Glover提出,它是对局部邻域搜索的一种改进,引入禁忌表,通过该方法来避免因重复搜索而陷入局部最优。每当达到一个局部最优点,就利用禁忌表将该点记录下来,在下一次邻域搜索中,可以有意识的回避这些禁忌表中的局部最优点。因其具有这种禁忌特性,所以相较于局部邻域搜索算法,禁忌搜索算法更易于寻得全局最优。
在禁忌搜索算法的设计过程中,主要的环节包括以下几点:解的表示、解的评价、邻域的构造、禁忌对象及禁忌长度的确定、特赦规则的确定和终止规则的确定。
本实验的解采用需求带与需求量对应分别排列的方式进行表示,用代表RDC,代表各个供应商节点,对应路线用同样顺序构建通过各供应商时的取货量。例如,路径0-3-4-1-0及其对应装载0-1-1-2-0 表明该路线途经3、4、1供应商节点,并依次获取1、1、2单位货物。
本实验以目标函数作为解的评价函数,目标函数的值越小,代表解得质量越高。
VRP问题的邻域搜索主要有两种,一个是线路内的搜索,另一个是线路间的搜索。本文采用or-opt交换法以及λ-interchange法进行邻域搜索,具体方法如下:
1) or-opt交换法用于线路内的搜索。即在一条路径上选取一点𝑖,寻找其在该路线的最优位置并进行插入操作,且要满足时间窗等约束。由于该操作仅仅是改变了该路径上各点的访问顺序,而总体供货需求量没有改变,因此对该路径而言,容量限制总是可以被保证的,也就不会出现新的拆分或者合并拆分的现象。
2) λ-interchange法用于线路间的搜索,具体又可分为1-0节点交换法、1-1节点交换法和1-2节点交换法。1-0节点交换法是指将某一供应商点从其当前所在的路线中删除,然后将其插入到另一条路径中;1-1节点交换法是指从两条路径中分别选择两点,然后互换它们的位置;1-2节点交换法是指从一条路径中选择一点,再从另一路径中选择两点,互换这一点与这两点的位置。本文在研究过程中将采用λ-interchange的1-0节点交换法和1-1节点交换法,并根据本研究需求可拆分及卸货时间窗约束的特点,对具体操作进行一定的改进。
1-0节点交换法即将一条路径上的某一点𝑖首先从路径
Senior1:
Senior2:
1-1交换法即将一条路径
Senior3:
Senior4:
Senior5:
以上是构造邻域的几种不同的插入、交换的操作,但在算法实际应用过程中,需要制定一定的规则以确定每一步将采用哪种操作来构造邻域、产生候选集,并且当确定实施哪一种操作后,还需确定具体选择哪几条路径、哪几个点来进行操作。
对于以上问题,本研究采用如下的方法来解决:首先,本研究中设定侯选集的大小为
对以上的邻域搜索方法,建立以解的向量分量为禁忌对象的禁忌表,具体如表1所示。
以上禁忌对象的禁忌长度均为
本研究的特赦规则将采用基于评价值的规则,即当出现一个解
交换方法 | 禁忌对象 |
---|---|
Or-opt | |
1-0交换 | |
1-1交换 |
表1. 禁忌对象表
采用双重终止规则,即当总的迭代次数达到某一充分大的数
在之前的VRPTW问题研究中,多数学者采用Solomon标准测试数据集对自身算法进行测试。本文所研究的需求可拆分情境下卸货时间窗约束的汽车零部件循环取货路径问题没有标准的测试数据集,因此本文同样采用Solomon测试数据来验证需求可拆分算法的有效性。
由于以往Solomon的实验中目标函数只考虑了系统形式距离的长短,因此,本文的实验同样将距离作为实验的目标函数,同时,我们假设汽车零部件的包装体积、重量等物理参数为标准统一的规格,运输所采用的车辆容量是以装载货物单位包装的数量为基本单位。
本实验采用Matlab语言编写程序进行模拟。硬件配置如下:CPU采用Intel Core i7-4720HQ @2.60 GHz;内存容量为8 GB,内存频率为1600 MHz。
实验将通过对比使用本文算法求解Solomon标准测试数据得到的最优解与目前已知的使用启发式算法得到的最佳近似解(不可拆分的情况下)及文献 [
数据集 | 已知最优解 | 文献11最优解 | 本算法最优解 |
---|---|---|---|
R101 | 1645. 79 | 1648.96 | 1631.66 |
R102 | 1486. 12 | 1506. 08 | 1467.56 |
R103 | 1292.68 | 1276. 58 | 1227.96 |
R104 | 1007. 24 | 1059. 42 | 1076.12 |
R105 | 1377. 11 | 1448. 89 | 1429.87 |
R106 | 1251. 98 | 1282. 50 | 1262.34 |
R107 | 1104.66 | 1229. 47 | 1186.70 |
R108 | 960. 88 | 962. 33 | 945.171 |
R109 | 1194.73 | 1241.21 | 1142.94 |
R110 | 1118.59 | 1212.11 | 1116.21 |
R111 | 1096.72 | 1098. 37 | 1099.64 |
R112 | 982. 14 | 1000. 12 | 959.872 |
R201 | 1252.37 | 1236. 93 | 1236.91 |
R202 | 1191.7 | 1138.91 | 1106.71 |
R203 | 939. 54 | 911. 87 | 927.68 |
R204 | 825. 52 | 844. 13 | 839.74 |
R205 | 994. 42 | 1035. 57 | 1042.08 |
R206 | 906.14 | 990. 42 | 980.74 |
R207 | 893. 33 | 909. 18 | 886.94 |
R208 | 726.75 | 766. 37 | 769.82 |
表2. Solomon数据三种算法最优解对比
续表
通过观察表2发现,在56组测试数据中,本文算法有33组最优解优于文献 [
本文针对当今汽车零部件供货物流的循环取货路径规划问题,引入卸货时间窗的概念,提出需求可拆分的路径规划方案,并在此情景上建立数学模型,设计了改进的启发式算法对模型进行求解,通过采用Solomon标准测试数据验证了所设计算法的有效性,验证了卸货时间窗情境下,本算法可以有效提升Solomon标准数据中大部分路径规划解得质量。特别是在原数据中时间窗约束较窄的情况下,本拆分算法的优越性显著。此外,为方便计算,本文在验证算法有效性过程中假设汽车零部件的包装体积、重量等物理参数为标准统一的规格,运输所采用的车辆容量是以装载货物单位包装的数量为基本单位。在实际情况中,这一假设并不合理,此时可以考虑以货物和车辆的体积或质量为单位进行计算。同时,本文仅考虑了单一RDC、单一车型的情况。在后续研究中,可以加入多个RDC、多车型的情景,进一步考察本算法的性能,在商业领域,本文引入卸货时间窗概念,准确描述当今汽车零部件入厂物流中主机厂(RDC)占据主导地位确定到货时间,各供应商根据卸货时间窗决定自身装货时间的情景,在后续研究中可以进一步探索卸货时间窗对循环取货路径规划的系统影响。
本论文是在导师朱道立教授的悉心指导下完成的。老师渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。不仅是我树立了远大的学术目标、掌握了基本的研究方法,还使我明白了许多待人接物与人处事的道路。
同时我还要感谢我的同门师兄——赵磊。赵磊师兄在朱老师门下攻读博士,在算法领域上有所建树。在我遇到算法设计上的疑惑时,他总能细心的引导我找到解决问题的方法。
本论文从选题到完成,倾注了老师大量的心血,获得学长的耐心帮助。在此,谨向朱道立老师和赵磊学长表示崇高的敬意和衷心的感谢!
陶业辉,赵磊,朱道立. 带卸货时间窗的循环取货路径计划问题研究 Research on Automobile Parts Milk-Run Routing with Unload Time Window[J]. 管理科学与工程, 2016, 05(04): 203-213. http://dx.doi.org/10.12677/MSE.2016.54022