王铁宁, 朱 域, 可荣博 (装甲兵工程学院,北京100074)
基于事件调度法的保障器材库存仿真控制系统设计
王铁宁, 朱 域, 可荣博 (装甲兵工程学院,北京100074)
库存管理是供应链管理中的重要环节,起到缓冲、调节和平衡的作用。作者以库存控制基本理论及仿真基本理论为基础,结合保障器材库存控制的特点,研究设计基于事件调度算法的库存控制仿真系统,为提高保障器材库存管理水平提供有力的工具。
库存控制;保障器材;事件调度法
保障器材主要采用经费限额控制条件下的,基于数量的库存控制方法,即在不超出经费限额的条件下,用器材的大量库存来满足消耗需求的不稳定性。这种传统的管理方法存在很大的局限性,造成整个器材保障系统库存量大、反应迟钝、可靠性差、效率偏低,与现代战争的快速、敏捷、精确等要求不相适应。与此同时,在库存为应对新军事变革的挑战,打赢未来高技术战争,对传统装备保障器材存储和供应体系进行调整,用速度代替数量,用流动的器材代替库存,采用供应链库存管理办法对库存进行优化控制,逐步实现器材的精确保障,已经成为器材保障改革中亟待解决的重要问题。
随着现代物流技术的迅猛发展和现代物流理论与实践的日益成熟,结合现实需要,引入先进的物流库存分类分析技术和库存管理理论,构建各级库存控制模型,通过计算机模拟仿真库存在订货和分配周期内的变化,寻求各级最佳库存点,构建战略仓库的合理库存结构,对器材维修保障经费的优化使用,订货和分配计划的科学制定,具有重要的现实意义。借鉴国内外先进的物流仿真软件开发经验,开发专用库存系统仿真软件,将为提高保障器材库存管理水平提供有力的工具。
库存系统的结构复杂,环节众多,在模型结构比较复杂或不确定型因素比较多的场合下,采用数学规划或者启发式算法进行系统分析会很困难。在这种情况下,使用系统仿真方法还可以克服算法上的困难,具有显著的优越性。系统仿真还可以在不同的层次上,分析不同约束条件和输入下,为系统的动态响应,提供决策支持。
仿真策略决定仿真模型的结构。事件调度法建模灵活,应用范围广泛,适用于成分相关性小的系统,但是事件处理子程序和建模工作量大。使用事件调度法来仿真库存系统,基本事件分类清楚,流程控制简单,所以本系统采用事件调度法作为本系统仿真算法基础。
事件调度法是面向事件的,记录事件发生的过程,处理每个事件发生时系统状态变化的结果。它采用变步长的推进方法,每推进一次仿真时钟,对每一个事件发生所引起的状态变化进行记录和处理。它的基本部件包括时间表、事件控制子程序和事件处理子程序。事件表按时间的顺序存放所发生的事件,以及这些事件的相关属性;事件控制子程序根据事件发生的间隔推进仿真时钟;事件处理子程序处理每种事件发生时系统状态所发生的变化。
目前,保障器材采取的是逐级保障为主、直达保障为辅的保障模式,在供应上采取逐级申请,逐级上报,统一订购,逐级下发的形式,是一种典型的 “纵向一体化”的供应模式。为简化仿真流程,在本仿真系统中抽象出工厂、仓库和修理单位三个基本的实体单元,模型的实体关系图如图1所示:
(1)修理单位实体
当保障器材发生故障时,修理单位向仓库请领相应的器材,之后对发生故障的器材进行换件或维修,从而产生器材消耗。在本系统的设计中,所有修理单位都按照相应的器材消耗规律产生器材消耗。在仿真的过程中,修理单位实体将记录本单位产生的每笔器材消耗明细。
(2)仓库实体
当仓库接到修理单位的消耗请领或下级仓库的订货请求时,根据本仓库的发货策略满足下级的申请。不同种类器材根据本仓库相应的订货策略进行连续检查或周期性检查并订货,以保证库存数量能够满足本级修理单位和下级仓库的需求。在仿真过程中,仓库实体将记录每一笔出入库信息,并统计缺货情况。
(3)工厂实体
工厂实体主要负责器材的生产和运送。工厂接到订货单后,开始生产器材,器材生产完毕后向相应的订货单位运送货物。在本系统的设计中,器材的生产时间计算公式为:
其中,T为总生产时间 (天),T1为生产准备时间 (天),m为生产数量 (件),V为器材的生产速度 (天/件)。在仿真过程中,工厂实体将记录每一笔订单和发货明细。
库存系统建模是一个十分复杂的系统,为了突出主要问题的研究,简化和说明问题,并根据装备保障实际,作如下主要假设:
1)每个修理单位只能由一个仓库对其进行器材供应;
2)每个仓库只能由一个上级仓库或一个工厂对其进行器材供应;每个仓库可以对一个修理单位和多个下级仓库进行器材供应;战略、战役仓库可以对战术仓库进行跨级直供;
3)每个工厂可以对多个仓库进行器材供应;
4)不考虑工厂生产能力的波动性、器材运输的安全性以及器材申请和发货的误差性等复杂随机因素的影响;
5)器材按照消耗规律曲线随机产生消耗,对每种器材消耗规律的掌握是正确的。
系统功能模块设计如图2所示。
(1)控制策略模块
在控制策略模块中,设计了多种订货策略、发货策略以及成本的计算方法。在仿真建模时,可以为每个仓库实体提供多种可选择的库存控制策略,提高建模的灵活性。
(2)模型库模块
在模型库模块中,设计了消耗规律模型库和基本的实体模型。器材消耗规律模型库用于存储单一器材或某一类器材的消耗规律曲线模型,在仿真建模时,可以从消耗规律模型库中选取要进行仿真的某几项 (类)器材,进行多项 (类)器材的库存控制仿真;仿真系统的基本实体单元有工厂、仓库和修理单位三种,在仿真开始之前,每种实体都有相应的订货策略、发货策略、成本计算方法以及器材消耗规律等属性,基本实体模型库用于储存三种基本实体单元及各自的属性设置;每次仿真后,可以将已设置好属性的某单位实体存储到具体实体模型库,以后再次对本单位实体进行仿真时可以直接调用。
(3)随机数生成模块
在离散事件仿真系统中,为再现实际库存系统的随机性,就需要使用大量的随机参数。首先用数学拟合的方法将实际系统的随机模型中再现实际系统的随机过程参数化输入模型,然后在仿真过程中使用随机数发生器产生随机序列再现系统的随机过程。
(4)仿真算法主程序
在仿真过程中,系统过程被划分为不同的基本事件,根据仿真时钟的推进和事件的优先级决定所执行的事件,并且执行相应的事件处理子程序,最终将运行过程中的数据存储以便结果输出和分析。
(5)结果分析与优化模块
在仿真运行结束后,将对本次仿真进行分析和评价,得出仿真的结果与优化策略。
(6)用户图形化界面模块
在图形界面中,用户可以通过拖放实体模型,链接供应关系和定义实体模型的控制策略,建立实际库存系统的仿真模型,简化建模过程。最后,通过图表显示出仿真运行状态和结果。
(1)仿真系统事件定义
采用事件调度法作为仿真算法首先要为库存系统进行事件的定义。事件定义依赖于系统状态的描述。对库存系统模型进行分析,定义了需求事件、订货事件、到货事件、发货和费用计算事件共4种实体事件,事件的状态及引起的状态变化如表1所示:
表1 仿真事件描述
需求事件:其含义是收到货物的需求订单并发出货物。仿真时,处理需求事件需要根据消耗规律,得到每个特定时钟的消耗量。当需求事件出现后,产生的结果是系统状态发生变化,即库存量改变。需求事件的发生不受系统中其他事件的影响,是系统之外的因素所为,故在系统中只与时间因素有关。
订货事件:其含义是根据需求和现有库存量,根据库存管理规则,发出订购货物单,这一事件的性质在不同类型的库存系统中可有不同。
发货策略:其含义是根据发货策略向下级下发器材,器材出库。
到货事件:其含义是订购的货物到达,进入库存。
费用计算事件:是库存仿真系统中每个时钟都必须要执行的事件。由于它每个时钟都执行,所以不必列在事件表中,但是在执行完其它所有事件后,必须执行该事件。
(2)仿真事件优先级设置
在一个复杂系统中,总是存在许多类事件,有可能出现多个事件同时发生的情形,用户在建模时必须规定同时发生事件的处理顺序,即事件处理优先级。
由于各实体之间的库存策略相互独立,事件发生的先后不会造成影响,所以只考虑两个事件发生在同一时间、同一实体的情况。本系统将事件优先级设为1、2、3级,1级最高。
在仿真系统中还有两个每个时刻必须执行的事件,就是时钟事件和费用计算事件。由于它们都是每个时刻都执行的,所以不必列在事件表中,但是在执行完其它所有事件后,必须执行该事件。
对于同一实体,事件大致可以分为实体内部触发和实体外部触发两种:需求事件和到货事件为实体外部触发;订货和发货事件为实体内部触发。实体外部触发的事件不能决定何时发生,例如仓库实体不能决定下级修理单位何时进行下一次需求,所以实体外部事件优先级应该相同,按照FIFO的原则调用。实体外部触发的事件均作为实体的事件触发入口,所以优先级均设为最高级1;由流程分析可知,当器材满足需求时,由需求事件触发发货事件,当器材不满足需求时,需求进入等待事件列表,由到货事件触发发货事件。因此,发货事件为需求事件和到货事件的后续事件,优先级设为2;对于同时发生的订货事件和发货事件,应先进行发货事件而后进行订货事件,如果器材数量不能满足发货事件,发货事件进入等待队列,而后进行订货事件,故而设定订货事件优先级为3。
仿真事件的优先级设置如表2:
表2 仿真事件优先级
(3)仿真队列的实现
本系统中采用强类型列表存储未来的仿真事件,通过控制仿真事件元素出入仿真事件队列来实现仿真算法。在仿真模型中,每当触发新的事件时,先将此事件按照优先级顺序加入到仿真事件队列当中,然后按照仿真时钟的推进,从仿真事件队列中弹出事件发生时间等于当前仿真时间的事件并执行此事件。
仿真事件元素入队列的原则如下:
1)所有事件按照发生时间先后顺序进入队列,发生时间早的事件排在队列首部。
2)发生时间相同但发生实体不同的事件,按照FIFO(先来先服务)的顺序进入队列。
3)发生时间、实体相同的事件,按照事件的优先级进行排序。优先级高的事件排在队列首部。仿真钟每推进一次,执行一次当前仿真钟时间仿真事件弹出队列操作。
2.4 仿真系统流程
仿真系统主要流程如图3所示。
(1)获取模型结构及实体策略参数步骤中主要完成:1)获取每个实体相应的库存策略参数。例如仓库实体要设定相应的订货策略、发货策略和成本计算策略;2)获取实体之间的申请关系、直供关系。例如战役仓库B项战略仓库A提出订货申请,战术仓库C的器材申请由战役仓库D直供。
(2)设置仿真环境参数步骤中主要完成:1)设置仿真钟起始时间、步长。仿真起始时间,仿真钟每推进一次,日期增长多少等都需要在仿真开始前预先设定;2)初始化仿真事件列表。每个实体的库存策略都可能会有仿真起始事件,例如某仓库采用周期性的订货策略,则需要将本仓库订货策略的时钟事件添加到仿真事件队列,又例如基层消耗单位每天都可能产生器材消耗,需要将本单位消耗策略的时钟事件添加到仿真事件队列。
(3)调用仿真事件步骤中主要完成:1)根据本系统定义的事件调度原则,调用仿真队列中发生时间等于当前仿真钟时间的事件;2)生成将来仿真事件并添加到仿真队列。
(4)显示当前仿真信息步骤中主要完成:1)显示仓库库存、出入库流水、缺货情况等信息;2)显示基层单位器材消耗曲线;3)显示工厂生产、发货情况;4)显示器材成本、运输成本等费用消耗情况。
(5)仿真结果统计步骤中主要完成:1)统计消耗情况;2)统计库存动态情况;3)统计缺货情况;4)统计成本消耗情况。降低库存成本和提高仓库的满足率是库存控制的主要目的,所以在仿真过程中主要对缺货情况与成本消耗进行了分析,并根据仿真结果进行进一步的仿真优化。
本文针对装备器材库存系统中存在大量的随机参数,用解析方法很难对其进行描述和分析的难题,在库存控制基本理论及仿真基本理论的基础上,结合我军装备器材保障的特点,设计了基于事件调度法的装备器材库存仿真控制系统。以期通过本系统对现有和虚拟的库存控制进行仿真优化,达到提高装备器材保障能力,降低库存控制成本,优化库存结构的目的。
[1]陈子侠.库存管理水平评估模型研究[J].计算机工程,2003,7(29):23-24.
[2]马向国,邬跃.现代物流系统仿真与优化[M].北京:中国物资出版社,2010.
[3]蒋长兵,代应.库存控制模型技术与仿真[M].北京:中国物资出版社,2010.
[4]ChelKP,Niel nder U.Simulation-based optimization ofmulti-echlon inventory systems[J].Int J Production Economics,2005(93/94):505-513.
[5]张金隆,陈涛,王林,等.基于备件需求优先级的随机库存控制模型研究[J].中国管理科学,2003,11(6):25-28.
Design of the Inventory Simulation Control System of Guarantee Devices Based on the Event Scheduling Method
WANG Tie-ning,ZHU Yu,KE Rong-bo(Academy of Armored Forces Engineering,Beijing 100074,China)
The inventory system plays an important role in the management of the supply chain,play a role in buffering,regulate and balanced.This paper is based on basic theories of inventory control and artificial,combine the characteristic of guarantee equipment inventory control,study and design the artificial system of inventory control based on event scheduling method,offer the strong tool for improving the inventory management level of the equipment in the army.
inventory control;guarantee equipment;event scheduling method
F253
A
1002-3100(2011)07-0109-05
2011-04-25
朱 域(1986-),男(满族),辽宁岫岩人,装甲兵工程学院技术保障系硕士研究生,研究方向:管理科学与工程。