第一章 线性规划

注意:请安装 TeX All The Things 这款Chrome浏览器插件才能正确显示公式。

链接如下:https://chrome.google.com/webstore/detail/tex-all-the-things/cbimabofgmfdkicghcadidpemeenbffn

 

一、线性规划的Matlab标准形式及软件求解


 

  • 标准形式如下:

\[\begin{array}{l}
\begin{array}{*{20}{c}}
{}&{\min \begin{array}{*{20}{c}}
{}&{{f^T}x}
\end{array}}
\end{array}\\
{\rm{s}}{\rm{.t}}{\rm{.}}\begin{array}{*{20}{c}}
{\left\{ \begin{array}{l}
A \cdot {\bf{x}} \le b\\
Aeq \cdot {\bf{x}} = beq\\
lb \le {\bf{x}} \le ub
\end{array} \right.}
\end{array}
\end{array}\]


 

  • Matlab中求解线性规划的命令为:
[x,fval]=linprog(f,A,b)
[x,fval]=linprog(f,A,b,Aeq,beq)
[x,fval]=linprog(f,A,b,Aeq,beq,lb,ub)

 

  例:求解下列线性规划问题:


\[\begin{array}{l}
\begin{array}{*{20}{c}}
{}
\end{array}\begin{array}{*{20}{c}}
{}
\end{array}\max \begin{array}{*{20}{c}}
{}
\end{array}z = 2{x_1} + 3{x_2} - 5{x_3},\\
s.t.\left\{ \begin{array}{l}
{x_1} + {x_2} + {x_3} = 7,\\
2{x_1} - 5{x_2} + {x_3} \ge 10,\\
{x_1} + 3{x_2} + {x_3} \le 12,\\
{x_1},{x_2},{x_3} \ge 10.
\end{array} \right.
\end{array}\]

化成Matlab标准型:

 

\[\begin{array}{l}
\begin{array}{*{20}{c}}
{}
\end{array}\begin{array}{*{20}{c}}
{}
\end{array}\min \begin{array}{*{20}{c}}
{}
\end{array}w = - 2{x_1} - 3{x_2} + 5{x_3},\\
s.t.\left[ {\begin{array}{*{20}{c}}
{ - 2}&5&{ - 1}\\
1&3&1
\end{array}} \right]\left[ \begin{array}{l}
{x_1}\\
{x_2}\\
{x_3}
\end{array} \right] \le \left[ {\begin{array}{*{20}{c}}
{ - 10}\\
{12}
\end{array}} \right],\\
\begin{array}{*{20}{c}}
{}
\end{array}\begin{array}{*{20}{c}}
{}
\end{array}\left[ {\begin{array}{*{20}{c}}
1&1&1
\end{array}} \right] \cdot {\left[ {{x_1},{x_2},{x_3}} \right]^T} = 7.
\end{array}\]

求解的Matlab程序如下:

f=[-2; -3; 5];
a=[-2,5,-1;1,3,1]; b=[-10;12];
aeq=[1,1,1];
beq=7;
[x,y]=linprog(f,a,b,aeq,beq,zeros(3,1));
x, y=-y

  


 

posted @ 2019-07-25 13:35  WhoDreamsSky  阅读(322)  评论(0编辑  收藏  举报