我不介意你慢慢的到来,
我也不介意我们多少次擦肩而过,
因为我一直相信我们都在相遇的路上马不停蹄。
——畅宝宝的傻逼哥哥
任何满足等式以及不等式约束的点x称为优化问题的可行点,满足约束条件的点集构成了f(x)的可行定义域,显然,约束定义了一个En的子集,因此可行域可以定义为:
R={x:ai(x)=0 for i=1,2,…,p and cj(x)≥0 for j=1,2,…,q}
其中R⊂En
最优点x∗必须位于可行域中,因此一般的约束优化问题可以写成:
minimize f(x)for x∈R
任何不在R中的点x称为不可行点。
如果优化问题的约束都是不等式,那么约束将En空间中的点分成三种类型,如下所示:
- 内点
- 边界点
- 外点
内点就是对所有j,cj(x)>0的点,边界点就是至少有一个cj(x)=0的点,外点就是至少有一个cj(x)<0的点。内点是可行点,边界点可能是也可能不是可行点,而外点是不可行点。
如果约束cm(x)在某次迭代中等于零,那么我们能说这个约束是活跃的,如果达到收敛条件,cm(x∗)等于零,那么最优点x∗在边界上。对于这样的情况,我们称最优点是有约束的,如果约束都是等式,那么可行点一定位于ai(x)=0超平面的交集上,其中i=1,2,…,p,下面用例子说明上面的定义与概念。
例1:用作图法,求解下面的优化问题:
minimize subject to: f(x)=x21+x22−4x1+4c1(x)=x1−2x2+6≥0c2(x)=−x21+x2−1≥0c3(x)=x1≥0c4(x)=x2≥0
解:目标函数可以写成:
(x1−2)2+x22=f(x)
因此f(x)在(x1,x2)平面上的轮廓为圆心x1=2,x2=0,半径f(x)‾‾‾‾√的同心圆,约束c1(x),c2(x)表明
x2≤12x1+3
且
x2≥x21+1
而约束c3(x),c4(x)表明x1,x2为正,f(x)的轮廓与约束边界如图1所示。
图1中的可行域就是阴影部分,问题的解位于点A处,在约束c2(x)的边界上。实际上,这个解是约束最优点,所以如果这个问题用数学规划求解,当达到问题的解时,约束c2(x)将是活跃的。

图1
在没有约束的情况下,f(x)的最小值发生在点B处。
例2:用作图法求解下面的优化问题:
minimize f(x)=x21+x22+2x2subject to: a1(x)=x21+x22−1=0c1(x)=x1+x2−0.5≥0c2(x)=x1≥0c3(x)=x2≥0
解:目标函数可以写成:
x21+(x2+1)2=f(x)+1
因此f(x)在(x1,x2)平面上的轮廓为圆心x1=0,x2=−1,半径f(x)+1‾‾‾‾‾‾‾‾√的同心圆,约束a1(x)是圆心在原点半径为1的圆。另一方 main,约束c1(x)是一条直线,因为它要求
x2≥−x1+0.5
最后两个约束表面x1,x2是负的,因此得到的图像如图2所示。

图2
这时候,可行域在a1(x)=0第一象限的弧上,满足约束的最优解在点A处,这个例子中有两个活跃的约束,a1(x),c3(x)。
没有约束的情况下,解在点B处。
在上面的实例中,构成可行域的点集合如图3(a)所示是在一起的,但有时候可行域由两个或多个不联通的部分组成,如图3(b)所示。如果是后者,那么会产生下面的困难。一般而言优化过程都是从初始估计值开始,然后不断迭代产生一系列值,那么如果可行域由两部分组成,A,B,如果初始值位于A中,那么最优解就会落到A中,那么就可能错过B中更好的解。然而幸运的是,实际生活中的大部分问题,通过仔细的表示问题,是可以避免这个困难的。

图3