乘子(罚函数)法

外点惩罚罚函数

https://www.360docs.net/doc/115478030.html,/kuai_su/youhuasheji/suanfayuanli/4.3.asp 约束优化算法——外点惩罚函数法 (一)基本原理 设原目标函数为,在不等式约束条件下用外点惩罚函数法求极小。外点法常采用如下形式的泛函: (6) 由此,外点法所构造的相应的惩罚函数形式为 (7) 式中,惩罚因子是一个递增的正值数列,即 惩罚项中: (8) 由此可见,当迭代点X位于可行域内满足约束条件时,惩罚项为零,这时不管 取多大,新目标函数就是原目标函数,亦即满足约束条件时不受“惩罚”,此时求式(7)的无约束极小,等价于求原目标函数在己满足全部约束条件下的极小;而 当点X位于可行域外不满足约束条件时,惩罚项为正值,惩罚函数的值较原目标函数的值增大了,这就构成对不满足约束条件时的一种“惩

罚”。 由式(7)可知,每一次对罚函数求无约束的极值,其结果将随该次所给定的罚因子值而异。在可行域外,离约束边界越近的地方,约束函数的值越大,的值也就越小,惩罚项的作用也就越弱,随着罚因子逐次调整增大,有增大惩罚项的趋势,但一般说来泛函值下降得更 快一些。此时尽管值增大,但泛函值亦趋于零,满足式(3)。最后当,泛函值和惩罚项值均趋近于零。外点法在寻优过程中,随着罚因子的逐次调整增大,即取 ,所得的最优点序列可以看作是以为参数的一条轨迹,当时,最优点点列 从可行域的外部一步一步地沿着这条轨迹接近可行域,所得的最优点列逼近原问题的约束最优点。这样,将原约束最优化问题转换成为序列无约束最优化问题。外点法就是因从可行域的外部逼近最优解而得名。 (二)迭代过程及算法框图 外点惩罚函数法的具体迭代步骤如下: (1)给定初始点,初始惩罚因子,迭代精度,递增系数c>1,维数n。置。 (2)以为初始点,用无约束最优化方法求解惩罚函数的极小点,即: (9)。 (3)检验是否满足迭代终止条件: 或(若) 或(若) 若不满足,则进行第(4)步;否则转第(5)步。

数学建模案例应用罚函数法实施航空港管理

01级混合八班徐涛3013001231 01级混合八班王菁3013001215 01级混合六班赵晓楠3013001155罚函数求解带约束的规划问题(教案) §1求解带约束的非线性规划问题 罚函数法求解带约束的非线形规划问题的基本思想是:利用问题的目标函数和约束函数构造出带参数的所谓增广目标函数,把约束非线形规划问题转化为一系列无约束非线形规划问题来求解。增广目标函数由两个部分构成,一部分是原问题的目标函数,另一部分是由约束函数构造出的“惩罚”项,“惩罚”项的作用是对“违规”的点进行“惩罚”。罚函数法主要有两种形式。一种称为外部罚函数法,或称外点法,这种方法的迭代点一般在可行域的外部移动,随着迭代次数的增加,“惩罚”的力度也越来越大,从而迫使迭代点向可行域靠近;另一种成为内部罚函数法,或称内点法,它从满足约束条件的可行域的内点开始迭代,并对企图穿越可行域边界的点予以“惩罚”,当迭代点越接近边界,“惩罚”就越大,从而保证迭代点的可行性。 1.外部罚函数法(外点法) 约束非线形规划问题 min f(x), s.t.g(x)>=0, 其中g(x)=(g1(x),…,gm(x)), 将带约束的规划问题转化为无约束非线形规划问题来求解的一个直观想法是:设法加大不可行点处对应的目标函数值,使不可行点不能成为相应无约束问题的最优解,于是对于可行域S={x|g(x)>=0}作一惩罚函数 P(x)=0,x∈S; K,else 其中K是预先选定的很大的数。然后构造一个增广目标函数 F(x)=f(x)+P(x), 显然x∈S时,F(x)与f(x)相等,而x S时,相应的F值很大。因此以F(x)为目标函数的无约束问题 minF x)=f(x)+P(x)(1)的最优解也是原问题(NP)的最优解。 上述P(x)虽然简单,但因它的不连续性导致无约束问题(1)求解的困难。为此将P(x)修改为带正参数M(称为罚因子)的函数 P(x)=M∑[min(0,gj(x))]2 则 min F(x,M)=f(x)+M∑[min(0,gj(x))]2 的最优解x(M)为原问题的最优解或近似最优解。这时,若x(M)∈S则它必定是问题的最优解;若对于某一个罚因子M,使得x(M)-∈S,则加大M的值,罚函数的“惩罚”作用也将随之加大,因此当M是很大的数时,即使x(M)-∈S,它与S的“距离”

10罚函数法

第十章 罚函数法与广义乘子法 本章主要内容:外罚函数法 内罚函数法 广义乘子法 教学目的及要求:了解外罚函数法、内罚函数法、广义乘子法。 教学重点:外罚函数法. 教学难点:广义乘子法. 教学方法:启发式. 教学手段:多媒体演示、演讲与板书相结合. 教学时间:3学时. 教学内容: §10.1 外罚函数法 考虑约束非线性最优化问题 min ();()0,1,2,,,()0,1,2,,,i j f x g x i m h x j l ?? ≥=??==? s.t. (10.1.1) 其中(),()1,2,,()1,2,,i j f x g x i m h x j l == ()和()都是定义在n R 上的实值连续函数.记问题(10.1.1)的可行域为S . 对于等式约束问题 min (); ()0,1,2,,,j f x h x j l ?? ==? s.t. (10.1.2) 定义罚函数 211 (,)()()l j j F x f x h x σσ==+∑, 其中参数σ是很大的正常数.这样,可将问题(10.1.2)转化为无约束问题 1m i n (,)n x R F x σ∈. (10.1.3) 对于不等式约束问题 min (); ()0,1,2,,,i f x g x i m ?? ≥=? s.t. (10.1.4) 定义罚函数

221 (,)()[max{0,()}]m i i F x f x g x σσ==+-∑, 其中σ是很大的正数.这样,可将问题(10.1.4)转化为无约束问题 2m i n (,)n x R F x σ∈. (10.1.5) 对于一般的约束最优化问题(10.1.1),定义罚函数 (,)()()F x f x P x σσ=+, 其中σ是很大的正数,()P x 具有下列形式: 1 1 ()[()][()]m l i j i j P x g x h x ?φ===+∑∑. ?和φ是满足下列条件的实值连续函数: ()0,0()0,0y y y y ??=≥?? >≠?当时, 当时. 函数?和φ的典型取法为 ()[max{0,}]y y α?=-, ()||y y βφ=, 其中1α≥和1β≥是给定的常数,通常取作1或2. 这样,可将约束问题(10.1.1)转化为无约束问题 m i n (,)()(n x R F x f x P x σσ∈=+, (10.1.6) 其中σ是很大的正数,()P x 是连续函数. 算法10-1(外罚函数法) Step1 选取初始数据.给定初始点0x ,初始罚因子10σ>,放大系数1α>,允许误差0ε>,令1k =. Step2 求解无约束问题.以1k x -为初始点,求解无约束问题

07第三章罚函数法及改进算法

第3章 罚函数法及改进算法 3.1 引言 罚函数法是解决约束优化问题的重要方法,它的基本思想是用无约束问题代替约束问题,因而无约束问题的目标函数必须是原来的目标函数与约束函数的某种组合,类似线性规划中的M 法求初始可行解,在原来的目标函数上加上由约束函数组成的一个“惩罚项”来迫使迭代点逼近可行域,所以称为罚函数法。这样把约束问题转化成求解一系列的无约束极小点,通过有关的无约束问题来研究约束极值问题,从而使问题变的简单。许多非线性约束优化方法都要用罚函数作为评价函数来评价一个点的好坏,这在选择新点确定步长等方面都起着重要的作用,不同的罚项对算法影响很大,根据罚项的不同可以分为以下几类: 外罚函数法 对于问题 min ()f x (3-1) .s t ()0i c x = 1,2,,;i m =??? (3-2) ()0i c x ≥ 1,2,,;i m m n =++??? (3-3) 其中:n f R R →为线性连续函数。 定义外罚函数为: (,)L x σ()()f x P x σ=+()()f x Q x σ=+ (3-4) ()Q x =11()min{0,()}m n i i i i m c x c x βα ==++ ∑∑ (3-5) 通常取==2αβ,这样定义的外罚函数法,当x 为可行点是,()0Q x =;当x 不是可行点时,()0Q x >。而且x 离可行域越远()Q x 的值越大,它优点是允许从可行域的外部逐步逼近最优点,但其明显的缺点是它需要求解一系列无

约束极小化问题,计算工作量很大,且由于其收敛速度仅是线性的,往往需要较长的时间才能找到问题的近似解,再考虑到实际中所使用的终止准则,若实现不当,则算法很难找到约束问题的一个较好可行解,从而不适用于那些要求严格可行性的问题。 内罚函数法 它是针对不等式约束(3-1)(3-3)提出的,基本思想是在约束区域的边界筑起一道“墙”来,当迭代点靠近边界时,函数值陡然增大,于是最优点被挡在可行域内部,这样产生的点列k x 每个点都是可行点。通常定义内罚函数为: 1 (,)()()B x f x B x σσ=+ (3-6) 11()() m i i B x c x ==∑ (3-7) 要减弱()B x 的影响,故令σ逐渐增大。内罚函数法的好处是每次迭代的点都是可行点,当迭代到一定阶段时,可以被接受为一个较好的近似最优解。但是内点罚函数法要求初始点位于可行域的内部,除特殊情况外,确定这样一个初始点并非易事。此外,由于内点罚函数不是处处有定义或不一定存在全局极小,故无约束最优化问题中的线性搜索方法不再适用,另外,当接近可行域边界时,内点罚函数法必须修正通常的线性搜索方法。 由于内点罚函数法不能处理等式约束,且寻求初始可行点的计算工作量往往太大。因此,在实际中,为了求解一般的非线性约束优化问题,人们往往将内点罚函数法与外点罚函数法结合起来适用。 混合罚函数法 混合罚函数法是针对问题(3-1)-(3-3)提出来的,当初始点0x 给定后,对等式约束和不被0x 满足的那些不等式约束用外罚函数法,而被0x 满足的那些不等式约束用内罚函数法。 通常定义混合罚函数为: 1 11(,)()( )()()i I i P x f x P x c x σσσ∈=++∑ (3-8)

内点法+外点法

1.外点法 的约束最优化问题。(由约束条件作图) 解:取()()()00120,0,0.01,10,0.01,0;X C r k εε====== 外点法惩罚函数为:(会转化,并且把握函数值的趋势) (看到了min 就要知道在平面中取什么范围内的点,才可使罚函数达到最小) 対上式求偏导得: () () 1211221226 28 264152845x x x r x x r x x x φφ--???????? ?? ==????-+--+-???????? ?? 无约束目标函数极小化问题的最优解系列为: ()()** 12156584242 r r x r x r r r ++== ++ 22 121122123142 min ()(3)(4) .. ()50 () 2.50 ()0 ()0 f X x x s t g X x x g X x x g X x g X x =-+-=--≥=--≥=≥=≥()()()()()()()()()()()()()()()222222 1212121222 112212342222 11 22121212min ,34max 0,5max 0, 2.5max 0,max 0,69816(0,0,0,0)698165 2.5(0,0,x r x x r x x r x x r x r x x x x x g x g x g x g x x x x x r x x r x x g x g x g φ=-+-++-+-+++-+-????????????????-++-+-≤-≤-≤-≤=-++-+++-+-++->->-()()340,0)x g x ???? ??≤-≤????

第三章罚函数法及改进算法

第3章罚函数法及改进算法 3、1 引言 罚函数法就是解决约束优化问题得重要方法,它得基本思想就是用无约束问题代替约束问题,因而无约束问题得目标函数必须就是原来得目标函数与约束函数得某种组合,类似线性规划中得M法求初始可行解,在原来得目标函数上加上由约束函数组成得一个“惩罚项”来迫使迭代点逼近可行域,所以称为罚函数法。这样把约束问题转化成求解一系列得无约束极小点,通过有关得无约束问题来研究约束极值问题,从而使问题变得简单。许多非线性约束优化方法都要用罚函数作为评价函数来评价一个点得好坏,这在选择新点确定步长等方面都起着重要得作用,不同得罚项对算法影响很大,根据罚项得不同可以分为以下几类: 外罚函数法 对于问题 (3-1) (3-2) (3-3) 其中为线性连续函数。 定义外罚函数为: (3-4) (3-5) 通常取,这样定义得外罚函数法,当为可行点就是,;当不就是可行点时,。而且离可行域越远得值越大,它优点就是允许从可行域得外部逐步逼近最优点,但其明显得缺点就是它需要求解一系列无约束极小化问题,计算工作量很大,且由于其收敛速度仅就是线性得,往往需要较长得时间才能找到问题得近似解,

再考虑到实际中所使用得终止准则,若实现不当,则算法很难找到约束问题得一个较好可行解,从而不适用于那些要求严格可行性得问题。 内罚函数法 它就是针对不等式约束(3-1)(3-3)提出得,基本思想就是在约束区域得边界筑起一道“墙”来,当迭代点靠近边界时,函数值陡然增大,于就是最优点被挡在可行域内部,这样产生得点列每个点都就是可行点。通常定义内罚函数为: (3-6) (3-7) 要减弱得影响,故令逐渐增大。内罚函数法得好处就是每次迭代得点都就是可行点,当迭代到一定阶段时,可以被接受为一个较好得近似最优解。但就是内点罚函数法要求初始点位于可行域得内部,除特殊情况外,确定这样一个初始点并非易事。此外,由于内点罚函数不就是处处有定义或不一定存在全局极小,故无约束最优化问题中得线性搜索方法不再适用,另外,当接近可行域边界时,内点罚函数法必须修正通常得线性搜索方法。 由于内点罚函数法不能处理等式约束,且寻求初始可行点得计算工作量往往太大。因此,在实际中,为了求解一般得非线性约束优化问题,人们往往将内点罚函数法与外点罚函数法结合起来适用。 混合罚函数法 混合罚函数法就是针对问题(3-1)-(3-3)提出来得,当初始点给定后,对等式约束与不被满足得那些不等式约束用外罚函数法,而被满足得那些不等式约束用内罚函数法。 通常定义混合罚函数为: (3-8) (3-9) 精确罚函数法 对于外点罚函数法与内点罚函数法来说,其工作量很大,收敛慢得主要

[设计]罚函数法MATLAB程序

[设计]罚函数法MATLAB程序 一、进退法、0.618法、Powell法、罚函数法的Matlab程序设计罚函数法(通用) function y=ff(x,k) y=-17.86*0.42*x(1)/(0.8+0.42*x(1))*(1-exp(- 2*(0.8+0.42*x(1))/3))*exp(-1.6)*x(2)-22. 99*x(1)/(0.8+x(1))*(1-exp(-2*(0.8+x(1))/3))*x(3)+k*(x(2)- (1.22*10^2*(9517.8*exp(-1 .6-2*0.42*x(1)/3)*x(2)+19035.6*exp(- 2*x(1)/3)*x(3)))/(1.22*10^2+9517.8*exp(-1.6-2 *0.42*x(1)/3)*x(2)+19035.6*exp(-2*x(1)/3)*x(3)))^2+k*(x(3)-exp(-0.8-2*x(1)/3)*x(3) -exp(-2.4-2*0.42*x(1)/3)*x(2))^2; % 主函数,参数包括未知数的个数n,惩罚因子q,惩罚因子增长系数k,初值x0,以及允许的误差r function G=FHS(x0,q,k,n,r,h,a) l=1; while (l) x=powell(x0,n,q,r(1),h,a); %调用powell函数 g(1)=ff1(x),g(2)=ff2(x) . . . g(p)=ffp(x); %调用不等式约束函数,将其值 %存入数组g h(1)=hh1(x),h(2)=hh2(x) . . . h(t)=hht(x); %调用等式约束函数,将其值%存入数组h for i=1:p

等式约束极值问题-外点罚函数法

重庆科技学院学生实验报告

附录function [x,minf] = minGeneralPF(f,x0,h,c1,p,var,eps) format long; if nargin == 6 eps = 1.0e-4; end k = 0; FE = 0; for i=1:length(h) FE = FE + (h(i))^2; end x1 = transpose(x0); x2 = inf; while 1 M = c1*p; FF = M*FE; SumF = f + FF; [x2,minf] = minNT(SumF,transpose(x1),var); if norm(x2 - x1)<=eps x = x2; break; else c1 = M; x1 = x2; end end minf = subs(f,var,x); format short; %牛顿法求解无约束最优化问题 function [x,minf] = minNT(f,x0,var,eps) format long; if nargin == 3 eps = 1.0e-6; end tol = 1; x0 = transpose(x0); gradf = jacobian(f,var);

jacf = jacobian(gradf,var); while tol>eps v = subs(gradf,var,x0); tol = norm(v); pv = subs(jacf,var,x0); p = -inv(pv)*transpose(v); p = double(p); x1 = x0 + p; x0 = x1; end x = x1; minf = subs(f,var,x); format short; >> syms x y; >> minGeneralPF(x^2+y^2,[1,1],y^2-1,1000,10,[x,y],0.0001) ans = 1.0000

惩罚函数的乘子法

2013-2014(1)专业课程实践论文题目:惩罚函数的乘子法

一、算法理论 乘子法是Powell 和Hestenes 于1969年针对等式约束优化问题同时独立提出的一种优化算法,后于1973年经Rockfellar 推广到求解不等式约束优化问题。其基本思想是从原问题的拉格朗日函数出发,再加上适当的罚函数,从而将原问题转化为求解一系列的无约束优化子问题。由于外罚函数法中的罚参数 +∞→k σ ,因此增广目标函数变得“越来越病态”。增广目标函数的这种病态性质是外罚函数法的主要缺点, 而这种缺陷在乘子法中由于引入拉格朗日函数及加上适当的罚函数而得以有效的克服。 我们考虑同时带有等式和不等式约束的优化问题的乘子法: ()()(), ,,1,0,,,1,0.., min m i x g l i x h t s x f i i =≥== 其基本思想是把解等式约束优化问题的乘子法推广到不等式约束优化问题,即先引进辅助变量把不等式约束化为等式约束,然后再利用最优性条件消去辅助变量。为叙述的方便计,我们先考虑如下只带有不等式约束的最优化问题 ()(), ,,1,0.., min m i x g t s x f i =≥ 引进辅助变量(),,,1m i y i =,可以将上面的优化问题化为等价的等式约束优化问题: ()(), ,,1,0.., min 2 m i y x g t s x f i i ==- 利用外发函数法求解,此时增广拉格朗日函数为 ()()()[]()[]2 1 2212 ,,,~∑∑==-+--=m i i i i i m i i y x g y x g x f y x σ λσλψ 为了消去辅助变量y ,可考虑ψ~关于变量y 的极小化,由一阶必要条件,令()0,,,~=?σλψ y x y 可得 ()[] ,,,1,0222m i y x g y y i i i i i ==--σλ 即

罚函数法

罚函数法 本章介绍一类求解约束优化问题的方法----惩 罚函数法。这类方法是求解无约束优化问题的最 早的一类方法,也是一类比较有效的方法。 罚函数法的基本思想就是,借助罚函数把 约束问题转化为无约束问题,进而用无约束最优 根据我们利用的罚函数的类型,分为 外点罚函数法的算法思想 0, i=1, 2, …, m = 0, j=1, 2, …, l n上的连续函数。 由于上述问题存在约束,而且约束可能 是非线性的,因此在求解是必须同时照顾到 满足约束条件这两个 = 0, j=1, 2, …, l 方面。实现这一点的途径是有目标函数和约 束函数组成辅助函数,把原来的约束问题转 化为极小化辅助函数的无约束问题。 x ()(8.1)

的最优解必须使得h j (x )接近的第二项将是很大的正数,现行点必不是极小点。因此可见,求解问题(8.2)的近似解。 (8.2) 转化为无约束问题 0, i=1, 2, …, m 不等式约束问题的辅助函数与等式约束的辅助函数情形不同,但构造辅助函数的基本思在可行点辅助函数等于原来的目标函数值,在不可行点,辅助函数值等于原来的目标函数值加上一个很大的正数。}2 ()(8.3) i g x ??? }0,.()0 i g x ?={}max 0,.()() i i g x g x ?=?的最优解必须使得g i (x )大于 的第二项将是很大的正数,现行点必不是极小点。因此可见,求解问的近似解。 (8.4) 转化为无约束问题 0, i=1, 2, …, m = 0, j=1, 2, …, l 我们把上述思想加以推广,对于一般问(8.5) ()) (8.6) j h x 是满足以下条件的连续函数

外点法求约束最优化问题

数学规划课程设计 题目外点法求约束最优化问题 姓名 学号 成绩

摘要 罚函数是应用最广泛的一种求解式的数值解法,基本思路是通过目标函数加上惩罚项,将原约束非线性规划问题转化为求解一系列无约束的极值问题。(这种惩罚体现在求解过程中,对于企图违反约束的那些迭代点,给予很大的目标函数值,迫使这一系列无约束问题的极小值或者无限地向可行解(域)逼近,或者一直保持在可行集(域)内移动,直到收敛于原来约束问题的极小值点。) 本文....... 外点法可用于求解不等式约束优化问题,又可用于求解等式约束优化问题,主要特点是惩罚函数定义在可行域的外部,从而在求解系列无约束优化问题的过程中,从可行域外部逐渐逼近原约束优化问题最优解。 关键词:罚函数法、约束最优化问题、外点法

一、预备知识(基本理论) 看下是否还有定理、定义等等,可以加一些 外点惩罚函数法的一般形式 考虑不等式约束优化设计时:对 ) ,2,1(,0)(. .), (min m u X g t s R x X f u n =≥∈ 构造一般形式的外点惩罚函数为: []2 1 } )(,0{min )(),(∑=+=m u u k k X g r X f r X P 其中: (1)当满足所有约束条件时惩罚项为0,即 []{}0 )(,0min 2 1 =∑=m u u k X g r (2)当 X 违反某一约束条件,即0 )(=∑=X g r X g r u k m u u k 表明X 在可行域外,惩罚项起作用,且若 X 离开约束边界越远,惩罚力度越大。这样用惩 罚的方法迫使迭代点回到可行域。 (3)惩罚因子k r 是一递增的正数数列,即 <<<<∑=p q v v k X h r 且 随着惩罚因子的增大而增大;

罚函数罚与乘子法 (1) 2

罚函数法 罚函数法是能够处理一般的约束优化问题:min ()()0,1,2,()0,1,2,,i i f x h x i k g x j m ?? ==??≥=?的一类方 法。其基本思想是将约束优化问题卑微无约束问题来求解。罚函数是由目标函数和约束函数的某种组合得到的函数,对于等式约束的优化问题 min ()()0,1,2, i f x h x i k ?? ==?,可以定义如下的罚函数: 21 ()()()k i i F x f x c h x ==+∑ 将约束优化问题转化为无约束优化问题;对于不等式约束的优化问题 min ()()0,1,2, ,i f x g x j m ?? ≥=? 可以定义如下的罚函数: 1 1 ()()() m j j F x f x C g x ==+∑ 对于同时存在等式约束和不等式约束的优化问题,可以去上面两个罚函数的组合。当然罚函数还有其他的取法,但是构造罚函数的思想都是一样的,即使得在可行点罚函数等于原来的目标函数值,在不可行点罚函数等于一个很大的数。 外点罚函数法 1.算法原理 外点罚函数法是通过一系列罚因子{}i c ,求罚函数的极小值来逼近原约束问题的最有点。之所以称为外点罚函数法,是因为它是从可行域外部向约束边界逐步靠拢的。 2,。算法步骤 用外点罚函数法求解线性约束问题min () f x Ax b ??=?的算法过程如下: 1,给定初始点(0)x ,罚参数列{}i c 及精度0ε>,置1k =; 2,构造罚函数2 ()()F x f x c Ax b =+-; 3,用某种无约束非线性规划,以(1)k x -为初始点求解min ()F x ; 4,设最优解为()k x ,若()k x 满足某种终止条件,则停止迭代输出()k x ,否则

外点罚函数优化实例

外点罚函数优化实例 一、优化问题 如图1所示,为某一桁架的一部分,杆2距O 点30cm 处有一支点C 。为了固定桁架,现欲在杆1和2上设置支点A 和B ,用来连接杆3(可拆卸)。已知当桁架固定时,杆1和2成直角;而且,杆1右边有一段长为20cm 的重要部位,不能设置支点。卸去杆3、收起桁架时,支点A 的位置不能高于BC 段中点D 。求取支点A 、B 的位置,使得杆3的长度尽量小,以节省材料。 图1 桁架结构示意图 二、数学模型 设A 、B 两点距离O 点的长度分别为1x 和2x ,而桁架固定时杆1和2成直角。 所以杆3的长度为22213x x l +=。 由图1可知,201≥x 且)30(2 121+≤x x ,即0201≤+-x 且030221≤--x x 。 设T x x X ],[21=,取222123)(x x l X f +==。因此,数学模型为: 极小化目标函数 2221)(min x x X f += 约束条件 020)(11≤+-=x X g 0302)(212≤--=x x X g 三、求解数学模型 (1)外点罚函数法求解

构造外点法罚函数,如下: })]0,302[m ax ()]0,20{[(m ax (),(22121)(2221)(--+-++=x x x M x x M X k k φ 程序流程图如图2所示: 图2 外点罚函数法程序流程图 程序步骤: ①选择适当的初始罚因子)0(M 、初始点)0(X 、收敛精度ε和罚因子系数c 。在本程序中分别取1)0(=M ,]20,20[)0(=X ,610-=ε,c=8。令迭代步数k=0。 ②采用牛顿法求无约束问题),(m in )(k M X φ的极值点)()(*k M X 。

罚函数

罚函数.txt43风帆,不挂在桅杆上,是一块无用的布;桅杆,不挂上风帆,是一根平常的柱;理想,不付诸行动是虚无缥缈的雾;行动,而没有理想,是徒走没有尽头的路。44成功的门往往虚掩着,只要你勇敢去推,它就会豁然洞开。§1 求解带约束的非线性规划问题 罚函数法求解带约束的非线形规划问题的基本思想是:利用问题的目标函数和约束函数构造出带参数的所谓增广目标函数,把约束非线形规划问题转化为一系列无约束非线形规划问题来求解。增广目标函数由两个部分构成,一部分是原问题的目标函数,另一部分是由约束函数构造出的“惩罚”项,“惩罚”项的作用是对“违规”的点进行“惩罚”。罚函数法主要有两种形式。一种称为外部罚函数法,或称外点法,这种方法的迭代点一般在可行域的外部移动,随着迭代次数的增加,“惩罚”的力度也越来越大,从而迫使迭代点向可行域靠近;另一种成为内部罚函数法,或称内点法,它从满足约束条件的可行域的内点开始迭代,并对企图穿越可行域边界的点予以“惩罚”,当迭代点越接近边界,“惩罚”就越大,从而保证迭代点的可行性。 1. 外部罚函数法(外点法) 约束非线形规划问题 min f(x), s.t. g(x)>=0, 其中g (x) = (g 1(x),…,gm(x)), 将带约束的规划问题转化为无约束非线形规划问题来求解的一个直观想法是:设法加大不可行点处对应的目标函数值,使不可行点不能成为相应无约束问题的最优解,于是对于可行域S= { x | g(x) >= 0} 作一惩罚函数 P(x) = 0, x∈S; K, else 其中K是预先选定的很大的数。然后构造一个增广目标函数 F (x) = f (x) + P (x) , 显然x∈S时,F(x)与f (x)相等,而x S 时,相应的F值很大。因此以F(x)为目标函数的无约束问题 minF x) = f(x) + P (x) (1)的最优解也是原问题(NP)的最优解。

罚函数法及改进算法

第3章 罚函数法及改进算法 引言 罚函数法是解决约束优化问题的重要方法,它的基本思想是用无约束问题代替约束问题,因而无约束问题的目标函数必须是原来的目标函数与约束函数的某种组合,类似线性规划中的M 法求初始可行解,在原来的目标函数上加上由约束函数组成的一个“惩罚项”来迫使迭代点逼近可行域,所以称为罚函数法。这样把约束问题转化成求解一系列的无约束极小点,通过有关的无约束问题来研究约束极值问题,从而使问题变的简单。许多非线性约束优化方法都要用罚函数作为评价函数来评价一个点的好坏,这在选择新点确定步长等方面都起着重要的作用,不同的罚项对算法影响很大,根据罚项的不同可以分为以下几类: 外罚函数法 对于问题 min ()f x (3-1) .s t ()0i c x = 1,2,,;i m =??? (3-2) ()0i c x ≥ 1,2,,;i m m n =++??? (3-3) 其中:n f R R →为线性连续函数。 定义外罚函数为: (,)L x σ()()f x P x σ=+()()f x Q x σ=+ (3-4) ()Q x =11()min{0,()}m n i i i i m c x c x βα ==++ ∑∑ (3-5) 通常取==2αβ,这样定义的外罚函数法,当x 为可行点是,()0Q x =;当x 不是可行点时,()0Q x >。而且x 离可行域越远()Q x 的值越大,它优点是允许从可行域的外部逐步逼近最优点,但其明显的缺点是它需要求解一系列无

约束极小化问题,计算工作量很大,且由于其收敛速度仅是线性的,往往需要较长的时间才能找到问题的近似解,再考虑到实际中所使用的终止准则,若实现不当,则算法很难找到约束问题的一个较好可行解,从而不适用于那些要求严格可行性的问题。 内罚函数法 它是针对不等式约束(3-1)(3-3)提出的,基本思想是在约束区域的边界筑起一道“墙”来,当迭代点靠近边界时,函数值陡然增大,于是最优点被挡在可行域内部,这样产生的点列k x 每个点都是可行点。通常定义内罚函数为: 1 (,)()()B x f x B x σσ=+ (3-6) 11()() m i i B x c x ==∑ (3-7) 要减弱()B x 的影响,故令σ逐渐增大。内罚函数法的好处是每次迭代的点都是可行点,当迭代到一定阶段时,可以被接受为一个较好的近似最优解。但是内点罚函数法要求初始点位于可行域的内部,除特殊情况外,确定这样一个初始点并非易事。此外,由于内点罚函数不是处处有定义或不一定存在全局极小,故无约束最优化问题中的线性搜索方法不再适用,另外,当接近可行域边界时,内点罚函数法必须修正通常的线性搜索方法。 由于内点罚函数法不能处理等式约束,且寻求初始可行点的计算工作量往往太大。因此,在实际中,为了求解一般的非线性约束优化问题,人们往往将内点罚函数法与外点罚函数法结合起来适用。 混合罚函数法 混合罚函数法是针对问题(3-1)-(3-3)提出来的,当初始点0x 给定后,对等式约束和不被0x 满足的那些不等式约束用外罚函数法,而被0x 满足的那些不等式约束用内罚函数法。 通常定义混合罚函数为: 1 11(,)()( )()()i I i P x f x P x c x σσσ∈=++∑ (3-8)

罚函数法MATLAB程序

一、进退法、0.618法、Powell法、罚函数法的Matlab程序设计 罚函数法(通用) function y=ff(x,k) y=-17.86*0.42*x(1)/(0.8+0.42*x(1))*(1-exp(-2*(0.8+0.42*x(1))/3))*exp(-1.6)*x(2)-22. 99*x(1)/(0.8+x(1))*(1-exp(-2*(0.8+x(1))/3))*x(3)+k*(x(2)-(1.22*10^2*(9517.8*exp(-1 .6-2*0.42*x(1)/3)*x(2)+19035.6*exp(-2*x(1)/3)*x(3)))/(1.22*10^2+9517.8*exp(-1.6-2 *0.42*x(1)/3)*x(2)+19035.6*exp(-2*x(1)/3)*x(3)))^2+k*(x(3)-exp(-0.8-2*x(1)/3)*x(3) -exp(-2.4-2*0.42*x(1)/3)*x(2))^2; % 主函数,参数包括未知数的个数n,惩罚因子q,惩罚因子增长系数k,初值x0,以及允许的误差r function G=FHS(x0,q,k,n,r,h,a) l=1; while (l) x=powell(x0,n,q,r(1),h,a); %调用powell函数 g(1)=ff1(x),g(2)=ff2(x) . . . g(p)=ffp(x); %调用不等式约束函数,将其值%存入数组g h(1)=hh1(x),h(2)=hh2(x) . . . h(t)=hht(x); %调用等式约束函数,将其值 %存入数组h for i=1:p if g(i)

matlab罚函数乘子法

function [x,mu,lambda,output]=multphr(fun,hf,gf,dfun,dhf,dgf,x0) % 功能 : 用乘子法解一般约束问题 : min f(x), s.t. h(x)=0, g(x).=0 %输入:x0是初始点,fun, dfun分别是目标函数及其梯度; % hf, dhf 分别是等式约束(向量)函数及其 Jacobi 矩阵的转置; % gf, dgf 分别是不等式约束(向量)函数及其 Jacobi 矩阵的转置; %输出:x是近似最优点,mu, lambda分别是相应于等式约束和不 % 等式约束的乘子向量 ; output 是结构变量 , 输出近似极小值 f, 迭% 代次数 , 内迭代次数等 maxk=500; % 最大迭代次数 sigma=2.0; % 罚因子 eta=2.0; theta=0.8; %PHR 算法中的实参数 k=0; ink=0; %k, ink 分别是外迭代和内迭代次数 epsilon=1e-5; % 终止误差值 x=x0; he=feval(hf,x); gi=feval(gf,x); n=length(x); l=length(he); m=length(gi); % 选取乘子向量的初始值 mu=0.1*ones(l,1); lambda=0.1*ones(m,1); btak=10; btaold=10; % 用来检验终止条件的两个值 while(btak>epsilon & k

[x,ival,ik]=bfgs('mpsi','dmpsi',x0,fun,hf,gf,dfun,dhf,dgf,mu,lamb da,sigma); ink=ink+ik; he=feval(hf,x); gi=feval(gf,x); btak=0.0; for(i=1:l), btak=btak+he(y2; end for(i=1:m) temp=min(gi(i),lambda(i)/sigma); btak=btak+temp A2; end btak=sqrt(btak); if btak>epsilon if(k>=2 & btak >theta*btaold) sigma=eta*sigma; end %更新乘子向量 for(i=1:l), mu(i)=mu(i)-sigma*he(i); end for(i=1:m) lambda(i)=max(0.0,lambda(i)-sigma*gi(i)); end end k=k+1; btaold=btak; x0=x;

接触问题的罚函数法

BULETINUL INSTITUTULUI POLITEHNIC DIN IA?I Publicat de Universitatea Tehnic? …Gheorghe Asachi” din Ia?i Tomul LIV (LVIII), Fasc. 3, 2011 Sec?ia CONSTRUC?II. ARHITECTUR? PENALTY BASED ALGORITHMS FOR FRICTIONAL CONTACT PROBLEMS BY ANDREI-IONU??TEFANCU*, SILVIU-CRISTIAN MELENCIUC and MIHAI BUDESCU “Gheorghe Asachi” Technical University of Ia?i, Faculty of Civil Engineering and Building Services Received: June 21, 2011 Accepted for publication: August 29, 2011 Abstract. The finite element method is a numerical method that can be successfully used to generate solutions for problems belonging to a vast array of engineering fields: stationary, transitory, linear or nonlinear problems. For the linear case, computing the solution to the given problem is a straightforward process, the displacements are obtained in a single step and all the other quantities are evaluated afterwards. When faced with a nonlinear problems, in this case with a contact nonlinearity, one needs to account for the fact that the stiffness matrix of the systems varies with the loading, the force vs. stiffness relation being unknown prior to the beginning of the analysis. Modern software using the finite element method to solve contact problems usually approaches such problems via two basic theories that, although different in their approaches, lead to the desired solutions. One of the theories is known as the penalty function method, and the other as the Lagrange multipliers method. The hereby paper briefly presents the two methods emphasizing the penalty based ones. The paper also underscores the influence of input parameters for the case of the two methods on the results when using the software ANSYS 12. Key words: finite element method; pure penalty methods; Lagrange multipliers method; H-adaptive meshing. *Corresponding author: e-mail: stefancu@ce.tuiasi.ro

相关文档
最新文档