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

