注意:请安装 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