基于AnyLogic的洗护用品生产计划仿真
2021-03-24马薇薇
摘要:在过去的几十年中,混合流水车间调度问题受到了学术界的广泛关注,并取得了不错的研究成果。但是该类问题的研究仍然限制于理论层面,很难将其真正应用在企业实际生产之中。本文以某洗护用品生产厂商为研究对象,利用AnyLogic中基于智能体的建模方法,根据实际生产流程搭建仿真模型。并且设计了一种新的调度规则应用于实际生产,根据企业的实际生产任务数据进行仿真实验,并对生产数据进行了分析。
关键词:AnyLogic;混合流水车间;仿真
1 引言
混合流水车间(Hybrid Flow Shop,HFS)是生产制造业广泛存在的一种生产组织形式。二十世纪七十年代,Salvador首次提出了混合流水车间调度问题。在过去的几十年中,该问题在工业工程、运筹学、计算智能等领域获得了广泛关注,目前取得了很大的研究进展。一个优秀的混合流水车间生产调度方案可以帮助生产厂商缩短生产周期、提高机器利用率、节约人力物力成本等。但是该类问题的研究仍存在很多问题,例如模型过于简化、约束条件过于简单等,造成了对该问题的研究仍然限制于理论层面,很难将其真正应用在企业实际生产之中。
混合流水车间调度问题根据求解方法不同,主要可以分为精确方法、近似方法和混合方法。精确算法虽然能够求得问题的最优解。但是,即使针对最简单的两阶段混合流水车间调度问题也属于NP-hard问题。当问题规模扩大,可行解的数量会呈现指数级别的上升。所以,这类方法仅局限于小规模问题的求解。
近似算法虽然不能求得问题的最优解,但能够短时间内求解得到一个满意的解,因而得到广泛应用。近似方法又称为启发式算法,可以分为构造启发式和优化启发式。基于规则的优先级调度就是一种常见的构造启发式方法。并且在针对大规模的现实问题时,该方法应用简单,求解效率高,因而具有较高的现实应用价值。例如Brah等人针对实际生产车间,搭建了仿真模型。通过在仿真模型中应用不同的调度规则来研究了不同调度规则对生产结果的影响,并最终选择了最短作业优先规则应用于实际生产之中。Thornton等人提出了在Johnson规则基础上结合先到先服务规则应用于生产调度问题之中,并取得了不错的应用成果。Kia等人通过实验比较7种不同调度规则的使用效果。实验结果证明最小剩余工时优先与Wilkerson和Irvin法则效果最好。
AnyLogic是一款得到广泛应用的支持多种建模方法的仿真软件,例如基于智能体的建模方法。这种建模方法可以建立起分布式计算模型。也就是通过建立一个多智能体模型,这个模型由多个独立自治的智能体组成,使得模型的数据资源等分散在各个智能体之中,各个智能体都具有一定独立计算的能力,通过智能体之间的通信协作共同完成复杂的计算任务。相较于一般的集中计算模型,即所有计算均通过一个模型完成,再根据计算结果将工件分配给机器,机器只是被动地接受结果,而非主动参与到计算过程中。这种分布式的计算方法针对现实中的大规模问题,求解效率更高。所以可以利用AnyLogic软件中基于智能体的建模方法搭建仿真模型,模拟企业的实际生产流程,从而解决实际生产中的混合流水车间调度问题。
基于此,本文借助AnyLogic中基于智能体的建模方法,根据实际生产流程搭建仿真模型,通过设计调度规则应用于实际生产中,帮助企业提高生产效率。
2 问题描述
混合流水车间调度问题可以描述为 个任务需要经过多道工序的加工,每个阶段具有多台机器。所有任务具有相同的加工流程1。需要为任务分配加工机器以及安排好任务在机器上的加工顺序,最终完成所有生产任务2。
根据生产阶段之间是否存在存储区以及存储策略的不同,可以将混合流水车间调度问题分为无限中间缓冲问题、有限中间缓冲问题、无中间缓冲问题和零等待问题3。
本文以某液体洗护用品生产企业为研究对象,该企业的生产过程主要可以分为三个阶段。首先,锅炉将原材料烧制成相应的液体洗护产品,然后由管道运输至存储罐进行临时存储,最后在灌装线上完成产品灌装。所以该问题属于带有有限中间缓冲约束的混合流水车间调度问题。即当锅炉完成对生产任务的原材料烧制之后,将锅炉中烧制完成的材料转移至存储罐进行临时存储。并且存储罐的存储空间是有限的。如果不存在合适的存储罐用来转移烧制完成的材料,则该任务仍然占据锅炉的使用空间,造成该加工机器的堵塞,没法对下一个任务进行加工。
该生产车间一共有8个锅炉,18个临时存储罐和10条灌装线。任务在同一生产阶段的不同机器上进行加工,所需的加工时间不同,属于不相关并行机4。也就是说同一个生产任务在不同锅炉上进行原材料的烧制所需的烧制时间是不同的;选择不同的灌装线进行产品灌装,所需的灌装时间也是不同的。并且每个任务可加工的机器也存在着限制,并不是在所有机器上都能进行加工。相邻生产阶段的两个机器之间采用管道的形式相互连接,并且机器之间存在连接限制。一个锅炉连接着若干存储罐,一个存储罐连接着若干灌装线。所以在为任务选择合适的机器进行加工时,不仅需要考虑是否能在该机器上加工,同时需要考虑下一生产阶段的机器与该机器的连接关系。
由于该企业生产的是液体洗护用品,需要将不同的原材料烧制成相应的液体产品,再进行灌装。所以当锅炉上烧制不同种类的原材料时,首先需要清洗锅炉,待锅炉清洗完成之后才能进行下一个任务的原材料烧制。当灌装线上需要灌装另一种类的产品时,也需要一定时间切换灌装工具,待工具切换完成之后,才能进行下一个任务的产品灌装。清洗锅炉的时间与相邻两个烧制任务所需原材料种类以及烧制的锅炉相关;切换灌装线的时间与相邻两个灌装任务所需灌裝的产品种类以及灌装的灌装线相关。
3 仿真模型建立
本文借助AnyLogic中基于智能体的建模方法,根据实际生产流程搭建仿真模型5。该多智能体模型由任务智能体、锅炉智能体、存储罐智能体和灌装线智能体组成。通过一定的调度规则与智能体之间的通信协作,共同完成复杂的生产任务。
3.1 任务智能体
任务智能体是企业实际的生产任务,通过外部数据库导入,包括生产任务的编号、原材料类别、产品类别、加工时间等基本信息。在仿真模型运行开始时,首先会根据这些外部输入的生产任务数据生成相应的任务智能体群。所有任务智能体与数据库中的生产任务信息一一对应,一条生产任务数据就对应一个任务智能体。在仿真模型运行过程中,任务智能体会将实时生产数据记录下来,包括各个任务分别安排在几号机器,开始加工时间、结束加工时间等。最终,这些生产数据会Excel表格的形式输出系统。
3.2 锅炉智能体
处于空闲状态的锅炉智能体会根据一定的调度规则选择生产任务进行原材料的烧制。如果找到了可以加工的生产任务,在对任务进行加工之前,首先需要判断该任务的原材料种类是否与紧前任务相同。如果不同,则首先需要对锅炉进行清洗。当清洗完成之后,才能对该任务对应的原材料进行烧制。待原材料烧制完成后,会根据一定的调度规则,选择合适的存储罐存储这些烧制完成的材料。直到所有生产任务均已完成原材料的烧制,则锅炉智能体进入最终状态,完成生产。锅炉智能体的逻辑流程如图1所示。
3.3 存储罐智能体
任务在锅炉上完成原材料的烧制后,将其转移至存储罐进行临时存储。存储罐智能体按照一定的调度规则寻找合适的灌装线,并且通过向该灌装线智能体发送特定消息的形式,触发灌装线智能体对该任务进行灌装操作。
3.4 灌装线智能体
灌装线智能体首先处于闲置状态,直到接收到存储罐智能体发送的特定消息时,表示需要对该生产任务进行第三阶段的加工——产品灌装,灌装线智能体才离开闲置状态,开始加工。在灌装之前,首先需要判断该任务的产品种类是否与紧前任务相同。如果不同,则首先需要切换灌装工具。等到切换工具完成,再进行产品的灌装。直到所有生产任务均已完成产品的灌装,则灌装线智能体进入最终状态,完成生产。灌装线智能体的逻辑流程如图2所示。
4 調度规则简介
本文所提出的调度规则是基于该企业的实际生产,产品的生产过程主要可以三个阶段:原材料烧制、临时存储、产品灌装。当同一锅炉上连续烧制两种不同的原材料时,需要先对锅炉进行清洗。当同一灌装线上连续烧制两种不同的产品时,需要先切换灌装工具。该企业依靠经验丰富的老师傅通过人工排产的方式制定生产计划。为了尽可能减少清洗锅炉和切换灌装工具的时间,该企业根据将相同原材料的任务安排在同一锅炉上,相同产品的任务安排在同一灌装线上的原则安排生产,同时注意协调好各个机器上的工作量。
在该人工排产规则基础上,本文提出调度策略如下:
4.1 将原材料分配到锅炉进行烧制
每个生产任务都有对应的原材料,每种原材料可以在若干个锅炉上进行烧制且在不同的锅炉上加工的时间并不相同。首先挑选出可以对该原材料进行烧制的所有锅炉,根据烧制所需时间进行排序,将所有原材料相同的生产任务安排在加工时间最短的锅炉上。
4.2 均衡锅炉的任务量
将相同原材料的生产任务安排在同一锅炉上,可能导致各锅炉的工作量不均衡。为了均衡工作量,当某个锅炉完成所有生产任务时,会帮助其他锅炉分担生产任务。具体规则如下:首先选择待加工任务数最多的锅炉。如果该锅炉上有多种原材料需要进行烧制,则选择在这个空闲锅炉上所需烧制时间最短的,将相同原材料的任务全部从该锅炉转移至这个空闲锅炉上进行烧制。如果所有待加工的生产任务均属于同一种原材料,则与该锅炉共同完成剩余任务的烧制。
4.3 临时存储罐的选择
当锅炉上完成原材料的烧制后,如果存在与该锅炉相连且空置的存储罐,则将其转移至该存储罐;否则仍然占用该锅炉。当锅炉被占用时,就不能进行下一个原材料烧制任务。
4.4 灌装线的选择
存储罐内的产品需要选择灌装线进行最后一步的产品灌装。具体规则如下:在所有相连且可以对该产品进行灌装的空闲灌装线中,如果存在不需要切换灌装工具的灌装线则选择灌装时间最短的。否则选择切换灌装工具时间和灌装时间的总和最小的。
5 仿真结果分析
根据该企业实际生产车间架构与生产流程搭建仿真模型,并以实际生产中的443个任务为例,进行仿真实验,得到各锅炉和灌装线上的加工数据如表1和表2所示。其中,“闲置时间”是指该机器完成所有生产任务后等待同阶段的其他机器完成生产的时间。
从表1可以看出,本文所提出的调度规则减少了锅炉的清洗次数,并且通过均衡各个锅炉上的工作量,使得锅炉的利用率较高。其中4、7、8号锅炉的任务量较少是因为可以在这些锅炉上加工的任务较少。
从表2可以看出,本文所提出的调度规则也减少了灌装线的清洗次数,并且通过均衡各灌装线上的工作量,使得灌装线的利用率较高。
6 小结
本文利用仿真来解决混合流水车间调度问题。本文以某液体日用品生产企业为研究对象,通过利用基于智能体的建模方法建立了混合流水车间调度问题的仿真模型。将实际生产中的生产机器,例如锅炉、存储罐和灌装线均设置成智能体,多个智能体之间相互协调,根据已设置的调度规则合作完成复杂的生产任务。这种方式可以模拟企业的实际生产流程,对模型运行产生的生产数据进行分析,可以帮助企业改善生产计划,具有一定现实意义与实用价值。
本文的研究也存在一些不足之处。在以后的研究中,可以考虑一些动态事件对车间的影响,例如机器故障等,使得研究更加贴近实际生产。
参考文献
[1] 张志鹏.基于多目标遗传粒子群混合算法求解混合流水车间调度问题研究[D].大连交通大学,2014.
[2] 任彩乐,张超勇,孟磊磊等.基于改进候鸟优化算法的混合流水车间调度问题[J].计算机集成制造系统,2019,25(3):643-653.
[3] 王炳刚, 饶运清, 邵新宇. 带有限中间缓冲区的多级并行机问题的求解[J].华中科技大学学报(自然科学版), 2009(05):91-94.
[4] 王凌,周刚,许烨,王圣尧.求解不相关并行机混合流水线调度问题的人工蜂群算法[J].控制理论与应用,2012,29(12):1551-1557.
[5] Merkupyeva G,Bolshakovs V.Vehicle Schedule Simulation with AnyLogic[C].International Conference on Computer Modelling & Simulation, 2010.
作者简介:马薇薇(1996-),女,浙江绍兴人,硕士研究生,研究方向:生产计划与调度。