Page 236 - 数学建模算法与应用
P. 236

Mathematical Modeling Algorithms and Applications
             数学建模算法与应用


                  @for(operate(i,j):x(j)-x(i)+y(i,j)>t(i,j));
                  n=@size(events);
                  x(n)-x(1)<d;

                  @for(operate:@bnd(0,y,t-m));
                  end
                  作业 (1,3)(B))压缩 1 天的工期,作业 (6,8)(K) 压缩 1 天工期,这样可以
             在 49 天完工,需要多花费 1200 元。

                  如果需要知道压缩工期后的关键路径,则需要稍复杂一点的计算。
                  例 24 (续例 23) 用 LINGO 软件求解例 23,并求出相应的关键路径、各作
             业的最早开工时间和最迟开工时间。

                  解 为了得到作业的最早开工时间,仍在目标函数中加入                              记    表示事件 i
             的最迟开工时间,其他处理方法与前面相同。
                  写出相应的 LINGO 程序如下:
                  model:
                  sets:

                  events/1..8/:x,z;
                  operate(events,events)/1 2,1 3,1 4,2 5,3 4,3 5,4 6,5 6,
                  5 7,5 8,6 7,6 8,7 8/:s,t,m,c,y;
                  endsets

                  data:
                  t=5 10 11 4 4 0 15 21 25 35 0 20 15;
                  m=5 8 8 3 4 0 15 16 22 30 0 16 12;
                  c=0 700 400 450 0 0 0 600 300 500 0 500 400;

                  d=49;
                  @text(txt2.txt)=x,z;
                  enddata

                  min=mincost+sumx;
                  mincost=@sum(operate:c*y);
                  sumx=@sum(events:x);
                  @for(operate(i,j):s(i,j)=x(j)-x(i)+y(i,j)-t(i,j));



             226
   231   232   233   234   235   236   237   238   239   240   241