作业帮 > 综合 > 作业

我对lingo软件不太熟悉,

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/07 13:42:14
我对lingo软件不太熟悉,
这些是线性约束条件,目标函数为min = c1x1+c2x2+c3x3+c4x4+c5x5+c6x6+c7x7+c8x8+c9x9+c10x10+cx11+c12x12+c13x13+c14x14+c15x15+c16x16;
x1+x4+x5+x11>=1;
x1+x2+x11+x15+x16>=1;
X1+x2+x3+x15+x16>=1;
x1+x4+x5+x11+x16>=1;
x2+x3+x6+x12+x15+x16>=1;
x1+x4+x8+x11>=1;
x4+x5+x8+x9+x11>=1;
x2+x5+x6+x16>=1;
x5+x6+x9+x10+x14>=1;
x6+x7+x10+x12+x14>=1;
x2+x3+x5+x6+x7+x12+x15>=1;
x4+x8+x13>=1;
x5+x8+x9+x13>=1;
x5+x9+x10+x13>=1;
x7+x9+x10+x14>=1;
x6+x7+x10+x12>=1;
x8+x9+x13>=1;
x8+x9+x10+x13>=1;
x7+x9+x10>=1;
x2+x3+x6+x7+x12+x15>=1;
b11+b41+b51+b111>=120;
b12+b22+b112+b152+b162>=180;
b13+b23+b33+b153+b163>=230;
b14+b44+b54+b114+164>=120;
b25+b35+b65+b125+b155+b165>=150;
b16+b46+b86+b116>=180;
b47+b57+b87+b97+b117>=180;
b28+b58+b68+b168>=150;
b59+b69+b99+b109+b149>=100;
b610+b710+b1010+b1210+b1410>=160;
b211+b311+b511+b611+b711+b1211+b1511>=180;
b412+b812+b1312>=240;
b513+b813+b913+b1313>=210;
b514+b914+b1014+b1314>=220;
b715+b915+b1015+b1415>=280;
b616+b716+b1016+b1216>=260;
b817+b917+b1317>=320;
b818+b918+b1018+x1318>=380;
b719+b919+b1019>=360;
b220+b320+b620+b720+b1220+b1520>=300;
b1=b11+b12+b13+b14+b16;
b2=b23+b25+b28+b211+b220;
b3=b35+b311+b320+b33;
b4=b41+b44+b46+b47+b412;
b5=b51+b54+b57+b58+b58+b511+b513+b514;
b6=b65+b68+b69+b610+b611+b616+b620;
b7=b710+b711+b716+b719+b720;
b8=b86+b86+b812+b813+b817+b818;
b9=b97+b99+b913+b914;
b10=b109+b1010+b1014+b1015+b1016+b1018+b1019;
b11= b112+b114+b116+b117;
b12= b125+b1210+b1211+b1216+b12200;
b13= b1312+b1312+b1314+b1317+b1318;
b14= b149+b1410+b1415;
b15= b152+b153+b155+b1511+b1520;
b16= b162+b163+b164+b165+b168;
αi=[5,5,5,5,5,5,5,3.5,3.5,3.5,3.5,3.5,2,2,2,2];
βi=[0.15,0.15,0.15,0.15,0.15,0.15,0.15,0.1,0.1,0.1,0.1,0.1,0.05,0.05,0.05,0.05];
If bi>=600
ci=αi+βi*2000*100*(bi-600)
else ci=αi;
修改后的代码:
MODEL:
sets:
row/1..16/:c,n,x,bb,alph,beta;
col/1..20/;
bbn(row,col):b;
endsets
data:
n=1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16;
alph=5,5,5,5,5,5,5,3.5,3.5,3.5,3.5,3.5,2,2,2,2;
beta=0.15,0.15,0.15,0.15,0.15,0.15,0.15,0.1,0.1,0.1,0.1,0.1,0.05,0.05,0.05,0.05;
enddata
min=@sum(row:c*n);
x(1)+x(4)+x(5)+x(11)>=1;
x(1)+x(2)+x(11)+x(15)+x(16)>=1;
X(1)+x(2)+x(3)+x(15)+x(16)>=1;
x(1)+x(4)+x(5)+x(11)+x(16)>=1;
x(2)+x(3)+x(6)+x(12)+x(15)+x(16)>=1;
x(1)+x(4)+x(8)+x(11)>=1;
x(4)+x(5)+x(8)+x(9)+x(11)>=1;
x(2)+x(5)+x(6)+x(16)>=1;
x(5)+x(6)+x(9)+x(10)+x(14)>=1;
x(6)+x(7)+x(10)+x(12)+x(14)>=1;
x(2)+x(3)+x(5)+x(6)+x(7)+x(12)+x(15)>=1;
x(4)+x(8)+x(13)>=1;
x(5)+x(8)+x(9)+x(13)>=1;
x(5)+x(9)+x(10)+x(13)>=1;
x(7)+x(9)+x(10)+x(14)>=1;
x(6)+x(7)+x(10)+x(12)>=1;
x(8)+x(9)+x(13)>=1;
x(8)+x(9)+x(10)+x(13)>=1;
x(7)+x(9)+x(10)>=1;
x(2)+x(3)+x(6)+x(7)+x(12)+x(15)>=1;
b(1,1)+b(4,1)+b(5,1)+b(11,1)>=120;
b(1,2)+b(2,2)+b(11,2)+b(15,2)+b(16,2)>=180;
b(1,3)+b(2,3)+b(3,3)+b(15,3)+b(16,3)>=230;
b(1,4)+b(4,4)+b(5,4)+b(11,4)+b(16,4)>=120;
b(2,5)+b(3,5)+b(6,5)+b(12,5)+b(15,5)+b(16,5)>=150;
b(1,6)+b(4,6)+b(8,6)+b(11,6)>=180;
b(4,7)+b(5,7)+b(8,7)+b(9,7)+b(11,7)>=180;
b(2,8)+b(5,8)+b(6,8)+b(16,8)>=150;
b(5,9)+b(6,9)+b(9,9)+b(10,9)+b(14,9)>=100;
b(6,10)+b(7,10)+b(10,10)+b(12,10)+b(14,10)>=160;
b(2,11)+b(3,11)+b(5,11)+b(6,11)+b(7,11)+b(12,11)+b(15,11)>=180;
b(4,12)+b(8,12)+b(13,12)>=240;
b(5,13)+b(8,13)+b(9,13)+b(13,13)>=210;
b(5,14)+b(9,14)+b(10,14)+b(13,14)>=220;
b(7,15)+b(9,15)+b(10,15)+b(14,15)>=280;
b(6,16)+b(7,16)+b(10,16)+b(12,16)>=260;
b(8,17)+b(9,17)+b(13,17)>=320;
b(8,18)+b(9,18)+b(10,18)+b(13,18)>=380;
b(7,19)+b(9,19)+b(10,19)>=360;
b(2,20)+b(3,20)+b(6,20)+b(7,20)+b(12,20)+b(15,20)>=300;
bb(1)=b(1,1)+b(1,2)+b(1,3)+b(1,4)+b(1,6);
bb(2)=b(2,3)+b(2,5)+b(2,8)+b(2,11)+b(2,20);
bb(3)=b(3,5)+b(3,11)+b(3,20)+b(3,3);
bb(4)=b(4,1)+b(4,4)+b(4,6)+b(4,7)+b(4,12);
bb(5)=b(5,1)+b(5,4)+b(5,7)+b(5,8)+b(5,8)+b(5,11)+b(5,13)+b(5,14);
bb(6)=b(6,5)+b(6,8)+b(6,9)+b(6,10)+b(6,11)+b(6,16)+b(6,20);
bb(7)=b(7,10)+b(7,11)+b(7,16)+b(7,19)+b(7,20);
bb(8)=b(8,6)+b(8,6)+b(8,12)+b(8,13)+b(8,17)+b(8,18);
bb(9)=b(9,7)+b(9,9)+b(9,13)+b(9,14);
bb(10)=b(10,9)+b(10,10)+b(10,14)+b(10,15)+b(10,16)+b(10,18)+b(10,19);
bb(11)= b(11,2)+b(11,4)+b(11,6)+b(11,7);
bb(12)= b(12,5)+b(12,10)+b(12,11)+b(12,16)+b(12,20);
bb(13)= b(13,12)+b(13,12)+b(13,14)+b(13,17)+b(13,18);
bb(14)= b(14,9)+b(14,10)+b(14,15);
bb(15)= b(15,2)+b(15,3)+b(15,5)+b(15,11)+b(15,20);
bb(16)= b(16,2)+b(16,3)+b(16,4)+b(16,5)+b(16,8);
@for(row:c=@if(bb#ge#600,alph+beta*2000*(b-600),beta));
END
运行结果:
Local optimal solution found.
Objective value:12.10000
Total solver iterations:8
Variable Value Reduced Cost
C( 1) 0.1500000 0.000000
C( 2) 0.1500000 0.000000
C( 3) 0.1500000 0.000000
C( 4) 0.1500000 0.000000
C( 5) 0.1500000 0.000000
C( 6) 0.1500000 0.000000
C( 7) 0.1500000 0.000000
C( 8) 0.1000000 0.000000
C( 9) 0.1000000 0.000000
C( 10) 0.1000000 0.000000
C( 11) 0.1000000 0.000000
C( 12) 0.1000000 0.000000
C( 13) 0.5000000E-01 0.000000
C( 14) 0.5000000E-01 0.000000
C( 15) 0.5000000E-01 0.000000
C( 16) 0.5000000E-01 0.000000
……