事实上,对于一个LP问题而言,之所以可以用单纯形法解,是因为它是凸的,并且保证有极值。
Halfspaces and Hyperplanes
在之前最优化:单纯形法(一)中,对于一个LP的限制如下:
A
x
=
b
,
x
≥
0
Ax=b, x\geq 0
Ax=b,x≥0
满足在这个LP中的解,就叫可行解 (feasible solution)。这个区域就叫可行域 (feasible region)。但是,可行域是什么形状的?
对这个问题,我们需要引入两个概念:
Hyperplanes
定义P为超平面(Hyperplanes),满足:
P
:
=
{
x
:
a
⊤
x
=
b
}
P :=\{x:a^{\top}x=b\}
P:={x:a⊤x=b}
这里不给例子,大家可以去尝试画画。其实,当
x
∈
R
2
x\in R^2
x∈R2的时候,是线;当
x
∈
R
3
x\in R^3
x∈R3的时候,是面;当
x
∈
R
4
x\in R^4
x∈R4的时候,我们已经画不出了,但是,我们也知道,这个应该是一个超平面。
Halfspaces
F
F
F是半空间,当:
F
:
=
{
x
:
a
⊤
x
≤
β
}
F:=\left\{x: a^{\top} x \leq \beta\right\}
F:={x:a⊤x≤β}
和hyperplane相比,它的区别就在不再是等号约束,而是不等号——因此,自然会宽一些。当
x
∈
R
2
x\in R^2
x∈R2的时候,是面;当
x
∈
R
3
x\in R^3
x∈R3的时候,是一个立方体。
两者联系
事实上,这两者是父子的关系——当两个同维的
F
F
F相交,便能产生一个
H
H
H。因此,我们可以说:超平面是halfspace相交的子集。
维度
hyperplane的维度是 n − 1 n-1 n−1, n n n是 x x x的维度。
Convexity
凸性 (Convexity)是一种一个体自带的一种性质。
当
A
A
A和
B
B
B都是凸的,那么:
A
∩
B
A \cap B
A∩B也是凸的。
Halfspace的凸性
H
:
=
{
x
:
a
⊤
x
≤
β
}
H:=\left\{x: a^{\top} x \leq \beta\right\}
H:={x:a⊤x≤β}是一个Halfspace, 那么,它是凸的。
Hyperplane 的凸性
证明:Hyperplane 是由有限个Halfspaces相交而成的;且凸集之间的相交也是凸的,Halfspace是凸的, 那么,Hyperplane 也是凸的。得证。
它证明了:
LP的可行域均是凸的。
极值 (extreme point)
定义
这里,需要先定义properly contains:
Point
x
∈
R
n
x ∈ R^n
x∈Rn is properly contained in the line segment
L
L
L if
•
x
∈
L
x ∈ L
x∈L and
•
x
x
x is distinct from the endpoints of
L
L
L.
其实,也就是这个点若在一个线段的中间(不含两个顶点),就是properly contains。
接下来正式定义极值点(Extreme Point):
从直观上,极点的含义其实就在两条边上的交点上。值得一提的是,对于一个凸集来说,可能不会有极值点,也有可能有多个极值点。
与单纯形法的联系
在叙述之前,我们不加证明地引入一点:
LP的可行域,都是凸集。
引入这一点之后,我们便可以明白一个要素:
其实单纯形法,就是当前解在不断地向临近的极值点(如果使用Bland’s Rule)跑的过程。