matlab优化工具箱简介

matlab优化工具箱简介

ID:24843851

大小:480.50 KB

页数:61页

时间:2018-11-16

matlab优化工具箱简介_第1页
matlab优化工具箱简介_第2页
matlab优化工具箱简介_第3页
matlab优化工具箱简介_第4页
matlab优化工具箱简介_第5页
资源描述:

《matlab优化工具箱简介》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五讲Matlab优化工具箱简介---optimizationtoobox1.线性优化2.非线性优化3.极小化极大(Minmax)问题4.曲线拟合与插值线性规划问题是目标函数和约束条件均为线性函数的问题,MATLAB7.0解决的线性规划问题的标准形式为minsub.to:其中f、x、b、beq、lb、ub为向量,A、Aeq为矩阵.其它形式的线性规划问题都可经过适当变换化为此标准形式.在MATLAB5.x以上版中,线性规划问题LinearProgramming已用函数linprog取代了MATLAB5.x版中的

2、lp函数.当然,由于版本的向下兼容性,一般说来,低版本中的函数在7.0版中仍可使用.5.1线性优化函数linprog格式x=linprog(f,A,b)%求minf'*xsub.to线性规划的最优解.x=linprog(f,A,b,Aeq,beq)%等式约束,若没有不等式约束,则A=[],b=[].x=linprog(f,A,b,Aeq,beq,lb,ub).%指定x的范围,若没有等式约束,则Aeq=[],beq=[].x=linprog(f,A,b,Aeq,beq,lb,ub,x0)%设置初值x0.x=li

3、nprog(f,A,b,Aeq,beq,lb,ub,x0,options)%options为指定的优化参数.[x,fval]=linprog(…)%返回目标函数最优值,即fval=f'*x.[x,lambda,exitflag]=linprog(…)%lambda为解x的Lagrange乘子.[x,lambda,fval,exitflag]=linprog(…)%exitflag为终止迭代的错误条件.[x,fval,lambda,exitflag,output]=linprog(…)%output为关于优化的

4、一些信息.说明:若exitflag>0表示函数收敛于解x,exitflag=0表示超过函数估值或迭代的最大次数,exitflag<0表示函数不收敛于解x;若lambda=lower表示下界lb,lambda=upper表示上界ub,lambda=ineqlin表示不等式约束,lambda=eqlin表示等式约束,lambda中的非0元素表示对应的约束是有效约束;output=iterations表示迭代次数,output=algorithm表示使用的运算规则,output=cgiterations表示PCG迭

5、代次数.例5-1求下面的优化问题minsub.to.解:>>f=[-5;-4;-6];%写成行向量亦可!>>A=[1-11;324;320];>>b=[20;42;30];>>lb=zeros(3,1);>>[x,fval,exitflag,output,lambda]=linprog(f,A,b,[],[],lb)结果为:x=%最优解0.000015.00003.0000fval=%最优值-78.0000exitflag=%收敛1output=iterations:6%迭代次数cgiterations:0a

6、lgorithm:'lipsol'%所使用规则lambda=ineqlin:[3x1double]eqlin:[0x1double]upper:[3x1double]lower:[3x1double]>>lambda.ineqlinans=0.00001.50000.5000>>lambda.lowerans=1.00000.00000.0000表明:不等约束条件2和3以及第1个下界是有效的.请写出下面线性规划的Matlab程序.c=[-0.4-0.28-0.32-0.72-0.64-0.6];A=[0.01

7、0.010.010.030.030.03;0.02000.0500;00.02000.050;000.03000.08];b=[850;700;100;900];Aeq=[];beq=[];vlb=[0;0;0;0;0;0];vub=[];[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)MATLAB求解优化问题的主要函数优化函数的输入变量优化函数的输出变量5.2非线性优化5.2.1有约束的一元函数的最小值单变量函数求最小值的标准形式为sub.to函数fminbnd格式x=fmin

8、bnd(fun,x1,x2)%返回自变量x在区间上函数fun取最小值时x值,fun为目标函数的表达式字符串或MATLAB自定义函数的函数柄.x=fminbnd(fun,x1,x2,options)[x,fval]=fminbnd(…)[x,fval,exitflag]=fminbnd(…)[x,fval,exitflag,output]=fminbnd(…)例5-2计算下面函数在区间(0,1)内的最

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。