APP下载

面向JIT采购的多目标车辆调度

2021-06-23李雨鑫李悦悦

计算机工程与应用 2021年12期
关键词:蜂群原料公式

李雨鑫,李悦悦

河北工业大学 经济管理学院,天津300401

准时制(Just-In-Time,JIT)采购,是一种基于准时制生产的采购模式,指企业按需求将原料以小批量、多批次的方式进行准时采购,以低库存、降成本为目标,从而提升企业市场竞争力。JIT采购最初丰田公司(Toyota automobiles)提出且在工业生产中被广泛应用[1]。不少学者在此基础上对JIT采购的研究进行了完善,王玉燕等[2]以提高JIT采购交付效率为目标,针对几种不同的采购模型制定了相应的采购和供应策略;杨文胜等[3]以提高准时交货率为目标,分析准时采购过程中采购商与供应商决策的交互影响关系;也有部分学者针对JIT采购的批量优化进行了深入的研究,Chiu等[4]着重研究了生产环境对采购批量的影响,提出一种新的采购运输运送批量的方法;聂兰顺等[5]在以上研究的基础上,比较了不同采购运输批次策略,得到最优交付次数,对JIT采购进行了优化决策。

在实际生产中,路径的合理规划对JIT采购运输同样重要,车辆调度作为影响采购路径优劣的决定性因素,逐渐引起学术界的广泛关注[6-7]。现实中JIT环境下货物运输的一个重要目标是尽可能地保证货物能够及时交付,因此也将此类问题看成带有时间窗的车辆调度问题(Vehicle Scheduling With Time Window,VRPTW)或将时间约束作为目标函数的一部分加入VRP模型中,可看作是“软”时间窗,即多目标车辆调度问题(MVRP)[8]。众多学者从算法和模型两方面对此类MVRP问题进行了完善,一部分学者在MVRP模型的基础上加入条件约束,确保配送效率的同时降低了问题的求解难度[9-10];另一部分学者以MVRP为背景,将人工蜂群算法和禁忌搜索算法相结合来增加初始种群的多样性,并通过引进复制和迁移算子,改变粒子的编码方式且提高算法的精确性[11-12]。

随着对JIT运输的深入研究,白国仲[13]比较了JIT运输模型与其他运输模型,认为基于JIT管理的多品种、多物资的运输问题不同于传统的运输问题,也不同于带时间窗的车辆路径问题。早期研究者为了尽可能降低JIT采购运输费用,采用整合运输、循环取货路(MILKRUN)等优化方法解决此类问题[14-15],但此类运输优化方法虽然降低了采购费用,易导致车辆利用率过低、边线库存较大等问题[16]。因此,部分学者认为JIT采购运输时必须考虑与生产环节的有效衔接[17];李昆鹏等[18]和Chang[19]以最小化运输总成本为目标,建立了基于JIT的3PL运输协调调度模型,通过仿真实验验证其模型的有效性,但是目前3PL运输多数是同时服务多个制造商,其生产调度必须服从运输工具调度,不能及时响应各制造商的生产需求。因此,在研究JIT采购的运输调度问题时,既要符合多品种、多频次、小批量的运输特点,也要考虑采购过程中需要各批次之间的相关性对优化运输路径和运量的影响。

在满足采购运输过程中生产不中断的前提条件下,从物流运输的角度,JIT采购的VRP问题也可以用配送领域的多目标优化算法来解决[20]。目前现有的多目标优化算法,如遗传算法、禁忌算法在求解时往往易陷入局部最优,导致搜索效率较低,使Pareto解集分布不均衡或提高了解集的精确性而忽略了求解的多样性[21-22]。因此,不少学者在解决此类问题时发现虽然人工蜂群算法(ABC)全局搜索时的策略的单一性,且易陷入局部最优,但与遗传算法、禁忌搜索算法相比,人工蜂群算法的信息共享机制是不同的。因此,针对传统的开发搜索效率低、随机性差、易陷入局部最优等缺点,通过改进随机搜索策略和传统搜索算子,提出了一种改进的人工蜂群启发式算法,提高了求解质量和搜索效率,并通过结果表明,改进的人工蜂群算法是解决车辆路径问题的一种新方法[23]。

在求解多目标优化问题时,由于算法每次迭代过程都会出现新的非支配个体,但标空间内非劣解集规模是有限的,因此如何增加pareto解集的多样性,同时保证解集中个体均匀分布在目标空间,也逐渐成为研究的重点。Yang[24]将网格排序、网格拥挤距离和网格坐标点距离引入到进化算法(MOEAS)迭代中,来区分个体在搜索选择过程中的差异,并利用邻域和网格优势关系调整个体适应度的调整策略,以避免局部过度拥挤;实验结果表明了该算法在均衡收敛性和多样性方面的有效性和竞争力。本文在满足JIT采购运输特点的条件下,考虑到运输批次之间的相关性对车辆调度的影响,以最小化车辆使用数和总路径为目标,建立了双目标模型,并设计一种自适应网格的人工蜂群算法(GAMOABC)进行求解;通过对目标空间进行划分网格,确定解集规模,保留每个网格内部中当前搜索到的非劣解,增加解集的多样性;同时利用人工蜂群算法对网格内靠近PF的解,实现有针对性、高精度的搜索,并在通过引入位置共享机制,在跟随蜂动态搜索后与当前网格内的引领蜂进行位置共享操作,进一步提高了算法的精确性,由于算法迭代过程中仅保留了引领蜂与跟随蜂两种角色,减少了参数设置,有效地提高了搜索效率。

1 模型建立与假设

如图1所示采购运输过程,具体问题可描述为:在JIT采购模式下,生产商需要采购n种原料,N={1,2,…,n}表示原料集合,每种原料j,j∈N的需求量为q j。生产商从物流公司租赁K辆车运输,车辆k,k∈K,车载量为Q。从生产商出发,从供应商M j,j∈N处开始安排采购,直到车辆满载后返回生产商处并将运载的原料放入原料库,确保运输中生产不中断。采购运输中生产商以一定的消耗速率u j消耗原料j。求解目标是在JIT采购模式下,安排运输的同时优化车辆数与总运输距离。

图1 采购运输路线

假设条件:(1)原料j,j∈N有初始库存为C j,且库存容量无限;(2)生产商租赁的车辆的型号,运载能力相同;(3)生产准备时间和原材料卸载时间忽略不计;(4)生产商是从0时刻开始运输物料;(5)每种原料仅由一种供应商提供。

1.1 参数说明

模型中所用符号说明:

N={1,2,…,j,…,n}:所需原料的集合。

K={1,2,…,k}:所有租赁的车辆集合。

m={1,2,…}:车辆的运输次数。

M i:原料i的供应商。

u j:原料j的消耗速率。

r j:原料j所需的数量。

C j:原料j的初始库存。

t ij:从供应商i到供应商j的运输时间/距离。

Q:租赁车辆的运载量。

t:当前时刻。

t′:前时刻。

决策变量:

若第k号车,第m次运输时,若供应商i紧前于供应商j被遍历,其值为1;否则,为0。

若使用第k辆车其值为1;否则,其值为0。

若原料j没有被车辆k第m次采购,则令采购量的值为0;若原料j被车辆k运输在第m次采购,则根据权值po(k,j)计算的此次运输的采购量,且po(k,j)∈(0,1);若原料j被车辆k运输在第m次采购,且当前待运量小于其权值计算的采购量,则令其值为待运量,即:r j-其中,po(k,j)表示车辆k与原料j的对应权值。

1.2 调度模型

基于JIT采购的车辆路径调度模型构造如下:

公式(1)表示最小化运输车辆的数目;公式(2)表示最小化运输完成的总距离;公式(3)和公式(4)表示原料总需求量远大于单车运载量且总运输批次大于1;公式(5)确保供应商在运输中至少被车辆遍历一次;公式(6)每次采购运输的原料量不能超过单车的运载量;公式(7)表示车辆k第m次运输完成时间且采购中不能中断;公式(8)表示第m批原料的采购交付时间小于或者等于当前原料消耗最快、最先不能满足生产需要的要料时间;公式(9)表示当每次运输的原料交付时,当前库存应无限接近为0;公式(10)表示当运输完成时,总运输量与原料需求量相等。

1.3 JIT对运输调度的影响分析

JIT模式下的采购运输调度,不仅要保证采购中生产的连续性,且在安排车辆调度时还要考虑“准时化”“零库存”的运输问题。因此在进行生产-采购运输调度时既要使车辆在各原料的需求时间之前到达,使生产能够连续稳定的进行;也要使各原料的当前库存应接近为0,减少出现库存积压的现象。基于上述的特征,本文将原料采购过程中的影响因素分为静态影响因素与动态影响因素两种,并且在运输调度模型中加入特征约束。

影响因素:(1)静态因素包括车辆的运输能力、生产原料的需求量以及生产原料消耗速率等相对固定不变的影响因素;(2)动态因素包括当前原料的需求时间、当前各原料的库存量以及车辆的运输到达时间和运输路径等随生产进行而不断发生改变的影响因素。

特征约束:(1)每批次的采购运输调度必须保证当前采购的原料量可以满足以下批次运输到达时间内的原料消耗量(公式(8));(2)在运输调度模型中加入JIT的时间约束,保证所需原料在其需求时间以前如数运到,且要尽量缩小运输的到达时间与每批次的原料需求时间,使各原料的当前库存接近为0(公式(9));(3)为了使所需原料能够均衡地投入到生产中,减少原料的库存堆积,实现零库存,令采购车辆在每批次的运输调度中尽可能的多遍历几种原料的供应点,且每批次采购的原料量不超过车载量(详见2.3节)。

JIT对模型目标的影响:本文以最小化车辆数目与总运输路径为目标,针对JIT的约束和特征对目标的影响进行分析,当每批次采购运输遍历的原料种类增加时,易导致运输路径增加、各批次原料交付量减少,易导致生产中断。为了满足JIT对运输调度的强约束,不少企业通过增加运力资源,然而当使用车辆数的变化时,当前原料库存、运输调度均受到影响,如图2~图5所示。

图2 车辆-运输时间/距离关系图

图3 车辆-采购交付量关系图

图4 车辆-原料j变化图(车辆数目较大)

图5 车辆-原料j变化图(车辆数目较小)

图2 中随着车辆数增加时,每辆车遍历的原料供应商种类减少,易导致单批次采购交付时间提前,单批次运输距离减少,因此,单批次采购交付时间/距离与车辆数目增加呈负相关。

图3中随着遍历的原料供应商种类减少,相应每辆车采购的原料量占车载量的比例增加,因此,单批次采购交付量与车辆数目增加呈正相关。

图4中当车辆数目较大时,单批次原料交付量较大,当前原料消耗完成时间远大于单批次采购交付时间,采购频次减少,易造成生产库存堆积。

图5中当车辆数目较小时,单批次采购交付时间较接近当前原料消耗完成时间,单批次原料交付量较小,采购运输频次增加,易导致生产中断。

1.4 问题复杂性分析

本文在JIT采购模式下,为了保证生产的连续性,根据原料的消耗速率和生产现状制定采购运输计划。但是在考虑实际问题时,生产所需原料种类较多,往往需要遍历多个供应商,因此车辆的选择、采购路径优化、各批次原料种类和运输量的确定对本文都至关重要,本节以最小化车辆数目与总运输路径为目标,进行问题分析。JIT采购下的多目标车辆调度问题的实质不仅是采购运输中的路径优化问题,也是车辆在运输中的资源配置问题;相较于MVRP问题,不仅考虑了运输批量的变化对路径优化的影响,且在采购运输中需要满足生产约束、数量约束、批量约束和运输约束,提高了约束条件的复杂性。如,批量约束,即体现在原料需求量与车载量(公式(3)、公式(4)),也体现在决策变量在采购运输环节的取值范围。数量约束,即体现在运输量与需求量(公式(10))、运输量与车载量(公式(6)),也体现在交付时刻的库存量(公式(9))。生产约束,体现在运输采购环节中要保证生产不中断(公式(7)、(8))。运输约束,即体现在运输采购环节(公式(5)),也体现在车辆与采购量的对应关系(公式(6))。

基于问题的NP性和人工蜂群算法的特征,提出一种改进的人工蜂群算法进行求解。在标准的人工蜂群算法中,待优化问题解首先编码成蜜源位置,之后通过引领蜂、跟随蜂和侦察蜂三类蜜蜂合作进行问题求解。相较于其他算法,三类不同个体间分工-协作的求解过程,为智能进化算法对解空间探索开发能力的平衡提供了算法结构基础。算法需要设定参数包括种群规模、引领蜂局部寻优次数和算法循环次数[25]。

具体思路如下:首先,采用二维权值矩阵的编码方式实现车辆与原料之间的对应关系。其次,为进一步提高算法效率,在解码过程中根据权值优先级设计了启发式信息指引算法搜索(详见2.3小节)。最后,为平衡pareto解集的收敛性和多样性,提高算法搜索精度,并克服算法中参数设置过多和搜索效果差的问题,提出一种基于自适应网格的多目标人工蜂群算法(GAMOABC)进行求解(详见2.4节)。问题与算法逻辑关系详见图6所示。

2 自适应网格的多目标人工蜂群算法及启发式信息设计

2.1 算法改进设计

为求解上述多目标优化问题,更好地平衡pareto解集的收敛性和多样性,提出一种基于自适应网格的多目标人工蜂群算法(GAMOABC),针对标准人工蜂群的编码、解码、算法流程等做了如下改进,算法核心内容与多目标优化关系如图7。

图6 问题-算法逻辑图

图7 算法核心-多目标优化关系图

改进思路如下:首先,在目标空间内根据种群内引领蜂个数划分网格,使引领蜂覆盖在整个目标空间内,保证pareto集的多样性及解空间的有效性,跟随峰在搜索时可以根据划分的每个网格内的引领蜂的当前位置进行邻域搜索,使其对引领蜂的周围既能兼顾更大范围搜索提高搜索结果的多样性,又能更精细化地进行局部搜索,提高算法的收敛性。其次,跟随蜂针对当前引领蜂的坐标信息进行随机动态搜索和邻域搜索,跟随蜂种群不仅根据每个网格内引领蜂的位置进行局部寻优,且引入转换函数计算跟随蜂动态随机位置,并进行邻域随机搜索,既能兼顾局部搜索的精确性,也能够增加搜索范围。最后,为了对网格内靠近PF的解进一步有针对性、高精度的搜索,基于动态位置计算的跟随蜂适应值与目标空间各网格内的引领蜂适应值进行pareto判断,完成二者之间的位置信息共享,以此来跳出局部最优,进一步提高解集的多样性。

2.2 编码设计

在研究面向JIT采购的多目标车辆调度问题时,为了满足生产约束,便于安排车辆进行原料采购运输,因此利用二维权值矩阵表示车辆与各需求原料的对应关系,每个优先权值表示每批次车辆与各原料的运输优先级,当某一批次要安排原料运输时,确定当前最早消耗完成的原料种类,根据矩阵中对应的优先权值确定运输车辆,并在解码过程中依次确定混载运输原料集合、采购运输路线和车辆的采购交付时间,判断是否满足约束条件;若不满足,选择矩阵中次优先权值对应的车辆安排运输,直到满足约束条件,保证生产能够稳定连续的进行。

如图8表示车辆与各原料对应的权值矩阵。图8中p0(1,1)表示车辆1与原料供应商1对应的权值,以此类推,如:p0(v,z)表示车辆v对应原料供应商z的权值;其中,v表示车辆编号(v∈K),z表示原料供应商编号(z∈N)。

图8 车辆与原料对应权值矩阵

2.3 解码过程

设定原料的需求量为r j,起始库存为C j,解码前所有车辆均可用且采购运输开始时间为0。在保证生产不中断的条件下,解码过程依据车辆与原料对应的优先权值大小,安排车载量为Q的车辆k进行采购,依次得到车辆的到达时间原料的运输量,最终得到目标函数f1、f2的运输方案。具体步骤如下:

步骤1确定可用车辆数目K。

步骤2更新车辆的使用状态、原料的运输状态。

步骤2.1若当前时刻t为0,即t=t′=0,车辆均未被占用,所有原料均未安排运输,则转入步骤3。若当前时刻t不为0,且已安排车辆采购,各采购车辆的交付时刻等于当前时刻t,则卸载采购的原料j,更新车辆的使用状态,记录此次原料j的运输量,并根据公式(11)计算当前时刻相应原料的库存。若当前时刻t不为0,且已安排车辆采购,各采购车辆的交付时刻等于当前时刻t,则卸载采购的原料j,更新车辆的使用状态,记录此次原料j的运输量,并根据公式(11)计算当前时刻相应原料的库存。

步骤2.2根据公式(12)和公式(13)判断当前原料是否被运输完成,若原料均被运输完成,则转入步骤4。

步骤3确定调度集合,安排运输。

若原料未被采购完成,确定待运输原料集合J,J⊆N中,并安排运输,记录车辆使用次数、此次运输的开始时间、运输的结束时间的调度集合中原料的运输量。

步骤3.1根据公式(14)确定当前待运输原料集合J中最早消耗完成的原料j,将原料j的最早消耗完成时间作为此次运输的最晚到达时刻。将原料j供应商作为此次采购运输的首个遍历点,从当前可用车辆集合中选择对应优先级最高的车辆k*安排采购运输,若车辆集合中无可用车辆或集合为空,则解码失败;若找到可用车辆k*,则利用公式(15)和公式(16)计算车辆k*开始时间和采购交付时间,并根据公式(17)判断采购交付时间是否大于最早消耗完成时间,若是,则从当前可用车辆集合中选择对应权值优先级次之的车辆k*安排采购运输,并重复上述步骤,若找到车辆k*可满足生产约束,则令值为1,并转入步骤3.2;若遍历完车辆集合后仍未找到可用车辆k*,则解码失败。

其中,t0j表示生产商到原料j的采购运输时间,令生产商的节点为0且t j0与t0j运输时间相等。

步骤3.2将当前采购的原料j加入此次混载运输的原料集合∅中,并标记为j*;利用公式(18)和公式(19)选择当前待运输原料集合中未被标记过的原料集合中距离原料j*供应商最近的原料i*安排采购,并利用公式(20)和公式(17)判断车辆k增加采购原料i*后的交付时间是否大于;若是,则根据公式(22)计算此次采购运输的交付时间并转入步骤3.3;否则,令值为1公式(21),并重复以上步骤直到待运输原料均被遍历(为空集),利用公式(22)计算此次采购运输的交付时间并转到步骤3.3。

步骤3.3确定当前混载运输原料集合∅,令的值为1,并利用公式(23)和公式(24)计算采购量。方法是:根据∅中原料j与车辆k对应的权值计算采购量,若超过原料j的待运量,则等于原料j的待运量;若不超过原料,则令采购量等于

步骤3.4令t′=t,利用公式(25)移动当前时刻t到当前使用车辆最早采购交付时刻,并转入步骤2。

步骤4若原料已完成运输,表示调度任务已经完成,遍历当前可选用车辆K,根据公式(26)记录运输车辆k的编号,并利用公式(1)和公式(2)计算f1、f2,输出调度方案,解码结束。

2.4 算法步骤

算法运行前,需要设定的参数有:蜂群总数N、引领蜂规模Ne、跟随蜂规模Nb,即:N=Nb+N e。

步骤1任选其中一个目标函数f1,估算网格在任意一维上的最大值()、最小值(),并根据一维网格最大、最小值,确定网格的上下边界值()。

步骤2根据解(引领蜂)的规模,在一维坐标轴上划分网格,并确定一维坐标轴上各个网格的间距(具体详见2.4.1小节)。

步骤3初始化种群N e后,随机生成引领蜂e的位置(e∈N e)。根据一维网格r内的上下界,由公式poe(i,j).f1=确定引领蜂在该网格r中的位置,并将第二维设为最大值,即poe(i,j).f2=max_number。其中,为一维网格i上最小边界值;c1为各个网格的间距;Rnd∈(0,1)。

步骤4网格中的引领蜂位置通过跟随蜂的邻域搜索进行更新,具体方法如下:

步骤4.1选定一个待开发网格;令r=1。

步骤4.2随机生成种群规模为Nb的跟随蜂,以选定的网格r(r=1,2,…,N)中引领蜂位置为中心对每只跟随蜂q(q=1,2,…,Nb)计算跟随蜂q的动态随机位置及其适应值(具体详见2.4.2小节)。并依据定位后的跟随蜂适应值确定在网格中的位置,更新相应网格内引领蜂位置信息(具体详见2.4.3小节)。

步骤4.3若跟随蜂种群对当前网格r内的引领蜂进行了更新,则令跟随蜂寻优次数计数器t=1;否则进化代数t=t+1,若t>Nb,则退出对该网格r的邻域搜索转入步骤4.4,否则转入步骤4.2继续搜索。

步骤4.4选定下一个网格,令r=r+1,确定网格中的引领蜂,若r>N,则退出本次对所有网格的邻域搜索;否则,令t=1,转入步骤4.2。

步骤5由种群搜索的Pareto解与已知网格边界解进行Pareto判断,若搜索结果是已知边界的支配解,则调整网格边界(具体详见2.4.4小节),并转入步骤4;否则转入步骤6。

步骤6通过Pareto判断网格中的解是否为效解,并统计有效解个数,算法结束。

2.4.1 网格构建

首先,任选两个目标中其中一个目标f1,计算f i函数在单目标情况下最大值、最小值,并以此为依据确定任意一维坐标轴上的最大和最小值;其次,根据引领蜂规模Ne,在一维坐标轴上尽量均等地划分网格。根据一维坐标上,确定每个网格边界的距离长度如公式(27)。一维网格坐标下界由开始(即)依次加网格长度c1,由公式(28)计算得出。

如图9,f1、f2为两个目标函数,在只考虑单目标f1的情况下,令f2取值为无限大,为60、为20;设种群中引领蜂个数为10,Max_N表示无限大,据公式(27)和公式(28)计算出一维坐标c1的值为4。

图9 网格构建

2.4.2 跟随峰位置更新

标准ABC算法使跟随蜂的搜索位置会较均匀地分布于引领蜂周围空间,但却不能使跟随蜂既密集搜索引领蜂的邻域空间,又可以跳出该邻域空间的束缚,且随进化代数增加实现对邻域空间更高精度搜索[26]。本文在文献[26]的位置信息共享机制的基础上,以网格r内引领蜂位置为中心,随机生成跟随蜂种群Nb,利用公式(29)对跟随蜂进行邻域动态随机定位。

转换函数公式(29)提高算法多样性与收敛性主要体现在以下方面:首先,ln(rnd/(1-rnd))使(0,1)之间的随机数较大概率地分布于0值周围,同时又有小概率的较大值,使得跟随蜂可以兼顾引领蜂附近及其周围更远的邻域,增加解集的多样性。其次,函数0.5t作为ln(rnd/(1-rnd))的聚焦因子,随进化代数的增加,跟随蜂可实现对引领蜂周围更密集地搜索,逐步提高搜索精度。其中为引领蜂的坐标信息rnd∈(0,1);为新跟随蜂的坐标信息;t为跟随蜂寻优次数计数器。

2.4.3 引领蜂位置更新策略

图10 引领蜂位置更新

2.4.4 网格边界更新策略

跟随蜂对当前网格内引领蜂进行动态搜索后,若搜索结果是相对于已知边界(如f1上界)的支配解,或者邻近最大边界的网格中不存在Pareto最优解,则由搜索后的Pareto解集中f1上界的最大值替换当前网格中f1的上界值。在边界更新后,为了保持网格个数不变,利用公式(27)更新一维各网格长度c1,并由公式(28)计算坐标下界。对原网格解在新划分的网格中重新定位,新网格中确保每一个网格内只有一个解。

表1 原料属性表

对边界调整后生成的空网格,参照公式poe(i,j).f1=随机生成引领蜂位置,并再次从引领蜂起始网格开始搜索。边界更新后的目标空间中,网格个数没有变化,只是增加了目标空间内可行解的多样性,进一步提高了算法搜索精度,此时目标空间内引领蜂位置随机地生成可以使算法更加精确,且后续跟随峰针对引领蜂的局部搜索既能提高解集的精确性,也能够提高解集的多样性。

3 实验分析

3.1 参数设定

3.1.1 测例参数设定

假设某公司最大可租赁车辆数为10,额定载重为7 t的车辆在平直道路上行驶,且无交通拥堵情况出现,车辆前往5个原料供应商运输原料,车速恒定不变,10个测例中各原料需求量、消耗速率如表1,供应商之间距离如表2所示。

表2 多种原料供应商和配送点之间的运输距离km

3.1.2 算法参数设定

为提高搜索效率,在算法中加入启发式信息,形成带启发式的基于自适应网格的多目标人工蜂群算法(GAMOABC)。因此,本文采用VB.NET,编译环境为Microsoft Visual Studio 2010专业版,操作系统为Windows 7 Ultimate实现算法。以表1、表2中的数据为例,对GAMOABC的效果进行测试。改进的人工蜂群算法参数主要有:蜂群的规模N、引领蜂个数Ne、跟随蜂个数Nb、具体参数设计见表3。

表3 算法参数设定

3.2 算法实验分析

为验证改进算法的有效性,本文利用表1中的10个测例,将基于自适应网格的人工蜂群算法(GAMOABC)和NSGA-II、MOEAS同时用来求解本文的问题模型。设定NSGA-II的交叉概率pc=0.8,变异概率p m=0.1,循环次数为50。每种算法在相同参数和测例下运行10次,比较3种算法运行的结果(见表4)。从表4中可以得到:GAMOABC算法、NSGA-II和MOEAS算法分别通过运行10个测例,每个测例运行20次后得到的Pareto解集;其中,第4、5、6、10个测例运行后求解的Pareto解集的多样性要明显好于NSGA-II和MOEAS求解的解集;第8个测例运行后求解的Pareto解集中大部分解可以支配NSGA-II和MOEAS的Pareto解集中的部分解;第1、2、7、9个测例运行后求解的Pareto解集的多样性虽然不明显,但明显可支配NSGA-II和MOEAS求解后得到解集。

表4 算法运行结果对比

3.3 模型对比分析

为保证在采购运输中生产不中断,本文提出一种多批次、小批量的JIT采购运输策略,为了进一步说明采购运输策略的有效性,通过与文献[5]中提到的两种运输模式Model-I、Model-II进行对比,设定相同车载量(Wt)和固定的需求量(1 596 t)在仅考虑运输成本的条件下与本文采用的运输策略进行对比,各项计算结果如表5所示。得到运输频次与运输成本,从运行结果可以得出,当运输频次较小,每批次采购批量较大时,本文运输费用比为Model-I的运输费用增长16.28%,当运输频次较大,每批次采购批量较小时,本文的运输费用比Model-II减少15.46%;综上,当采用小批量、多批次采购运输时本文的JIT采购运输策略优于文献[5]Model-II运输策略。

表5 模型结果对比

3.4 算法性能分析

本文研究的JIT采购下的多目标车辆调度问题,本质上是多目标优化问题,因此为验证所提出的GAMOABC算法在求解多目标优化问题的有效性,以同样的模型和参数(如表3)对ZDT测试套件的5个双目标MOP(ZDT1~ZDT4和ZDT6)用于实验研究。为验证本文提出算法所获得非支配解的多样性和精确性的效果,GAMOABC算法与对比算法在每个测试实例上执行30次独立运行,并取均值和标准偏差作为评价标准并选择IGD指标[27]来量化算法性能。实验选择MOEA/D[28],MOEA/IGD-NS[29]及NSGA-II[30]作比较算法,实验结果见表6。从表6中可以看出,本文所提出的算法在ZDT1~ZDT4、ZDT6上的优化效果均显著优于其所有比较算法(MOEA/D、MOEA/IGD-NS、G-NSGA-II、R-NSGA-II)。从标准偏差上看,所提出的算法在个体间的离散程度较小。通过上述分析,可以发现本文所提出的算法在IGD指标方面能够取得较好的效果,表明所提出的算法能够获得较好质量和分布性的非支配解集。为直观地展示所提出的算法获得非支配解的质量和分布情况,选取算法30次运行的最好结果绘制非支配解集的分布,图11给出了部分测试函数的非支配解集的分布图。通过对以上指标的数据分析及分布图可以发现,所提出的算法能够获得具有较好质量和分布性的非支配解。

4 结语

随着市场经济的高速发展,现代管理技术和方法广泛应用于企业中,企业一方面需要准时交付,保持生产的连续性,另一方面,在JIT采购的运输中,除了考虑提高交付效率,还需要降低运输成本。本文以连续生产型企业为背景,将生产中的JIT采购与车辆路径问题相结合,提出了一种小批量、多周期、可拆分的采购运输策略,同时考虑了最小化车辆使用数与运输总路径最小化的多目标的车辆路径优化调度问题;研究结果表明,本文提出的JIT采购下的多目标车辆路径优化模型与算法是有效的,可以适应于在安排采购时既考虑了车辆的使用也需要考虑路径均衡的企业。

表6 六种算法的IGD指标的实验结果比较

图11 非支配解集分布图

猜你喜欢

蜂群原料公式
组合数与组合数公式
排列数与排列数公式
水磨石生产原料的制备(三)
水磨石生产原料的制备(二)
等差数列前2n-1及2n项和公式与应用
“蜂群”席卷天下
严把原料采购关,才是对养殖负责
例说:二倍角公式的巧用
改进gbest引导的人工蜂群算法
蜂群夏季高产管理