Lingo求解
model:
min=300*x1+180*x2;
x1+x2=0.5;
x1>=0.5*0.2;
7000*x2<=6000;
end
结果
Global optimal solution found.
Objective value: 102.0000
Infeasibilities: 0.000000
Total solver iterations: 0
Variable Value Reduced Cost
X1 0.1000000 0.000000
X2 0.4000000 0.000000
Row Slack or Surplus Dual Price
1 102.0000 -1.000000
2 0.000000 -180.0000
3 0.000000 -120.0000
4 3200.000 0.000000
MATLAB解答:
c=[2,3,5,3,3,6];
A=[1,2,3,0,0,0;0,0,0,1,1,3];
b=[80;100];
Aeq=[1,0,0,1,0,0;0,1,0,0,1,0;0,0,1,0,0,1];
beq=[70;50;20];
vlb=zeros(6,1);
[x,fval]=linprog(c,A,b,Aeq,beq,vlb)
结果:x =
70.0000
0.0000
3.3333
0.0000
50.0000
16.6667
fval =
406.6667
答:
MATLAB解题:
% 目标函数
f = [12 5 4 12 5 4];
% 不等式约束
a = [4 3 1 0 0 0;0 0 0 2 6 3];
b = [180;200];
% 等式约束
aeq = [];
beq = [];
% 上下限
vlb = zeros(6,1);
vub = [];
[x,fval] = linprog(-f,a,b,aeq,beq,vlb,vub)
计算结果:
x =
0
0
180
100
0
0
fval =
-1920
每班的护士在值班始时向病房报到,连续工作8h.医院领导为满足每班所需要的护士数,最少需要雇佣多少护士?
lingo模型求解:
min=x1+x2+x3+x4+x5+x6;
x1+x6>=60;
x1+x2>=70;
x2+x3>=60;
x3+x4>=50;
x4+x5>=20;
x5+x6>=30;
@gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x5);@gin(x6);
end
Global optimal solution found.
Objective value: 150.0000
Objective bound: 150.0000
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 4
Variable Value Reduced Cost
X1 60.00000 1.000000
X2 10.00000 1.000000
X3 50.00000 1.000000
X4 0.000000 1.000000
X5 30.00000 1.000000
X6