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