错误真多,改正过来了,自己对照一下模型有没有问题
注:出现1017错误说明你用的是lingo9.0的破解版而且那个版本有问题,我空间有下载地址,自己找一下。。。
Model:
Title post selection;
Sets:
demand/1..13/:w,s;
supply/1..5/;
link(demand,supply):c;
endsets
data:
!salaries for the posts(员工工资);
w=45,60,80,110,80,60,50,90,80,100,100,120,190;
!quantities for each post(每个职位的雇佣总数);
s=6,5,3,1,1,2,2,1,1,1,1,1,10;
enddata
init:
!initial quantities for each post;
c=1,1,4,0,0,
1,0,2,2,0,
2,0,0,2,0,
1,0,0,0,0,
1,0,0,0,0,
0,0,2,0,0,
0,0,1,0,1,
0,0,0,0,1,
0,0,0,1,0,
0,0,0,0,1,
0,0,0,0,1,
1,0,0,0,0,
1,0,0,0,0;
endinit
!Objective function(目标函数);
[OBJ]min=@sum(demand(i):c(i,1)*w(i)+c(i,2)*w(i)+35*c(i,3)+50*c(i,4))
-20*c(13,1)-20*c(13,2)+w(6)*c(6,5)+w(7)*c(7,5)+w(8)*c(8,5)+w(9)*c(9,5)+w(10)*c(10,5)+w(11)*c(11,5)-
(@smin(c(10,5),c(11,5))*50
+@smin(@abs(c(10,5)-c(11,5)),c(8,5))*45
+@smin(@abs(@abs(c(10,5)-c(11,5))-c(8,5)),c(9,5))*40
+@smin(@abs(@abs(@abs(c(10,5)-c(11,5))-c(8,5))-c(9,5)),c(7,5))*30
+@smin(@abs(@abs(@abs(@abs(c(10,5)-c(11,5))-c(8,5))-c(9,5))-c(7,5)),c(6,5))*25);
!constraints(约束);
@for(demand(i):@sum(supply(j):c(i,j))=s(i));
c(1,4)=0; c(1,5)=0; c(2,5)=0; c(3,5)=0;c(3,3)=0;
c(3,4)=0; c(3,5)=0; c(4,3)=0; c(4,4)=0; c(4,5)=0;
c(5,3)=0; c(5,4)=0;c(5,5)=0; c(6,4)=0; c(7,4)=0;
c(8,3)=0; c(9,3)=0;c(10,3)=0; c(10,4)=0; c(11,4)=0;
c(11,3)=0;c(12,3)=0;c(12,4)=0;c(12,5)=0;c(13,3)=0;
c(13,4)=0;c(13,5)=0;
@mod(@sum(demand(i):c(i,3)),2)=0;@mod(@sum(demand(i):c(i,4)),2)=0;@mod(@sum(demand(i):c(i,5)),2)=0;
@sum(demand(i):c(i,1))=2*c(13,1);@sum(demand(i):c(i,2))=3*c(13,2);
END