第七章 WITNESS采购过程建模与仿真
在车辆生产物流系统中,需要通过供应商采购的产品或物料有轮胎钢板,假设这两类产品的采购过程分别使用两种采购模式:定期定量的(Q,T)模式和定期不定量的(s,S,T)模式,本章对这两类物料的采购过程进行建模和仿真。
1采购过程系统描述
(1)轮胎采购过程描述
在本案例VPLS中,总装线的节拍为2分钟,则一天480钟内总装线装配计划为240台,每台车辆需要一套轮胎,一套轮胎为4只,在案例中以套数计量。采购部门对轮胎的采购采用定期定量模型进行采购,其中订货周期T为3天,每次订货量Q为720套,从发出订单到轮胎入库的采购提前期服从uniform(480,960)均匀随机分布,在模型初始时刻假设车间有轮胎500套。
(2)钢板采购过程描述
虽然案例中的总装节拍是固定的,理论上说所需的板材件数量也是固定的,但是由于钢板切割时具有多种下料组合,使得实际使用的钢板数量具有一定随机性,因此系统对钢板的采购模式使用(s,S,T)模型。在模型中,设定s为100,S为300,T为480,即每天(480分钟)开始时进行库存量统计,如果当前库存低于s,则进行采购,采购数量Q=S-当前库存量,采购提前期服从uniform(240,720)的均匀随机分布,在模型初始时刻假设车间有150张钢板。
系统进行如下假设:
(1)不论是轮胎还是钢板,在途的订单最多只能有一个;
(2)钢板消耗时间间隔服从均值为8分钟的负指数分布;
(3)轮胎消耗间隔为2分钟一套。
通过WITNESS仿真,运行10天(10天×8小时/天×60分钟/小时=4800分钟),统计如下数据:
(1)车间两类产品的平均存放量、最大存放量;
(2)车间两类产品的缺货数量;
(3)钢板订货次数、订货总量;
    在学习过程中,主要关注如下功能的实现:
(1)两种采购模式的实现;
(2)采购提前期的实现;
(3)缺货的统计;
2 模型设计
2.1 建模元素定义
该模型中所用到的元素以及元素在模型中所起的作用如表1所示。
表1采购过程仿真元素列表
元素名称
元素类型
元素数量
元素作用
board
Part
Unlimited
模拟钢板
buyerBoard
模拟钢板购买决策者
buyerTyre
模拟轮胎购买决策者
lostBoard
模拟缺货钢板
lostTyre
模拟缺货轮胎
order
模拟采购订单
tyre
模拟轮胎
buf1
Buffer
1
模拟镗床前暂存区
boardRoad
Machine(Production)
1
模拟镗床
tyreRoad
1
模拟刨床
useBoard
Machine(Single)
1
模拟铣床
useTyre
1
模拟割床
boardQty
variable
1
模拟镗床工位工人
tyreQty
1
模拟刨床工位工人
建立的WITNESS仿真模型最终界面下图所示,模型见“chap7 采购过程.mod”。
图2
2.2 模型细节设计
2.2.1 part类型元素设计
    模型中有七类part元素,其中lostBoard、lostTyre和order元素保留缺省设计即可。board和tyre元素需要实现在模型初始化时,释放一定数量进入车间仓库中,其中board为150、ty
re为500。buyerBoard和buyerTyre元素实现购买决策功能,buyerBoard用于实现每隔480分钟,对当前系统中钢板的存量同s比较,决定是否进行钢板采购以及具体的采购量;buyerTyre用于实现每隔1440分钟,发出一个轮胎采购订单,采购量为固定值720套。
board元素细节设计如下:
Arrival Type:active
Inter Arrival: 5
Maximum:150
Lot Size:150
To...:push to buf1(1)
tyre元素细节设计如下:
Arrival Type:active
Inter Arrival: 5
Maximum:500
Lot Size:500
To...:push to buf1(2)
    其中这两类元素在第一批到达之后就已经达到了最大值Maximum,不会主动的送达第二批进入系统,所以它们的到达间隔(Inter Arrival)可以任意设定一个正数即可,模型中设定为5分钟。
buyerBoard元素细节设计如下:
Arrival Type:active
Inter Arrival: 480
Lot Size:1
To...: push to SHIP
Actions on Create:
IF boardQty = 0  !没有采购在途
    IF NPARTS (buf1(1)) < 100
        boardQty = 300 - NPARTS (buf1(1))
    ENDIF
ENDIF
buyerTyre元素细节设计如下:
    Arrival Type:active
Inter Arrival: 1440
Lot Size:1
To...: push to SHIP
    Actions on Create:
IF tyreQty = 0  !没有采购在途
    tyreQty = 720
ENDIF
2.2.2 Machine类型元素细节设计
    本模型中设计了用于实现物料采购过程的设备boardRoad和tyreRoad,其中boardRoad根据变量boardQty决定是否获得订单order,如果获得订单后,经过一定时间的提前期后,将boardQty数量的钢板送入车间仓库;tyreRoad根据变量tyreQty决定是否获得订单order,如果获得订单后,经过一定时间的提前期后,将tyreQty数量的轮胎送入车间仓库。
(1)boardRoad细节设计
    设备类型Type:Production
    输入规则From:
IF boardQty > 0
    PULL from order out of WORLD
ELSE
    Wait
ENDIF
    周期时间Cycle Time:UNIFORM (240,480)
    输出数量Output Production Quantity:boardQty
    输出工件类型Part Type:board
    输出规则:PUSH order to SHIP,board to buf1(1)
    工件输出时的程序处理Actions on Output
IF NPARTS (ELEMENT) = 1
boardQty = 0
ENDIF   
(2)tyreRoad细节设计
    设备类型Type:Production
    输入规则From:
IF tyreQty > 0
    PULL from order out of WORLD
ELSE
    Wait
ENDIF
    周期时间Cycle Time:UNIFORM (480,960)
    输出数量Output Production Quantity:tyreQty
    输出工件类型Part Type:tyre
    输出规则:PUSH order to SHIP,tyre to buf1(2)
    工件输出时的程序处理Actions on Output
IF NPARTS (ELEMENT) = 1
    tyreQty = 0
ENDIF
    上述两个设备元素的细节设计过程基本相同,在输入规则中,需要判断采购决策人员是否设定了采购数量,即boardQty或tyreQty大于0,如果设定了采购数量,则获得一个订单;然后经过Cycle Time的时间(采购提前期),将相应的工件放入buf1中对应的库区;
在将工件放入库区的过程中,当最后一个工件放出时,将对应的采购数量(boardQty或tyreQty)置0,表示前一采购订单完成。
(3)useBoard细节设计
    输入规则From:PULL from buf1(1),lostBoard out of WORLD
    周期时间Cycle Time:NEGEXP(8)
    输出规则:PUSH to SHIP
    该设备空闲时,首先判断buf1(1)是否有钢板,如果有,则将钢板提取出来,如果没有,则提取一个lostBoard,然后进行一个周期的作业,并送出系统,仿真实验结束,通过统计lostBoard的数量,可以得出钢板的缺货数量。
(4)useTyre细节设计
    输入规则From:PULL from buf1(2买轮胎),lostTyre out of WORLD