什么是凸集?
假设所有的可行解构成一个点集C ,其中 x , y ∈ C x,y\in C x,y∈C,若有他们连线上的任意一点也是属于C的话,点集C就是一个凸集,即
θ x + ( 1 − θ ) y ∈ C 0 ≤ θ ≤ 1 \theta x+(1-\theta )y\in C\quad 0\le \theta \le 1 θx+(1−θ)y∈C0≤θ≤1
θ x + ( 1 − θ ) y \theta x+(1-\theta )y θx+(1−θ)y代表的是x y连线上的任意一点,这个知识高中学过。
典型的凸集 R n { {\mathbb{R}}^{n}} Rn、 { t ∈ R n : A t = b } \left\{ t\in { {\mathbb{R}}^{n}}:At=b \right\} { t∈Rn:At=b}、 { t ∈ R n : A t ≤ b } \left\{ t\in { {\mathbb{R}}^{n}}:At\le b \right\} { t∈Rn:At≤b}(为了避免混淆,我这儿用t代替x)
证明:
-
x , y ∈ R n x,y\in { {\mathbb{R}}^{n}} x,y∈Rn,则 θ x + ( 1 − θ ) y ∈ R n \theta x+(1-\theta )y\in { {\mathbb{R}}^{n}} θx+(1−θ)y∈Rn成立,因为实数的组合肯定是在实数范围内,不能说你两个实数做加减乘除变成了一个复数。
-
x , y ∈ { t ∈ R n : A t = b } x,y\in \left\{ t\in { {\mathbb{R}}^{n}}:At=b \right\} x,y∈{ t∈Rn:At=b},则有 A x = b Ax=b Ax=b A y = b Ay=b Ay=b , A ( θ x + ( 1 − θ ) y ) = θ A x + ( 1 − θ ) A y = θ b + ( 1 − θ ) b = b A(\theta x+(1-\theta )y)=\theta Ax+(1-\theta )Ay=\theta b+(1-\theta )b=b A(θx+(1−θ)y)=θAx+(1−θ)Ay=θb+(1−θ)b=b,这就证明了x y连线上的任意一点也是属于原来的点集的
-
x , y ∈ { t ∈ R n : A t ≤ b } x,y\in \left\{ t\in { {\mathbb{R}}^{n}}:At\le b \right\} x,y∈{ t∈Rn:At≤b},则有 A x ≤ b Ax\le b Ax≤b A y ≤ b Ay\le b Ay≤b, A ( θ x + ( 1 − θ ) y ) = θ A x + ( 1 − θ ) A y ≤ θ b + ( 1 − θ ) b = b A(\theta x+(1-\theta )y)=\theta Ax+(1-\theta )Ay\le \theta b+(1-\theta )b=b A(θx+(1−θ)y)=θAx+(1−θ)Ay≤θb+(1−θ)b=b,这就证明了x y连线上的任意一点也是属于原来的点集的