|
最近做些练习,有一个模型分享一下。
( a5 [' t4 o* O; Z" M
1 L) Z9 B" R$ K" R) \$ l" U9 i; C, F0 C' n6 M
模型中有发生器,每隔一段时间会到达item, item根据不同类型不同颜色,分别分配到特定的sink;% y* n5 I0 Z9 T; o! h
" k6 {" T1 ~2 l' H; {操作员每次搬运3件item, 然后坐上车开往站点,卸下货物。 根据不同货物的优先级进行配送(见全局表GT,其中1表示item类型是1 ,2表示item类型是2....以此类推)。% n( L# L) v3 e# B: ]7 i# @
& s* p8 D9 B9 u% @这个模型中有两个难点,我用了一些比较笨的方法,哪位前辈看懂了,还请指教!!
4 w- K6 |6 C. i) v( H+ l7 X" l+ r第一个难点:
$ ]/ f0 | m6 b4 Q2 Q3 V+ C模型中,执行任务的并不是特定的一个op,而是一个team; 也就是说有多组人员和车辆,在进行配送任务时,事先并不知道哪个任务执行器时我调用的实体;因此我调用子任务序列,并在 任务开始后,change task , 使得子任务序列能够找到合适的对象。( A, r/ t0 Z( |3 k# c, ]5 R% B
) A: m7 c8 h! W; v7 {! \
第二个难点, 子任务序列是一个协作任务序列,在进行多次配送时,实际上任务序列时代码循环了多次的结果, 而协作任务序列中每个代理任务返回的整型值不能相同,所以我使用了数组来命名; 不知道可否使用更简单的方式来代替?? |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|