版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第 八章 MATLAB优化工具箱 求解工程优化问题,一、优化工具箱概述 二、各类优化问题的优化函数的介绍 无约束一维极值问题 无约束多维极值问题 约束优化问题 非线性最小二乘优化问题 线性规划 0-1规划,内容,2020/6/28,例题1:某工厂在计划期内要安排生产I,II两种产品,已知生产单位产品所需的设备台时及A、B两种原料的消耗如下表。 产品I和II的单位获利分别为2元和3元。 问应如何安排生产,可使该厂获利最多?,工程优化问题,2020/6/28,工程优化问题,2020/6/28,例2 工厂1排出的污水流到工厂2前有20%可自然净化。 问:每厂各应处理多少污水,方可在保证河水中污水含量
2、不大 于0.2%的前提下,使总费用最小?,实际每天排污量 2- x1 1.4- x2,工程优化问题,2020/6/28,工程优化问题的提出: 上述两例代表了一般工程优化问题,其共性特征为: 建立工程优化问题的数据模型:决策变量、约束条件、目标函数 选择合适的优化方法,求出最优解。,优化工具箱的功能,优化工具箱主要可以用于解决以下问题: (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=optim
4、set(Display,iter,TolFun,1e-7),该语句创建一个称为opts的优化选项结构,其中显示参数设为iter, TolFun参数设为1e-7,其中,常用的options参数中常用的几个参数如下: Display:结果显示方式,取值为off时,不显示任何结果,取值为iter时,显示每次迭代的信息,取值为final时,显示最终结果,默认值final,取值notify时,只有当求解结果不收敛时才显示结果。 MaxFunEvals:允许进行函数计算的最大次数,取值为正整数。 MaxIter:允许进行迭代的最大次数,取值为正整数。 TolFun:函数值(计算结果)的精度,取值为正数。
5、TolX:自变量的精度,取值为正数,优化选项参数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
8、,0,0) 输出结果: 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=
9、 fminunc(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.13
10、33 exitflag = 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代表目标函数的非线性约束条件:定义函数文件 fu
12、nction 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求解下列非线性最小二乘优化
16、问题:,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) 求解结果: x = -0.7966 -0.5344 resnorm = 0.8278,线性规划,线性规划在运筹学中产生较早,但应用最广泛。它是研究在一组自变量的线
17、性约束条件下,求线性函数的最小或最大值。线性规划的数学模型有三要素: (1)与自变量有关的若干个线性约束条件; (2)自变量的取值限制; (3)关于自变量的线性目标函数值。 线性规划的一般形式为,线性规划,在MATLAB中,用于求解线性规划的函数是linprog,它的求解对象是如下一类线性规划问题: 其中A表示不等式约束的系数矩阵,Aeq表示等式约束的系数矩阵,b表示不等式约束的常向量,beq表示等式约束的常向量,而lb,ub则表示自变量的上下范围。,Linprog函数求解线性规划,函数linprog常用格式如下: (1)x=linprog(f,A,b),此格式是最简单的格式,如果所要求的线性
18、规划只存在不等式约束,则可调用此格式进行求解,即 (2)x=linprog(f,A,b,Aeq,beq),如果所要求的线性规划存在不等式约束和等式约束,但是自变量没有范围限制,则可调用此格式进行求解,即,Linprog函数求解线性规划,(3)x=linprog(f,A,b,Aeq,beq,lb,ub),求解一般的线性规划的格式。 (4)x=linprog(f,A,b,Aeq,beq,lb,ub,x0),此格式设定初始值x0; (5)x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options),此格式通过options选项来指定优化参数。 (6)x=linprog(prob
19、lem),此格式的线性规划问题通过结构problem来指定,此格式是matlab R2008b新增加的格式。Problem结构包括的字段如下表。,Linprog函数求解线性规划,例:linprog函数求解线性规划: 命令行输入: f=-4;-1; A=-1 2;2 3;1 -1; b=4;12;3; lb=zeros(2,1); x,fval,exitflag,output=linprog(f,A,b,lb),Linprog函数求解线性规划,求解结果: x = 4.2000 1.2000 fval = -18.0000 exitflag = 1 output = iterations: 5 algorithm: large-scale: interior point cgiterations: 0 message: Optimization terminated. constrviolation: 0,0-1规划,0-1规划是整数规划的一种特殊形式,其自变量只能取0或1两个值,其数学模型为:,Bintprog函数求解0-1规划,在matlab优化工具箱中,提供了函数bintprog来求解0-1整数规划,其优化模型 其中,f,b,beq为向量,A和Aeq为矩阵,而最优解为0、1组合而成的向量,其调用格式为: (1)x=bintpro
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 某飞机厂环保监督规范
- 2027桂林医科大学第一附属医院招聘61人考试备考题库及答案解析
- 2026缙云县部分机关事业单位公开招聘编外工作人员笔试备考试题及答案解析
- 2026年度南京市玄武区玄武湖社区卫生服务中心公开招聘卫生专业技术人员2人笔试参考题库及答案解析
- 2026年营口市老边区公务员人员招聘考试试题与答案详解
- 2026福建宁德市医院招聘编外人员50人考试参考题库及答案解析
- 2026年哈尔滨市南岗区公务员人员招聘考试试题与答案详解
- 2027江苏连云港东粮码头有限公司招聘4人笔试模拟试题及答案解析
- 2026年平顶山市湛河区公务员人员招聘笔试参考题库与答案详解
- 2026年西安市碑林区公务员人员招聘考试参考题库与答案详解
- GB 40248-2026人员密集场所消防安全管理
- 支气管扩张症诊疗指南(2026年)
- 2026年企业法务岗位考试题(含答案)
- T/CMEAS 079-2026院内快速反应体系建设规范
- 新教材部编人教版五年级上册道德与法治(课件)第1课开天辟地的大事变
- 2011 氧化铝耐磨陶瓷复合衬板
- 赣南脐橙产业化发展:成就、困境与突破路径探究
- 知识产权专业专利代理就业方向
- JJG(吉) 145-2025 无创非自动电子血压计检定规程
- 农村小学“一生一档”学生成长记录表
- 江苏省南通市2026届高三上学期学业质量监测英语试题(含答案)
评论
0/150
提交评论