一般形式:
max
c
T
x
s.t.
A
x
≤
b
x
≥
0
其中
A
∈
R
m
×
n
,
b
∈
R
m
,
x
∈
R
n
\mathbf{A}\in\mathbb{R}^{m\times n},\mathbf{b}\in\mathbb{R}^m,\mathbf{x}\in\mathbb{R}^n
A∈Rm×n,b∈Rm,x∈Rn
标准形式:
max
c
T
x
s.t.
A
x
=
b
x
≥
0
其中
A
∈
R
m
×
n
,
b
∈
R
m
,
x
∈
R
n
\mathbf{A}\in\mathbb{R}^{m\times n},\mathbf{b}\in\mathbb{R}^m,\mathbf{x}\in\mathbb{R}^n
A∈Rm×n,b∈Rm,x∈Rn
设
C
⊆
R
n
C\subseteq \mathbb{R}^n
C⊆Rn是一个非空闭凸集,
x
ˉ
∈
C
\bar{\mathbf{x}}\in C
xˉ∈C
如果不存在
x
1
,
x
2
∈
C
,
λ
∈
(
0
,
1
)
\mathbf{x}_1,\mathbf{x}_2\in C,\lambda \in \left(0,1\right)
x1,x2∈C,λ∈(0,1),使得
x
ˉ
=
λ
x
1
+
(
1
−
λ
)
x
2
\bar{\mathbf{x}}=\lambda \mathbf{x}_1+(1-\lambda)\mathbf{x}_2
xˉ=λx1+(1−λ)x2
则
x
ˉ
\bar{\mathbf{x}}
xˉ是
C
C
C的一个极点(extreme point)
设 C ⊆ R n C\subseteq \mathbb{R}^n C⊆Rn是一个非空闭凸集,则 C C C有极点当且仅当 C C C不包含直线
证明:
⇒
\Rightarrow
⇒设
C
∈
R
n
C\in\mathbb{R}^n
C∈Rn是一个非空闭凸集,
x
ˉ
\bar{\mathbf{x}}
xˉ是
C
C
C的一个极点
假设
C
C
C包含直线,即
∃
x
∈
C
,
s
.
t
.
{
x
+
α
d
∣
α
∈
R
,
d
∈
R
n
}
⊆
C
\exists \mathbf{x}\in C,\ s.t.\left\{\mathbf{x}+\alpha \mathbf{d}|\alpha \in\mathbb{R},\mathbf{d}\in\mathbb{R}^n\right\}\subseteq C
∃x∈C, s.t.{x+αd∣α∈R,d∈Rn}⊆C
令
x
(
n
)
=
(
1
−
1
n
)
x
ˉ
+
1
n
(
x
+
n
d
)
\mathbf{x}^{(n)}=\left(1-\frac{1}{n}\right)\bar{\mathbf{x}}+\frac{1}{n}\left(\mathbf{x}+n\mathbf{d}\right)
x(n)=(1−n1)xˉ+n1(x+nd)
因为
C
C
C是凸的,所以
x
(
n
)
∈
C
\mathbf{x}^{(n)}\in C
x(n)∈C
因为
C
C
C是闭的,所以
{
x
(
i
)
}
i
=
1
∞
∈
C
\left\{\mathbf{x}^{(i)}\right\}_{i=1}^{\infty}\in C
{x(i)}i=1∞∈C
于是
lim
n
→
∞
x
(
n
)
=
x
ˉ
+
d
∈
C
\lim\limits_{n\to \infty}\mathbf{x}^{(n)}=\bar{\mathbf{x}}+\mathbf{d}\in C
n→∞limx(n)=xˉ+d∈C
同理
x
ˉ
−
d
∈
C
\bar{\mathbf{x}}-\mathbf{d}\in C
xˉ−d∈C
但是
1
2
(
x
ˉ
+
d
)
+
1
2
(
x
ˉ
−
d
)
=
x
ˉ
∈
C
\frac{1}{2}\left(\bar{\mathbf{x}}+\mathbf{d}\right)+\frac{1}{2}\left(\bar{\mathbf{x}}-\mathbf{d}\right)=\bar{\mathbf{x}}\in C
21(xˉ+d)+21(xˉ−d)=xˉ∈C
与
x
ˉ
\bar{\mathbf{x}}
xˉ是极点矛盾
所以
C
C
C不包含直线
⇐
\Leftarrow
⇐设
C
∈
R
n
C\in\mathbb{R}^n
C∈Rn是一个非空闭凸集,且不包含直线
考虑对维度进行数学归纳法
当
C
⊆
R
C\subseteq \mathbb{R}
C⊆R时,
C
C
C是一个线段,极点就是两个端点
假设
C
⊆
R
n
−
1
C\subseteq \mathbb{R}^{n-1}
C⊆Rn−1时成立
当
C
⊆
R
n
C\subseteq \mathbb{R}^n
C⊆Rn时,
因为不包含直线,所以存在边界点
x
\mathbb{x}
x (感觉时对的,但是不知道怎么严格证明)
由支撑超平面定理,存在超平面
H
x
=
{
z
∣
a
T
x
=
a
T
z
}
H_{\mathbf{x}}=\left\{\mathbf{z}|\mathbf{a}^T\mathbf{x}=\mathbf{a}^T\mathbf{z}\right\}
Hx={z∣aTx=aTz},其中
a
∈
R
n
\mathbf{a}\in\mathbb{R}^n
a∈Rn
于是
∀
y
∈
C
,
a
T
y
≤
a
T
x
\forall \mathbf{y}\in C,\mathbf{a}^T\mathbf{y}\le \mathbf{a}^T\mathbf{x}
∀y∈C,aTy≤aTx
因此
C
∩
H
x
⊆
R
n
−
1
C\cap H_{\mathbf{x}}\subseteq \mathbb{R}^{n-1}
C∩Hx⊆Rn−1,由假设
C
∩
H
x
C\cap H_{\mathbf{x}}
C∩Hx存在极点
x
ˉ
\bar{\mathbf{x}}
xˉ
现在证明 x ˉ \bar{\mathbf{x}} xˉ也是 C C C的极点
设
x
1
,
x
2
∈
C
,
λ
∈
(
0
,
1
)
,
s
.
t
.
x
ˉ
=
λ
x
1
+
(
1
−
λ
)
x
2
\mathbf{x}_1,\mathbf{x}_2\in C,\lambda \in\left(0,1\right),s.t.\ \bar{\mathbf{x}}=\lambda \mathbf{x}_1+\left(1-\lambda\right)\mathbf{x}_2
x1,x2∈C,λ∈(0,1),s.t. xˉ=λx1+(1−λ)x2
那么
a
T
x
ˉ
=
λ
a
T
x
1
+
(
1
−
λ
)
a
T
x
2
\mathbf{a}^T\bar{\mathbf{x}}=\lambda \mathbf{a}^T\mathbf{x}_1+\left(1-\lambda\right)\mathbf{a}^T\mathbf{x}_2
aTxˉ=λaTx1+(1−λ)aTx2
因为
H
x
H_{\mathbf{x}}
Hx是支撑超平面,
x
1
,
x
2
∈
C
,
x
ˉ
∈
H
x
\mathbf{x}_1,\mathbf{x}_2\in C,\bar{\mathbf{x}}\in H_{\mathbf{x}}
x1,x2∈C,xˉ∈Hx,
所以
a
T
x
1
≤
a
T
x
ˉ
,
a
T
x
2
≤
a
T
x
ˉ
\mathbf{a}^T\mathbf{x}_1\le \mathbf{a}^T\bar{\mathbf{x}},\mathbf{a}^T\mathbf{x}_2\le \mathbf{a}^T\bar{\mathbf{x}}
aTx1≤aTxˉ,aTx2≤aTxˉ
但是
a
T
x
1
≤
λ
a
T
x
1
+
(
1
−
λ
)
a
T
x
2
⇒
a
T
x
1
≤
a
T
x
2
a
T
x
2
≤
λ
a
T
x
1
+
(
1
−
λ
)
a
T
x
2
⇒
a
T
x
2
≤
a
T
x
1
\mathbf{a}^T\mathbf{x}_1\le\lambda \mathbf{a}^T\mathbf{x}_1+\left(1-\lambda\right)\mathbf{a}^T\mathbf{x}_2\Rightarrow \mathbf{a}^T\mathbf{x}_1\le\mathbf{a}^T\mathbf{x}_2\\ \mathbf{a}^T\mathbf{x}_2\le\lambda \mathbf{a}^T\mathbf{x}_1+\left(1-\lambda\right)\mathbf{a}^T\mathbf{x}_2\Rightarrow \mathbf{a}^T\mathbf{x}_2\le\mathbf{a}^T\mathbf{x}_1
aTx1≤λaTx1+(1−λ)aTx2⇒aTx1≤aTx2aTx2≤λaTx1+(1−λ)aTx2⇒aTx2≤aTx1
于是
a
T
x
1
=
a
T
x
2
=
a
T
x
ˉ
⇒
x
ˉ
=
x
1
=
x
2
\mathbf{a}^T\mathbf{x}_1=\mathbf{a}^T\mathbf{x}_2=\mathbf{a}^T\bar{\mathbf{x}}\Rightarrow \bar{\mathbf{x}}=\mathbf{x}_1=\mathbf{x}_2
aTx1=aTx2=aTxˉ⇒xˉ=x1=x2
于是
x
ˉ
\bar{\mathbf{x}}
xˉ是极点
设
P
P
P是一个多面体
如果存在
c
\mathbf{c}
c,使得
∀
y
∈
P
,
y
≠
x
\forall \mathbf{y}\in P,\mathbf{y}\neq \mathbf{x}
∀y∈P,y=x,有
c
T
y
<
c
T
x
\mathbf{c}^T\mathbf{y}<\mathbf{c}^T\mathbf{x}
cTy<cTx,
则
x
x
x为
P
P
P的顶点(vertex)
考虑多面体
P
=
{
z
∣
a
i
T
z
≤
b
i
}
P=\left\{\mathbf{z}|\mathbf{a}_i^T\mathbf{z}\le b_i\right\}
P={z∣aiTz≤bi}
如果
a
i
T
x
=
b
i
\mathbf{a}_i^T\mathbf{x}=b_i
aiTx=bi,则称约束
i
i
i在
x
\mathbf{x}
x活跃(active,binding,tight)
考虑多面体
P
=
{
z
∣
a
i
T
z
≤
b
i
}
P=\left\{\mathbf{z}|\mathbf{a}_i^T\mathbf{z}\le b_i\right\}
P={z∣aiTz≤bi},
x
∈
P
,
x
∈
R
n
\mathbf{x}\in P,\mathbf{x}\in \mathbb{R}^n
x∈P,x∈Rn
如果
x
\mathbf{x}
x满足所有的约束,且有
n
n
n个线性无关的活跃约束(
a
1
,
a
2
,
⋯
,
a
n
\mathbf{a}_1,\mathbf{a}_2,\cdots,\mathbf{a}_n
a1,a2,⋯,an线性无关),
则
x
\mathbf{x}
x称为基可行解(basic feasible solution, BFS)
设
x
∈
P
=
{
z
∣
a
i
T
z
≤
b
i
}
,
x
∈
R
n
\mathbf{x}\in P=\left\{\mathbf{z}|\mathbf{a}_i^T\mathbf{z}\le b_i\right\},\mathbf{x}\in\mathbb{R}^n
x∈P={z∣aiTz≤bi},x∈Rn,则下面3个等价
1)
x
\mathbf{x}
x是顶点
2)
x
\mathbf{x}
x是极点
3)
x
\mathbf{x}
x是BFS
证明:
1
)
⇒
2
)
1)\Rightarrow 2)
1)⇒2)
设
x
1
,
x
2
∈
P
,
λ
∈
[
0
,
1
]
,
s
.
t
.
x
=
λ
x
1
+
(
1
−
λ
)
x
2
\mathbf{x}_1,\mathbf{x}_2\in P,\lambda \in\left[0,1\right],\ s.t.\ \mathbf{x}=\lambda \mathbf{x}_1+\left(1-\lambda\right)\mathbf{x}_2
x1,x2∈P,λ∈[0,1], s.t. x=λx1+(1−λ)x2
如果
λ
=
0
\lambda =0
λ=0或者
λ
=
1
\lambda =1
λ=1,则
x
\mathbf{x}
x为极点
如果
λ
∈
(
0
,
1
)
\lambda \in \left(0,1\right)
λ∈(0,1),
因为
x
\mathbf{x}
x是顶点,
∃
c
,
∀
y
∈
P
,
y
≠
x
,
s
.
t
.
c
T
y
<
c
T
x
\exists\mathbf{c},\forall \mathbf{y}\in P,\mathbf{y}\neq \mathbf{x},s.t.\ \mathbf{c}^T\mathbf{y}<\mathbf{c}^T\mathbf{x}
∃c,∀y∈P,y=x,s.t. cTy<cTx
所以
c
T
x
1
<
c
T
x
,
c
T
x
2
<
c
T
x
\mathbf{c}^T\mathbf{x}_1<\mathbf{c}^T\mathbf{x},\ \mathbf{c}^T\mathbf{x}_2<\mathbf{c}^T\mathbf{x}
cTx1<cTx, cTx2<cTx
又因为
c
T
x
1
<
c
T
(
λ
x
1
+
(
1
−
λ
)
x
2
)
⇒
c
T
x
1
<
c
T
x
2
\mathbf{c}^T\mathbf{x}_1<\mathbf{c}^T\left(\lambda \mathbf{x}_1+\left(1-\lambda\right)\mathbf{x}_2\right)\Rightarrow \mathbf{c}^T\mathbf{x}_1<\mathbf{c}^T\mathbf{x}_2
cTx1<cT(λx1+(1−λ)x2)⇒cTx1<cTx2
c
T
x
2
<
c
T
(
λ
x
1
+
(
1
−
λ
)
x
2
)
⇒
c
T
x
2
<
c
T
x
1
\mathbf{c}^T\mathbf{x}_2<\mathbf{c}^T\left(\lambda \mathbf{x}_1+\left(1-\lambda\right)\mathbf{x}_2\right)\Rightarrow \mathbf{c}^T\mathbf{x}_2<\mathbf{c}^T\mathbf{x}_1
cTx2<cT(λx1+(1−λ)x2)⇒cTx2<cTx1
矛盾
所以
x
\mathbf{x}
x是极点
2
)
⇒
3
)
2)\Rightarrow 3)
2)⇒3)
假设
x
\mathbf{x}
x不是BFS
设
x
\mathbf{x}
x使得前k个约束活跃
(
k
<
n
)
(k
即
a
i
T
x
=
b
i
,
i
=
1
,
2
,
⋯
,
k
\mathbf{a}_i^T\mathbf{x}=b_i,i=1,2,\cdots,k
aiTx=bi,i=1,2,⋯,k
令
A
~
=
(
a
1
T
a
2
T
⋮
a
k
T
)
\tilde{\mathbf{A}}=
则
A
~
x
=
0
\tilde{\mathbf{A}}\mathbf{x}=\mathbf{0}
A~x=0有非零解
设
d
≠
0
,
A
~
d
=
0
\mathbf{d}\neq 0,\tilde{\mathbf{A}}\mathbf{d}=\mathbf{0}
d=0,A~d=0
存在
ϵ
>
0
\epsilon>0
ϵ>0,使得
x
+
ϵ
d
,
x
−
ϵ
d
∈
P
\mathbf{x}+\epsilon\mathbf{d},\mathbf{x}-\epsilon\mathbf{d}\in P
x+ϵd,x−ϵd∈P
x
=
1
2
(
x
+
ϵ
d
)
+
1
2
(
x
−
ϵ
d
)
\mathbf{x}=\frac{1}{2}\left(\mathbf{x}+\epsilon\mathbf{d}\right)+\frac{1}{2}\left(\mathbf{x}-\epsilon\mathbf{d}\right)
x=21(x+ϵd)+21(x−ϵd)
x
\mathbf{x}
x不是极点,矛盾
所以
x
\mathbf{x}
x是BFS
3
)
⇒
1
)
3)\Rightarrow 1)
3)⇒1)
因为
x
\mathbf{x}
x是BFS,设
A
~
=
(
a
1
T
a
2
T
⋮
a
n
T
)
,
b
~
=
(
b
1
b
2
⋮
b
n
)
,
A
~
x
=
b
~
\tilde{\mathbf{A}}=
因为
A
~
\tilde{\mathbf{A}}
A~可逆,所以
A
~
x
=
b
~
\tilde{\mathbf{A}}\mathbf{x}=\tilde{\mathbf{b}}
A~x=b~有唯一解
令
c
=
∑
i
=
1
n
a
i
\mathbf{c}=\sum_{i=1}^n\mathbf{a}_i
c=∑i=1nai
c
T
x
=
∑
i
=
1
n
b
i
\mathbf{c}^T\mathbf{x}=\sum_{i=1}^{n}b_i
cTx=∑i=1nbi
∀
y
≠
x
,
y
∈
P
,
s
.
t
.
c
T
y
<
∑
i
=
1
n
b
i
=
c
T
x
\forall \mathbf{y}\neq \mathbf{x},\mathbf{y}\in P,s.t.\ \mathbf{c}^T\mathbf{y}<\sum_{i=1}^{n}b_i=\mathbf{c}^T\mathbf{x}
∀y=x,y∈P,s.t. cTy<∑i=1nbi=cTx
所以
x
\mathbf{x}
x是顶点
设
P
=
{
x
∈
R
n
∣
A
x
≤
b
}
P=\left\{\mathbf{x}\in\mathbb{R}^n|\mathbf{Ax}\le \mathbf{b}\right\}
P={x∈Rn∣Ax≤b}
考虑线性规划问题
L
P
:
max
{
c
T
x
∣
x
∈
P
}
LP:\ \max \left\{\mathbf{c}^T\mathbf{x}|\mathbf{x}\in P\right\}
LP: max{cTx∣x∈P}
如果
P
P
P至少有一个极点,并且LP有最优解,那么至少有一个最优解是
P
P
P的一个极点
证明:
设
α
∗
\alpha^*
α∗是最优解,
O
=
{
x
∈
P
∣
c
T
x
=
α
∗
}
⊆
P
O=\left\{\mathbf{x}\in P| \mathbf{c}^T\mathbf{x}=\alpha^*\right\}\subseteq P
O={x∈P∣cTx=α∗}⊆P
因为
P
P
P有极点,所以
P
P
P不包含直线,因此
O
O
O不包含直线,于是
O
O
O存在极点
x
ˉ
\bar{\mathbf{x}}
xˉ
设
x
1
,
x
2
∈
P
,
λ
∈
(
0
,
1
)
,
s
.
t
.
x
ˉ
=
λ
x
1
+
(
1
−
λ
)
x
2
\mathbf{x}_1,\mathbf{x}_2\in P,\lambda \in \left(0,1\right),s.t.\ \bar{\mathbf{x}}=\lambda \mathbf{x}_1+\left(1-\lambda\right)\mathbf{x}_2
x1,x2∈P,λ∈(0,1),s.t. xˉ=λx1+(1−λ)x2
c
T
x
ˉ
=
λ
c
T
x
1
+
(
1
−
λ
)
c
T
x
2
\mathbf{c}^T\bar{\mathbf{x}}=\lambda \mathbf{c}^T\mathbf{x}_1+\left(1-\lambda\right)\mathbf{c}^T\mathbf{x}_2
cTxˉ=λcTx1+(1−λ)cTx2
因为
α
∗
\alpha^*
α∗是最优解,所以
c
1
T
x
≤
c
T
x
ˉ
=
α
∗
\mathbf{c}_1^T\mathbf{x}\le \mathbf{c}^T\bar{\mathbf{x}}=\alpha^*
c1Tx≤cTxˉ=α∗
c
2
T
x
≤
c
T
x
ˉ
=
α
∗
\mathbf{c}_2^T\mathbf{x}\le \mathbf{c}^T\bar{\mathbf{x}}=\alpha^*
c2Tx≤cTxˉ=α∗
但是
c
T
x
1
≤
λ
c
T
x
1
+
(
1
−
λ
)
c
T
x
2
⇒
c
T
x
1
≤
c
T
x
2
c
T
x
2
≤
λ
c
T
x
1
+
(
1
−
λ
)
c
T
x
2
⇒
c
T
x
2
≤
c
T
x
1
\mathbf{c}^T\mathbf{x}_1\le\lambda \mathbf{c}^T\mathbf{x}_1+\left(1-\lambda\right)\mathbf{c}^T\mathbf{x}_2\Rightarrow \mathbf{c}^T\mathbf{x}_1\le\mathbf{c}^T\mathbf{x}_2\\ \mathbf{c}^T\mathbf{x}_2\le\lambda \mathbf{c}^T\mathbf{x}_1+\left(1-\lambda\right)\mathbf{c}^T\mathbf{x}_2\Rightarrow \mathbf{c}^T\mathbf{x}_2\le\mathbf{c}^T\mathbf{x}_1
cTx1≤λcTx1+(1−λ)cTx2⇒cTx1≤cTx2cTx2≤λcTx1+(1−λ)cTx2⇒cTx2≤cTx1
c
T
x
1
=
c
T
x
2
=
c
T
x
ˉ
⇒
x
ˉ
=
x
1
=
x
2
\mathbf{c}^T\mathbf{x}_1=\mathbf{c}^T\mathbf{x}_2=\mathbf{c}^T\bar{\mathbf{x}}\Rightarrow \bar{\mathbf{x}}=\mathbf{x}_1=\mathbf{x}_2
cTx1=cTx2=cTxˉ⇒xˉ=x1=x2
于是
x
ˉ
\bar{\mathbf{x}}
xˉ是极点
以前高中做线性规划,只知道最优解肯定在顶点上,然而并不知道为啥,上面这个就是证明
参考
https://people.seas.harvard.edu/~yaron/AM221-S16/lecture_notes/AM221_lecture7.pdf
http://math.sfsu.edu/serkan/math430/lecture4.pdf