用LINGO 编程解一个线性规划问题,不会编,急急急!在线等

来自:搞笑段子    更新日期:早些时候
如何使用lingo软件编程解决线性规划问题?问题如补充所示。~

根据你提供的资料,lingo程序如下:
min
=Z1+Z2+Z3;
Z1=5*X11+7*X21+5*X31+4*X41+6*X51+5*X61+5*X71+3*X81+P1;
Z2=5*X12+7*X22+5*X32+4*X42+6*X52+5*X62+5*X72+3*X82+P2;
Z3=5*X13+7*X23+5*X33+4*X43+6*X53+5*X63+5*X73+3*X83+P3;
Z1<=60;Z2<=60;
Z3<=60;
N1=25*X11+36*X21+32*X31+15*X41+31*X51+28*X61+22*X71+12*X81;
N2=25*X12+36*X22+32*X32+15*X42+31*X52+28*X62+22*X72+12*X82+25*X11*0.9+36*X21*0.9+32*X31*0.9+15*X41*0.9+31*X51*0.9+28*X61*0.9+22*X71*0.9+12*X81*0.9;
N3=25*X13+36*X23+32*X33+15*X43+31*X53+28*X63+22*X73+12*X83+25*X12*0.9+36*X22*0.9+32*X32*0.9+15*X42*0.9+31*X52*0.9+28*X62*0.9+22*X72*0.9+12*X82*0.9+25*X11*0.81+
36*X21*0.81+32*X31*0.81+15*X41*0.81+31*X51*0.81+28*X61*0.81+22*X71*0.81+12*X81*0.81;
N4=N3*0.9;
N5=N3*0.81;
W1=43.4754+N1;
W2=31.7983+N2;
W3=24.0045+N3;
W4=20.7178+N4+Q;
W5=17.4312+N5+Q;
W1>=150;W2>=160;W3>=170;
W4>=180;W5>=190;
L1+L2+L3
>=
20;
P1=0.66*Q^0.51*L1;
P2=0.66*Q^0.51*L2;
P3=0.66*Q^0.51*L3;
@gin(P1);@gin(P2);@gin(P3);
但个人觉得似乎不太对,有可能的话用原题重新提问

写成这样到lingo里面运行一下就行了 自己检查一下有没有系数错误

max=x1*y1+x2*y3+x3*y3+x4*y4;
(482-y1)/482=0.4*(x1-297)/297;
(32-y2)/32=2.7*(x2-720)/720;
(21-y3)/21=1.1*(x3-1050)/1050;
(7-y4)/7=0.4*(x4-815)/815;
(y3-21)/21=0.1*(x4-815)/815;
(y4-7)/7=0.4*(x3-1050)/1050;
4*y1+80*y2+35*y3+25*y4<=60000;
9*y1+2*y2+30*y3+40*y4<=70000;

若求最小值,则有无界解,即目标函数没有最小值。程序如下:
Min=6000-290*X1-470*X2-720*X3-1060*X4-1490*X5;
X1>=1;
X2>=1;
X3>=1;
X4>=1;
X5>=1;
@GIN(x1);@GIN(x2);@GIN(x3);@GIN(x4);@GIN(x5);

运行结果为:
Model is unbounded

Variable Value
X1 0.000000
X2 0.000000
X3 0.000000
X4 0.000000
X5 0.000000

Row Slack or Surplus
1 0.000000
2 -1.000000
3 -1.000000
4 -1.000000
5 -1.000000
6 -1.000000

若改为求最大值,则有有界解。程序如下:
Max=6000-290*X1-470*X2-720*X3-1060*X4-1490*X5;
X1>=1;
X2>=1;
X3>=1;
X4>=1;
X5>=1;
@GIN(x1);@GIN(x2);@GIN(x3);@GIN(x4);@GIN(x5);

运行结果为:
Global optimal solution found.
Objective value: 1970.000
Objective bound: 1970.000
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 0

Variable Value Reduced Cost
X1 1.000000 290.0000
X2 1.000000 470.0000
X3 1.000000 720.0000
X4 1.000000 1060.000
X5 1.000000 1490.000

Row Slack or Surplus Dual Price
1 1970.000 1.000000
2 0.000000 0.000000
3 0.000000 0.000000
4 0.000000 0.000000
5 0.000000 0.000000
6 0.000000 0.000000

这个为无界解,把min改成max就有解了

model:
min=6000-290*X1-470*X2-720*X3-1060*X4-1490*X5;
X1>=1;
X2>=1;
X3>=1;
X4>=1;
X5>=1;
@gin(X1);
@gin(X2);
@gin(X3);
@gin(X4);
@gin(X5);
end


用LINGO 编程解一个线性规划问题,不会编,急急急!在线等视频

相关评论:

相关主题精彩

版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

Copyright © 喜物网