第五章(优化设计).ppt
- 文档编号:2723161
- 上传时间:2022-11-09
- 格式:PPT
- 页数:37
- 大小:320.50KB
第五章(优化设计).ppt
《第五章(优化设计).ppt》由会员分享,可在线阅读,更多相关《第五章(优化设计).ppt(37页珍藏版)》请在冰豆网上搜索。
第五章第五章优化设计优化设计5.1概述
(1)无约束优化问题例:
(2)约束优化问题(3)线性规划问题目标函数和约束函数都是线性函数的优化问题。
(4)多目标规划问题目标函数个数大于1的约束或无约束优化问题5.2优化问题的求解方法最佳步长a*一般采取数值法求解下降方向d不同方法对应不同优化算法5.3优化问题的matlab求解函数5.3.1fminunc函数:
求无约束目标函数最小值用法:
x=fminunc(fun,x0)x=fminunc(fun,x0,options)x,fval=fminunc(.)x,fval,exitflag=fminunc(.)x,fval,exitflag,output=fminunc(.)x,fval,exitflag,output,grad=fminunc(.)x,fval,exitflag,output,grad,hessian=fminunc(.)X:
极小点Fval:
极小值Fun:
目标函数名字X0:
初值,列向量Option:
选项Exitflag:
=1求解成功,其他值表示不成功Output:
保存输出状态的变量Grad:
保存梯度计算值的变量Hessian:
保存目标函数Hessian矩阵的变量强烈建议使用格式xyexit=fminunc(fun,x0,options)计算设置:
op=optimset(MaxIter,10000);op=optimset(op,TolFun,1.e-4);op=optimset(op,TolX,1.e-6);xyexit=fminunc(f2,1;2,op);functionf=f2(X)y1=X
(1)+cos(X
(2);y2=sin(X
(1)+X
(2)+10;f=y1*y1+y2*y2;原选项名称,对原选项值进行修改Exitflag标志:
1:
Magnitudeofgradientsmallerthanthespecifiedtolerance.梯度幅度小于给定误差2:
Changeinxwassmallerthanthespecifiedtolerance.设计变量X变化小于给定误差3:
Changeintheobjectivefunctionvaluewaslessthanthespecifiedtolerance.目标函数值变化小于给定误差0:
Numberofiterationsexceededoptions.MaxIterornumberoffunctionevaluationsexceededoptions.FunEvals.循环次数超出给定值-1:
Algorithmwasterminatedbytheoutputfunction.失败-2:
Linesearchcannotfindanacceptablepointalongthecurrentsearchdirection.失败使用fminunc函数时,强烈建议对循环次数、梯度误差、设计变量误差、目标函数误差进行设置。
MaxIter:
Maximumnumberofiterationsallowed.TolFun:
Terminationtoleranceonthefunctionvalue.TolX:
Terminationtoleranceonx例:
(a)定义目标函数(b)调用fminunc函数(c)根据返回结果,如果计算不成功(可用计算点判断它是否满足约束条件),修改计算选项,直至计算结果满意。
5.3.2线性规划求解函数数学模型:
min:
cTxs.t:
AX=b,b的分量可以小于0AeqX=beqAeq:
等式约束矩阵;beq:
等式约束b向量lb=X=ub,如果设计变量大于0,需要设置lb=0向量lb:
左边界向量,ub:
右边界向量用法:
x=linprog(c,A,b)x=linprog(c,A,b,Aeq,beq)x=linprog(c,A,b,Aeq,beq,lb,ub)x=linprog(c,A,b,Aeq,beq,lb,ub,x0)x=linprog(c,A,b,Aeq,beq,lb,ub,x0,options)x,fval=linprog(.)x,fval,exitflag=linprog(.)x,fval,exitflag,output=linprog(.)x,fval,exitflag,output,lambda=linprog(.)SetAeq=andbeq=ifnoequalitiesexist.SetA=andb=ifnoinequalitiesexist.Setlb=andub=ifnoboudaryexist英文Help说第2个参数为Lagrange乘子参数,是错误的,实际上仍为目标函数值1:
functionconvergedtoasolutionx.0:
Numberofiterationsexceededoptions.MaxIter.-2:
Nofeasiblepointwasfound.-3:
Problemisunbounded.-4:
NaNvaluewasencounteredduringexecutionofthealgorithm.-5:
Bothprimalanddualproblemsareinfeasible.-7:
Searchdirectionbecametoosmall.Nofurtherprogresscouldbemade.例:
某车间要100套钢架,每套钢架由2.0m,2.1m,1.5m长的钢材各一段组成,现有钢材每条240m,如何分配才能使尾料最少。
段数套1套2套3套4套52.9120102.1002211.531203尾料00.10.20.30.42.9x1+5.8x2+2.9x3=2404.2x3+4.2x4+2.1x5=2404.5x1+1.5x2+3x3+4.5x5=0Min0.1x2+0.2x3+0.3x4+0.4x55.3.3二次规划求解函数quadprog数学模型:
x=quadprog(G,q,A,b)x=quadprog(G,q,A,b,Aeq,beq)x=quadprog(G,q,A,b,Aeq,beq,lb,ub)x=quadprog(G,q,A,b,Aeq,beq,lb,ub,x0)x=quadprog(G,q,A,b,Aeq,beq,lb,ub,x0,options)返回标志:
1:
Functionconvergedtoasolutionx.3:
Changeintheobjectivefunctionvaluewassmallerthanthespecifiedtolerance.4:
Localminimizerwasfound.0:
Numberofiterationsexceededoptions.MaxIter.-2:
Problemisinfeasible.-3:
Problemisunbounded.-4:
Currentsearchdirectionwasnotadirectionofdescent.Nofurtherprogresscouldbemade.-7:
Magnitudeofsearchdirectionbecametoosmall.Nofurtherprogresscouldbemade.x,fval=quadprog(.)x,fval,exitflag=quadprog(.)x,fval,exitflag,output=quadprog(.)x,fval,exitflag,output,lambda=quadprog(.)例:
5.3.4约束优化函数fmincon返回向量的函数用法:
x=fmincon(fun,x0,A,b)x=fmincon(fun,x0,A,b,Aeq,beq)x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub)x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)x,fval=fmincon(.)x,fval,exitflag=fmincon(.)x,fval,exitflag,output=fmincon(.)x,fval,exitflag,output,lambda=fmincon(.)x,fval,exitflag,output,lambda,grad=fmincon(.)x,fval,exitflag,output,lambda,grad,hessian=fmincon(.)Fun:
目标函数Nonlcon:
非线性约束函数注意:
(1)SetA=andb=ifnoinequalitiesexist
(2)SetAeq=andbeq=ifnoequalitiesexist.Setlb(i)=-Infifx(i)isunboundedbelow,andsetub(i)=Infifx(i)isunboundedabove.(3)setlb=and/orub=ifnoboundsexist.(4)Setnonlcon=iftherearenononlinearinequalityorequalityconstraints.(5)inequalitiesc(x)orequalitiesceq(x)isdefinedinnonlcon.用户不自己定义梯度求解函数时,目标函数定义:
functionf=myfun(x)f=.%Computefunctionvalueatx用户自己定义梯度求解函数,并且选项GradObj为on即定义了选项:
options=optimset(GradObj,on)目标函数必须如下定义:
functionf,g=myfun(x)f=.%Computethefunctionvalueatxifnargout1%funcalledwithtwooutputargumentsg=.%ComputethegradientevaluatedatxendiftheHessianmatrixcanalsobecomputedandtheHessianoptionison,i.e.,options=optimset(Hessian,on),目标函数必须如下定义:
functionf,g,H=myfun(x)f=.%Computetheobjectivefunctionvalueatxifnargout1%funcalledwithtwooutputargumentsg=.%GradientofthefunctionevaluatedatxEndifnargout2H=.%Hessianevaluatedatxend非线性约束用法:
x=fmincon(myfun,x0,A,b,Aeq,beq,lb,ub,mycon)非线性约束必须如下定义:
functionc,ceq=mycon(x)c=.%Computenonlinearinequalitiesatx.ceq=.%Computenonlinearequalitiesatx.如果选项GradConstr设置为on,assetbyoptions=optimset(GradConstr,on)非线性约束函数必须如下定义:
无不等式约束时,使用语句C=;或使用Ceq=functionc,ceq,GC,GC
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五 优化 设计