目录
第一章 Let’s Get Started
本章学习目标
- 初步认知线性规划术语
- 线性规划标准型
- 弱对偶理论
- 一些相关线代理论
线性规划和标准型
线性规划由求最大化或最小化的目标函数和若干线性约束条件构成。其解集是一个关于约束条件的多面体集(polyhedron)。
线性规划问题的解是一系列与变量相对应的实数,可行解是满足所有约束的解,若没有任何一个解比某个解更好,则称这个解为最优解。可行解的集合(多面体集)称为可行域。
线性规划的标准型如下:
m
i
n
c
′
x
A
x
=
b
x
≥
0
{\rm{min}}\,\, c'x \\ Ax = b \\ x \ge 0
minc′xAx=bx≥0
其中,
c
∈
R
n
,
b
∈
R
m
,
A
∈
R
m
×
n
c \in \mathbb{R}^n, b \in \mathbb{R}^m,A \in \mathbb{R}^{m\times n}
c∈Rn,b∈Rm,A∈Rm×n,
x
x
x是在
R
n
\mathbb{R}^{n}
Rn的向量。上式表达的是在有限个非负变量的前提下最小化一个线性函数,并受限于一系列的不多余(non-redundant)且不矛盾(cinsistent)的线性等式。即便
A
x
=
b
Ax = b
Ax=b有解,但不一定是可行解。
任何一个线性规划的公式都可以转换成标准型:
- 最大化问题则取负值 m a x c ′ x {\rm{max}}\,c'x maxc′x转换成 m i n − c ′ x {\rm{min}}\,-c'x min−c′x
- 非负变量 x j x_j xj可以转换成 x j − x_j^- xj−,用 − x j − -x_j^- −xj−代替 x j x_j xj。无约束变量 x j x_j xj可用两个非负变量做差 x j + − x j − x_j^+-x_j^- xj+−xj−代替。
- 若有不等式 ∑ j = 1 n a j x j ≤ γ \sum_{j=1}^n a_jx_j\le \gamma ∑j=1najxj≤γ,只需加一个非负的松弛变量 s s s,即可得到 ∑ j = 1 n a j x j + s = γ \sum_{j=1}^n a_jx_j+ s = \gamma ∑j=1najxj+s=γ。若有不等式 ∑ j = 1 n a j x j ≥ γ \sum_{j=1}^n a_jx_j\ge \gamma ∑j=1najxj≥γ,只需减一个非负的剩余变量 s s s,即可得到 ∑ j = 1 n a j x j − s = γ \sum_{j=1}^n a_jx_j - s = \gamma ∑j=1najxj−s=γ。
- 通过上述变换可以得到一个标准型,除非方程组的系数矩阵是行满秩的。但是在行满秩的情况下,可以通过对方程组进行初等行运算,以消除多余的方程或确定方程组是矛盾的。在矛盾的情况下,线性优化是不可行的。
标准型和对偶
令
c
∈
R
n
,
b
∈
R
m
,
A
∈
R
n
×
m
c \in {\mathbb{R}^n},b \in {\mathbb{R}^m},A \in {\mathbb{R}^{n \times m}}
c∈Rn,b∈Rm,A∈Rn×m,
x
x
x是
R
n
{\mathbb{R}^{n}}
Rn形式的向量。原问题为:
m
i
n
c
′
x
A
x
=
b
x
≥
0
(P)
{\rm{min}}\,\, c'x \\ Ax = b \\ x \ge 0 \tag{P}
minc′xAx=bx≥0(P)
y
y
y是
R
m
{\mathbb{R}^{m}}
Rm形式的向量。对偶问题为:
m
a
x
y
′
b
y
′
A
≤
c
′
(D)
{\rm{max}}\,\, y'b \\ y'A \le c' \tag{D}
maxy′by′A≤c′(D)
其中,(P)和(D)有相同的
A
A
A、
b
b
b和
c
c
c,二者的关系如下:
证明:略
线代回顾
对于一个矩阵
A
∈
R
m
×
n
A \in {\mathbb{R}^{m \times n}}
A∈Rm×n,定义其中的一个元素为
a
i
j
a_{ij}
aij,定义
A
A
A转置为
A
′
∈
R
n
×
m
A'\in {\mathbb{R}^{n \times m}}
A′∈Rn×m,其中的一个元素为
a
j
i
a_{ji}
aji。默认本文的向量为列向量,即
x
∈
R
n
x \in {\mathbb{R}^n}
x∈Rn为矩阵
R
n
×
1
{\mathbb{R}^{n \times 1}}
Rn×1。
矩阵乘法:略
向量
x
1
,
x
2
,
x
3
,
.
.
.
,
x
p
∈
R
n
x^{1} , x^{2} , x^{3} , ... , x^{p}\in{\mathbb{R}^n}
x1,x2,x3,...,xp∈Rn,标量
λ
1
,
λ
2
,
λ
3
,
.
.
.
,
λ
p
\lambda^{1} , \lambda^{2} , \lambda^{3} , ... , \lambda^{p}
λ1,λ2,λ3,...,λp,则定义线性组合为
∑
i
=
1
p
λ
i
x
i
\sum_{i = 1}^{p}\lambda_i x^i
∑i=1pλixi。若所有的
λ
i
=
0
\lambda_{i} = 0
λi=0,则称这个线性组合是“平凡的(trival)”。若零向量在该线性组合中的表示只能是平凡的,那么
x
1
,
x
2
,
x
3
,
.
.
.
,
x
p
x^{1} , x^{2} , x^{3} , ... , x^{p}
x1,x2,x3,...,xp是线性独立的。
x
1
,
x
2
,
x
3
,
.
.
.
,
x
p
x^{1} , x^{2} , x^{3} , ... , x^{p}
x1,x2,x3,...,xp的所有线性组合称作
{
x
1
,
x
2
,
x
3
,
.
.
.
,
x
p
}
\lbrace x^{1} , x^{2} , x^{3} , ... , x^{p} \rbrace
{x1,x2,x3,...,xp}的张成空间(span)。向量空间
V
V
V的维数(dimension) 简记做dim(
V
V
V),是该向量空间中线性独立向量个数的最大值,同样,这个值也是张成空间所需的最小的向量个数。由dim(
V
V
V)个线性独立向量张成的向量空间是一个基(basis)。若
V
V
V是
{
x
1
,
x
2
,
x
3
,
.
.
.
,
x
p
}
\lbrace x^{1} , x^{2} , x^{3} , ... , x^{p} \rbrace
{x1,x2,x3,...,xp}的张成,则存在一个
{
x
1
,
x
2
,
x
3
,
.
.
.
,
x
p
}
\lbrace x^{1} , x^{2} , x^{3} , ... , x^{p} \rbrace
{x1,x2,x3,...,xp}的子集是
V
V
V的基。
r . s . ( A ) : = { y ′ A : y ∈ R m } r.s.(A):= \lbrace y'A : y \in {\mathbb{R}^m} \rbrace r.s.(A):={y′A:y∈Rm}表示 A A A的行空间(row sapce),类似的,还有A的列空间(column space) c . s . ( A ) : = { A x : x ∈ R n } c.s.(A):= \lbrace Ax : x \in {\mathbb{R}^n} \rbrace c.s.(A):={Ax:x∈Rn},列空间和行空间的维数是相同的,这个维数的值就是 A A A的秩(rank),若A的行数等于秩,则称为行满秩(full row rank),同理还有列满秩(full column rank)。出了行空间、列空间之外,还有零空间(null space),是齐次方程 A x = 0 Ax=0 Ax=0的所有解 x x x的集合,即 n . s . ( A ) : = { x ∈ R n : A x = 0 } n.s.(A):= \lbrace x \in {\mathbb{R}^n}:Ax = 0 \rbrace n.s.(A):={x∈Rn:Ax=0}。
初等变换(elementary row operation):略
设单位矩阵为
I
r
{\rm{I}}_r
Ir,一个矩阵
A
A
A可以通过高斯-约旦消元法(Gauss-Jordan elimination) 转换成一个单位矩阵
I
r
{\rm{I}}_r
Ir和一个矩阵
M
M
M拼接的形式,即
[
I
r
,
M
]
[{\rm{I}}_r, M]
[Ir,M]。
可逆矩阵,略,有
B
−
1
B
=
I
r
B^{-1}B = {\rm{I}}_r
B−1B=Ir,
B
B
−
1
=
I
r
BB^{-1} = {\rm{I}}_r
BB−1=Ir,
(
B
′
)
−
1
=
(
B
−
1
)
′
(B')^{-1} = (B^{-1})'
(B′)−1=(B−1)′,
(
A
B
)
−
1
=
B
−
1
A
−
1
(AB)^{-1} = B^{-1}A^{-1}
(AB)−1=B−1A−1,以及
B
−
1
[
B
,
I
r
]
=
[
I
r
,
B
−
1
]
B^{-1}[B,{\rm{I}}_r] = [{\rm{I}}_r, B^{-1}]
B−1[B,Ir]=[Ir,B−1]。已知
B
B
B求
B
−
1
B^{-1}
B−1的办法就是对
[
B
,
I
r
]
[B, {\rm{I}}_r]
[B,Ir]进行初等行变换,得到
[
I
r
,
M
]
[{\rm{I}}_r, M]
[Ir,M]的形式,这时
M
=
B
−
1
M= B^{-1}
M=B−1。
Sherman-Morrison公式
(
B
+
u
v
′
)
−
1
=
B
−
1
−
B
−
1
u
v
′
B
−
1
1
+
v
′
B
−
1
u
(B + uv')^{-1} = B^{-1} - \frac{B^{-1}uv'B^{-1}} {1+v'B^{-1}u}
(B+uv′)−1=B−1−1+v′B−1uB−1uv′B−1
其中,
1
+
v
′
B
−
1
u
≠
0
1+v'B^{-1}u \ne 0
1+v′B−1u=0且
(
B
+
u
v
′
)
(B + uv')
(B+uv′)可逆。
B
B
B的行列式determinant记做
d
e
t
(
B
)
det(B)
det(B),拉普拉斯展开(Laplace expansion),略。
克拉默法则(Cramer’s Rule),
B
B
B为
r
×
r
r\times r
r×r 矩阵,
b
b
b为列向量,则
B
x
=
b
Bx = b
Bx=b的解为:
x
ˉ
j
=
d
e
t
(
B
(
j
)
)
d
e
t
(
B
)
∀
j
=
1
,
2
,
.
.
.
,
r
\bar{x}_j = \frac{det(B(j))}{det(B)} \,\, \forall j = 1, 2, ..., r
xˉj=det(B)det(B(j))∀j=1,2,...,r其中,
B
(
j
)
B(j)
B(j)为矩阵
B
B
B的第
j
j
j列用
b
b
b替换的结果。注意:克拉默法则并不是一个计算方面的好算法,但是在证明中很有用。
NOTICE:本文为作者自用读书笔记,原文为A First Course in Linear Optimization 4ed,详细信息请点击Github,原文基于开源协议ccby 3.0,因此可在原文基础上进行修改、转换或以原文为基础进行创作。
如有错误,请提出,我会及时更正。