第七讲Matlab在求解优化问题中的应用ppt课件.ppt
《第七讲Matlab在求解优化问题中的应用ppt课件.ppt》由会员分享,可在线阅读,更多相关《第七讲Matlab在求解优化问题中的应用ppt课件.ppt(109页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、参考文献:Matlab7.2优化设计实例指导教程褚洪生、杜增吉、阎金华 等编著机械工业出版社,2007篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统本本 讲讲 内内 容容l多目标规划问题l最大最小化问题l半无限问题l整数规划问题l大规模最优化问题一、最优化理论概述一、最优化理论概述二、二、Matlab优化工具箱简介优化工具箱简介三、无约束优化问题三、无约束优化问题四、约束优化问题四、约束优化问题五、方程求解五、方程求解篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统一、最优
2、化理论概述一、最优化理论概述 最优化是一门研究如何科学、合理、迅速地确定可行方案并找到其中最优方案的学科。最优化方法就是专门研究如何从多个方案中科学合理地提出最佳方案的科学。(一)最优化问题基本模型(一)最优化问题基本模型最优化问题的一般形式:称为目标函数,X称为问题的可行域。篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统无约束问题一般形式:约束问题一般形式:约束函数等式约束条件不等式约束条件可行域X为:线性规划二次规划凸规划此外还分成:整数规划、动态规划、网络规划、非光滑规划、随机规划、几何规划、多目标规划等。篮球比赛是根据运动队
3、在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统例例 数据拟合问题或无约束问题例例 食谱问题线性规划问题篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统线性规划问题的标准型:篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统非标准型线性规划问题过渡到标准型线性规划问题的处理方法:篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统例例 二次规划问题 通过逐步二次规划能使一般的非线性规
4、划问题的求解过程得到简化,因此,二次规划迭代法也是目前求解最优化问题时常用的方法。由于二次规划问题本身也是一大类实际应用中经常碰到的问题,所以,二次规划问题在最优化理论和应用各方面都占有非常重要的地位。篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统例例 最小二乘问题 如果r(x)是x的非线性函数,则问题称为非线性最小二乘问题;如果r(x)是x的线性函数,则问题称为线性最小二乘问题。非线性最小二乘问题在数据拟合、参数估计和函数逼近等方面有广泛应用。非线性最小二乘问题既可以看作为无约束极小化的特殊情形,又可以看作为解如下方程组:篮球比赛
5、是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统(二)最优化问题的实现(二)最优化问题的实现 用最优化方法解决最优化问题的技术称为最优化技术,它包含两个方面的内容:建立数学模型。建立数学模型。即用数学语言来描述最优化问题。模型中的数学关系式反映了最优化问题所要达到的目标和各种约束条件。数学求解。数学求解。数学模型建好以后,选择合理的最优化方法进行求解。篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统 Matlab实现 由于最优化问题在近些年来得到了广泛的应用,Matlab工具箱函数也
6、同时有了飞速的发展。利用Matlab的优化工具箱可以求解如下问题:线性、非线性最小化最大最小化二次规划半无限问题线性、非线性方程(组)的求解线性、非线性的最小二乘问题 此外,该工具箱还提供了线性、非线性最小化,方程求解,曲线拟合,二次规划等问题中大型课题的求解方法,为优化方法在工程中的实际应用提供了更方便快捷的途径。篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统 使用Matlab的优化工具箱时,由于优化函数要求目标函数和约束条件满足一定的格式,所以需要用户在进行模型输入时注意以下几个问题:优化函数fminbnd、fminsearch
7、、fminunc、fminicon、fgoalattain、fminmax和lsqnonlin都要求目标函数最小化,如果优化问题要求目标函数最大化,可以通过使该目标函数的负值最小化即-f(x)最小化来实现。近似地,对于quadprog 函数提供-H 和-f,对于linprog函数提供-f。优化工具箱要求非线性不等式约束的形式为Ci(x)0,通过对不等式取负可以达到使大于零的约束形式变为小于零的不等式约束形式的目的,如 Ci(x)0形式的约束等价于-Ci(x)0;Ci(x)b形式的约束等价于-Ci(x)+b0。篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系
8、统是一种得分类型的系统二、二、Matlab优化工具箱简介优化工具箱简介(一)优化工具箱中的函数(一)优化工具箱中的函数优化工具箱中的函数包括下面几类:函数函数 描述描述fminsearch,fminunc无约束非线性最小化fminbnd有边界的标量非线性最小化fmincon有约束的非线性最小化linprog线性规划quadprog二次规划fgoalattain多目标规划fminimax最大最小化fseminf半无限问题1.最小化函数最小化函数篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2.最小二乘问题最小二乘问题 函数函数 描述描
9、述 线性最小二乘lsqnonlin非线性最小二乘lsqnonneg非负线性最小二乘lsqlin有约束线性最小二乘lsqcurvefit非线性曲线拟合3.方程求解函数方程求解函数 函数函数 描述描述 线性方程求解fzero标量非线性方程求解fsolve非线性方程求解篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统u 中型问题方法演示函数中型问题方法演示函数4.演示函数演示函数 函数函数 描述描述tutdemo教程演示optdemo演示过程菜单officeassign求解整数规划goaldemo目标达到举例dfildemo过滤器设计的有限
10、精度u 大型问题方法演示函数大型问题方法演示函数 函数函数 描述描述molecule用无约束非线性最小化进行分子组成求解circustent马戏团帐篷问题二次规划问题optdeblur用有边界线性最小二乘法进行图形处理篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统(二)优化函数的变量(二)优化函数的变量 在Matlab的优化工具箱中,定义了一系列的标准变量,通过使用这些标准变量,用户可以使用Matlab来求解在工作中碰到的问题。主要有如下三类:1.输入变量输入变量 调用 Matlab 优化工具箱,需要首先给出一些输入变量,优化工具箱
11、函数通过对这些输入变量的处理得到用户需要的结果。输入变量大体上分成输入系数和输入参数两类:篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统变量名变量名 作用和含义作用和含义 主要的调用函数主要的调用函数A,bA矩阵和b向量分别为线性不等式约束的系数矩阵和右端项fgoalattain,fmincon,fminimax,fseminf,linprog,lsqlin,quadprogAeq,beqAeq矩阵和beq向量分别为线性方程约束的系数矩阵和右端项fgoalattain,fmincon,fminimax,fseminf,linprog
12、,lsqlin,quadprogC,d矩阵C和向量d分别为超定或不定线性系统方程组的系数矩阵和进行求解的右端项lsqlin,lsqnonnegf线性方程或二次方程中线性项的系数向量linprog,quadprogH二次方程中二次项的系数quadprogub,lb变量的上下界fgoalattain,fmincon,fminimax,fseminf,linprog,lsqlin,quadprog,lsqcurvefit,lsqnonlinfun待优化的函数fgoalattain,fminbnd,fmincon,fminimax,fminsearch,fminunc,fseminf,fzero,fs
13、olve,lsqcurvefit,lsqnonlinnonlcon计算非线性不等式和等式fgoalattain,fmincon,fminimaxseminfcon计算非线性不等式约束、等式约束和半无限约束的函数fseminf输入系数表输入系数表篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统变量名变量名 作用和含义作用和含义 主要的调用函数主要的调用函数goal目标试图达到的值fgoalattainntheta半无限约束的个数fseminfoptions优化选项参数结构所有P1,P2,传给函数fun,变量nonlcon,变量semin
14、fcon的其它变量fgoalattain,fminbnd,fmincon,fminimax,fsearch,fminunc,fseminf,fzero,fsolve,lsqcurvefit,lsqnonlinweight控制对象未达到或超过的加权向量fgoalattainxdata,ydata拟合方程的输入数据和测量数据lsqcurvefitx0初始点除fminbnd所有x1,x2函数最小化的区间fminbnd输入参数表输入参数表篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2.输出变量输出变量变量名变量名 作用和含义作用和含义x由
15、优化函数求得的解fval解x处的目标函数值exitflag退出条件output包含优化结果信息的输出结构lambda解x处的Lagrange乘子grad解x处函数fun的梯度值hessian解x处函数fun的Hessian矩阵jacobian解x处函数fun的Jacobian矩阵maxfval解x处函数的最大值attainfactor解x处的达到因子residual解x处的残差值resnorm解x处残差的平方范数 调用 Matlab 优化工具箱函数后,给出一系列输出变量,提供给用户相应的输出信息。篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分
16、类型的系统3.优化参数优化参数参数名参数名 含义含义Derivativecheck对自定义的解析导数与有限差分导数进行比较Diagnostics打印进行最小化或求解的诊断信息DiffMaxChange有限差分求导的变量最大变化DiffMinChange有限差分求导的变量最小变化Display值为off时,不显示输出;为iter时,显示迭代信息;为final时,只显示结果在新版本中,notify,当函数不收敛时输出GoalsExactAchieve精确达到的目标个数GradConstr用户定义的非线性约束的梯度GradObj用户定义的目标函数的梯度Hessian用户定义的目标函数的Hessian
17、矩阵HessPattern有限差分的Hessian矩阵的稀疏模式HessUpdateHessian矩阵修正结构篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统参数名参数名 含义含义Jacobian用户定义的目标函数的Jacobian矩阵JacobPattern有限差分的Jacobian矩阵的稀疏模式LargeScale使用大型算法(如果可能的话)Levenberg-Marquardt用Levenberg-Marquardt方法代替Gauss-Newton方法LineSearchType一维搜索算法的选择MaxFunEvals允许进行函
18、数评价的最大次数MaxIter允许进行迭代的最大次数MaxPCGIter允许进行PCG迭代的最大次数MeritFunction使用多目标函数MinAbsMax最小化最坏个案例绝对值的f(x)的个数PrecondBandWidthPCG前提的上带宽TolCon违背约束的终止容限TolFun函数值的终止容限TolPCGPCG迭代的终止容限TolXX处的终止容限TypicalX典型x值篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统(三)参数设置(三)参数设置 对于优化控制,Matlab 提供了18个参数。利用optimset 函数,可以创
19、建和编辑参数结构;利用optimget 函数,可以获得 options 优化参数。这些参数的具体意义如下:篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统参数名参数名 含义含义options(1)参数显示控制(默认值为0),等于1时显示一些结果options(2)优化点x的精度控制(默认值为1e-4)options(3)优化函数F的精度控制(默认值为1e-4)options(4)违反约束的结束标准(默认值为1e-6)options(5)算法选择,不常用options(6)优化程序方法选择,为0则为BFCG算法,为1则采用DFP算法op
20、tions(7)线性插值算法选择,为0则为混合插值算法,为1则采用立方插值算法options(8)函数值显示(多目标规划问题中的Lambda)options(9)若需要检测用户提供的梯度,则设为1options(10)函数和约束估值的数目options(11)函数梯度估值的个数options(12)约束估值的数目options(13)等式约束条件的个数options(14)函数估值的最大次数(默认值为100变量个数)options(15)用于多目标规划问题中的特殊目标options(16)优化过程中变量的最小有限差分梯度值options(17)优化过程中变量的最大有限差分梯度值options(
21、18)步长设置(默认为1或更小)1.参数值参数值篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2.optimset 函数函数 optimset 函数的功能是创建或编辑优化选项参数结构。具体的调用格式为:options=optimset(param1,value1,param2,value2,)options=optimset(oldopts,param1,value1,)功能:功能:创建一个称为options 的优化选项参数,其中指定的参数具有指定值。所有未指定的参数都设置为空矩阵(将参数设置为 表示当options传递给优化函数时
22、给参数赋默认值赋默认值)。赋值时只要输入参数前面的字母就行了。功能:功能:创建一个oldopts的复制,用指定的数值修改参数。篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统options=optimset(oldopts,newopts)功能:功能:将已经存在的选项结构 oldopts 与新的选项结构newopts 进行合并。newopts 参数中的所有元素将覆盖oldopts 参数中的所有对应元素。optimset 功能:功能:没有任何输入输出参数,将显示一张完整的带有有效值的参数列表如左:Display:off|on|iter|
23、notify|final MaxFunEvals:positive scalar MaxIter:positive scalar TolFun:positive scalar TolX:positive scalar FunValCheck:off|on OutputFcn:function|BranchStrategy:mininfeas|maxinfeas DerivativeCheck:on|off Diagnostics:on|off DiffMaxChange:positive scalar|1e-1 DiffMinChange:positive scalar|1e-8 GoalsE
24、xactAchieve:positive scalar|0 篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统options=optimset(with no input arguments)功能:功能:创建一个选项结构options,其中所有的元素被设置为 。optimset(optimfunction)功能:功能:创建一个含有所有参数名和与优化函数optimfun相关的默认值的选项结构options。篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统options=optim
25、set(Display,iter,TolFun,1e-8)例例1 options=Display:iter MaxFunEvals:MaxIter:TolFun:1.0000e-008 TolX:FunValCheck:OutputFcn:ActiveConstrTol:BranchStrategy:DerivativeCheck:Diagnostics:DiffMaxChange:DiffMinChange:GoalsExactAchieve:篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统optnew=optimset(optio
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第七 Matlab 求解 优化 问题 中的 应用 ppt 课件
限制150内