Matlab 线性规划实践
Matlab 线性规划实践
以下题目选自寇玮华主编的运筹学教材课后习题
题一
求解
\[max\ z=x_1+x_2 \\
s.t.
\begin{equation}
\left\{
\begin{array}{**lr**}
2x_1+x_2\leq8 \\
-x_1+x_2\leq2 \\
x_1+x_2\geq2 \\
x_1,x_2\geq0
\end{array}
\right.
\end{equation}
\]
求解代码
f=[-1 -1]
A=[2 1;-1 1;-1 -1]
b=[8 2 2]
[x,y]=linprog(f,A,b,[],[],zeros(2,1));
x,y=-y
可以求得最优解为
\[x_1=2,x_2=4 \\
z=6
\]
题二
求解
\[max\ z=2x_1-2x_2+3x_3 \\
s.t.
\begin{equation}
\left\{
\begin{array}{**lr**}
x_1+x_2+x_3\leq18 \\
x_1+2x_2-x_3\leq4 \\
-x_1+x_3\leq6 \\
x_1,x_2,x_3\geq0
\end{array}
\right.
\end{equation}
\]
求解代码
f=[-2 2 -3]
A=[1 1 1;1 2 -1;-1 0 1]
b=[18 4 6]
[x,y]=linprog(f,A,b,[],[],zeros(3,1));
x,y=-y
可以求得最优解为
\[x_1=6,x_2=0,x_3=12 \\
z=48
\]
题三
求解
\[max\ z =2x_1+3x_2-5x_3 \\
s.t.
\begin{equation}
\left\{
\begin{array}{**lr**}
x_1+x_2+x_3=7 \\
2x_1-4x_2+x_3\geq10\\
x_1,x_2,x_3\geq0
\end{array}
\right.
\end{equation}
\]
求解代码
f=[-2 -3 5]
A=[-2 4 -1]
b=[-10]
Aeq=[1 1 1]
beq=[7]
[x,y]=linprog(f,A,b,Aeq,beq,zeros(3,1));
x,y=-y
可以求得最优解为
\[x_1=6.3333,x_2=0.6667,x_3=0 \\
z=14.6667
\]