最优化方法 第三章(罚函数法)
惩罚函数

例题(投资决策问题)某企业有n个项目可供选择投资,并且 至少要对其中一个项目投资。已知该企业拥有总资金 A 元, 投资于第i个项目需花资金 ai元,并预计可收益 bi元。试选 择最佳投资方案。 解设投资决策变量为
xi
1,决定投资第 i 个项目 0 ,决定不投资第 i 个项目
i 1,..., n
pc ( x ) c hi ( x )2 c ( min{0 , g j ( x )} )2
i 1 j 1
m
l
性质:如果hi ( x ) (i 1 ,, m ) 和 g j ( x ) ( j 1 ,, l ) 连续 (可导),则 pc ( x ) 连续(可导)。
增广目标函数 c 称为罚因子。
则投资总额为∑aixi,投资总收益为∑bixi。因为该公司至少 要对一个项目投资,并且总的投资金额不能超过总资金 , 故有限制条件
0
aixi A
i 1
n
另外,由于 xi只取值0或1,所以还有
xi (1 xi ) 0, i 1,2,.....,n
最佳投资方案应是投资额最小而总收益最大的方案,所以 这个最佳投资决策问题归结为总资金以及决策变量(取0或1) 的限制条件下,极大化总收益和总投资之比。因此,其数 n 学模型为: bixi
惩罚函数的构成可以是多种形式,根据约束形式和构造的 函数及罚因子的递推方法等不同,惩罚函数法又分为内点 罚函数法,外点罚函数法和混合罚函数法三种,此处重点 讲述外点罚函数法。
惩罚函数法
将约束非线性规划问题转化为一系列无约束问题求解。 (SUMT:Sequential Unconstrained Minimization Technique)
罚函数

增广目标函数
增广目标函数由两个部分构成, 增广目标函数由两个部分构成,一部 分是原问题的目标函数, 分是原问题的目标函数,另一部分是 由约束函数构造出的“惩罚” 由约束函数构造出的“惩罚”项, 惩罚”项的作用是对“违规” “惩罚”项的作用是对“违规”的点 进行“惩罚”。 进行“惩罚”
罚函数的分类
内点法
如果从可行域内部的一点X 出发, 如果从可行域内部的一点X(0)出发, 按无约束极小化方向进行迭代( 按无约束极小化方向进行迭代(在进 行以为搜索时要适当控制步长, 行以为搜索时要适当控制步长,以免 迭代点跑到R 之外), ),则随着障碍因 迭代点跑到R0之外),则随着障碍因 的逐步减小, 子rk的逐步减小,即: r1>r2>…>rk>…>0 障碍项所起的作用也越来越小, 障碍项所起的作用也越来越小,因 而:
罚函数法主要有两种形式: 罚函数法主要有两种形式:外点法和内 点法。 点法。 外点法的迭代点一般在可行域的外部移 随着迭代次数的增加, 惩罚” 动,随着迭代次数的增加,“惩罚” 的力度也越来越大, 的力度也越来越大,从而迫使迭代点 向可行域靠近; 向可行域靠近;
罚函数的分类
内点法从满足约束条件的可行域的内点 开始迭代, 开始迭代,并对企图穿越可行域边界 的点予以“惩罚” 的点予以“惩罚”,当迭代点越接近 边界, 惩罚”就越大, 边界,“惩罚”就越大,从而保证迭 代点的可行性。 代点的可行性。
外点法
X=(-1/8,M=3: X=(-1/8,-29/192)T M=4: X=(-1/10,-23/200)T X=(-1/10,可知X(M)从R的外面逐步逼近R的边界, 可知X(M)从 的外面逐步逼近R的边界, X(M) 当 时 ∞X(M)趋于原问题 M → ,X(M)趋于原问题 的极小值解X 的极小值解Xmin=(0,0)T
惩罚函数法

惩罚函数法
惩罚函数法(penalty function method)是一种优化方法。
它的基本思想是,将原始问题转换为一个新的目标函数,在此基础上,通过对不等式、二次限制条件等加入惩罚项,使得原问题转化为无约束优化问题,从而可以采用常见的求解方法,如牛顿法、拉格朗日乘子法或者梯度下降法等。
该方法的具体步骤如下:
(1) 将原有的约束条件作为等式或不等式表示;
(2) 将约束条件中的不等式转换为等式,并将其和原有的等式组合在一起,形成新的约束条件;
(3) 将原有的目标函数和约束条件组合在一起,形成新的目标函数;
(4) 将新的目标函数中的不等式约束条件添加惩罚项,并且形成一个新的无约束优化问题;
(5) 用一种方法求解这个新的无约束优化问题,获得最优解。
罚函数法

No γk+1 = β γk
闸函数法: (续)
求初始内点: 1 x (1) , k 1, 转2 ; 2 令I k {i | g i ( x ( k ) ) 0}
(k ) 若 I , 则 x 为初始内点。 k 转 3 ; (k ) (k ) 否则,取j使g j ( x ) max{ g i ( x ) | i I k }
2 x
0
0
g ( x , ) 2 最优值(原问题)
3.闸函数法: (续)
定义 ( ) inf{ f ( x) B( x) | x S 0 } 有类似于罚函数法的理论结果: 定理: ( fg ), f , g连续,S 0 Φ , 最优解x S 0 则 1 min{ f ( x) | x S} inf{ ( ) | 0} lim ( )
(t ), (t )的典型取法: (t ) [max {0, t}] p (t ) | t | p
p为正整数。
当p 2时,称2次罚函数.(常用:因2次是最低次的光滑函数)
1.罚函数概念 (续)
Ex. min x s.t. x 2 0
2
( x 2) 2 , x 2 二次罚函数 : ( x) [max{ 0, x 2}] 0, x 2 如图 当 时, min 解析解 : 辅助函数 x ( x 2) 2 x 2 (4 1) x 4 , g ( x, ) f ( x) ( x) x ,x 2 4 1 当x 2时, g ( x, )的驻点x 2 2 故x 2 opt. 当x 2时, g ( x, )的最小值点~ x 2 x2 f ( x) ( x) f ( x ) x 2
罚函数法

外罚函数法算法
Step1: 给出 x0 ∈ Rn (可是不可行点), > 0(ε =10−4 ) ε 罚因子 σ1(σ1 =1) , 放大系数 C(C =10) , k =1. Step2: 以 xk−1 为初始点求无约束问题: ~ m P( x,σk ) = f ( x) +σk P( x) 得 xk = x(σk ). in ~ Step3: 若 σk P(xk ) < ε , 则 x* = xk ,停; 否则转step4 Step4: 令 σk+1 = Cσk , k = k +1, 转step2.
Q f (xk ) ≤ P(xk ,σk ) ≤ f x
设其极限为 f . ∴ { f (xk )} 亦为单调有界序列, ~ ∴ lim σk P(xk ) = lim [P(xk ,σk ) − f (xk )] = p0 − f 0 k→+∞ k→+∞ ~ Q σk →+∞ ∴ lim P(xk ) = 0 k→+∞ ~ ~ ~ 且 P(x) 连续; P(~) = 0 即 ~ 为可行解 x ∴ x Q x →x
0
( )
*
Q x 为最优解;∴ f x* ≤ f (~) x ~, f (x) 连续; f (~) = lim f (x ) ≤ f (x* ) ∴ x Q xk → x k k→+∞ * ~) 即 ~ 为(3)的整体最优解. ∴ f x = f (x x
k *
( )
( )
外罚函数法评价
(1) 如果有了求解无约束问题的好算法,利用 外罚函数法求解约束问题很方便. (2) 每个近似解 x(σk ) 往往不是可行解,这是某 些实际问题所无法接受的. 内罚函数法可以解决. (3) 由收敛性定理 σk 取越大越好, σk 越大将 而 造成增广目标函数 P( x,σ ) 的Hesse阵条件数越 大,趋于病态,给无约束问题求解增加很大困 难,甚至无法求解.乘子法可解决这个问题.
罚函数法

就是Hesse矩阵,这时大于零(或小于零)与Hesse的正 矩阵,这时大于零(或小于零) 就是 矩阵 的正 或负定)是一致的, 定(或负定)是一致的,二者都可作为判定泛函数极值的 充分条件。 充分条件。
式中: 式中:x(t)---m维状态函数向量; w(t)---r维决策函数向量; f---微分形式状态方程; t---时间变量; t0---初始时刻; tf---终止时刻。
目标函数随状态变量和决策变量的不同而 不同,也就是说目标函数是函数都是函数。在 不同,也就是说目标函数是函数都是函数。 数学上,这种函数称为泛函, 数学上,这种函数称为泛函,求泛值的问题称 为变分问题。 为变分问题。 因此, 因此,连续系统的最优化问题就是一个变 分问题。 分问题。由于求泛函的极小问题也是一种极值 问题。 问题。 对于无约束问题, 对于无约束问题,根据极值存在的充分必 要条件求极值;对于有约束的最优化问题, 要条件求极值;对于有约束的最优化问题,则 先利用拉格朗日函数或罚函数, 先利用拉格朗日函数或罚函数,将其转化成无 约束最优化问题后再求解。 约束最优化问题后再求解。
动态系统参数的最优化又称连续系统最优化,因 为优化问题的解是t的连续函数。 动态参数优化问题的一般模型:
min J = min{
∫
tf
t0
F [ x ( t ), w ( t ), t ] dt + s [ x ( t f ), t f ]}
dx ( t ) s .t . = f [ x ( t ), w ( t ), t ] dt g [ x ( t ), w ( t ), t ] ≥ 0 c [ x ( t ), w ( t ), t ] = 0 初始条件: x (t 0 ) = x 0
约束优化-惩罚函数法

( p) 1
,r
( p) 2
f x r G g x r H h x
( p) 1 m j 1 j ( p) 2 l k 1 k
的无约束最优化问题。
min x, r1( p ) , r2( p ) f x r1( p ) G g j x r2( p ) H hk x
k 1 l
对于每次迭代的 M ( p ),都可以求得相应的惩 罚函数最小 值和最优解X ( M ( p ) )。
当M为足够大的值时,惩罚 函数最小值将收敛于一 个有 限的极限值 *,且满足hk ( x) 0,而序列{X ( M ( p ) )}将 收敛于某一点X *。 *即为原问题f ( x)在等式约束hk ( x) 0 条件下的最小值, X *即为原问题的最优解。 即: lim M ( p ) lim M
2 另外,惩罚项形式 M h ( x ) k k 不是唯一的, k 1 l
任何仅仅当约束条件得 到满足时才等于零的 非负函数都可以当作惩 罚项,可以根据具体情 况选择。
四、惩罚函数法
将约束最优化问题 min f x f x1 , x2 , , xn s.t. g j x g j x1 , x2 , , xn 0 hk x hk x1 , x2 , , xn 0 转化为形如: min x, r ( j 1,2, , m) (k 1,2, , l )
为便于在计算机上用直 接寻优的方法进行迭代 计算, 可以构造一个新的函数 : F F Z x i 1 k 1 i k
n l 2 l F 2 x hk ( x) i 1 k 1 i n 2 2
第三章罚函数法及改进算法

第3章罚函数法及改进算法3、1 引言罚函数法就是解决约束优化问题得重要方法,它得基本思想就是用无约束问题代替约束问题,因而无约束问题得目标函数必须就是原来得目标函数与约束函数得某种组合,类似线性规划中得M法求初始可行解,在原来得目标函数上加上由约束函数组成得一个“惩罚项”来迫使迭代点逼近可行域,所以称为罚函数法。
这样把约束问题转化成求解一系列得无约束极小点,通过有关得无约束问题来研究约束极值问题,从而使问题变得简单。
许多非线性约束优化方法都要用罚函数作为评价函数来评价一个点得好坏,这在选择新点确定步长等方面都起着重要得作用,不同得罚项对算法影响很大,根据罚项得不同可以分为以下几类:外罚函数法对于问题(3-1)(3-2)(3-3) 其中为线性连续函数。
定义外罚函数为:(3-4)(3-5) 通常取,这样定义得外罚函数法,当为可行点就是,;当不就是可行点时,。
而且离可行域越远得值越大,它优点就是允许从可行域得外部逐步逼近最优点,但其明显得缺点就是它需要求解一系列无约束极小化问题,计算工作量很大,且由于其收敛速度仅就是线性得,往往需要较长得时间才能找到问题得近似解,再考虑到实际中所使用得终止准则,若实现不当,则算法很难找到约束问题得一个较好可行解,从而不适用于那些要求严格可行性得问题。
内罚函数法它就是针对不等式约束(3-1)(3-3)提出得,基本思想就是在约束区域得边界筑起一道“墙”来,当迭代点靠近边界时,函数值陡然增大,于就是最优点被挡在可行域内部,这样产生得点列每个点都就是可行点。
通常定义内罚函数为:(3-6)(3-7) 要减弱得影响,故令逐渐增大。
内罚函数法得好处就是每次迭代得点都就是可行点,当迭代到一定阶段时,可以被接受为一个较好得近似最优解。
但就是内点罚函数法要求初始点位于可行域得内部,除特殊情况外,确定这样一个初始点并非易事。
此外,由于内点罚函数不就是处处有定义或不一定存在全局极小,故无约束最优化问题中得线性搜索方法不再适用,另外,当接近可行域边界时,内点罚函数法必须修正通常得线性搜索方法。
Python最优化算法实战学习笔记

Python最优化算法实战第一章最优化算法概述1.1最优化算法简介最优化算法,即最优计算方法,也是运筹学。
涵盖线性规划、非线性规划、整数规划、组合规划、图论、网络流、决策分析、排队论、可靠性数学理论、仓储库存论、物流论、博弈论、搜索论和模拟等分支。
当前最优化算法的应用领域如下。
(1)市场销售:多应用在广告预算和媒体的选择、竞争性定价、新产品开发、销售计划的编制等方面。
如美国杜邦公司在20世纪50年代起就非常重视对广告、产品定价和新产品引入的算法研究。
(2)生产计划:从总体确定生产、储存和劳动力的配合等计划以适应变动的需求计划,主要采用线性规划和仿真方法等。
此外,还可用于日程表的编排,以及合理下料、配料、物料管理等方面。
(3)库存管理:存货模型将库存理论与物料管理信息系统相结合,主要应用于多种物料库存量的管理,确定某些设备的能力或容量,如工厂库存量、仓库容量,新增发电装机容量、计算机的主存储器容量、合理的水库容量等。
(4)运输问题:涉及空运、水运、陆路运输,以及铁路运输、管道运输和厂内运输等,包括班次调度计划及人员服务时间安排等问题。
(5)财政和会计:涉及预算、贷款、成本分析、定价、投资、证券管理、现金管理等,采用的方法包括统计分析、数学规划、决策分析,以及盈亏点分析和价值分析等。
(6)人事管理:主要涉及以下6个方面。
①人员的获得和需求估计。
②人才的开发,即进行教育和培训。
③人员的分配,主要是各种指派问题。
④各类人员的合理利用问题。
⑤人才的评价,主要是测定个人对组织及社会的贡献。
⑥人员的薪资和津贴的确定。
(7)设备维修、更新可靠度及项目选择和评价:如电力系统的可靠度分析、核能电厂的可靠度B风险评估等。
(8)工程的最佳化设计:在土木,水利、信息电子、电机、光学、机械、环境和化工等领域皆有作业研究的应用。
(9)计算机信息系统:可将作业研究的最优化算法应用于计算机的主存储器配置,如等候理论在不同排队规则下对磁盘、磁鼓和光盘工作性能的影响。
最优化理论与方法9.4 罚函数法

小 点 ; 否 则 取 rk1 rk , 置 k k 1, 转 第 ( 3) 步.
收敛准则可采用以下几种形式之一:
rk
l j 1
1 g j (x(k))
;
x(k) x(k1) ;
l
rk ln(g j (x(k) )) ; j 1
f (x(k) ) f (x(k1) ) .
9.4.2.3 初始内点的求法
类似于外点法中构造罚函数,在内点法中,我们构造障碍函数
l 1
p(x, rk ) f (x) rk j1 g j (x)
(9-29)
或
l
p(x, rk ) f (x) rk ln(g j (x)) j 1
(9-30)
其
中
,
rk
是
很
小
的
正数
.
通
常
称
rk
为
障
碍
因子
,
称
rk
l j 1
1 g j (x)
束不 等 式 都满 足(即 g j (x) 0( j 1, 2, ,l) ),故罚 项 等于 0,不 受惩 罚 ;
当 xH 时,至少有一个约束不等式不成立,故罚项大于 0,对极小化罚 函数的问题,就要受惩罚.
对于只含有等式约束的非线性极值问题:
min f (x)
可以定义罚函数为
s.t. hi (x) 0 (i 1, 2, , m)
l
(g j (x)) 0
j 1
当 xH 时
l
0 (g j (x)) j 1
为了 使 辅 助函 数 能更 快 地 满足 要 求,将 引 入一 个 充 分大 的 正数 M(M>0),
修改 (x) 为 :
运筹学与最优化方法第3章

1
T
2 f ( x * ) 1 g ( x ) g ( x )0 1 2 3 3 g ( x )0 1 g ( x ) 0 2
min f ( x1 , x2 ) 5 ( x1 x2 )
例3.1.2
2 x12 x2 20 s.t. x1 0 x 0 2
显然它是一个凸规划,它的K-T条件为:
* * * * ( 1, 1) 2 1* ( x1 , x2 ) 2 ( 1,0) 3 (0, 1) 0 * *2 *2 * * * ( x x 1 1 若x1 0, 则显然x2 0, 2 0, 代入 2 2) 0 * * * K T 条件的第一式得2 1 2 x1 0 * x* 0 * * 与2 0矛盾,所以x1 0 3 2 * 同理有x2 0
推广到多元情况,令
L( x, ) f ( x ) i hi ( x ) f ( x ) h( x )
i 1 m
其中 (1,2, ,m ), h( x ) (h1 ( x ),h2 ( x ), ,hm ( x ))T
若x*是(3-2)的l.opt. ,则存在λ*∈ Rm使 * h ( x ) 矩阵形式: * * f ( x ) 0 x 1 1 因为 f ( x ) 2 2( x 2 ) , g1 ( x ) 2x , g 2 ( 2) 2 2
* * 2( x1 2 1 3) 1 2 x1 2 0 * * 2( x 2) 3 2 x 3 2 2 * T 解之得 x ( 2 , 1 ) 是其最优解 *2 *2 x1 x2 5 0 x* 2 x* 4 0 1 2
精品课件-优化设计3——惩罚函数法

(4) 求下一个罚因子 r(k+1) 的值:r(k+1) = C·r(k), 以X(0) =X*(r(k))
作为新的初始点,置K=K+1,转(2)。
2019/5/28
31
内点法罚函数常用的收敛判别准则: (1) 点收敛准则: ‖X(k+1)-X(k)‖≤ε (2) 目标函数准则(绝对差):
2)然后比较复合形各顶点的函数值,找出最坏点 X(b),和除 X(b)之外 的其它各点的点集中心 X(c)。
3)从 X(b)出发通过 X(c)作一射线,在此射线上找到一个既满足约束条
件,函数值又有改善的新顶点——反射点 X(r)。再舍弃最坏点 X(b),
代之以反射点 X(r) ,构成新复合形。如此反复进行,直至得到最优
若f (X (R)) ≥ f(X (H)),则将反射系数α减半,转(5),
重新计算反射点。
若直到反射系数α小于一个预先给定的很小正数时,反射点 的函数值仍大于最坏点函数值,则说明该反射方向不好, 此时改用次坏点X (G)代替最坏点X (H),即X (H)= X(G), 换一 个反射方向,转(4)。
2019/5/28
2019/5/28
30
内点法算法步骤:
(1) 在可行域内找到一个初始内点X(0),要求该点满足各约束 条件。(给定初始罚因子r(0)>0,罚因子递减系数 C(0<C<1),通常取C=0.1~0.02),判别收敛的正数ε, 置K=0。
(2) 构造内点罚函数 P(X*,r(k)),用任一种无约束极小化方法 极小化 P(X,r(k)),求出 X*(r(k))。
数值最优化方法-罚函数方法

k k
根据引理,我们还知道 f ( xk ) 单调增加,并且
f ( x k ) P ( x k , k ) f ( x * )
(4.1.3)
惩罚项所具有的性质应该怎么样呢? 怎么取呢?
想一想 有没有其他形式的惩罚项。
6
一般约束优化问题
min f ( x ) s.t. ci ( x) 0
ci ( x) 0 i I l 1,2,, m
i E 1,2, , l
怎么构造罚函数?
~ P x, f ( x) P x l m ~ P x ci ( x ) min0, ci ( x )
得到 以 xk 为 近 似 最 优 解 , 停 止 。 否 则 , 令
~ minP x, k f ( x) k P x
k 1 c k , k k 1 ,转 Step 2。
那么这类方法是否能收敛呢??
13
~ minP x, k f ( x) k P x
2 2 min f x1 , x2 x1 x2 s.t. x1 x 2 2 0
其中的 表示很大的正数。
2 2 P x1 , x 2 , x1 x 2 x1 x 2 2
2
2 x1 x 2 2 1
当 时, x1 x 2 1 即无约束优化问题最优解的极限为原问题的解。
14
证明 (1)因为 xk 是 P ( x , k ) 的极小点,且 k 1 k ,故
惩罚函数法

fprintf(fp,"%15.7lf,",x[j]);
fprintf(fp,"%15.7lf], f(%3d)=%15.7lf\n",x[N-1],m,f);
return f;
}
/*初始搜索区间的确定*/
voidcsssqj(double x[],double d[],doubleh,doubleab[])
f2=f4;
}
else
{
a3=a4;
f3=f4;
}
}
else
{
if(f2>f4)
{
f3=f2;
a3=a2;
k=1;
a2=a4;
f2=f4;
}
else
{
a1=a4;
f1=f4;
}
}
}
if(0==p)
f1=f4-f2?a4:a2;
else
f1=a2;
for(i=0;i<N;i++)
x[i]+=f1*d[i];
return;
}
/***********以上为修改部分***********/
/*惩罚函数*/
doublehanshu(double x[])
{
inti;
double f,f1,g[NG],h[NH];
f=hanshu1(x);
strain(x,g,h);
f1=0.0;
for(i=0;i<NG;i++)
#include <time.h>
#define N 2 /*优化设计维数*/
最优化方法-罚函数法

������(2)= 0.32,0.625 ,������ ������(2), ������1 = 1.5237
22:06
2.罚函数的基本原理
F(x)的等价表达式: ������ ������, ������ = ������ + ������[max 0, −������ + 2 ]2
其中,μ是一个充分大的数。 记 ������ ������ = [max 0, −������ + 2 ]2
通常把������������ ������ 称为罚函数(Penalty Function),记为 P ������, ������ = ������������ ������
2������1 + 2 + ������ = 0
令൞���������′���2 = 0 即ቐ
4������2+������ = 0
���������′��� = 0
������1 + ������2 − 1 = 0
解得������∗ = ������ , ������ , ������ ������∗ ≈ ������. ������������������������
利用图解法不难看出,原问题的约束极小点正是������∗ = 2.
22:06
2.罚函数的基本原理
约束极小化的一般问题为
������������������������ ������
北邮最优化课件13-惩罚函数法

连续函数和满足
(13.1.9)
(
y)
0, 0,
y y
0 0
,
(
y)
0, 0,
y y
0 .
0
2021/8/1
8
最优化理论
13.1 外点罚函数法
连续函数和的典型取法有 (max{0, gi (x)})
= hj (x) ( 1, 1)
于是把约束问题(13.1.1)转化为无约束问题
2,以x(k1)为初点, 解无约束问题
min f (x) k P(x)
得极小点为x(k )
3, 若k P(x(k ) ) , 停止, 得点x(k ) ;否则,令k+1 ck .
置k : k 1, 转2
2021/8/1
12
最优化理论
13.1 外点罚函数法
1.3 收敛性
引理13.1.1设0 k k1, x(k )和x(k1)分别为取罚因 子k 和k 1时无约束问题的极小点, 则下列各式成立 1, F (x(k ) , k ) F (x(k1) , k1)
(13.1.27)
k j
由(13.1.16)可知
P(xˆ) 0
因此, xˆ S.
2021/8/1
20
最优化理论
13.1 外点罚函数法
由于x是问题(13.1.1)的最优解,则
f (x) f (xˆ)
(13.1.28)
根据引理13.1.2,对每一k j ,有
f (x(kj)) f (x)
令k j ,故 f (xˆ) f (x )
参数是很大的正数.
(13.1.6)
于是(13.1.2)转化为:
最优化方法第三章-孙文瑜

黄金分割法迭代步骤
现在提出一个问题,就在[a,b] 上如何选取二点使得迭代次 数最小而区间缩短最快? 要解决这个问题,人们想到对区间 [a,b] 选二点 t1,t2 等价于 将区间长度b-a进行黄金分割,也就是将第一个搜索点t1取 在 [a,b] 的 0.618 处 , 第 二 个 搜 索 点 t2 取 成 t1 的 对 称 点 即 的0.382处(如图所示)
显然, 短率满足
Fn k 这里 F 相当于黄金分割法中的τ, n k 1
每次缩
bk 1 ak 1
Fnk (bk ak ) Fnk 1
这里n是计算函数值的次数, 即要求经过n次计算函数 值后, 最后区间的长度不超过δ, 即 bn an
由于
F1 bn a n (bn 1 a n 1 ) F2 F1 F2 Fn 1 (b1 a1 ) F2 F3 Fn 11 (b1 a1 ) Fn
25
2018/12/11
3.2.2 Fibonacci法
另一种与0 .618 法相类似的分割方法叫Fibonacci 法. 它与0 .618 法的主要区别之一在于: 搜索区间长度的 缩短率不是采用0 .618 而是采用Fibonacci 数. Fibonacci 数列满足 F0 F1 1
Fk 1 Fk Fk 1 , k 1,2 Fibonacci 法中的计算公式为
理想的方法是使目标函数沿方向dk达到极小, 即使得 f ( x k k d k ) min f ( x k d k )
0
或者选取αk>0使得 k min{ 0 | f ( xk d k )T d k 0}
这样的线性搜索称为精确线性搜索, 所得到的αk叫精 确步长因子
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
这种惩罚策略,对于在无约束的求解过程中企图违反约
束的迭代点给予很大的目标函数值,迫使无约束问题的 极小点或者无限地向可行域D靠近,或者一直保持在可 行域D内移动,直到收敛到原来约束最优化问题的极小 点。
不改变可行域局部极小值,可以将 约束域之外的局部极小值变大。
p ( x) 0, x D p ( x) 0, x D
k k
k 1
k 1
xk 1是F x, M k 1 的最优解.
k 1 k k 1 k 0 M k 1 M k p ( x ) p ( x ) p ( x ) p ( x )
M k 1 M k
(3) f ( x k 1 ) M k p( x k 1 ) F ( x k 1 , M k ) F ( x k , M k ) f ( x k ) M k p( x k )
gi ( x) gi ( x) max gi ( x), 0 = 罚函数p(x)的构造 2 m l p( x) (max gi ( x), 0) 2 h 2 j ( x)
i 1 j 1
(1) p(x)连续 (2) p( x) 0, x D (3) p( x) 0, x D
二、外点法 外点罚函数法算法步骤 1:给定初始点 x 0 ,初始罚因子M1 0 (可取M1 1 ), 精度 0, k : 1. 2:以 x k 1初始点,求解无约束优化问题
min F ( x, M k ) f ( x) M k p( x)
得到极小点 x* ( M k ),记为 x k , 其中
p( x) (max gi ( x), 0) h 2 j ( x)
2 i 1 j 1 m l
用解析法求 驻点 或者 用无约束优 化方法求解
k 3:若 M k p( x ) ,则停止计算,得到近似极小点 x k ;
否则,令 M k 1 cM k ,置k:=k+1,转步骤2。
k 1 k
k
k
k 1
k 1
k 1
k 1
k 1
k 1
k 1
k
k 1
k
k
k
k 1
k
k 1
F ( x, M k ) f ( x) M k p( x)
故 F x k 1 ,M k 1 F x k ,M k
x k 是F x, M k 的最优解.
二、外点法
p( x k ) 0
c [2,50]
xk D
常取 c [4,10]
二、外点法
若无约束优化问题的最优解始终位于可行集之外
min F ( x, M k ) f ( x) M k p( x) 最优解记为 x k
因为 M k 时,
F ( x, M k )
M k p( x k ) 0
当 x1 x2 1 时, x1 0 x2 ,舍去该点;
若x1 x2 1 若x1 x2 1
当 x1 x2 1 时,由 F ( x, M k ) F ( x, M k ) 0 ,得到
x1 x2 2 x1 2M k x1 x2 1 0 4 x2 2M k x1 x2 1 0 2M k Mk 所以 x1 , x2 ,令 M k ,得到 2 3M k 2 3M k
k 1 k F ( x , M ) F ( x , Mk ) 证明:(2) f ( x ) M k p( x ) k x k 是F x, M k 的最优解. f ( x k ) M k p( x k )
k 1 k 1
f ( xk 1 ) f ( xk ) M k [ p( x k ) p( x k 1 )]
k k 1 f ( x k ) M k 1 p( x k 1 ) F ( x , M k 1 ) F ( x , M k 1 ) f ( x k 1 ) M k 1 p( x k 1 )
f ( x ) f ( x ) M k 1[ p( x ) p( x )]
x 2 / 3,1/ 3
*
T
例:求下述约束优化问题的最 优点。
min. f (x) = x
s.t g (x) = 1-x ≤ 0
解 新目标函数:
x r k (1 x) 2 x 1时; x, r x 1时。 x
k
二、外点法 外点罚函数法特点 初始点可以任选,对等式约束和不等式约束均可适用; 初始罚因子要选择得当,否则会影响迭代计算的正常进 行,许多计算表明,取 M1 1常常可以取得满意的效
2 F ( x, M k ) ������2 1 + 2������2 + ������������ min ������1 + ������2 − 1,0
2 2 x 2 x 1 2 2 2 2 x1 2 x2 M k x1 x2 1
2
若x1 x2 1 若x1 x2 1
二、外点法 算法收敛性分析
引理: 对于由外点法产生的点列 x k , k 1, 总有:
k 1 k 1 k
k 1 k
(1) F x , M F x , M , (2) p x p x , (3) f x f x . 证明:(1) 对于由外点法产生的点列 x , k 1, 总有: F x , M f ( x ) M p( x ) f ( x ) M p( x ) M M , p( x ) 0 F x ,M F x ,M
f ( xk 1 ) M k p( x k 1 ) f ( x k ) M k p( x k )
k 1 k p x p x 又由(2) ,
f ( x k 1 ) f ( x k )
二、外点法 定理:设约束问题和无约束问题的最优解为 x * 和
x
k
取序列 M k , M k 1 M k ,且M k ,则由外点法产生的点列
F ( x* (M ), M ) F ( x, M ), x R n
又 x* M D, 所以 p x* M 0, 故 x D,
f x* M = f x* M Mp x* M
x* M D
* = F ( x M , M ) F ( x, M )
~ 的任何聚点 x x 必是约束问题的最优解。
k
证明: 不妨设 x k x . 因为 x 和 x 分别为约束问题和无约束问题的最优解,且
*
k
p x* 0, 所以有:
f x* f x * M k p x * f x k M k p x k F xk , M k f xk
k
k k 0 0 lim F x , M f x F f lim M k p x k k
F x k ,M k 为单调有界序列,设其极限为 F 0 .
F x k 1 , M k 1 F x k , M k
用解析法求F(x,Mk)的驻点,令
2 x1 F ( x, M k ) 0 x1 2 x1 2M k x1 x2 1
若x1 x2 1 若x1 x2 1
二、外点法
4 x2 F ( x, M k ) 0 x2 4 x2 2M k x1 x2 1
x k 是F x, M k 的最优解.
f ( x k ) F x k , M k f ( x* )
二、外点法
f ( x k ) F x k , M k f ( x* )
又
故
设其极限为 f 0 . f ( xk 1 ) f ( xk ),故 f x k 为单调有界序列,
f x Mp x f x
xD
二、外点法 一般来说,x* M D 仅在M充分大时才成立,但在 实际计算中,过大的M会造成无约束问题 min F ( x, M ) 的求解困难,因此取一个递增且趋于 的罚因子序 列 M k ,即
0 M1 M 2 ... M k M k 1 ... , 且M k 然后求解一系列无约束问题 min F ( x, M k )
通过求解无约束问题来求解约束非线性规划,所以也称为序
列无约束极小化技术(sequentail unconstrained minimization technique,简称SUMT) 根据约束特点(等式或不等式)构造某种罚函数p(x),把 它加到目标函数中去,将约束非线性规划转化为一系列无约 束问题:
一、罚函数法简介 惩罚函数法分类 外点法:对违反约束的点在目标函数中加入相应的惩 罚,可行点不予惩罚,这种方法的迭代点一般在可行 域D的外部移动; 内点法: 对从内部企图穿越可行域D边界的点在目标函
数中加入障碍,距边界越近,障碍越大,在边界上给予
无穷大的障碍,从而保证迭代点一直在可行域内部移动; 混合法:将外点法和内点法结合,两种惩罚函数联合 使用。
k
而 M k , 所以 lim p x
k
k
~ p lim x p x , 0 x 为可行解。 k
k
x
又
k
* 为最优解;
k *
f xk f x f ( x ) F x , M k f ( x ) f x klim
一
简介
二
罚 函 数 法
四
外点法 内点法 混合法