设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3247|回复: 4

排队问题, 为何在decide中设置queue<1后,仍然可有两人排队

  [复制链接]
发表于 2014-11-8 01:18:41 | 显示全部楼层 |阅读模式
Decide 设置的expression 为: NQ(Process 5.Queue) <1,想要达到的效果是这个process 5没人排队的时候才放之前完成了注册的客户过来。

结果还是有两人排在process 5的队列中。

求助!!!
发表于 2014-11-20 22:24:30 | 显示全部楼层
说的具体点
发表于 2014-11-20 22:25:28 | 显示全部楼层
这个不影响队列排队啊
 楼主| 发表于 2014-11-21 10:55:44 | 显示全部楼层
乐游仙 发表于 2014-11-20 22:24
说的具体点

不好意思,前面没说清楚。

有8台投票机器并列放置,8台投票机前总共只有一条排队队伍,当有一台是空着的时候才会放下一位投票者进入投票。

用了decide module,针对每台机器设置的选择语言都是NQ(Process N.queue)<=0,比如说第五台就是NQ(Process 5.queue)<=0。

运行后,发现后面几台机器空着没人用,前面几台有超过两人排队。按理来说当process 1,2,3,4,5的排队人数都=1的时候,下一个通过decide module的人应该去没人排队的process 6或者7,8(因为这时候NQ(Process 6.queue)<=0,而前五个已经不满足判断条件了 ), 但事实是又选择了process 1。
发表于 2014-11-24 15:27:42 | 显示全部楼层
不知道你是否一定要用decide模块,如果不是,直接用seize抓资源不就好了么?肯定能满足“当有一台是空着的时候放下一位投票者进入投票”的要求
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-1 06:52 , Processed in 0.019134 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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