设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10924|回复: 3

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

[复制链接]
发表于 2009-3-4 11:54:58 | 显示全部楼层 |阅读模式
5仿真币
在使用Order List时,当一个order list满足不了order的数量,要用第二个甚至第三个order list,有一段程序,请大虾解释一下,多谢!程序如下:# l9 R! e& K1 V
begin P_Order arriving procedure3 k8 ^# ^9 u# o
  set V_NumWanted to 10
4 e; D, o% E% g+ m7 b' g% }% w  set V_NumOnList to OL_List1 current value
9 O3 |9 C- M' c) ^0 [8 P- I  order V_NumWanted loads from OL_List1 to P_NextProc% K# x% V* q+ p2 x, H8 j
     in case order not filled
/ v( p& A) E& a5 ?+ n" {! J, K9 V      begin
1 a. q- r+ M/ e# B! W        wait for .01 sec4 Q6 v2 c& B3 L  S" [; I# M
       decrement V_NumWanted by V_NumOnList - OL_List1 current value
5 k% ~9 ]+ v; B       set V_NumOnList to OL_List2 current value
+ u6 p8 x4 |( i% y  n/ `8 L. e       order V_NumWanted loads from OL_List2 to P_NextProc7 P& T# x$ x8 m8 r, Q' n
          in case case order not filled* a4 p5 S0 h  u# O( Y1 S8 U" }$ {
   .................................................................
4 a3 @" w( a4 @/ V
# a; h3 K; p/ L9 j- v* j3 f; F9 h% a' [8 M, |, z
我就是不明白上面用红绿色作标记的那句,为什么后面要加-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 | 显示全部楼层
我是觉得这句没有更好。
9 }# I8 d# {2 H  M% F6 K& |
6 s/ g# L( R/ n. I1 _: U分析一下,他要写上wait for .01 sec,目的应该是,第一个OL里的load先出去,再去order第二个OL,否则容易乱序;而在这0.01秒内,恐怕不能保证OL1里面不进新load。如果这样的话,有这句 - OL_List1 current value反倒容易出问题。- H$ [4 g, Y8 J, s: f
" z4 t1 Z2 P& Q
写这个程序的大概是西方人吧,喜欢逻辑上的严谨和形式上的正确?* m1 f3 q2 S1 l: C, T
或者,OL里会存在有Load不被Order出来的问题么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-7 00:37 , Processed in 0.015200 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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