1. 多面体(Polyhedron)
多面体是一系列线性等式和不等式的解集。
P={x∣ajTx≤bj,j=1,…,m,cjTx=dj,j=1,…,p}
向量形式为
P={x∣Ax⪯b,Cx=d}
从定义可以看出,多面体就是超平面和半空间的交集。
有界的多面体称为Polytope。
2. 单纯形(Simplex)
2.1 定义
假设k+1个点v0,…,vk∈Rn仿射独立,即v1−v0,…,vk−v0线性不相关,则与这k+1个点相关的单纯形 即为这些点的凸包:
C=conv{v0,…,vk}={θ0v0+⋯+θkvk∣θ⪰0,1Tθ=1}
2.2 例子
以二维空间为例
- 若给两个不同的点,则构成的单纯形为一条线段
- 若给三个不同的点,则构成的单纯形为一个三角形
- 若给四个以上不同的点,则不可能仿射独立,不能构成单纯形
2.3 证明单纯形是多面体
思路:
- 把单纯形中的点表示成多面体的形式
- 线性不相关->满秩
设单纯形为C,则C中的点可表示为
x=θ0v0+θ1v1+⋯+θkvk
其中θ⪰0,1Tθ=1,要注意的是θ是可变的,决定了x的取值。
对上式进行变换,得
x=v0+θ1(v1−v0)+⋯+θk(vk−v0)=v0+By
其中
By=[v1−v0⋯vk−v0]∈Rn×k=(θ1,…,θk)
注意这里的y不是θ,少了一个元素。y⪰0,1Ty≤1。显然可以用y的约束条件来得到对x的约束,那么下一步要做的就是把y独立出来。
由于B中各向量线性无关,则rank(B)=k,因此,存在非奇异矩阵A=(A1,A2)∈Rn×n使得,
AB=[A1A2]B=[I0]
在x的表达式左边乘上矩阵A,可得
A1x=A1v0+y,A2x=A2v0
代入y的约束,可得
A2x=A2v0,A1x⪰A1v0,1TA1x≤1+1TA1v0
符合多面体的定义,证毕。