收藏 分享(赏)

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

上传人:buyk185 文档编号:5243457 上传时间:2019-02-13 格式:DOC 页数:9 大小:220.46KB
下载 相关 举报
罚函数罚与乘子法 (1) 2.doc_第1页
第1页 / 共9页
罚函数罚与乘子法 (1) 2.doc_第2页
第2页 / 共9页
罚函数罚与乘子法 (1) 2.doc_第3页
第3页 / 共9页
罚函数罚与乘子法 (1) 2.doc_第4页
第4页 / 共9页
罚函数罚与乘子法 (1) 2.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、罚函数法罚函数法是能够处理一般的约束优化问题: 的一类min ()0,12,ifxhikgjm 方法。其基本思想是将约束优化问题卑微无约束问题来求解。罚函数是由目标函数和约束函数的某种组合得到的函数,对于等式约束的优化问题,可以定义如下的罚函数:min ()0,12,ifxhik 21()()kiiFxfchx将约束优化问题转化为无约束优化问题;对于不等式约束的优化问题 min ()0,2,ifgxjm可以定义如下的罚函数: 1()()jjFfCgx对于同时存在等式约束和不等式约束的优化问题,可以去上面两个罚函数的组合。当然罚函数还有其他的取法,但是构造罚函数的思想都是一样的,即使得在可行点罚

2、函数等于原来的目标函数值,在不可行点罚函数等于一个很大的数。外点罚函数法1.算法原理外点罚函数法是通过一系列罚因子 ,求罚函数的极小值来逼近原约束ic问题的最有点。之所以称为外点罚函数法,是因为它是从可行域外部向约束边界逐步靠拢的。2, 。算法步骤用外点罚函数法求解线性约束问题 的算法过程如下:min ()fxAb1,给定初始点 ,罚参数列 及精度 ,置 ;(0)xic01k2,构造罚函数 ;2Ffx3,用某种无约束非线性规划,以 为初始点求解 ;(1)kmin()Fx4,设最优解为 ,若 满足某种终止条件,则停止迭代输出 ,否()kx()k ()k则令 ,转 2;1k罚参数列 的选法:通常先

3、选定一个初始常数 和一个比例系数 ,ic 1c2则其余的可表示为 。终止条件可采用 ,其中 。1ii()Sx()SxcAb3 算法的 MATLAB 实现function x,minf = minPF(f,x0,A,b,c1,p,var,eps)% 目标函数:f;% 初始点: x0;% 约束矩阵: A;% 约束右端向量:b;% 罚参数的初始常数: c1;% 罚参数的比例系数: p;% 自变量向量 Var;% 精度: eps;% 目标函数取最小值时自变量值: x;% 目标函数的最小值:minf;format long;if nargin = 7eps = 1.0e-4;endk = 0;FE =

4、0;for i=1:length(b)FE = FE + (var*transpose(A(1,:) - b(i)2;endx1 = transpose(x0);x2 = inf;while 1M = c1*p;FF = M*FE;SumF = f + FF;x2,minf = minNT(SumF,transpose(x1),var);if norm(x2 - x1) f = 0.5*t2+s2/4; A=1 1;b=1; c1=0.05;p=2; x,minf=minPF(f,0 0,A,b,c1,p,t s)所得结果为: x=0.33330.6666minf = 0.1666对于一般的等

5、式约束问题 也可以用外点罚函数法解决:min ()0fxhfunction x,minf = minGeneralPF(f,x0,h,c1,p,var,eps)format long;if nargin = 6eps = 1.0e-4;endk = 0;FE = 0;for i=1:length(h)FE = FE + (h(i)2;endx1 = transpose(x0);x2 = inf;while 1M = c1*p;FF = M*FE;SumF = f + FF;x2,minf = minNT(SumF,transpose(x1),var);if norm(x2 - x1) syms

6、 t s; f = t2+s2; g=t+s-1;2*t-s-2; x, minf=minNF(f, 3 1, g, 8, 0.5,t s)x=1.00020.0001minf= 1.0004乘子法1.算法原理外点罚函数法和内点罚函数法的均要求罚因子趋于无穷才能得到目标函数的最优解,但是罚因子太大的话会引起计算的困难,为克服这一缺陷就产生了乘子法。2,算法步骤用乘子法求解约束优化问题 的算法过程如下:min ()0,12,ifxhjm1,给定初始点 ,初始乘子向量 ,罚因子 及放大系(0)x()v 0M数 ,及精度 ,参数 ,置 ;(,)k2,构造目标函数 ;211)()()miiMFxfhx

7、vx3,用某种无约束非线性规划,以 为初始点求解 ;设最优解()kin()F为 ,()kx4,若 ,则终止迭代输出 ,否则转 2;()khx()kx5,若 ,则令 ,否则保持 不变,转 6()1kMM6,令 置 ,转 2,(),12,kiivhxm 1k3 算法的 MATLAB 实现function x,minf = minFactor(f,x0,h,v,M,alpha,gama,var,eps)format long;if nargin = 8eps = 1.0e-4;endFE = 0;for i=1:length(h)FE = h(i)2;endx1 = transpose(x0);x2

8、 = inf;while 1FF = M*FE/2;Fh = v*h;SumF = f + FF - Fh;x2,minf = minNT(SumF,transpose(x1),var);Hx2 = Funval(h,var,x2);Hx1 = Funval(h,var,x1);if norm(Hx2) = gamaM = alpha*M;x1 = x2;elsev = v - M*transpose(Hx2);x1 = x2;endendendminf = Funval(f,var,x);format short;4 算法举例其中取 ,初始点取2min(,), .21ftsst8,30.7,(1),Mv为 。0x syms t s; f = t2+s2; h=t+s-1;2*t-s-2; x, minf=minFactor(f, 0 0, h, 2,3, 0.7,t s)x=0.20000.4000minf= 0.2000

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 小学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报