优化工具箱介绍(20150602)讲述

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

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

1、第第 八章八章 MATLABMATLAB优化工具箱优化工具箱 求解工程优化问题求解工程优化问题 一、优化工具箱概述 二、各类优化问题的优化函数的介绍 l无约束一维极值问题 l无约束多维极值问题 l约束优化问题 l非线性最小二乘优化问题 l线性规划 l0-1规划 内容内容 * 例题1:某工厂在计划期内要安排生产I,II两种产品,已知生产 单位产品所需的设备台时及A、B两种原料的消耗如下表。 产品I和II的单位获利分别为2元和3元。 问应如何安排生产,可使该厂获利最多? 产品I产品II资源现有数 设备128 台时 原料A4016 kg 原料B0412 kg 单位产品获利2 元3 元 工程优化问题工

2、程优化问题 * 产品I产品II资源现有数 设备128 台时 原料A4016 kg 原料B0412 kg 单位产品获利2 元3 元 工程优化问题工程优化问题 * 例2 工厂1排出的污水流到工厂2前有20%可自然净化。 问:每厂各应处理多少污水,方可在保证河水中污水含量不大 于0.2%的前提下,使总费用最小? 工厂1工厂2 每天排污水量 (单位:万m3 ) 21.4 污水处理费 (单位:元万 m3) 1000800 B 500万m3 200万m3 A 工厂1 工厂2 实际每天排污量 2- x1 1.4- x2 工程优化问题工程优化问题 * 工厂1工厂2 每天实际排污量2- x11.4- x2 污水

3、处理费1000800 B 500万m3 200万m3 A 工厂1 工厂2 * 工程优化问题的提出: 上述两例代表了一般工程优化问题,其共性特征为 : 建立工程优化问题的数据模型:决策变量、约束 条件、目标函数 选择合适的优化方法,求出最优解。 优化工具箱优化工具箱的功能的功能 优化工具箱主要可以用于解决以下问题: l(1)求解无约束条件非线性极小值; l(2)求解约束条件下非线性极小值,包括目标逼 近问题、极大-极小值问题以及半无限极小值问题 ; l(3)求解二次规划和线性规划问题; l(4)非线性最小二乘逼近和曲线拟合; l(5)非线性系统的方程求解; l(6)约束条件下的线性最小二乘优化;

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

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

6、xIter:允许进行迭代的最大次数,取值为正整数。 lTolFun:函数值(计算结果)的精度,取值为正数。 lTolX:自变量的精度,取值为正数 优化选项参数优化选项参数optionsoptions 函数输出参数函数输出参数 模型输入时需要注意的问题模型输入时需要注意的问题 l(1)目标函数最小化 l优化函数fminbnd、fminsearch、fminunc、fmincon、fgoalattain、 fminmax和lsqnonlin都要求目标函数最小化。如果优化问题要求目 标函数最大化,可以通过使该目标函数的负值最小化即-f(x)最小 化来实现。 l(2)约束非正 l优化工具箱要求非线性不

7、等式约束的形式为Ci(x)0,通过对不等 式取负可以达到使大于零的约束形式变为小于零的不等式约束形 式的目的。如 形式的约束等价于 , 形式 的约束等价于 5.3 GUI5.3 GUI优化工具优化工具 MATLAB的优化工具箱提供了各种优化函数,这些优化函数可以通过在 MATLAB的命令行输入相应的函数名加以调用,此外,为了用户使用方便 ,Matlab还提供了图形界面的优化工具GUI Optimization tool. 优化工具(optimtool)是2006年9月在MATLAB 7.2版本优化工具箱3.1版本中 推出的,它是执行下列常见优化任务的图形用户界面。 l选择求解器并定义优化问题;

8、 l设置和检查优化选项; l运行问题并将结果可视化; l在MATLAB工作空间和优化工具之间导入和导出问题定义、算法选项和结 果; GUIGUI优化工具的启动优化工具的启动 l启动GUI Optimization tool有以下两种方法。 l(1)在命令行上输入optimtool; l(2)在MATLAB主界面单击左下角的“Start”按钮,然后依次 选择“ToolboxesOptimizationOptimization tool(optimtool)。 GUIGUI优化工具的界面优化工具的界面 lGUI优化工具的界面主要分为三大块: l左边为优化问题的描述及计算结果显示( Problem

9、Setup and Results); l中间为优化选项的设置(Options); l右边为帮助(Quick Reference)。 l为了界面的简洁,可以单击右上角的“ fx=(x)-1/(x(1)-2)2+3)-1/(x(2)+1)2*2-5); l xv,fv=fminsearch(fx,0,0) l输出结果: lxv = 2.0000 -1.0000 lfv = -0.1333 l显示每次迭代信息: l opt=optimset(Display,iter); l xv,fv=fminsearch(fx,0,0,opt) FminuncFminunc函数求解无约束多维函数求解无约束多维

10、极值优化问题极值优化问题 l在matlab系统中,除了fminsearch可以求无约束多维极 值问题外,fminunc函数也能求无约束极值问题。 l(1)x=fminunc(fun,x0),从起始点x0初发,求出fun的一 个局部极小点。 l(2)x=fminunc(fun,x0,options),按照options结构指定的 优化参数求fun的极小点。 l(3)x= fminunc(problem):所需求解的极值问题及选项 通过problem结构指定。 字段说明 objective目标函数 X0初始点 solver求解方法fminunc optionsOptions结构 FminuncFm

11、inunc函数求解无约束多维函数求解无约束多维 极值优化问题极值优化问题 lfminunc函数求解 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) FminuncFminunc函数求解无约束多维函数求解无约束多维 极值优化问题极值优化问题 l求解结果: lxv = 2.0000 -1.0000 lfv = -0.1333

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

13、约束条件)。 FminconFmincon函数求解约束优化问题函数求解约束优化问题 l调用格式 l(1)x=fmincon(fun,x0,A,b),在给定初始点x0的 条件下求出fun的极小点,线性约束条件为 l(2)x=fmincon(fun,x0,A,b,Aeq,beq), 在给定初 始点x0的条件下求出fun的极小点,线性约束条 件为 (3)x= fmincon(fun,x0,A,b,Aeq,beq,lb,ub), 在给 定初始点x0的条件下求出fun的极小点,线性约 束条件为 FminconFmincon函数求解约束优化问题函数求解约束优化问题 l(4)x= fmincon(fun,x

14、0,A,b,Aeq,beq,lb,ub,nonlcon),此格 式中的nonlcon代表目标函数的非线性约束条件:定义 函数文件 lfunction c,ceq = mycon(x) lc = . % 定义非线性不等式约束, lceq = . % 定义非线性等式约束 l(5)x,fval=fmincon(),此格式中的fval返回目标函 数的极小值。 l(6)x,fval,exitflag=fmincon(),此格式中的输出参数 exitflag返回函数fmincon的求解状态(成功或失败)。 l(7)x,fval,exitflag,output=fmincon(),此格式中的输 出参数out

15、put返回函数fmincon的求解信息。 FminconFmincon函数求解约束优化问题函数求解约束优化问题 lFmincon函数求解下列约束优化问题。 初始点取为(s,t)=(1,2) 建立目标函数文件OptimFun.m: function y = OptimFun( x ) y=x(1)-4*x(1)-8*x(2)+15; 根据线性约束条件有: A=2 3;1 -1;b=2 5; FminconFmincon函数求解约束优化问题函数求解约束优化问题 l非线性约束条件通过noncon参数指定,建立ConFun.m 文件: function c,ceq = ConFun( x ) c=9-x(1)2-x(2)2; ceq=; l在命令窗口输入: x=fmincon(OptimFun,1 2,A,b,ConFun) l求解结果: x = -2.1454 2.0969 非线性最小二乘优化问题非线性最小二乘优化问题 l非线性最小二乘优化也叫无约束极小平方和函 数问题,它是如下无约束极小问题: l例如

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

最新文档


当前位置:首页 > 高等教育 > 大学课件

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