优化工具箱介绍(20150602)

上传人:我*** 文档编号:136798607 上传时间:2020-07-02 格式:PPT 页数:61 大小:1.33MB
返回 下载 相关 举报
优化工具箱介绍(20150602)_第1页
第1页 / 共61页
优化工具箱介绍(20150602)_第2页
第2页 / 共61页
优化工具箱介绍(20150602)_第3页
第3页 / 共61页
优化工具箱介绍(20150602)_第4页
第4页 / 共61页
优化工具箱介绍(20150602)_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《优化工具箱介绍(20150602)》由会员分享,可在线阅读,更多相关《优化工具箱介绍(20150602)(61页珍藏版)》请在金锄头文库上搜索。

1、第 八章 MATLAB优化工具箱 求解工程优化问题,一、优化工具箱概述 二、各类优化问题的优化函数的介绍 无约束一维极值问题 无约束多维极值问题 约束优化问题 非线性最小二乘优化问题 线性规划 0-1规划,内容,2020/7/2,例题1:某工厂在计划期内要安排生产I,II两种产品,已知生产单位产品所需的设备台时及A、B两种原料的消耗如下表。 产品I和II的单位获利分别为2元和3元。 问应如何安排生产,可使该厂获利最多?,工程优化问题,2020/7/2,工程优化问题,2020/7/2,例2 工厂1排出的污水流到工厂2前有20%可自然净化。 问:每厂各应处理多少污水,方可在保证河水中污水含量不大

2、于0.2%的前提下,使总费用最小?,实际每天排污量 2- x1 1.4- x2,工程优化问题,2020/7/2,工程优化问题的提出: 上述两例代表了一般工程优化问题,其共性特征为: 建立工程优化问题的数据模型:决策变量、约束条件、目标函数 选择合适的优化方法,求出最优解。,优化工具箱的功能,优化工具箱主要可以用于解决以下问题: (1)求解无约束条件非线性极小值; (2)求解约束条件下非线性极小值,包括目标逼近问题、极大-极小值问题以及半无限极小值问题; (3)求解二次规划和线性规划问题; (4)非线性最小二乘逼近和曲线拟合; (5)非线性系统的方程求解; (6)约束条件下的线性最小二乘优化;

3、(7)求解复杂结构的大规模优化问题。,优化工具箱的结构,优化工具箱函数,工具箱函数,函数输入参数,优化选项参数options,优化选项参数options可以通过函数optimset创建或修改。函数常用格式如下: (1)options=optimset(optimfun) 创建一个含有所有参数名,并与优化函数optimfun相关的默认值的选项结构options. (2)options=optimset(param1,value1, param2,value2,) 创建一个名称为options的优化选项结构体,其中指定的参数具有指定值,所有未指定的参数取默认值。 例如:opts=optimset(

4、Display,iter,TolFun,1e-7),该语句创建一个称为opts的优化选项结构,其中显示参数设为iter, TolFun参数设为1e-7,其中,常用的options参数中常用的几个参数如下: Display:结果显示方式,取值为off时,不显示任何结果,取值为iter时,显示每次迭代的信息,取值为final时,显示最终结果,默认值final,取值notify时,只有当求解结果不收敛时才显示结果。 MaxFunEvals:允许进行函数计算的最大次数,取值为正整数。 MaxIter:允许进行迭代的最大次数,取值为正整数。 TolFun:函数值(计算结果)的精度,取值为正数。 TolX

5、:自变量的精度,取值为正数,优化选项参数options,函数输出参数,模型输入时需要注意的问题,(1)目标函数最小化 优化函数fminbnd、fminsearch、fminunc、fmincon、fgoalattain、fminmax和lsqnonlin都要求目标函数最小化。如果优化问题要求目标函数最大化,可以通过使该目标函数的负值最小化即-f(x)最小化来实现。 (2)约束非正 优化工具箱要求非线性不等式约束的形式为Ci(x)0,通过对不等式取负可以达到使大于零的约束形式变为小于零的不等式约束形式的目的。如 形式的约束等价于 , 形式的约束等价于,5.3 GUI优化工具,MATLAB的优化工

6、具箱提供了各种优化函数,这些优化函数可以通过在MATLAB的命令行输入相应的函数名加以调用,此外,为了用户使用方便,Matlab还提供了图形界面的优化工具GUI Optimization tool. 优化工具(optimtool)是2006年9月在MATLAB 7.2版本优化工具箱3.1版本中推出的,它是执行下列常见优化任务的图形用户界面。 选择求解器并定义优化问题; 设置和检查优化选项; 运行问题并将结果可视化; 在MATLAB工作空间和优化工具之间导入和导出问题定义、算法选项和结果;,GUI优化工具的启动,启动GUI Optimization tool有以下两种方法。 (1)在命令行上输入

7、optimtool; (2)在MATLAB主界面单击左下角的“Start”按钮,然后依次选择“ToolboxesOptimizationOptimization tool(optimtool)。,GUI优化工具的界面,GUI优化工具的界面主要分为三大块: 左边为优化问题的描述及计算结果显示(Problem Setup and Results); 中间为优化选项的设置(Options); 右边为帮助(Quick Reference)。 为了界面的简洁,可以单击右上角的“ fx=(x)-1/(x(1)-2)2+3)-1/(x(2)+1)2*2-5); xv,fv=fminsearch(fx,0,0

8、) 输出结果: xv = 2.0000 -1.0000 fv = -0.1333 显示每次迭代信息: opt=optimset(Display,iter); xv,fv=fminsearch(fx,0,0,opt),Fminunc函数求解无约束多维极值优化问题,在matlab系统中,除了fminsearch可以求无约束多维极值问题外,fminunc函数也能求无约束极值问题。 (1)x=fminunc(fun,x0),从起始点x0初发,求出fun的一个局部极小点。 (2)x=fminunc(fun,x0,options),按照options结构指定的优化参数求fun的极小点。 (3)x= fmi

9、nunc(problem):所需求解的极值问题及选项通过problem结构指定。,Fminunc函数求解无约束多维极值优化问题,fminunc函数求解 fx=(x)-1/(x(1)-2)2+3)-1/(x(2)+1)2*2-5); pro.objective=fx; pro.x0=0 0; pro.solver=fminunc; pro.options=optimset(Display,iter); xv,fv,exitflag,output=fminunc(pro),Fminunc函数求解无约束多维极值优化问题,求解结果: xv = 2.0000 -1.0000 fv = -0.1333 e

10、xitflag = 1 output = iterations: 10 funcCount: 36 stepsize: 1 firstorderopt: 9.3132e-009 algorithm: medium-scale: Quasi-Newton line search message: 1x438 char,约束优化问题,一般的约束优化问题的数学模型为: 其中f(x)为目标函数, 为等式约束条件, 为不等式约束条件。约束优化问题的求解算法很多是从无约束优化问题的算法直接衍生出来的,只是要判断每一步迭代得到的解是否在可行域内(即是否满足约束条件)。,Fmincon函数求解约束优化问题,调

11、用格式 (1)x=fmincon(fun,x0,A,b),在给定初始点x0的条件下求出fun的极小点,线性约束条件为 (2)x=fmincon(fun,x0,A,b,Aeq,beq), 在给定初始点x0的条件下求出fun的极小点,线性约束条件为 (3)x= fmincon(fun,x0,A,b,Aeq,beq,lb,ub), 在给定初始点x0的条件下求出fun的极小点,线性约束条件为,Fmincon函数求解约束优化问题,(4)x= fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon),此格式中的nonlcon代表目标函数的非线性约束条件:定义函数文件 functi

12、on c,ceq = mycon(x) c = . % 定义非线性不等式约束, ceq = . % 定义非线性等式约束 (5)x,fval=fmincon(),此格式中的fval返回目标函数的极小值。 (6)x,fval,exitflag=fmincon(),此格式中的输出参数exitflag返回函数fmincon的求解状态(成功或失败)。 (7)x,fval,exitflag,output=fmincon(),此格式中的输出参数output返回函数fmincon的求解信息。,Fmincon函数求解约束优化问题,Fmincon函数求解下列约束优化问题。 初始点取为(s,t)=(1,2) 建立目

13、标函数文件OptimFun.m: function y = OptimFun( x ) y=x(1)-4*x(1)-8*x(2)+15; 根据线性约束条件有: A=2 3;1 -1;b=2 5;,Fmincon函数求解约束优化问题,非线性约束条件通过noncon参数指定,建立ConFun.m文件: function c,ceq = ConFun( x ) c=9-x(1)2-x(2)2; ceq=; 在命令窗口输入: x=fmincon(OptimFun,1 2,A,b,ConFun) 求解结果: x = -2.1454 2.0969,非线性最小二乘优化问题,非线性最小二乘优化也叫无约束极小平

14、方和函数问题,它是如下无约束极小问题: 例如: ,则,Lsqnonlin函数求解非线性最小二乘优化问题,MATLAB中的函数lsqnonlin用来求解如下形式的非线性最小二乘优化问题: ,其调用格式如下: (1)x=lsqnonlin(fun,x0),求解标准形式的非线性最小二乘优化问题,x0为初始优化点,fun代表标准形式的f(x); (2)x=lsqnonlin(fun,x0,lb,ub),限制自变量的取值范围在lb,ub区间内; (3)x=lsqnonlin(fun,x0,lb,ub,options),按照优化选项结构options进行求解;,Lsqnonlin函数求解非线性最小二乘优化

15、问题,(4)x,resnorm=lsqnonlin(),此格式的返回值resnorm为 ,也就是最优值。 (5)x,resnorm,residual=lsqnonlin(),此格式的返回值residual为 ; (6)x,resnorm,residual,exitflag=lsqnonlin(),此格式的返回值exitflag描述求解结束状态; (7)x,resnorm,residual,exitflag,output=lsqnonlin(),此格式的中的output返回求解的过程信息;,Lsqnonlin函数求解非线性最小二乘优化问题,例:Lsqnonlin求解下列非线性最小二乘优化问题:,Lsqnonlin函数求解非线性最小二乘优化问题,建立lsqfun.m文件: function y = lsqfun( x ) y=sin(x(1)+x(2)-2);1/(2-(x(1)-3)2);exp(2*x(1)+exp(2*x(2);x(1)2+x(2)2-x(1)*x(2)+x(1)+1; 命令行输入: x,resnorm,residual,exitflag,output=lsqnonlin(lsqfun,0 0) 求解

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号