第一章 线性规划

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

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

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


  • 标准形式如下:

[egin{array}{l}
egin{array}{*{20}{c}}
{}&{min egin{array}{*{20}{c}}
{}&{{f^T}x}
end{array}}
end{array}\
{ m{s}}{ m{.t}}{ m{.}}egin{array}{*{20}{c}}
{left{ egin{array}{l}
A cdot {f{x}} le b\
Aeq cdot {f{x}} = beq\
lb le {f{x}} le ub
end{array} ight.}
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)

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


[egin{array}{l}
egin{array}{*{20}{c}}
{}
end{array}egin{array}{*{20}{c}}
{}
end{array}max egin{array}{*{20}{c}}
{}
end{array}z = 2{x_1} + 3{x_2} - 5{x_3},\
s.t.left{ egin{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} ight.
end{array}]

化成Matlab标准型:

[egin{array}{l}
egin{array}{*{20}{c}}
{}
end{array}egin{array}{*{20}{c}}
{}
end{array}min egin{array}{*{20}{c}}
{}
end{array}w = - 2{x_1} - 3{x_2} + 5{x_3},\
s.t.left[ {egin{array}{*{20}{c}}
{ - 2}&5&{ - 1}\
1&3&1
end{array}} ight]left[ egin{array}{l}
{x_1}\
{x_2}\
{x_3}
end{array} ight] le left[ {egin{array}{*{20}{c}}
{ - 10}\
{12}
end{array}} ight],\
egin{array}{*{20}{c}}
{}
end{array}egin{array}{*{20}{c}}
{}
end{array}left[ {egin{array}{*{20}{c}}
1&1&1
end{array}} ight] cdot {left[ {{x_1},{x_2},{x_3}} ight]^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

  


原文地址:https://www.cnblogs.com/250101249-sxy/p/11243710.html