优化问题的求解.ppt
《优化问题的求解.ppt》由会员分享,可在线阅读,更多相关《优化问题的求解.ppt(27页珍藏版)》请在三一办公上搜索。
1、第11章 优化问题的求解,11.1 线性规划11.2 无约束优化11.3 单目标约束优化11.4 多目标约束优化11.5 最小二乘优化11.6 混合整数规划11.7 动态规划11.8 实例解析,本章目标:求 或,11.1 线性规划,线性规划问题是目标函数和约束条件均为线性函数的问题,其整个问题的数学描述为:MATLAB的最优化工具箱中提供的线性规划求解函数是linprog(),该函数的调用格式为:x,fval,exitflag,output,lambda=linprog(f,A,b,Aeq,beq,lb,ub,x0,options,p1,p2,.),11.2 无约束优化,非线性规划是指目标函数
2、或约束函数(或两者)为设计变量的非线性函数的一种优化方法。其标准形式为:其中求解无约束优化问题的主要算法有单纯形法、拟牛顿法和最速下降法(或共轭梯度法)等,MATLAB提供了相应算法的实现函数fminsearch()和fminunc()。它们的调用格式分别如下:x,fval,exitflag,output=fminsearch(fun,x0,options,p1,p2,.)x,fval,exitflag,output,grad,hessian=fminunc(fun,x0,options,p1,p2,.),11.3 单目标约束优化,一、带有变量边界约束的优化带有变量边界约束的优化问题的一般描述
3、为:对于单变量目标函数f(x),MATLAB提供了fminbnd()函数求解该目标函数在区间内的极小值,该函数的调用格式如下:x,fval,exitflag,output=fminbnd(fun,x1,x2,options,p1,p2,.)对于一般的多变量目标函数f(x),MATLAB并未提供直接的函数求解。John DErrico开发的fminsearchbnd()函数扩展了现有函数的功能,能直接求解这样的问题,该函数可以从以下网址下载:。该函数的调用格式为:x,fval,exitflag,output=fminsearchbnd(fun,x0,LB,UB,options,p1,p2,.),
4、二、多变量约束优化多变量非线性约束优化问题的一般描述为:其中,。为求解方便,约束条件还可以进一步细化为线性等式约束,线性不等式约束,这时原规划问题可以改写成MATLAB最优化工具箱中提供了一个专门用于求解各种约束下的优化问题的函数fmincon(),该函数的调用格式为:x,fval,exitflag,output,lambda,grad,hessian=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options,p1,p2,.),三、二次规划一般二次型规划问题的数学表示为:MATLAB最优化工具箱中提供了求解二次规划问题的函数quadprog(),该函数的
5、调用格式为:x,fval,exitflag,output,lambda=quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options,p1,p2,.),四、半无限约束优化半无限约束优化问题的标准形式为:其中 为向量x和 的连续函数,且向量 的长度最多为2。,MATLAB最优化工具箱中提供的函数fseminf()可以直接求解半无限约束优化问题,该函数的调用格式为:x,fval,exitflag,output,lambda=fseminf(fun,x0,ntheta,seminfcon,A,b,Aeq,beq,lb,ub,options,p1,p2,.)其中ntheta是半无
6、限约束条件的个数,seminfcon是一函数名,该函数定义了非线性约束条件和半无限约束条件,该函数的一般写法如下:function c,ceq,K1,K2,.,Kntheta,S=myinfcon(x,S)%S为向量w的采样值%初始化样本间距if isnan(S(1,1),S=.%S有ntheta行2列endw1=.%计算样本集w2=.%计算样本集.wntheta=.%计算样本集K1=.%在x和w处的第1个半无限约束值K2=.%在x和w处的第2个半无限约束值.Kntheta=.%在x和w处的第ntheta个半无限约束值c=.%在x处计算非线性不等式约束值ceq=.%在x处计算非线性不等式约束值
7、,11.4 多目标约束优化,多目标优化问题的一般表示为:其中,一、极小极大优化假设有一组n个目标函数,它们中的每一个均可以提取出一个最大值而这样得出的一组最大值仍然是x的函数。现在想对这些最大值进行比较进行最小化搜索,即 则这类问题称为极小极大问题。,考虑各类约束条件,极小极大问题可以更一般地改写成MATLAB最优化工具箱中的fminimax()函数可以直接求解极小极大问题,该函数的调用格式为x,fval,maxfval,exitflag,output,lambda=fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options,p1,p2,.)另外,基于f
8、minimax()函数,还可以求解相关的变形问题,如极小极小优化问题:,二、目标规划目标规划的标准形式如下:MATLAB最优化工具箱中提供了函数fgoalattain()来求解目标规划问题,该函数的调用格式为:x,fval,attainfactor,exitflag,output,lambda=fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon,options,p1,p2,.),11.5 最小二乘优化,一、线性最小二乘优化线性最小二乘优化问题的一般数学描述为:MATLAB优化工具箱提供了函数lsqlin()来直接求解上述优化问题,该
9、函数的调用格式为:x,resnorm,residual,exitflag,output,lambda=lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0,options,p1,p2,.),实际问题中经常会遇到下面的非负最小二乘优化问题:对于这种问题,MATLAB提供的lsqnonneg()函数可以用来轻松求解。lsqnonneg()函数的调用格式为:x,resnorm,residual,exitflag,output,lambda=lsqnonneg(C,d,x0,options),二、非线性最小二乘优化对于多目标规划问题其中,则可以按照下面的方式将其转换成单目标优化问题:这就是所
10、谓的非线性最小二乘优化。对于该问题固然可以利用前面介绍的函数求解,此外,MATLAB最优化工具箱还提供了lsqnonlin()函数直接求解这个问题,该函数的调用格式为:x,resnorm,residual,exitflag,output,lambda,jacobian=lsqnonlin(fun,x0,lb,ub,options,p1,p2,.),11.6 混合整数规划,一、线性整数规划(LIP)所谓线性整数规划,就是在线性规划的基础上,使得全部或部分自变量取整数。线性整数规划的一般数学描述为:MATLAB本身没有提供线性整数规划问题的求解函数,但如果已知自变量所在的区间,则理论上可以用穷举法
11、列出区间内所有的变量组合,逐个判定约束条件是否满足,从满足的组合中逐个求取函数的值并排序,由其最小值的对应关系可以简单地求解所需的自变量值。该方法看似简单直观,但它仅对于一些小规模问题可行。因此需要另外寻找比较好的算法求解线性整数规划问题,下面介绍常用的分支定界法。,分支定界法(分而治之)步骤:(为便于叙述,将要求解的整数规划问题称为LIP,将与它对应的线性规划问题称为LP)(1)求解问题LP,将得到以下情况之一:LP没有可行解,这时LIP也没有可行解,则停止;LP有最优解,并且解变量都是整数,则它也是LIP的最优解,则停止;LP有最优解,但不符合LIP中的整数条件,此时记它的目标函数值为,这
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 优化 问题 求解
链接地址:https://www.31ppt.com/p-6220582.html