您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > 2、MATLAB优化工具箱(Optimization-Toolbox)
机械优化设计MATLAB优化工具箱机械优化设计z1工具箱概述z1.1工具箱的功能z1.2工具箱的新特色z1.3工具箱的结构z2工具箱函数z3GUI优化工具z3.1GUI优化工具的启动z3.2GUI优化工具的界面z3.3GUI优化工具使用步骤z3.4GUI优化工具应用实例z4小结MATLAB优化工具箱机械优化设计1.1工具箱的功能优化工具箱主要可以用于解决以下问题:z(1)求解无约束条件非线性极小值;z(2)求解约束条件下非线性极小值,包括目标逼近问题、极大-极小值问题以及半无限极小值问题;z(3)求解二次规划和线性规划问题;z(4)非线性最小二乘逼近和曲线拟合;z(5)非线性系统的方程求解;z(6)约束条件下的线性最小二乘优化;z(7)求解复杂结构的大规模优化问题。机械优化设计1.2工具箱的新特色MATLABR2008b提供的优化工具箱是4.1版本,4.1版本较之以前的3.x版本,主要增加了以下新的特色。z(1)函数fmincon、fminimax和fgoalattain中引入了并行机制,加快了梯度的计算速度;z(2)函数gatool和psearchtool整合到优化工具箱GUI中;z(3)函数fmincon的求解器中新增内点算法;z(4)提供了KNITRO优化库的接口;z(5)函数lsqcurvefit、lsqnonlin和fsolve的优化选项参数PrecondBandWidth默认值由0变为inf;z(6)优化选项参数TolConSQP的默认值修改为1e–6;z(7)输出结构中引入了参数constrviolation。机械优化设计1.3工具箱的结构机械优化设计工具箱函数机械优化设计函数输入参数机械优化设计函数输出参数机械优化设计模型输入时需要注意的问题z(1)目标函数最小化z优化函数fminbnd、fminsearch、fminunc、fmincon、fgoalattain、fminmax和lsqnonlin都要求目标函数最小化。z(2)约束非正z优化工具箱要求非线性不等式约束的形式为Ci(x)≤0,通过对不等式取负可以达到使大于零的约束形式变为小于零的不等式约束形式的目的。z(3)避免使用全局变量ceModel.vi”等VI来实现。机械优化设计3GUI优化工具优化工具(optimtool)是2006年9月在MATLAB7.2版本优化工具箱3.1版本中推出的,它是执行下列常见优化任务的图形用户界面。z选择求解器并定义优化问题;z设置和检查优化选项;z运行问题并将结果可视化;z在MATLAB工作空间和优化工具之间导入和导出问题定义、算法选项和结果;z自动生成M文件代码,以获取工作并自动执行任务;z带有图形选项,用来显示对求解器执行期间进度的预定义或自定义测量标准。机械优化设计3.1GUI优化工具的启动优化工具图形界面的菜单启动方式z启动GUIOptimizationtool有以下两种方法。z(1)在命令行上输入optimtool;z(2)在MATLAB主界面单击左下角的“Start”按钮,然后依次选择“Toolboxes→Optimization→Optimizationtool(optimtool)。机械优化设计优化工具图形界面机械优化设计3.2GUI优化工具的界面zGUI优化工具的界面主要分为三大块:z左边为优化问题的描述及计算结果显示(ProblemSetupandResults);z中间为优化选项的设置(Options);z右边为帮助(QuickReference)。z为了界面的简洁,可以单击右上角的“”按钮将帮助隐藏起来。机械优化设计2.优化选项zGUI优化工具的优化选项包括9大类。zStoppingcriteria:停止准则;zFunctionvaluecheck:函数值检查;zUser-suppliedderivatives:用户自定义微分(或梯度)函数;zApproximatedderivatives:自适应微分(或梯度);zAlgorithmsettings:算法设置;zInneriterationstoppingcriteria:内迭代停止准则;zPlotfunctions:用户自定义绘图函数;zOutputfunctions:用户自定义输出函数;zDisplaytocommandwindow:输出到命令行窗口。机械优化设计3.3GUI优化工具使用步骤zGUI优化工具的基本使用步骤如下。z1、选择求解器solver和优化算法;z2、选定目标函数;z3、设定目标函数的相关参数;z4、设置优化选项;z5、单击“Start”按钮,运行求解;z6、查看求解器的状态和求解结果;z7、将目标函数、选项和结果导入/导出。机械优化设计机械优化设计3.4GUI优化工具应用实例z例1fminunc求解器应用实例。z例2fminsearch求解器应用实例。z例3fmincon求解器应用实例。z例4lsqnonlin求解器应用实例。z例5linprog求解器应用实例。z例6ga求解器应用实例。机械优化设计例1无约束优化(fminunc求解器)建立目标函数文件FunUnc.m文件:zfunctiony=FunUnc(x)zy=x^2+4*x-6;z然后启动优化工具:z在Solver下拉选框中选择fminunc;zAlgorithm下拉选框中选择Mediumscale;z目标函数栏输入@FunUnc;z初始点输入0,其余参数默认;z单击Start按钮运行。无约束优化实例机械优化设计机械优化设计例2无约束优化(fminsearch求解器)z启动优化工具:z然后在Solver下拉选框中选择fminsearch;z目标函数栏输入@(x)abs(x^2-3*x+2);z初始点输入-7,其余参数默认;z单击Start按钮运行。z运行就可得到极小值和对应的值用fminsearch求解非光滑优化问题机械优化设计机械优化设计例3约束优化(fmincon求解器)z约束优化采用的求解器为fmincon,可用的算法有三种:Trustregionreflective(信赖域反射算法)、Activeset(有效集算法)、Interiorpoint(内点算法)。z启动优化工具:z在Solver下拉选框中选择fmincon;zAlgorithm下拉选框中选择Activeset;z目标函数栏输入@FunCon;z初始点输入[10;10;10];z在约束条件的Linearinequalities输入框中输入A为[-1-2-2;122],b为[0;72],其余参数默认;z单击Start按钮运行。机械优化设计机械优化设计例4非线性最小二乘优化(lsqnonlin求解器)z启动优化工具:z在Solver下拉选框中选择lsqnonlin;z算法采用L-M算法;z目标函数栏输入@(x)[x^2+x-1;2*x^2-3];z初始点输入5,其余参数默认;z单击Start按钮运行。z运行就可得到极小值和对应的值机械优化设计机械优化设计例5线性规划(linprog求解器)z线性规划采用的求解器为linprog,可用的算法有三种:Largescale(大规模算法)、Mediumscale-simplex(中等规模-单纯形算法)和Mediumscale-Activeset(中等规模-有效集算法),当Mediumscale-Activeset算法时,还要提供初始点。z启动优化工具:z在Solver下拉选框中选择linprog;z算法采用Mediumscale-simplex算法;z问题描述组框中的f输入[-4;-1];z约束组框中的A输入[-12;23;1-1],b输入[4;12;3],其余参数默认;z单击Start按钮运行。机械优化设计机械优化设计智能优化算法z优化工具箱中的智能优化算法包括遗传算法(ga)和模拟退火算法(simulannealbnd),MATLAB中的ga求解器功能非常强大,既能求解无约束优化问题,也能求解约束优化问题,而且约束条件可以是非线性的,但是simulannealbnd求解器只能求解无约束优化问题。z在Solver下拉选框中选择ga;z在适应函数栏输入@(x)x^4-3*x^3+x^2-2;z变量个数输入1,其余参数默认;z单击Start按钮运行。机械优化设计ga机械优化设计simulannealbnd机械优化设计4小结z介绍了优化工具箱函数的功能、语法,以及GUI优化工具的使用及实例,GUI优化工具是进行MATLAB最优化计算的最简洁、最容易掌握的工具,后面的章节还会对常用的工具箱的函数进行详细讲述,并辅以实例。z对MATLAB优化工具箱函数的强大功能有一个初步了解,还为后面更具体的介绍及应用打下基础。
本文标题:2、MATLAB优化工具箱(Optimization-Toolbox)
链接地址:https://www.777doc.com/doc-6660049 .html