设为首页收藏本站

最大的系统仿真与系统优化公益交流社区

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10234|回复: 16

[交流] ExtendSim VS. Arena一个小模型运行结果的差异

[复制链接]
发表于 2009-7-5 13:03:33 | 显示全部楼层 |阅读模式
把同一个系统用不同的软件建模,可以发现很多有趣的地方。- L8 Y  A; A, Q
这是一个人力资源调度的小模型。& ?& o. V3 N* o* _0 G  i1 o
按题目要求分别用ExtendSim和Arena建模,结果发现离开系统的实体数量有差异3个,参数和时间我已经检查过了,没有差异。已知Arena模型没有错,谁知道ExtendSim输出结果为何会有差别?难道是Shift里面的时间点设置有问题吗?
5 i7 W. m3 ~  f2 d5 Q$ N$ v题目:
& z( U' B9 G% z" ZAt the DMV photo license center, the current “rule of thumb” is to get the drivers in and
$ n' q# b+ ^7 [) l" _out as fast as possible. Therefore, when drivers come to get their photo ID, the following * a- m# h$ h4 t' `! K8 E
activities occur: Drivers go to a large counter, pick up a blank form, and fill it out. (We’ll
* }3 I# }* j3 I) s+ `& w0 H6 N9 N1 Dassume the counter is large enough that any number of drivers can obtain and complete ' l7 G" ?% |" L
the form at one time.) The drivers then wait in line for an available photo clerk. , r; i" N, M5 F6 F. \
The drivers are serviced by: 1 part-time clerk (Rich) who works daily from 10 a.m. to 0 O- }7 f% Z/ r5 S; U( y
2 p.m., 1 full-time clerk (Ann) who works daily from 8 a.m. to 5 p.m. with an hour break
$ W% B+ _+ [$ c0 zbetween 10:30 a.m. and 11:30 a.m., and the site manager (Dina) who only helps when
- v% U6 A7 [0 p' A& ?  heveryone else is busy and there are more drivers to be served. The manager works daily - i3 n3 Q7 Q7 O/ U5 Z6 `, G
like Ann, but gets her break from 1:15 p.m. to 2:15 p.m. Due to budgetary constraints,
( T7 @( }3 r  W, ?* ]# [there are only 2 computers available at the facility. (Don’t worry about using sets for this 4 Y9 _7 X2 i% M. w* f! h
resource.) The computers are used to capture the driver’s signature and to print the - h5 I+ h- Z2 q# U
license.  , S$ K1 [, ~3 c+ u2 t
The process goes as follows:  The clerk reviews the form with each driver, takes the
1 N9 e. v8 K! V% e+ X- \! g. ddriver’s photo, captures the driver’s signature, and prints the completed license. (Note:  A ( R" P+ W- @  X: ^
computer is needed for both the signature capture and for printing the license.) The DMV
' ]! z% ]- h- U  ?( Xmanager knows that it normally takes 3 minutes (some as short as 2 minutes, others as
! H! K6 f* d: m( B. E$ D, w2 b5 ?long as 4 minutes) to review the form and take a driver’s photo, and anywhere between 2 @/ L0 b/ O  R$ C4 B2 ~
30 and 60 seconds to capture the driver’s signature electronically. It then takes exactly
; @0 W: B" r# P; `$ k( J% J1 S45 seconds to print and seal the new photo driver’s license.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2009-7-5 18:11:10 | 显示全部楼层
软件之间有差异是很正常的,主要原因有- N' c7 s( O- o/ |+ m* `* p
/ }/ @+ }% X5 b+ `! Z$ q% C8 j
(1)随机数产生机制不一样
4 V9 h0 k3 V& S7 `(2)对同时刻事件处理的机制不一样

评分

参与人数 1仿真币 +10 收起 理由
JEFFZZ111 + 10

查看全部评分

发表于 2009-7-5 19:13:17 | 显示全部楼层
我没有arena 软件,只能看看你的extendsim 模型。目前输出169个,如果差3个,大概 1.7% 左右,应该是和我上面说的两个原因有关,其中尤其以随机数影响最多。每个仿真软件的随机数产生算法都是不一样的。
 楼主| 发表于 2009-7-6 09:26:25 | 显示全部楼层
Jeff,我用的是 V12学生版,可能是比较新的版本。0 O& r; E9 u' l. \
王老师,我担心是模型做的有问题,一般情况下差异在什么范围内才算正常呢?
, ^( @# N' M  {8 N( p. {' n. ?* d9 n我发现ExtendSim和Arena在很多方面处理的机制差别好大。6 s  Y" {( ~. T0 `, A' _- ?; U6 @
比如说Arena is an entity-driven language. The entities represent any person, object, or thing, ; `- ]4 B' l, d/ U! f) v; x" y# s( }
whether real or imaginary, whose movement through the system causes a change in the
' f6 G+ @/ i8 P7 j" l) A5 O0 T5 dstatus of the system. 这一点和ExtendSim很不同。
发表于 2009-7-6 09:39:33 | 显示全部楼层
有几种方法来判断
; r( S% j/ Y! x9 ]" u/ p8 k7 p* E6 y* ]( u
(1)把所有随机因素都变成固定数值$ ]5 R& w9 G6 K( `3 K7 j/ [- Q
(2)不止比较一个指标,多比较一些指标,比如说关键瓶颈的利用率,关键队列平均等待时间等等,这些都会给出一个更全面、更准确的比较。
 楼主| 发表于 2009-7-6 10:41:01 | 显示全部楼层
在ExtendSim中,我把所有的处理时间都改成1秒,结果还是产出169个,说明人力资源是瓶颈;2 \0 u* y' Z, G: X0 n# S! f; |
在Arena中,把所有的处理时间都改成1秒,结果进入系统173(比之前的175变少了),产出也是173(之前是172),人力资源不是瓶颈。& H$ p1 S5 V0 A7 }+ ]- q
ExtendSim的批到达是一下子全“推”进来了,仿真时间内到达总数是193。
9 U$ m" q% v8 g* g" `而Arena似乎是按一定的速率一个一个被“拉”进来的,可见两种软件事件处理的机制不一样。
& D6 _) [1 M, `( d3 v8 A9 M- Z4 d另外,人力的利用率也不相同,可能我的ExtendSim模型没有做细,兼职人员不在岗的时间应该剔除吧。
发表于 2009-7-6 11:03:56 | 显示全部楼层
ExtendSim 里面也可以处理 Pull 类型的到达,只是看看题目是怎么要求的,是同一时刻全部到达?还是按照一定间隔到达?还是由后面的操作拉动?
 楼主| 发表于 2009-7-6 11:21:55 | 显示全部楼层
只告诉1~9个小时里面每个小时总共到达客户的数量,我直接按Schedule成批到达建模了,您说的pull类型是指使用Resource Item模块吗? 6 ]/ u- |! z" o# J4 n! x
我感觉如果把Create+Queue看做一个整体的话其实也相当于一个Pull类型(后面有空就出去一个)。
5 {: `* K1 _9 T' L+ D4 l: t  u- _$ z) i7 t5 R
我发现在人力调度上有问题,我这样做的结果是服务人员存在排队等待浪费,而Arena里面直接隐性的设置资源,服务人员不用排队,这可能是产出数量比较少的原因,看来我要修改模型了。
8 d% _+ P0 e. w( M/ Q/ ]) S+ H+ p" p/ L/ g. A0 c
谢谢王老师的启发,我才发现了这个问题!
发表于 2009-7-6 11:44:10 | 显示全部楼层
实现 Pull的方式不需要 resource item, 也不需要queue, 直接在 create 当中设定 create item infinitely 就可以了,后面需要跟一个activitiy 模块。只要 activiity 为空,create 就产生一个小球。
 楼主| 发表于 2009-7-6 18:45:02 | 显示全部楼层
本帖最后由 focuscon 于 2009-7-6 18:48 编辑 9 _% q& i, M# K8 @: f

; h6 {' [' Y  b2 h# x用create item infinitely的时候如果要by Schedule的话还是要其他的模块配合。
3 p: e" q4 A' [% [% L我用Resource Pool做资源调度,两种方法的结果怎么一样的?但是人员的利用率完全不同,其中第二种方法和Arena比较接近。怎么会有这样的差别呢?难道是处理机制不同? 模型如附件。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2009-7-7 10:09:18 | 显示全部楼层
匆匆看了一下,问题可能出现在第一个模型的 [38] Queue 模块上,这个模块会让所有Resource Item 模块过早释放Resource 以至于利用率偏高。
. }! ^* ]. v6 s0 \' v# v5 J% G0 Y7 _8 r
等有空再仔细研究一下。很有趣的题目。
 楼主| 发表于 2009-7-7 15:56:38 | 显示全部楼层

终于搞定了

本帖最后由 focuscon 于 2009-7-7 16:02 编辑
# @4 d! Z# E* ]- w4 o) u
我没有看模型。但是Resource Item 模块统计利用率的机制我的教材里有,也就是,如果你在batch模块没有选择delaykit,那么资源只要有就会跑到batch,此时就算使用了,即使batch模块需要的另一个实体还没有到。 ...9 \  k4 ?3 Z+ ]! X6 l+ c; }
qtbgo 发表于 2009-7-7 11:32
, Y9 {# T+ J6 B. `; @/ {
秦老师,8 w/ x3 |6 Y# L  e4 M8 d- B
谢谢您的这个提示,记得之前也这样考过我,确实和这个相关。8 w5 C" g2 B5 @) D/ b& H! m
/ C! x- H/ G+ T; f3 a+ Z. ^' C
王老师,$ a8 c7 U9 {+ N. |2 ]7 d5 A
起初是没有这个Queue的,如果把这个Queue去掉的话,就必须在Batch里面选择相应的Delay kit,否则第一个人就会在一开始被强迫使用,而事实上这时候此人并没有排班。但是如果两个Delay kit都选中的话(At least one of the Delay kit choices in the dialog must be left unselected.   The exception to this rule is if all the connectors are expecting to be receiving just one incoming item. In this case, the block does support turning on all of the Delay kit connectors at the same time.),模型就会报警说必须在Select Item In 【30】后面放一个Queue,所以我就加了一个Queue,这样就不会有强迫使用的情况。* D0 J4 p0 n* o

8 E3 }1 S4 B+ @) H4 y& K最大的问题是,即使把这个Queue去掉,再把对应的Delay kit选择上,第一个人(Rich)的利用率还是差异比较大,而其他两个没有问题。
8 n* N$ ]2 c3 W/ B2 ?6 D8 O
! X$ v  L) x7 ]5 l  M根据大家的提示,我仔细看了看,发现Resource Item 和 Resource Pool在被shift调度时有一个很大差异,假设Resource Item 初始设置一个Item,当shift为OFF时这个Item会一直在里面等待,所以利用率是不准确的。而Resource Pool----- 当shift为OFF时可利用Item的数量为0,不存在等待。解决的办法就是用Shift的输出状态控制Resource Item的Total Resources输入端口。 归根到底是我对这些机制掌握的不透,不好意思!附上改善后的模型。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1仿真币 +20 +2 收起 理由
linweixu168 + 20 + 2

查看全部评分

发表于 2009-7-7 16:12:10 | 显示全部楼层
Focuscon,    进步神勇,非常厉害,问题和解决方案都有创意。我非常佩服同意你的修改。
 楼主| 发表于 2009-7-7 16:38:51 | 显示全部楼层
王老师,9 D" s! n' [7 f
谢谢您的鼓励!$ [9 }; D! w% u; a  J0 P0 Q- k
多亏大家的提醒,谢谢。我争取以后多弄些有趣的东西来大家讨论。
. G* o$ c0 w7 _- o) a, h# Y; ?7 p) u3 L( h# X7 I
Linwei,8 v! g  s6 t3 y' B4 x1 V
确实是这样,把所有的随机数设成一样还是无法消除这个微小的误差,说明还是有点差异,但这个结果和Arena建模的结果已经很接近了。2 X. R) _' V6 F$ D

7 S" T/ O6 @. C8 D$ v  B# F经过对这个简单系统用两种软件建模,我的感觉是:+ j9 Y* h& X+ c4 u; M+ D4 r
1. Arena比较隐性的设置队列,资源和Schedule等,做起来比较简单但是模型看起来不直观,不易被别人理解,跟个数学方程没什么太大的区别。而ExtendSim比较灵活,可以用多种方法建模,里面的小逻辑设计也有很大发挥空间,逻辑是可以看见的,比较有趣一些。
5 ~5 d+ \) }6 L8 I( u- u7 W; s; d3 f2. 同样一个模型,Arena模型文件的大小是ExtendSim的2~3倍,即使Arena用了更少的模块。在这一点上ExtendSim比较环保。. b4 S; k6 k8 C' E) C
3. 人力资源调度方面(其他的我不了解)建模的效率似乎Arena更高一点。但ExtendSim的日历格式比较人性化。  G0 j8 o1 ~. _" G) y! _: \9 H2 E; [( a) [
4. 开发环境的操作方面,Arena没有ExtendSim好用,可能不太熟悉的缘故。
0 i8 P: _7 O6 ~% i9 Q5. Arena有一些小功能比较实用,比如统计系统里面的实体数量。用ExtendSim似乎稍微麻烦一点。; p( ]8 h6 D+ k8 ~* i% a
了解的不多,不能再多说了。欢迎上砖。。。
 楼主| 发表于 2009-7-7 17:05:43 | 显示全部楼层
我觉得两种建模方法,对资源的统计还是有区别的,看附件第一个模型  和 第三个模型,除了使用资源的方法不一样,其他都一样,但是就是资源利用率不一样。还有使用batch模块,delay kit 打不打钩,对后面统计都有影响 ...  j$ ^" Y) H0 A0 T9 y) n1 ~8 `* P7 p1 B
linweixu168 发表于 2009-7-7 15:47
' k  v4 h9 @$ [; t- y5 e7 X
这个问题不知是怎么回事,我也觉得很奇怪。不解,继续找。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|SimulWay 道于仿真   

GMT+8, 2024-5-3 02:29 , Processed in 0.017170 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表