lingo学习
在lingo中>与>=等价
@gin,整数变量限制
@bin,0-1变量限制
@bnd(取值范围)
1.整数规划
model:
max=z;
z=5*x1+8*x2;
x1+x2<6;
5*x1+9*x2<45;
x1>0;x2>0;
@gin(x1);@gin(x2);
end
2.非线性规划
model:
min=3*x^2+y^2-x*y+0.4*y;
1.2*x+0.9*y>1.1;
x+y=1;
y<0.7;
end
model:
min=z;
z=@abs(pi-((a*b)/(c*d)))+1;
@bnd(20,a,100);
@bnd(20,b,100);
@bnd(20,c,100);
@bnd(20,d,100);
@gin(a);
@gin(b);
@gin(c);
@gin(d);
end
3.复杂问题求解
Model:
Sets: !定义集合;
CK/1..10/:d,y; !10个仓库,y和d都是10维的变量,其中y是01变量,d由下面数据给定;
KH/1..20/; !20个客户;
SS(CK,KH):x,c; !x和c都是10*20的变量,x表示供应百分数,c表示全部供应的费用;
EndSets
Min=@Sum(SS(i,j):c(i,j)*x(i,j))+@Sum(CK(i):d(i)*y(i));
@For(CK(i):@Sum(KH(j):x(i,j))<20*y(i)); !若不建某仓库,是没有物资的;
@For(KH(j):@Sum(CK(i):x(i,j))=1); !每个客户需要供应的百分数之和都为1;
@For(CK(i):@Bin(y(i))); !y是0、1变量限制;
Data: !数据部分;
d=2 3 4 2 3 4 2 3 4 5
;
c=
9 14 6 15 6 19 11 19 4 5 3 6 4 10 12 19 8 7 10 4
10 16 9 12 8 14 4 20 9 13 2 17 18 19 15 18 16 9 8 8
2 10 2 18 4 19 8 13 15 9 4 8 16 2 15 11 8 8 3 14
6 4 1 9 3 3 5 15 6 10 9 13 6 4 8 5 2 9 13 8
7 10 20 17 7 9 13 16 9 15 13 10 12 12 4 16 6 16 6 17
15 18 14 18 11 4 20 20 13 1 10 19 6 4 12 20 20 1 20 7
15 14 20 12 6 15 20 3 1 16 6 6 6 20 3 17 6 11 17 12
1 1 5 2 2 5 16 8 7 7 12 9 5 12 6 4 17 11 11 20
18 16 20 18 5 20 8 6 17 20 9 19 1 10 9 5 8 9 17 15
6 7 17 4 12 4 19 4 13 16 7 6 1 14 11 5 7 9 11 13
;
EndData
End
Global optimal solution found.
Objective value: 69.00000
Objective bound: 69.00000
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 427
Elapsed runtime seconds: 0.55
Model Class: MILP
Total variables: 210
Nonlinear variables: 0
Integer variables: 10
Total constraints: 31
Nonlinear constraints: 0
Total nonzeros: 620
Nonlinear nonzeros: 0
Variable Value Reduced Cost
D( 1) 2.000000 0.000000
D( 2) 3.000000 0.000000
D( 3) 4.000000 0.000000
D( 4) 2.000000 0.000000
D( 5) 3.000000 0.000000
D( 6) 4.000000 0.000000
D( 7) 2.000000 0.000000
D( 8) 3.000000 0.000000
D( 9) 4.000000 0.000000
D( 10) 5.000000 0.000000
Y( 1) 1.000000 2.000000
Y( 2) 0.000000 -17.00000
Y( 3) 1.000000 4.000000
Y( 4) 1.000000 2.000000
Y( 5) 0.000000 3.000000
Y( 6) 1.000000 4.000000
Y( 7) 1.000000 2.000000
Y( 8) 1.000000 3.000000
Y( 9) 0.000000 -56.00000
Y( 10) 0.000000 -55.00000
X( 1, 1) 0.000000 8.000000
X( 1, 2) 0.000000 13.00000
X( 1, 3) 0.000000 5.000000
X( 1, 4) 0.000000 13.00000
X( 1, 5) 0.000000 4.000000
X( 1, 6) 0.000000 16.00000
X( 1, 7) 0.000000 6.000000
X( 1, 8) 0.000000 16.00000
X( 1, 9) 0.000000 3.000000
X( 1, 10) 0.000000 4.000000
X( 1, 11) 1.000000 0.000000
X( 1, 12) 0.000000 0.000000
X( 1, 13) 1.000000 0.000000
X( 1, 14) 0.000000 8.000000
X( 1, 15) 0.000000 9.000000
X( 1, 16) 0.000000 15.00000
X( 1, 17) 0.000000 6.000000
X( 1, 18) 0.000000 6.000000
X( 1, 19) 0.000000 7.000000
X( 1, 20) 1.000000 0.000000
X( 2, 1) 0.000000 10.00000
X( 2, 2) 0.000000 16.00000
X( 2, 3) 0.000000 9.000000
X( 2, 4) 0.000000 11.00000
X( 2, 5) 0.000000 7.000000
X( 2, 6) 0.000000 12.00000
X( 2, 7) 0.000000 0.000000
X( 2, 8) 0.000000 18.00000
X( 2, 9) 0.000000 9.000000
X( 2, 10) 0.000000 13.00000
X( 2, 11) 0.000000 0.000000
X( 2, 12) 0.000000 12.00000
X( 2, 13) 0.000000 15.00000
X( 2, 14) 0.000000 18.00000
X( 2, 15) 0.000000 13.00000
X( 2, 16) 0.000000 15.00000
X( 2, 17) 0.000000 15.00000
X( 2, 18) 0.000000 9.000000
X( 2, 19) 0.000000 6.000000
X( 2, 20) 0.000000 5.000000
X( 3, 1) 0.000000 1.000000
X( 3, 2) 0.000000 9.000000
X( 3, 3) 0.000000 1.000000
X( 3, 4) 0.000000 16.00000
X( 3, 5) 0.000000 2.000000
X( 3, 6) 0.000000 16.00000
X( 3, 7) 0.000000 3.000000
X( 3, 8) 0.000000 10.00000
X( 3, 9) 0.000000 14.00000
X( 3, 10) 0.000000 8.000000
X( 3, 11) 0.000000 1.000000
X( 3, 12) 0.000000 2.000000
X( 3, 13) 0.000000 12.00000
X( 3, 14) 1.000000 0.000000
X( 3, 15) 0.000000 12.00000
X( 3, 16) 0.000000 7.000000
X( 3, 17) 0.000000 6.000000
X( 3, 18) 0.000000 7.000000
X( 3, 19) 1.000000 0.000000
X( 3, 20) 0.000000 10.00000
X( 4, 1) 0.000000 5.000000
X( 4, 2) 0.000000 3.000000
X( 4, 3) 1.000000 0.000000
X( 4, 4) 0.000000 7.000000
X( 4, 5) 0.000000 1.000000
X( 4, 6) 1.000000 0.000000
X( 4, 7) 1.000000 0.000000
X( 4, 8) 0.000000 12.00000
X( 4, 9) 0.000000 5.000000
X( 4, 10) 0.000000 9.000000
X( 4, 11) 0.000000 6.000000
X( 4, 12) 0.000000 7.000000
X( 4, 13) 0.000000 2.000000
X( 4, 14) 0.000000 2.000000
X( 4, 15) 0.000000 5.000000
X( 4, 16) 0.000000 1.000000
X( 4, 17) 1.000000 0.000000
X( 4, 18) 0.000000 8.000000
X( 4, 19) 0.000000 10.00000
X( 4, 20) 0.000000 4.000000
X( 5, 1) 0.000000 6.000000
X( 5, 2) 0.000000 9.000000
X( 5, 3) 0.000000 19.00000
X( 5, 4) 0.000000 15.00000
X( 5, 5) 0.000000 5.000000
X( 5, 6) 0.000000 6.000000
X( 5, 7) 0.000000 8.000000
X( 5, 8) 0.000000 13.00000
X( 5, 9) 0.000000 8.000000
X( 5, 10) 0.000000 14.00000
X( 5, 11) 0.000000 10.00000
X( 5, 12) 0.000000 4.000000
X( 5, 13) 0.000000 8.000000
X( 5, 14) 0.000000 10.00000
X( 5, 15) 0.000000 1.000000
X( 5, 16) 0.000000 12.00000
X( 5, 17) 0.000000 4.000000
X( 5, 18) 0.000000 15.00000
X( 5, 19) 0.000000 3.000000
X( 5, 20) 0.000000 13.00000
X( 6, 1) 0.000000 14.00000
X( 6, 2) 0.000000 17.00000
X( 6, 3) 0.000000 13.00000
X( 6, 4) 0.000000 16.00000
X( 6, 5) 0.000000 9.000000
X( 6, 6) 0.000000 1.000000
X( 6, 7) 0.000000 15.00000
X( 6, 8) 0.000000 17.00000
X( 6, 9) 0.000000 12.00000
X( 6, 10) 1.000000 0.000000
X( 6, 11) 0.000000 7.000000
X( 6, 12) 0.000000 13.00000
X( 6, 13) 0.000000 2.000000
X( 6, 14) 0.000000 2.000000
X( 6, 15) 0.000000 9.000000
X( 6, 16) 0.000000 16.00000
X( 6, 17) 0.000000 18.00000
X( 6, 18) 1.000000 0.000000
X( 6, 19) 0.000000 17.00000
X( 6, 20) 0.000000 3.000000
X( 7, 1) 0.000000 14.00000
X( 7, 2) 0.000000 13.00000
X( 7, 3) 0.000000 19.00000
X( 7, 4) 0.000000 10.00000
X( 7, 5) 0.000000 4.000000
X( 7, 6) 0.000000 12.00000
X( 7, 7) 0.000000 15.00000
X( 7, 8) 1.000000 0.000000
X( 7, 9) 1.000000 0.000000
X( 7, 10) 0.000000 15.00000
X( 7, 11) 0.000000 3.000000
X( 7, 12) 1.000000 0.000000
X( 7, 13) 0.000000 2.000000
X( 7, 14) 0.000000 18.00000
X( 7, 15) 1.000000 0.000000
X( 7, 16) 0.000000 13.00000
X( 7, 17) 0.000000 4.000000
X( 7, 18) 0.000000 10.00000
X( 7, 19) 0.000000 14.00000
X( 7, 20) 0.000000 8.000000
X( 8, 1) 1.000000 0.000000
X( 8, 2) 1.000000 0.000000
X( 8, 3) 0.000000 4.000000
X( 8, 4) 1.000000 0.000000
X( 8, 5) 1.000000 0.000000
X( 8, 6) 0.000000 2.000000
X( 8, 7) 0.000000 11.00000
X( 8, 8) 0.000000 5.000000
X( 8, 9) 0.000000 6.000000
X( 8, 10) 0.000000 6.000000
X( 8, 11) 0.000000 9.000000
X( 8, 12) 0.000000 3.000000
X( 8, 13) 0.000000 1.000000
X( 8, 14) 0.000000 10.00000
X( 8, 15) 0.000000 3.000000
X( 8, 16) 1.000000 0.000000
X( 8, 17) 0.000000 15.00000
X( 8, 18) 0.000000 10.00000
X( 8, 19) 0.000000 8.000000
X( 8, 20) 0.000000 16.00000
X( 9, 1) 0.000000 20.00000
X( 9, 2) 0.000000 18.00000
X( 9, 3) 0.000000 22.00000
X( 9, 4) 0.000000 19.00000
X( 9, 5) 0.000000 6.000000
X( 9, 6) 0.000000 20.00000
X( 9, 7) 0.000000 6.000000
X( 9, 8) 0.000000 6.000000
X( 9, 9) 0.000000 19.00000
X( 9, 10) 0.000000 22.00000
X( 9, 11) 0.000000 9.000000
X( 9, 12) 0.000000 16.00000
X( 9, 13) 0.000000 0.000000
X( 9, 14) 0.000000 11.00000
X( 9, 15) 0.000000 9.000000
X( 9, 16) 0.000000 4.000000
X( 9, 17) 0.000000 9.000000
X( 9, 18) 0.000000 11.00000
X( 9, 19) 0.000000 17.00000
X( 9, 20) 0.000000 14.00000
X( 10, 1) 0.000000 8.000000
X( 10, 2) 0.000000 9.000000
X( 10, 3) 0.000000 19.00000
X( 10, 4) 0.000000 5.000000
X( 10, 5) 0.000000 13.00000
X( 10, 6) 0.000000 4.000000
X( 10, 7) 0.000000 17.00000
X( 10, 8) 0.000000 4.000000
X( 10, 9) 0.000000 15.00000
X( 10, 10) 0.000000 18.00000
X( 10, 11) 0.000000 7.000000
X( 10, 12) 0.000000 3.000000
X( 10, 13) 0.000000 0.000000
X( 10, 14) 0.000000 15.00000
X( 10, 15) 0.000000 11.00000
X( 10, 16) 0.000000 4.000000
X( 10, 17) 0.000000 8.000000
X( 10, 18) 0.000000 11.00000
X( 10, 19) 0.000000 11.00000
X( 10, 20) 0.000000 12.00000
C( 1, 1) 9.000000 0.000000
C( 1, 2) 14.00000 0.000000
C( 1, 3) 6.000000 0.000000
C( 1, 4) 15.00000 0.000000
C( 1, 5) 6.000000 0.000000
C( 1, 6) 19.00000 0.000000
C( 1, 7) 11.00000 0.000000
C( 1, 8) 19.00000 0.000000
C( 1, 9) 4.000000 0.000000
C( 1, 10) 5.000000 0.000000
C( 1, 11) 3.000000 0.000000
C( 1, 12) 6.000000 0.000000
C( 1, 13) 4.000000 0.000000
C( 1, 14) 10.00000 0.000000
C( 1, 15) 12.00000 0.000000
C( 1, 16) 19.00000 0.000000
C( 1, 17) 8.000000 0.000000
C( 1, 18) 7.000000 0.000000
C( 1, 19) 10.00000 0.000000
C( 1, 20) 4.000000 0.000000
C( 2, 1) 10.00000 0.000000
C( 2, 2) 16.00000 0.000000
C( 2, 3) 9.000000 0.000000
C( 2, 4) 12.00000 0.000000
C( 2, 5) 8.000000 0.000000
C( 2, 6) 14.00000 0.000000
C( 2, 7) 4.000000 0.000000
C( 2, 8) 20.00000 0.000000
C( 2, 9) 9.000000 0.000000
C( 2, 10) 13.00000 0.000000
C( 2, 11) 2.000000 0.000000
C( 2, 12) 17.00000 0.000000
C( 2, 13) 18.00000 0.000000
C( 2, 14) 19.00000 0.000000
C( 2, 15) 15.00000 0.000000
C( 2, 16) 18.00000 0.000000
C( 2, 17) 16.00000 0.000000
C( 2, 18) 9.000000 0.000000
C( 2, 19) 8.000000 0.000000
C( 2, 20) 8.000000 0.000000
C( 3, 1) 2.000000 0.000000
C( 3, 2) 10.00000 0.000000
C( 3, 3) 2.000000 0.000000
C( 3, 4) 18.00000 0.000000
C( 3, 5) 4.000000 0.000000
C( 3, 6) 19.00000 0.000000
C( 3, 7) 8.000000 0.000000
C( 3, 8) 13.00000 0.000000
C( 3, 9) 15.00000 0.000000
C( 3, 10) 9.000000 0.000000
C( 3, 11) 4.000000 0.000000
C( 3, 12) 8.000000 0.000000
C( 3, 13) 16.00000 0.000000
C( 3, 14) 2.000000 0.000000
C( 3, 15) 15.00000 0.000000
C( 3, 16) 11.00000 0.000000
C( 3, 17) 8.000000 0.000000
C( 3, 18) 8.000000 0.000000
C( 3, 19) 3.000000 0.000000
C( 3, 20) 14.00000 0.000000
C( 4, 1) 6.000000 0.000000
C( 4, 2) 4.000000 0.000000
C( 4, 3) 1.000000 0.000000
C( 4, 4) 9.000000 0.000000
C( 4, 5) 3.000000 0.000000
C( 4, 6) 3.000000 0.000000
C( 4, 7) 5.000000 0.000000
C( 4, 8) 15.00000 0.000000
C( 4, 9) 6.000000 0.000000
C( 4, 10) 10.00000 0.000000
C( 4, 11) 9.000000 0.000000
C( 4, 12) 13.00000 0.000000
C( 4, 13) 6.000000 0.000000
C( 4, 14) 4.000000 0.000000
C( 4, 15) 8.000000 0.000000
C( 4, 16) 5.000000 0.000000
C( 4, 17) 2.000000 0.000000
C( 4, 18) 9.000000 0.000000
C( 4, 19) 13.00000 0.000000
C( 4, 20) 8.000000 0.000000
C( 5, 1) 7.000000 0.000000
C( 5, 2) 10.00000 0.000000
C( 5, 3) 20.00000 0.000000
C( 5, 4) 17.00000 0.000000
C( 5, 5) 7.000000 0.000000
C( 5, 6) 9.000000 0.000000
C( 5, 7) 13.00000 0.000000
C( 5, 8) 16.00000 0.000000
C( 5, 9) 9.000000 0.000000
C( 5, 10) 15.00000 0.000000
C( 5, 11) 13.00000 0.000000
C( 5, 12) 10.00000 0.000000
C( 5, 13) 12.00000 0.000000
C( 5, 14) 12.00000 0.000000
C( 5, 15) 4.000000 0.000000
C( 5, 16) 16.00000 0.000000
C( 5, 17) 6.000000 0.000000
C( 5, 18) 16.00000 0.000000
C( 5, 19) 6.000000 0.000000
C( 5, 20) 17.00000 0.000000
C( 6, 1) 15.00000 0.000000
C( 6, 2) 18.00000 0.000000
C( 6, 3) 14.00000 0.000000
C( 6, 4) 18.00000 0.000000
C( 6, 5) 11.00000 0.000000
C( 6, 6) 4.000000 0.000000
C( 6, 7) 20.00000 0.000000
C( 6, 8) 20.00000 0.000000
C( 6, 9) 13.00000 0.000000
C( 6, 10) 1.000000 0.000000
C( 6, 11) 10.00000 0.000000
C( 6, 12) 19.00000 0.000000
C( 6, 13) 6.000000 0.000000
C( 6, 14) 4.000000 0.000000
C( 6, 15) 12.00000 0.000000
C( 6, 16) 20.00000 0.000000
C( 6, 17) 20.00000 0.000000
C( 6, 18) 1.000000 0.000000
C( 6, 19) 20.00000 0.000000
C( 6, 20) 7.000000 0.000000
C( 7, 1) 15.00000 0.000000
C( 7, 2) 14.00000 0.000000
C( 7, 3) 20.00000 0.000000
C( 7, 4) 12.00000 0.000000
C( 7, 5) 6.000000 0.000000
C( 7, 6) 15.00000 0.000000
C( 7, 7) 20.00000 0.000000
C( 7, 8) 3.000000 0.000000
C( 7, 9) 1.000000 0.000000
C( 7, 10) 16.00000 0.000000
C( 7, 11) 6.000000 0.000000
C( 7, 12) 6.000000 0.000000
C( 7, 13) 6.000000 0.000000
C( 7, 14) 20.00000 0.000000
C( 7, 15) 3.000000 0.000000
C( 7, 16) 17.00000 0.000000
C( 7, 17) 6.000000 0.000000
C( 7, 18) 11.00000 0.000000
C( 7, 19) 17.00000 0.000000
C( 7, 20) 12.00000 0.000000
C( 8, 1) 1.000000 0.000000
C( 8, 2) 1.000000 0.000000
C( 8, 3) 5.000000 0.000000
C( 8, 4) 2.000000 0.000000
C( 8, 5) 2.000000 0.000000
C( 8, 6) 5.000000 0.000000
C( 8, 7) 16.00000 0.000000
C( 8, 8) 8.000000 0.000000
C( 8, 9) 7.000000 0.000000
C( 8, 10) 7.000000 0.000000
C( 8, 11) 12.00000 0.000000
C( 8, 12) 9.000000 0.000000
C( 8, 13) 5.000000 0.000000
C( 8, 14) 12.00000 0.000000
C( 8, 15) 6.000000 0.000000
C( 8, 16) 4.000000 0.000000
C( 8, 17) 17.00000 0.000000
C( 8, 18) 11.00000 0.000000
C( 8, 19) 11.00000 0.000000
C( 8, 20) 20.00000 0.000000
C( 9, 1) 18.00000 0.000000
C( 9, 2) 16.00000 0.000000
C( 9, 3) 20.00000 0.000000
C( 9, 4) 18.00000 0.000000
C( 9, 5) 5.000000 0.000000
C( 9, 6) 20.00000 0.000000
C( 9, 7) 8.000000 0.000000
C( 9, 8) 6.000000 0.000000
C( 9, 9) 17.00000 0.000000
C( 9, 10) 20.00000 0.000000
C( 9, 11) 9.000000 0.000000
C( 9, 12) 19.00000 0.000000
C( 9, 13) 1.000000 0.000000
C( 9, 14) 10.00000 0.000000
C( 9, 15) 9.000000 0.000000
C( 9, 16) 5.000000 0.000000
C( 9, 17) 8.000000 0.000000
C( 9, 18) 9.000000 0.000000
C( 9, 19) 17.00000 0.000000
C( 9, 20) 15.00000 0.000000
C( 10, 1) 6.000000 0.000000
C( 10, 2) 7.000000 0.000000
C( 10, 3) 17.00000 0.000000
C( 10, 4) 4.000000 0.000000
C( 10, 5) 12.00000 0.000000
C( 10, 6) 4.000000 0.000000
C( 10, 7) 19.00000 0.000000
C( 10, 8) 4.000000 0.000000
C( 10, 9) 13.00000 0.000000
C( 10, 10) 16.00000 0.000000
C( 10, 11) 7.000000 0.000000
C( 10, 12) 6.000000 0.000000
C( 10, 13) 1.000000 0.000000
C( 10, 14) 14.00000 0.000000
C( 10, 15) 11.00000 0.000000
C( 10, 16) 5.000000 0.000000
C( 10, 17) 7.000000 0.000000
C( 10, 18) 9.000000 0.000000
C( 10, 19) 11.00000 0.000000
C( 10, 20) 13.00000 0.000000
Row Slack or Surplus Dual Price
1 69.00000 -1.000000
2 17.00000 0.000000
3 0.000000 1.000000
4 18.00000 0.000000
5 16.00000 0.000000
6 0.000000 0.000000
7 18.00000 0.000000
8 16.00000 0.000000
9 15.00000 0.000000
10 0.000000 3.000000
11 0.000000 3.000000
12 0.000000 -1.000000
13 0.000000 -1.000000
14 0.000000 -1.000000
15 0.000000 -2.000000
16 0.000000 -2.000000
17 0.000000 -3.000000
18 0.000000 -5.000000
19 0.000000 -3.000000
20 0.000000 -1.000000
21 0.000000 -1.000000
22 0.000000 -3.000000
23 0.000000 -6.000000
24 0.000000 -4.000000
25 0.000000 -2.000000
26 0.000000 -3.000000
27 0.000000 -4.000000
28 0.000000 -2.000000
29 0.000000 -1.000000
30 0.000000 -3.000000
31 0.000000 -4.000000
标签:
数学建模
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤