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

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

ID:12323040

大小:220.46 KB

页数:9页

时间:2018-07-16

罚函数罚与乘子法 (1) 2_第1页
罚函数罚与乘子法 (1) 2_第2页
罚函数罚与乘子法 (1) 2_第3页
罚函数罚与乘子法 (1) 2_第4页
罚函数罚与乘子法 (1) 2_第5页
资源描述:

《罚函数罚与乘子法 (1) 2》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、罚函数法罚函数法是能够处理一般的约束优化问题:的一类方法。其基本思想是将约束优化问题卑微无约束问题来求解。罚函数是由目标函数和约束函数的某种组合得到的函数,对于等式约束的优化问题,可以定义如下的罚函数:将约束优化问题转化为无约束优化问题;对于不等式约束的优化问题可以定义如下的罚函数:对于同时存在等式约束和不等式约束的优化问题,可以去上面两个罚函数的组合。当然罚函数还有其他的取法,但是构造罚函数的思想都是一样的,即使得在可行点罚函数等于原来的目标函数值,在不可行点罚函数等于一个很大的数。外点罚函数法1.算法原理外点罚函数法是通过一系列罚因子,求罚函数的极小值来逼近原约束问题的最有

2、点。之所以称为外点罚函数法,是因为它是从可行域外部向约束边界逐步靠拢的。2,。算法步骤用外点罚函数法求解线性约束问题的算法过程如下:1,给定初始点,罚参数列及精度,置;2,构造罚函数;3,用某种无约束非线性规划,以为初始点求解;4,设最优解为,若满足某种终止条件,则停止迭代输出,否则令,转2;罚参数列的选法:通常先选定一个初始常数和一个比例系数,则其余的可表示为。终止条件可采用,其中。3算法的MATLAB实现function[x,minf]=minPF(f,x0,A,b,c1,p,var,eps)%目标函数:f;%初始点:x0;%约束矩阵:A;%约束右端向量:b;%罚参数的初始

3、常数:c1;%罚参数的比例系数:p;%自变量向量Var;%精度:eps;%目标函数取最小值时自变量值:x;%目标函数的最小值:minf;formatlong;ifnargin==7eps=1.0e-4;endk=0;FE=0;fori=1:length(b)FE=FE+(var*transpose(A(1,:))-b(i))^2;endx1=transpose(x0);x2=inf;while1M=c1*p;FF=M*FE;SumF=f+FF;[x2,minf]=minNT(SumF,transpose(x1),var);ifnorm(x2-x1)<=epsx=x2;break

4、;elsec1=M;x1=x2;endendminf=Funval(f,var,x);formatshort;4.算法举例用外点罚函数法求下面的优化问题:其中取,初始点取。解:由题已知,则每一步迭代需求解的罚函数为:在MATLAB命令窗口中输入:>>f=0.5*t^2+s^2/4;>>A=[11];b=1;>>c1=0.05;p=2;>>[x,minf]=minPF(f,[00],A,b,c1,p,[ts])所得结果为:>>x=0.33330.6666minf=0.1666对于一般的等式约束问题也可以用外点罚函数法解决:function[x,minf]=minGeneralPF

5、(f,x0,h,c1,p,var,eps)formatlong;ifnargin==6eps=1.0e-4;endk=0;FE=0;fori=1:length(h)FE=FE+(h(i))^2;endx1=transpose(x0);x2=inf;while1M=c1*p;FF=M*FE;SumF=f+FF;[x2,minf]=minNT(SumF,transpose(x1),var);ifnorm(x2-x1)<=epsx=x2;break;elsec1=M;x1=x2;endendminf=Funval(f,var,x);formatshort;例用通用罚函数法求下面的优化

6、问题:其中取,初始点取为。外点罚函数法除了可以求含等式约束的优化问题外,还可以求混合约束的优化问题,不过其罚函数形式要修正。通过引入罚函数可以转化为无约束优化问题。function[x,minf]=minConPF(f,x0,g,h,c1,p,var,eps)formatlong;ifnargin==7eps=1.0e-4;endk=0;FE=0;fori=1:length(h)FE=FE+(h(i))^2;endx1=transpose(x0);x2=inf;while1M=c1*p;FF=M*FE;gx=Funval(g,var,x1);gF=0;fori=1:length

7、(h)ifgx(i)<0gF=gF+M*(g(i)^2);%构造罚函数endendSumF=f+FF+gF;[x2,minf]=minNT(SumF,transpose(x1),var);%用牛顿法求解无约束规划问题ifnorm(x2-x1)<=epsx=x2;break;elsec1=M;x1=x2;endendminf=Funval(f,var,x);formatshort;内点罚函数法1.算法原理内点罚函数法的所有迭代过程均在可行域内进行,它每次迭代得到的点都是可行点,内点罚函数法的基

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。