|
本帖最后由 zorsite 于 2015-8-17 20:49 编辑
在模型1中实现这样的逻辑:发生器可以产生多种不同类型的产品(具体类型数量可自行决定),不同的产品加工优先级根据其类型号而各不相同,本题中要求其类型号越小则加工优先级越高,即多个产品等待加工的时候,优先加工产品类型号最小的产品。
此题是FlexSim建模水平认证考评大纲(2015版)
中的第一个建模题。刚好最近也做了一个返工优先处理的模型,见http://flexsim.asia/viewthread.php?tid=5045&page=1&fromuid=610#pid17589。
于是照着同样的思路把这一题也做了一下,欢迎大家批评指正。
假设发生器产生duniform(1,3)类型的临时实体,需要设置类型为1的临时实体进入暂存区后要排在最前列。假设已经有一个类型1的临时实体,则新进入的排在第二。如果此时再进入类型2的临时实体,则排在第三。
仍然是通过在暂存区设置标签来实现。
暂存区的创建触发中添加一下代码:
-
- int value = getitemtype(item);
- switch (value)
- {
- case 1:
- {
- inc(label(current,"type1"),1);
- setrank(item,getlabelnum(current,"type1"));
- break;
- }
- case 2:
- {
- inc(label(current,"type2"),1);
- setrank(item,getlabelnum(current,"type1")+getlabelnum(current,"type2"));
- break;
- }
- }
复制代码 离开触发中添加一下代码:-
- int value = getitemtype(item);
- switch (value)
- {
- case 1: inc(label(current,"type1"),-1);break;
- case 2: inc(label(current,"type2"),-1);break;
- }
复制代码 具体操作见图。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|