全球FlexSim系统仿真中文论坛

搜索
查看: 6176|回复: 6
打印 上一主题 下一主题

关于队列比较的求助

[复制链接]
跳转到指定楼层
1#
diudiu123 发表于 2013-6-21 23:04:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在有三个队列长度 a,b,c,n有1,2,3三个取值
# a7 @4 }" ~1 P+ K! s   当a=b=c=0时,n=3
2 Z- |$ P0 G$ P1 L7 B   当a=b=c不等于0时,n=15 _' a3 m0 W) {+ f( l& B
   当a、b、c不等的时候,如果a最小n=1,b最小n=2,c最小n=3
6 P; a$ g! z! }4 f+ i# ?   求助flexsim里这个代码怎么编
2#
天性518 发表于 2013-6-23 11:46:14 | 只看该作者
1# diudiu123
/ ^& b) E7 A: B8 n" @# [3 |
! H: z/ A3 E/ F4 r) {' ]+ i1 ?4 R5 U7 U$ R3 n+ g
0 O1 F1 w3 E7 W4 k- C+ S8 L
你学过C语言吗?这在C里面是非常简单的了,至于在Flexsim里面如何写呢?我这里给你说一下思路,具体实现,你下来慢慢写。
5 L' D3 V" I4 u* ?* E% A' T4 {1、三个队列,就用三个暂存区;7 e; n  {& Q( Q
2、在其中一个暂存区写上相应代码(思路:a、首先获取每个暂存区中临时实体的数量;b、再按照你的要求写上代码即可,用if简单些);
5 L4 O" u' v% x! r0 K& d4 q0 S! a3、n的值可以通过设置一个标签来获取;
3#
慧娴亚伦 发表于 2013-6-23 13:05:34 | 只看该作者
队列是指暂存区排队还是传送带排队呢?
- X% e2 e+ k4 j+ B1 z我的建议是可以返回一个队列目前的数值,以暂存区为例
& x( J0 k6 x: @& c% K& X* I1 }+ A# T5 otreenode item = parnode(1);
5 r( d7 p' W: V" d, Jtreenode current = ownerobject(c);
6 S" {! b9 R: zint port = parval(2);0 E+ T  C8 T" [5 X! `' w$ y( n: y
int aa = getinput(node("/a",model()) - getoutput("/a",model());# }5 D, o! _1 v
int bb = getinput(node("/b",model()) - getoutput("/b",model());
7 |1 V$ M: Z' F" V. aint cc = getinput(node("/c",model()) - getoutput("/c",model());6 ?5 y% {3 ]: c/ R' s4 K) Z& }
if (aa=bb && bb=cc && cc==0){n=3;}
2 o% m$ c' h; ?7 u2 R. u: Welse if (aa=bb && bb=cc){n=1;}
2 s! U; {1 e% F: ^4 Y# ?7 Q/ x4 P0 Oelse if (aa<bb && bb<=cc){n=1;}# d  S& d6 c9 |3 o1 o- i$ H
else if (bb<aa && aa<=cc){n=2;}
; a9 M9 ?. s5 ]7 S0 W: P( A% Kelse if (cc<aa && aa<=bb){n=3;}6 C$ A% U1 b* |- o* Q$ ^! [

: w* S& `3 i& X5 y4 T- @由于我也是初学并且也不知道你的n这里代表什么,所以这个代码可能有问题,只是单纯提供给你一个思路,希望有帮助。
4#
 楼主| diudiu123 发表于 2013-6-23 21:30:02 | 只看该作者
2# 天性518 - I  w! O$ L1 y  H7 E/ [
4 b. y! p- _# Q0 w, P

  t6 o3 e0 j, k1 T5 u, x4 `唉,学校学的vb,然后就直接flexsim了,代码这边太不适应了,还在慢慢学,谢谢了啊
5#
 楼主| diudiu123 发表于 2013-6-23 21:31:47 | 只看该作者
3# 慧娴亚伦   d% M+ I! x6 ]2 ^% K
" P6 N) J% ^' g" [! N

7 H# F/ L# b- ~8 F; Q就是暂存区排队了,就是以前学的vb,现在编译这块不适应,努力学习中
6#
 楼主| diudiu123 发表于 2013-6-23 21:44:17 | 只看该作者
3# 慧娴亚伦 0 ?8 {/ u& m0 S& q# v; R
1 p( A* Z4 Z  M( f6 ?, h0 o
! r( d  ]7 J" w- B( O3 h3 c
呃,还是不成功,就是卡车到三个码头卸货,如果有两个以上码头空闲,卡车选择码头的顺序是(3,2,1)。如果所有码头都忙,则选择队长最小的码头。如果有两个以上码头的队长一样,选择码头的顺序是(1,2,3),其他都没问题,就这一小块代码写不明白了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
7#
 楼主| diudiu123 发表于 2013-6-23 21:58:13 | 只看该作者
3# 慧娴亚伦
" c7 r8 ?  e" ]4 L# x
/ ]4 T" ]* P1 O
3 t, ?7 |% B8 |4 e  J3 P9 Q0 \6 g9 ?谢你啦,我在你的代码的基础改了改,出来了
9 q; F, G" u. F' xif (aa==bb && bb==cc && cc==0){n=3;}
( k* a- Z. Z$ `3 n! t' O  M! ?* Y4 lelse if (aa==bb && bb==cc){n=1;}
2 M& P! _# ^" \7 R. telse if (aa<=bb && aa<=cc){n=1;}5 A9 p. I( n! ~5 Q" b- ?( @0 W! u
else if (bb<=aa && bb<=cc){n=2;}, p2 E' I+ B. o% r
else if (cc<=aa && cc<=bb){n=3;}3 S  {7 Q' }2 @
   setitemtype(item,n) ;3 G& P, {1 n8 \' v- R
这样就好了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|全球FlexSim系统仿真中文论坛 ( 京ICP备14043114号-2 )

GMT+8, 2025-5-10 08:05 , Processed in 0.077906 second(s), 14 queries .

Powered by Discuz! X3.3© 2001-2013 Comsenz Inc.

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