Matlab与机械优化设计(5优化工具箱)_第1页
Matlab与机械优化设计(5优化工具箱)_第2页
Matlab与机械优化设计(5优化工具箱)_第3页
Matlab与机械优化设计(5优化工具箱)_第4页
Matlab与机械优化设计(5优化工具箱)_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Matlab优化工具箱的使用MATLABMATLAB优化工具箱优化工具箱能求解的优化模型能求解的优化模型优化工具箱优化工具箱3.0 (MATLAB 7.0 R14)连续优化连续优化离散优化离散优化无约束优化无约束优化非线性非线性极小极小fminunc非光滑非光滑(不可不可微微)优化优化fminsearch非线性非线性方程方程(组组)fzerofsolve全局全局优化优化暂缺暂缺非线性非线性最小二乘最小二乘lsqnonlinlsqcurvefit线性规划线性规划linprog0-1规划规划 bitprog一般一般(暂缺暂缺)非线性规划非线性规划fminconfseminf上下界约束上下界约束fm

2、inbndfminconlsqnonlinlsqcurvefit约束线性约束线性最小二乘最小二乘lsqnonneglsqlin约束优化约束优化二次规划二次规划quadprog多 目 标 优 化多 目 标 优 化fgoalattain fminimax无约束优化问题min( )fxxn数学模型:nMatlab函数:n对于连续(处处光滑)的函数,使用fminuncn对于不连续的函数,使用fminsearchn一般而言一般而言fminunc比fminsearch有更高的寻优效率,因有更高的寻优效率,因为它利用了梯度信息为它利用了梯度信息n两者都不是解决最小化平方和的问题首选方法两者都不是解决最小化平

3、方和的问题首选方法,对这类问对这类问题,推荐使用(题,推荐使用(lsqnonlin )。)。无约束优化问题vx,fval,exitflag,output,grad,hessian = fminunc(fun,x0,options)v输入参数: fun: 目标函数,以函数句柄的形式给出。函数句柄的构造:1.函数首先用m文件定义好,然后采用下列方式构造函数句柄: fhandle= function_name 如: f_h=sin; f_h=cos2.匿名函数的形式(Anonymous function),函数的表达式直接给出: fhandle= (var_list) expression(var_

4、list),如: f_h=(x) sin(x); f_h=(x) cos(x);采用函数句柄的方式调用函数:把函数的名称用函数句柄直接替换。比如定义: f_h=sin, 则使用sin函数的时候有两种方式: sin(10), f_h(10),返回同样的结果。无约束优化问题vx,fval,exitflag,output,grad,hessian = fminunc(fun,x0,options)v输入参数: x0: 初始点的值。Options: 提供和函数本身有关的一些细节控制,如采用的算法,是否采用梯度等信息。本身是一个结构数组,其中每一个属性值的改变或设定可用函数optimset完成,如: o

5、ptions = optimset(Display,iter,TolFun,1e-8); options = optimset(optimfun): 返回优化函数“optimfun”所有的options属性的名称和属性值。如: options = optimset(fminunc): 观察结果。Options各个属性的含义请参考帮助文件。 无约束优化问题vx,fval,exitflag,output,grad,hessian = fminunc(fun,x0,options)v输出参数: X, fval: 算法终止时函数的最优解和最优值。exitflag: 整数标志,算法终止的原因,返回值大于

6、0表示找到局部最优点,否则没有找到局部最优点。具体的返回请参照函数“fminunc”的帮助。Output:Structure containing information about the optimization. The fields of the structure are:v iterations: Number of iterations taken;v funcCount:Number of function evaluations;v algorithm:Algorithm used;vCgiterations:Number of PCG iterations (large-s

7、cale algorithm only);stepsize:Final step size taken (medium-scale algorithm only);grad,hessian:最优解X点处的剃度和Hessian矩阵无约束优化问题vx,fval,exitflag,output,grad,hessian = fminunc(fun,x0,options)v例子: 求目标函数 mypeaks的局部最小值。v mypeaks=3*(1-x(:,1).2.*exp(-(x(:,1).2) - (x(:,2)+1).2) . v - 10*(x(:,1)/5 - x(:,1).3 - x(:

8、,2).5).*exp(-x(:,1).2-x(:,2).2) . v - 1/3*exp(-(x(:,1)+1).2 - x(:,2).2); vfminsearch与fminunc有相同的输入和输出参数,但是它使用单纯形法来找到局部最优。v分别用fminsearch和fminunc函数求上述目标函数的极小值点,可发现在利用了梯度信息的时候,迭代的次数大大减小。约束优化问题v1。单变量(标量)、上下界约束优化问题。vx,fval,exitflag,output = fminbnd(fun,x1,x2,options)v目标函数必须是连续的,只能求出局部最优值,所用算法:黄金分割和二次插值方法

9、。v例子: 求函数 f(x)=x(2/3)-(x2+1)(1/3), 约束优化问题v2。线性规划问题。vx,fval,exitflag,output,lambda = linprog(f,A,b,Aeq,beq,lb,ub,x0,options)它的输出只是最终结果,没有迭代过程。v例:约束优化问题v数学模型:设计变量: 各个方案切割的套数:x=x1,x2,x3,x4,x5;目标函数: min f(x)=0.1*x2+0.2*x3+0.3*x4+0.8*x5约束条件: v总套数限制: x1+2*x2+x4=100 v 2* x3+2*x4+x5=100v 3* x1+x2+2*x3+3*x5=

10、100v 0 2 % nonlcon called with 4 outputs GC = . % Gradients of the inequalities GCeq = . % Gradients of the equalitiesendT1230123123123*( )10,10,10 ,02227.:2202227: 1, 2, 2;1,2,2,0;27f xx x xxxxxxxxxxxxA xbAb 计算使函数取最小值时的 值,约束条件为分析将约束条件化为两个不等式:从而可将它们写成矩阵不等式的形式其中实例分析 4. fmincon函数MATLAB代码:%首先编写目标函数的.m文

11、件:function f = myfun (x)f = -x(1)*x(2)*x(3);x0=10; 10; 10 %起始点x, fval = fmincon (myfun, x0, A, b)12212122121212121212( )(421)-1.5, 10:1.50, 100 xf xexxx xxxx xxxx xx xxxx x 计算使函数+2+4+ 取最小值时的 值,约束条件为分析将非线性约束条件化为标准的不等式形式:+实例分析 4. fmincon函数MATLAB代码:%首先编写目标函数的.m文件:function f = objfun(x)f = exp(x(1)*(4*x

12、(1)2 + 2*x(2)2 + 4*x(1)*x(2) + 2*x(2) + 1);%编写非线性约束函数的.m文件: function c, ceq = confun(x)c = 1.5 + x(1)*x(2) - x(1) - x(2); -x(1)*x(2) - 10;ceq = ; %求解优化问题:x0 = -1,1; options = optimset(LargeScale,off);x, fval = fmincon(objfun,x0,confun,options)4. fmincon函数v目标函数: H4. fmincon函数vStep1:建立数学模型v 设计变量和目标函数:

13、管直径D和支架高度Hv约束条件:4. fmincon函数vStep1:建立数学模型v 约束条件:4. fmincon函数vStep2:编制程序v目标函数function f=objfun1(x)f=1.225e-4*x(1)*sqrt(577600.0+x(2)*x(2);v 约束函数function c,ceq=confun1(x)c=19098.59*sqrt(577600.0+x(2)*x(2)/(x(1)*x(2)-700.0; 19098.59*sqrt(577600.0+x(2)*x(2)/(x(1)*x(2)-2.6e5*(x(1)*x(1)+6.25)/(577600.0+x(

14、2)*x(2);ceq=; x0=1,1 lb=zeros(2,1); ub=Inf*ones(2,1); %ub= x,fval,exitflag,output,lambda,grad,hessian = fmincon(objfun1,x0,lb,ub,confun1) 多目标优化问题v1.目标规划法vx,fval,attainfactor,exitflag = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub);v函数fun以函数句柄的形式或匿名函数的形式给出,它多个目标函数构成的向量;vgoal:每个目标函数想要达到的目标,和fun具有相

15、同的维数。vWeight:每个目标函数在优化过程中重要性的体现。当某个目标函数的Weight为正值时,允许函数值大于目标值;当它为负值时,允许函数值小于目标值;如果希望某个目标值尽量接近目标值,在Options中设置“GoalsExactAchieve ”,并让该目标函数作为Fun中的第一个函数。如果希望每一个函数值从目标值有相同百分比的偏差,则设置每一个函数的weight(i)=abs(goal(i); , ,A( )( ); ( )( )( )( )x weight b beq lb ubc xceq xf xc xceq xf x其中 均是向量和Aeq是矩阵; 和是返回值为向量的函数是一

16、个返回值为标量的和函数; 而且,和可以是非线性函数.多目标优化问题v1。目标规划法v返回值:vAttainfactor:优化点处函数值超过和小于目标函数的个数统计,如果为负,则大部分函数被过估计;否则,大部分函数值小于目标值。v例1:某工厂生产I、II两种产品,有关数据见表1,在原材料有严格限制的条件下,要求产品II的产量不低于产品I,其次是充分利用设备,不加班;再者是利润不小于56元。vStep1:建模:v设计变量:产品I和II的产量 x(1),x(2)v目标函数: 利润:g1=8*x(1)+10*x(2) 56 ()产量:g2=x(2)x(1) 0 ()工时:g3= x(1)+2*x(2)

17、 10 ()III拥有量原材料(kg)2111设备(hr)1210利润(元/件)810多目标优化问题v1。目标规划法v约束条件:原材料限制:2*x(1)+x(2)=0vStep2:对目标函数指定权值:根据目标函数大于或小于目标的值,确定g1,g2权值大于0, g3权值小于0,权值绝对值的大小应该体现了各个目标函数的重要性。给定: w= 1,0.8,-1;Step3:编程求解:分析结果可以看出,增加某一个目标的权值,将使得我们得该目标函数朝着我们期望的方向取得最大值(远离goal)。如将目标函数1(利润)得权值从0增加到5000, 目标函数1得值从56变化到大约60, 而同时其他两个目标函数得值

18、朝向期望值靠得越近。即靠近goal. 这一点从规划问题得数学表达式中也可以看出,随着Weight得增加,目标函数被松弛得越多,也就是它越偏离目标值;同时,优化又是最小化gama, gama得减小,必将导致其他目标函数得松弛量得减少(其他目标函数得Weight没变),所以其他目标函数更靠近目标值。 多目标优化问题v2。极大极小法vx,fval,maxfval,exitflag,output,lambda = fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)v通过在options设置“MinAbsMax”属性,可控制同时需要最小化的目标函数的个数(目标函数的绝对值最小)。此时这几个需要同时最小化的函数必须在定义目标函数时放在其他函数前面。多目标优化问题v2。极大极小法vx,fval,maxfval,exitflag,output,lambda = fminimax(fun,x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论