惩罚函数法例题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用内点法求 min f ( x ) = x12 + x22 s.t. g ( x ) = x1 − 1 ≥ 0 的约束极值点。 的约束极值点。 用内点法求解该问题时,首先构造内点惩罚 解: 用内点法求解该问题时,)首先构造内点惩罚 r (k 函数: 函数 φ ( x , r ) = x12 + x22 + x1 − 1 用解析法求函数的极小值,运用极值条件: 用解析法求函数的极小值,运用极值条件: (k ) ∂φ r 2 = 0 ∂x = 2 x1 − 2 x13 − 4 x12 + 2 x1 − r ( k ) = 0 ( x1 − 1) 1 ⇒ 2 x2 = 0 ∂φ = 2 x = 0 2 ∂x2 即:
(
)
0 ( g2 ( x ) ≥ 0) x (r ) = ( g2 ( x ) < 0) −0.5/ r 当惩罚因子渐增时,由下表可看出收敛情况。 当惩罚因子渐增时,由下表可看出收敛情况。
* 2
r
0.01 0.1 1 10 1000 ∞
x
* 1
* x2
φ * (r )
-24.9650 -2.2344 0.9631 2.3068 2.6624
∂φ 1 = ∂x2 1 + 2rx2
( g ( x) = x ≥ 0) ( g ( x) = x < 0)
2 2 2 2
无约束目标函数极小化问题的极值点系列为: 无约束目标函数极小化问题的极值点系列为: −1 ( g1 ( x ) ≥ 0) ( 不成立 ) * x1 (r ) = −1 − r ± r 2 + 4r = −1 − r 1 m 1 + 4 / r ( g1 ( x ) < 0 )
惩罚项 罚因子 初始点 寻得边 界最优 点 在域内 逼近
内点法
外点法
域内(边 界内侧) 垒墙 域外(边 界外侧 堆土堆)
递减
必须域 内
递增
可域内, 在域外 也可域 逼近 外
内点法适用于只含不等式约束的优化问题,外点法还可含等式约束
f * (r )
-49.9977 -4.9474 0.1295 2.0001 2.6582
-0.80975 -0.45969 0.23607 0.83216 0.99800 1
-50.00000 -5.00000 -0.50000 -0.05000 -0.00050 0
பைடு நூலகம்
8/3
8/3
内点法与外点法的比较
1 ( x1 + 1)3 + x2 ( g1 ( x ) ≥ 0, g 2 ( x ) ≥ 0 ) 3 1 ( x + 1)3 + x + r ( x − 1) 2 ( g1 ( x ) < 0, g 2 ( x ) ≥ 0 ) 1 2 1 3 = 1 ( x + 1)3 + x + r ( x ) 2 ( g1 ( x ) ≥ 0, g 2 ( x ) < 0 ) 1 2 2 3 求偏导, 求偏导,得 1 ( x1 + 1)3 + x2 + r ( x1 − 1) 2 + r ( x2 ) 2 ( g1 ( x ) < 0, g 2 ( x ) < 0 ) 3
r = 2 x13 − 4 x12 + 2 x1 x2 = 0
(k )
4
x2
3
r(k)
2
1
x1
0
-1
-2
-3 -0.5
x1
0 0.5 1 1.5 2
由图可见, 在可行域内, 由图可见 在可行域内 x 1 随着 r 的减小而减小 . 的减小而减小. 当x 2 = 0 时, 目标函数值随着 x 1 的减小而减小 0 时, 惩罚函数的最优点趋近于原目标函数 当 r 的极值点 [ 1 , 0 ]
用外点法求解下列有约束优化问题
1 min f ( x ) = ( x1 + 1)3 + x2 3 s.t. g1 ( x ) = x1 − 1 ≥ 0
g 2 ( x ) = x2 ≥ 0 1 φ ( x , r ) = ( x1 + 1)3 + x2 + r[min(0, x1 − 1)]2 + r[min(0, x2 )]2 3
解:惩罚函数为: 惩罚函数为:
70 60 50 50 50 50 40
70 70
70
40 30 30 30
40 40
30
20 20
20
10
4
3
2
1
3.5
2.5
1.5
0.5
0
1
1.5
10
2
10
2.5
3
3.5
4
4.5
60 60
60
5
( x1 + 1) 2 ( g1 ( x ) = x1 − 1 ≥ 0 ) ∂φ = ( x1 + 1) 2 + 2r ( x1 − 1) ( g1 ( x ) = x1 − 1 < 0 ) ∂x1
相关文档
最新文档