线性规划
线性规划的标准形式
m i n x c T x s . t . A x ⩽ b \underset{x}{min}\bold{\ c^Tx}\ s.t.\ Ax \leqslant b xmin cTx s.t. Ax⩽b
例如,线性规划为:
m
a
x
x
c
T
x
s
.
t
.
A
x
⩾
b
\underset{x}{max}\bold{\ c^Tx} \ s.t. \ Ax \geqslant b
xmax cTx s.t. Ax⩾b
其matlab标准形式为:
m
i
n
x
−
c
T
x
s
.
t
.
−
A
X
⩽
−
b
\underset{x}{min}\bold{\ -c^Tx}\ s.t. -AX \leqslant -b
xmin −cTx s.t.−AX⩽−b
matlab指令为:
【例】求解线性规划问题:
m
i
n
z
=
2
x
1
+
3
x
2
+
x
3
min\ z = 2x_1+3x_2+x_3
min z=2x1+3x2+x3
s
.
t
.
{
x
1
+
4
x
2
+
2
x
3
⩾
8
3
x
1
+
2
x
2
⩾
6
x
1
,
x
2
,
x
3
⩾
0
s.t.\begin{cases} x_1+4x_2+2_x3 \geqslant 8\\ 3x_1+2x_2 \geqslant 6\\ x_1,x_2,x_3 \geqslant 0 \end{cases}
s.t.⎩
⎨
⎧x1+4x2+2x3⩾83x1+2x2⩾6x1,x2,x3⩾0
编写matlab程序如下:
c = [2;3;1];
a = [1,4,2;3,2,0];
b = [8;6]
[x,y] = linprog(c,-a,-b,[],[],zeros(3,1))
这里-a,-b即是为了将不等式化为标准形式
(
A
x
⩾
b
化成
−
A
x
⩽
−
b
)
(Ax \geqslant b化成-Ax \leqslant -b)
(Ax⩾b化成−Ax⩽−b)
参考书籍:Matlab在数学中的应用(第二版)卓金武