本文主要是介绍漫步最优化五——可行域,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我不介意你慢慢的到来,
我也不介意我们多少次擦肩而过,
因为我一直相信我们都在相遇的路上马不停蹄。
——畅宝宝的傻逼哥哥
任何满足等式以及不等式约束的点 x 称为优化问题的可行点,满足约束条件的点集构成了 f(x) 的可行定义域,显然,约束定义了一个 En 的子集,因此可行域可以定义为:
其中 R⊂En
最优点 x∗ 必须位于可行域中,因此一般的约束优化问题可以写成:
任何不在 R 中的点
如果优化问题的约束都是不等式,那么约束将 En 空间中的点分成三种类型,如下所示:
- 内点
- 边界点
- 外点
内点就是对所有 j,cj(x)>0 的点,边界点就是至少有一个 cj(x)=0 的点,外点就是至少有一个 cj(x)<0 的点。内点是可行点,边界点可能是也可能不是可行点,而外点是不可行点。
如果约束 cm(x) 在某次迭代中等于零,那么我们能说这个约束是活跃的,如果达到收敛条件, cm(x∗) 等于零,那么最优点 x∗ 在边界上。对于这样的情况,我们称最优点是有约束的,如果约束都是等式,那么可行点一定位于 ai(x)=0 超平面的交集上,其中 i=1,2,…,p ,下面用例子说明上面的定义与概念。
例1: 用作图法,求解下面的优化问题:
解: 目标函数可以写成:
因此 f(x) 在 (x1,x2) 平面上的轮廓为圆心 x1=2,x2=0 ,半径 f(x)‾‾‾‾√ 的同心圆,约束 c1(x),c2(x) 表明
且
而约束 c3(x),c4(x) 表明 x1,x2 为正, f(x) 的轮廓与约束边界如图1所示。
图1中的可行域就是阴影部分,问题的解位于点 A 处,在约束
图1
在没有约束的情况下, f(x) 的最小值发生在点 B 处。
解: 目标函数可以写成:
因此 f(x) 在 (x1,x2) 平面上的轮廓为圆心 x1=0,x2=−1 ,半径 f(x)+1‾‾‾‾‾‾‾‾√ 的同心圆,约束 a1(x) 是圆心在原点半径为1的圆。另一方 main,约束 c1(x) 是一条直线,因为它要求
最后两个约束表面 x1,x2 是负的,因此得到的图像如图2所示。
图2
这时候,可行域在 a1(x)=0 第一象限的弧上,满足约束的最优解在点 A 处,这个例子中有两个活跃的约束,
没有约束的情况下,解在点 B 处。
在上面的实例中,构成可行域的点集合如图3(a)所示是在一起的,但有时候可行域由两个或多个不联通的部分组成,如图3(b)所示。如果是后者,那么会产生下面的困难。一般而言优化过程都是从初始估计值开始,然后不断迭代产生一系列值,那么如果可行域由两部分组成,
图3
这篇关于漫步最优化五——可行域的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!