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 \]