1. 多面体(Polyhedron)

多面体是一系列线性等式和不等式的解集。

P={xajTxbj,j=1,,m,cjTx=dj,j=1,,p}\mathcal{P}=\{x \mid a_{j}^{T} x \leq b_{j}, j=1, \ldots, m, c_{j}^{T} x=d_{j}, j=1, \ldots, p\}

向量形式为

P={xAxb,Cx=d}\mathcal{P}= \{x \mid A x \preceq b, C x=d \}

从定义可以看出,多面体就是超平面和半空间的交集。

有界的多面体称为Polytope。

2. 单纯形(Simplex)

2.1 定义

假设k+1k+1个点v0,,vkRnv_0, \ldots, v_k \in R^n仿射独立,即v1v0,,vkv0v_1-v_0, \ldots, v_k-v_0线性不相关,则与这k+1k+1个点相关的单纯形 即为这些点的凸包:

C=conv{v0,,vk}={θ0v0++θkvkθ0,1Tθ=1}\begin{align} C & = \operatorname{conv}\{v_{0}, \ldots, v_{k}\} \\ & = \{\theta_{0} v_{0}+\cdots+\theta_{k} v_{k} \mid \theta \succeq 0, \mathbf{1}^{T} \theta = 1\} \end{align}

2.2 例子

以二维空间为例

  • 若给两个不同的点,则构成的单纯形为一条线段
  • 若给三个不同的点,则构成的单纯形为一个三角形
  • 若给四个以上不同的点,则不可能仿射独立,不能构成单纯形

2.3 证明单纯形是多面体

思路:

  • 把单纯形中的点表示成多面体的形式
  • 线性不相关->满秩

设单纯形为CC,则CC中的点可表示为

x=θ0v0+θ1v1++θkvkx=\theta_{0} v_{0}+\theta_{1} v_{1}+\cdots+\theta_{k} v_{k}

其中θ0,1Tθ=1\theta \succeq 0, \mathbf{1}^{T} \theta = 1,要注意的是θ\theta是可变的,决定了xx的取值。
对上式进行变换,得

x=v0+θ1(v1v0)++θk(vkv0)=v0+By\begin{align} x &= v_{0}+\theta_{1} (v_{1}-v_{0})+\cdots+\theta_{k} (v_{k}-v_{0})\\ &=v_0 +By \end{align}

其中

B=[v1v0vkv0]Rn×ky=(θ1,,θk)\begin{align} B & = \left[\begin{array}{lll} v_{1}-v_{0} & \cdots & v_{k}-v_{0} \end{array}\right] \in \mathbf{R}^{n \times k}\\ y & = \left(\theta_{1}, \ldots, \theta_{k}\right) \end{align}

注意这里的yy不是θ\theta,少了一个元素。y0,1Ty1y \succeq 0,\mathbf{1}^{T} y \le 1。显然可以用yy的约束条件来得到对xx的约束,那么下一步要做的就是把yy独立出来。

由于BB中各向量线性无关,则rank(B)=krank(B)=k,因此,存在非奇异矩阵A=(A1,A2)Rn×nA=(A_1, A_2) \in R^{n \times n}使得,

AB=[A1A2]B=[I0]A B=\left[\begin{array}{l} A_{1} \\ A_{2} \end{array}\right] B=\left[\begin{array}{l} I \\ 0 \end{array}\right]

xx的表达式左边乘上矩阵AA,可得

A1x=A1v0+y,A2x=A2v0A_{1} x=A_{1} v_{0}+y, \quad A_{2} x=A_{2} v_{0}

代入yy的约束,可得

A2x=A2v0,A1xA1v0,1TA1x1+1TA1v0A_{2} x=A_{2} v_{0}, \quad A_{1} x \succeq A_{1} v_{0}, \quad \mathbf{1}^{T} A_{1} x \leq 1+\mathbf{1}^{T} A_{1} v_{0}

符合多面体的定义,证毕。