全球FlexSim系统仿真中文论坛

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

关于队列比较的求助

[复制链接]
跳转到指定楼层
1#
diudiu123 发表于 2013-6-21 23:04:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在有三个队列长度 a,b,c,n有1,2,3三个取值/ j! m3 C- p2 D$ {$ f
   当a=b=c=0时,n=3
1 n0 V2 R+ Q' X; s8 F   当a=b=c不等于0时,n=1  |7 r2 C) C2 U0 N3 ~
   当a、b、c不等的时候,如果a最小n=1,b最小n=2,c最小n=3
: l$ }' ~2 {! `: U9 V   求助flexsim里这个代码怎么编
2#
天性518 发表于 2013-6-23 11:46:14 | 只看该作者
1# diudiu123
2 t& K+ {$ T( D* E' U3 L* A0 O1 {0 S5 k) x' A1 m- k8 p6 m! L6 X

0 G2 r3 m, U8 l( _. z6 H. [/ h" g, D4 B% b. `3 v
你学过C语言吗?这在C里面是非常简单的了,至于在Flexsim里面如何写呢?我这里给你说一下思路,具体实现,你下来慢慢写。
# k3 w0 d7 {9 [3 ?% s1、三个队列,就用三个暂存区;
, l/ F' J# f: }- P2、在其中一个暂存区写上相应代码(思路:a、首先获取每个暂存区中临时实体的数量;b、再按照你的要求写上代码即可,用if简单些);, r5 p; ?% b; [1 H5 F4 f
3、n的值可以通过设置一个标签来获取;
3#
慧娴亚伦 发表于 2013-6-23 13:05:34 | 只看该作者
队列是指暂存区排队还是传送带排队呢?3 Z. R- a9 [2 h+ w+ ?4 O
我的建议是可以返回一个队列目前的数值,以暂存区为例: H% r+ D7 M$ N. v7 I" N. C; K! q9 O1 E
treenode item = parnode(1);8 v9 u# K) @( p* L+ n9 d
treenode current = ownerobject(c);
$ C) b7 n, o' z) m2 s. x% N# U# j) tint port = parval(2);7 n! o: \6 ]3 S, _& A) @; t
int aa = getinput(node("/a",model()) - getoutput("/a",model());. }4 H) n5 d% T/ R& ]1 K- K
int bb = getinput(node("/b",model()) - getoutput("/b",model());/ z3 U& P* e7 ]) p
int cc = getinput(node("/c",model()) - getoutput("/c",model());5 ], c4 m# c' r2 |+ M
if (aa=bb && bb=cc && cc==0){n=3;}. t& U7 b' W7 l5 c; n
else if (aa=bb && bb=cc){n=1;}# g) }: k2 ^: b$ I' O
else if (aa<bb && bb<=cc){n=1;}
6 Q* z& j$ [: y( h, E0 gelse if (bb<aa && aa<=cc){n=2;}
' G3 }4 f! B5 }2 pelse if (cc<aa && aa<=bb){n=3;}$ i4 |8 C2 R/ d0 t* s9 `

5 D2 v7 q  m6 g5 r- N5 y2 G由于我也是初学并且也不知道你的n这里代表什么,所以这个代码可能有问题,只是单纯提供给你一个思路,希望有帮助。
4#
 楼主| diudiu123 发表于 2013-6-23 21:30:02 | 只看该作者
2# 天性518 3 J0 r: H* Y* f, R2 ]0 \& O

5 e1 S( M8 l5 ]5 k* Y) D3 z
( z  p; V/ O3 X2 p. p" O  S) R唉,学校学的vb,然后就直接flexsim了,代码这边太不适应了,还在慢慢学,谢谢了啊
5#
 楼主| diudiu123 发表于 2013-6-23 21:31:47 | 只看该作者
3# 慧娴亚伦
$ h4 @  [8 [; l) v3 T( u% J
9 B  x& R! s/ ^/ j- Z. y6 }
7 n* ~; Y% W5 q9 V就是暂存区排队了,就是以前学的vb,现在编译这块不适应,努力学习中
6#
 楼主| diudiu123 发表于 2013-6-23 21:44:17 | 只看该作者
3# 慧娴亚伦
! T" c. S' s8 _2 f4 M/ a3 j5 k; {5 Z! [4 o" W" Q3 h! s- c
5 X, W3 V9 z1 O1 Q" x
呃,还是不成功,就是卡车到三个码头卸货,如果有两个以上码头空闲,卡车选择码头的顺序是(3,2,1)。如果所有码头都忙,则选择队长最小的码头。如果有两个以上码头的队长一样,选择码头的顺序是(1,2,3),其他都没问题,就这一小块代码写不明白了

本帖子中包含更多资源

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

x
7#
 楼主| diudiu123 发表于 2013-6-23 21:58:13 | 只看该作者
3# 慧娴亚伦
) m& m" Y, l( Z; f
. d' ~5 N/ E( X
5 W1 r7 m9 @* M' r谢你啦,我在你的代码的基础改了改,出来了" E8 F4 a% P# f5 v; A, n
if (aa==bb && bb==cc && cc==0){n=3;}
7 Z- f2 J4 C6 s/ t1 [else if (aa==bb && bb==cc){n=1;}+ \5 P* P( w) b! A% ]
else if (aa<=bb && aa<=cc){n=1;}+ s. B/ {1 Y5 `* i7 b" _- F
else if (bb<=aa && bb<=cc){n=2;}
4 Z9 j. U" V" G% jelse if (cc<=aa && cc<=bb){n=3;}
" h/ ~* B# F% b/ r- N7 n   setitemtype(item,n) ;3 t, Z/ m2 c2 _+ Q/ Z7 B
这样就好了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-9-6 02:13 , Processed in 0.083812 second(s), 14 queries .

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

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