设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10343|回复: 3

[求助] 求助关于Order lists的问题

[复制链接]
发表于 2009-3-4 11:54:58 | 显示全部楼层 |阅读模式
5仿真币
在使用Order List时,当一个order list满足不了order的数量,要用第二个甚至第三个order list,有一段程序,请大虾解释一下,多谢!程序如下:
! G' s8 A9 [+ x( @begin P_Order arriving procedure
+ Y% j. l$ m' ~  |% Z  set V_NumWanted to 10# E; W" R, g" f. ^
  set V_NumOnList to OL_List1 current value
. i3 ?0 ~/ p5 b3 D  order V_NumWanted loads from OL_List1 to P_NextProc
7 G/ O% |9 ^' Q9 E! X: T7 B4 [     in case order not filled: E1 N; T9 m+ ^# x! {4 h4 X8 L0 M
      begin- X0 S  Q5 s6 c4 a1 `8 [4 E& l
        wait for .01 sec
% D- p3 |7 M! d       decrement V_NumWanted by V_NumOnList - OL_List1 current value, f' p4 O  B4 l1 b3 i% H* h& k
       set V_NumOnList to OL_List2 current value
% }+ u) m0 R- T7 c+ o       order V_NumWanted loads from OL_List2 to P_NextProc
+ u6 k1 ^$ L4 n! `$ R: k. E0 E; V, J          in case case order not filled
- D6 a2 X. i+ F6 x$ N9 i( z   .................................................................; j" V: l* w, o, P" C$ P
4 c! _+ g; _6 f/ O/ _

( ?. P  X  T) y. k3 ~我就是不明白上面用红绿色作标记的那句,为什么后面要加-OL_List1 current value.用前面绿色部分,即把不够的load算出来就不行了吗?

最佳答案

查看完整内容

由于有in case order not filled这句,所以我觉得红色部分应该可以去掉。你还是自己测试一下吧,不一定要按书上说的做。
发表于 2009-3-4 11:54:59 | 显示全部楼层
由于有in case order not filled这句,所以我觉得红色部分应该可以去掉。你还是自己测试一下吧,不一定要按书上说的做。
 楼主| 发表于 2009-3-6 09:11:35 | 显示全部楼层
谢谢TX!
发表于 2009-3-11 20:23:30 | 显示全部楼层
我是觉得这句没有更好。  Z2 z5 O% h# Q1 w- I4 g+ Z

8 Z# X( F; k, ~分析一下,他要写上wait for .01 sec,目的应该是,第一个OL里的load先出去,再去order第二个OL,否则容易乱序;而在这0.01秒内,恐怕不能保证OL1里面不进新load。如果这样的话,有这句 - OL_List1 current value反倒容易出问题。" P1 |. C; F( n9 c
' x  _  \9 b) z9 o" y, \% }- d
写这个程序的大概是西方人吧,喜欢逻辑上的严谨和形式上的正确?# u4 W0 y4 k" B
或者,OL里会存在有Load不被Order出来的问题么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-16 02:09 , Processed in 0.019065 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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