STELLA销售存储模拟模型的建立
下面结合实际操作介绍如何利用STELLA建立并模拟一个储备治理系统的模型,说明如何样使用STELLA软件建模,通过学习,了解STELLA的某些功能。然而,要在一个模型中详细介绍STELLA的全部功能是不可能的,如有需要请查阅参考文献2,3。
研究储备模型,必须要有仓库,现在就建立一个。在STELLA环境下,选择累积量,将其命名为“kucun”。本模型中为研究物资的流淌,任一时刻的库存量是有进库和出库决定的,,进库由订货决策决定,出库由需求量决定。目前模型中的库存还无法改变,因为它还没有流进和流出。
库存的流进和流出为进货和售出量,选择流率项,使它们分别流进和流出库存,命名为“jinhuo”“shouchuliang”。现在,我们把注意力集中到阻碍进货和售出的逻辑关系上。进货决策是如何样作出的呢?先要有一个每次进货量和安全库存量,然后比较库存量和安全库存量,假如库存量少于安全库存量,则作出订货决策。对销售的阻碍因素是需求量。销售量是否一定等于需求量呢?实际情形是当产生一个需求量时,第一比较需求量和库存量,当需求量小于库存量时,销售量等于需求量;当需求量大于库存量时,销售量等于库存量。因此三
者之间也要建立联系选择相应元素作连线的下图:
用前一节中讲述的方法消灭问号。
在实际工作中,物资延迟是普遍现象,在上述模型中加入延迟,模型如图所示:
延迟的添加,那个地点需要专门说明一下:在STELLA环境下选择累积量,建成一个累积变量并命名为“del”表示延迟双击该变量,显现如下的对话窗:
单选按钮“Rervoir”是累积变量,即我们最常用的变量。“Conveyor”为输送带,具有延迟的行为,是本例中我们用到的一种,“Queun”“Oven”分别是排队和处理箱,本例中暂不用,有爱好的话能够探究一下它的使用方法。我们将单选按钮选中“Conveyor”将随后显现的对话窗中的“Transit Time:”栏中数值改为“4”,意为物资自订货日期始4天后到货,“Inflo
w Limit:”改为60,“Capacity:”也改为60,意为物资“ITIAL(del)”的初始值定为“0”,最终的对话窗为下图:
最后单击“OK”退出,定义完毕。
到货延迟期的大小对平均库存量和缺货缺失都有阻碍,对不同的到货延迟期,应制定不同的安全库存量和进货量。下面三个图为同一库存策略在不同延迟期下的库存状态,一个将
支付过多的保管费,一个将承担缺货缺失。
对销售量的随机性模拟是通过运算机产生随机数来实现的,可调用相应的函数来完成。对某些商品其日销售量的随机分布可近似看作是正态分布。对一些中小型农机具其日销售量是偏态的。而对一些大型农机具(如联合收割机)其销售量的随机分布具有专门的形式,需单独考虑。
izi综合考虑有关因素,建立储备模拟模型如图示:
模拟过程可简述如下:模拟开始,先检查这一天是否为预定到货期,假如是则原有库存量增加进货量,并把预定到货量清零。假如这一天不是预定到货期,则库存量不变。然后检查预期库存量(实际库存量加预订到货量)是否小于安全库存量,假如是则需要重新订货,这时需要增加一项订货费用,并按到货延迟期预订到货期。
按给定的分布规律,由运算机产生随机数模拟随机需求量,并将需求量与库存量比较,若
需求量小于库存量,则库存量减去需求量,并对剩余库存运算一次得保管费;若需求量等于库存量,则库存量为零;若需求量大于库存量,则库存量为零,同时运算相应的缺货缺失。
在一定模拟时刻内,日复一日进行模拟,最后将销售收入减去订货总费用,库存保管费用以及由于缺货造成的缺失即得总收益。通过比较不同策略的模拟结果,以效益最好的一个方案作为决策方案。模拟结果可通过图表的形式显示如下:
21:13 2003-2-25 | Table |
日期 | 随机数 | 销售量(台) | 库存量(台) | 订货量(台) | 进货量(台) |
0 | 216.39 | 4.00 | 40.00 | 0.00 | 0.00 |
1 | 821.75 | 12.00 | 36.00 | 0.00 | 0.00 |
2 | 134.20 | 3.00 | 24.00 | 60.00 | 0.00 |
3 | 549.84 | 7.00 | 21.00 | 0.00 | 0.00 |
4 | 120.63 | tscc2.00 | 14.00 | 0.00 | 0.00 |
updog5 | 349.96 | 5.00 | 12.00 | 0.00 | 0.00 |
6 | 707.67 | 7.00 | 7.00 | 0.00 | 低调的英文0.00 |
7 | 863.14 | 12.00 | 60.00 | 0.00 | 0.00 |
8 | 800.77 | 11.00 | 48.00 | 0.00 | 0.00 |
9 | 587.24 | 8.00 | 37.00 | 0.00 | 0.00 |
10 | 820.55 | 12.00 | 29.00 | 60.00 | yytc0.00 |
11 | 41.60 | 1.00 | 17.00 | 0.00 | 0.00 |
lantivy12 | 244.03 | 5.00 | hydepark16.00 | 0.00 | 0.00 |
13 | 354.98 | 5.00 | 11.00 | 0.00 | 0.00 |
14 | 159.52 | 3.00 | 6.00 | 0.00 | 60.00 |
15 | 42.90 | 1.00 | 63.00 | 0.00 | 在线翻0.00 |
16 | 38.88 | 0.00 | 62.00 | 0.00 | 0.00 |
17 | 392.79 | 6.00 | 62.00 | 0.00 | 0.00 |
| | | | | |
18 | 593.95 | 8.00 | 56.00 | 0.00 | 0.00 |
19 | 554.33dear是什么意思中文 | 7.00 | 48.00 | 0.00 | 0.00 |
20 | 643.32 | 9.00 | 41.00 | 0.00 | 0.00 |
… | … | … | … | … | … |
48 | 608.45 | 8.00 | 40.00 | 0.00 | 0.00 |
49 | 213.40 | 4.00 | 32.00 | 60.00 | 0.00 |
Final | 571.52 | | 28.00 | | |
| | | | | |
STELLA 方程:
cost(t) = cost(t - dt) + (c) * dt
INIT cost = 0
INFLOWS:
c = stock*unit_cost
del(t) = del(t - dt) + (order - r) * dt
INIT del = 0
TRANSIT TIME = 4
INFLOW LIMIT = 60
CAPACITY = 60
INFLOWS:
order = if(stock<safety_stock AND(t=1))then(order_volume)el(0)
OUTFLOWS:
r = CONVEYOR OUTFLOW
expend(t) = expend(t - dt) + (e) * dt
INIT expend = 0
INFLOWS:
e = if(order>0)then(1000)el(0)
loss(t) = loss(t - dt) + (l) * dt
INIT loss = 0
INFLOWS:
l = if(stock<require)then((require-stock)*4000)el(0)
profit(t) = profit(t - dt) + (income - e - c) * dt
INIT profit = 0
INFLOWS:
income = ll*price
OUTFLOWS:
关于戒烟的英语作文
e = if(order>0)then(1000)el(0)
c = stock*unit_cost
stock(t) = stock(t - dt) + (r - ll) * dt