全球FlexSim系统仿真中文论坛
标题:
【分享】固定站点配送模型
[打印本页]
作者:
domcylai
时间:
2012-4-23 13:08
标题:
【分享】固定站点配送模型
最近做些练习,有一个模型分享一下。
: z- b3 R: S) l0 |: y. f7 f
[attach]529[/attach]
$ a. g& ^; u. E& \( d
7 H+ {0 Y) S+ h! h9 ^( H6 T- X
模型中有发生器,每隔一段时间会到达item, item根据不同类型不同颜色,分别分配到特定的sink;
* \8 Y! d+ R' R! W3 I
2 H4 ]6 a: U1 _
操作员每次搬运3件item, 然后坐上车开往站点,卸下货物。 根据不同货物的优先级进行配送(见全局表GT,其中1表示item类型是1 ,2表示item类型是2....以此类推)。
: k, m. R) Z; N4 P" J* J5 F
8 [8 Y1 Z, v% n5 O$ {' J
这个模型中有两个难点,我用了一些比较笨的方法,哪位前辈看懂了,还请指教!!
) Q I+ d% f, @7 i" h( h) n" p
第一个难点:
* L! q2 W9 ^1 F( Y
模型中,执行任务的并不是特定的一个op,而是一个team; 也就是说有多组人员和车辆,在进行配送任务时,事先并不知道哪个任务执行器时我调用的实体;因此我调用子任务序列,并在 任务开始后,change task , 使得子任务序列能够找到合适的对象。
5 k- a& \" W; n# N. j
4 ]9 D4 c" A! `& ]
第二个难点, 子任务序列是一个协作任务序列,在进行多次配送时,实际上任务序列时代码循环了多次的结果, 而协作任务序列中每个代理任务返回的整型值不能相同,所以我使用了数组来命名; 不知道可否使用更简单的方式来代替??
作者:
domcylai
时间:
2012-4-23 13:20
本帖最后由 domcylai 于 2012-4-23 17:32 编辑
# y* W- U) L9 N1 \9 ~
9 G$ v9 E r v- }) E G7 K& S, q
改进了一下,将子任务序列写在Queue2 的消息触发中,使得模型更易于维护了。
作者:
flexsimbaobao
时间:
2012-5-1 11:47
第一个模型中queue 2 message中:
% K7 f- y, R8 z& H3 O. B
treenode op = up(up(up(ts))); 这句是什么意思 ,为什么连续用三个 up(),up()函数在这里的意义是什么 ,请楼主指教。
作者:
domcylai
时间:
2012-5-1 12:48
up()是对象指代, 和Rank()使用方式类似。
$ w7 ?8 x3 r( U" @6 q
ts被创建后,存放在某个任务执行器的var节点下,如果我想引用这个人物执行器,可以使用此方法。
欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/)
Powered by Discuz! X3.3