




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 Matlab在最优化问题中的应用 优化理论是一门实践性很强的学科,广泛应用于生产管理、军事指挥和科学试验等各种领域,Matlab优化工具箱提供了对各种优化问题的一个完整的解决方案。在数学上,所所谓优化化问题,就就是求解解如下形形式的最最优解: Minn fuun (x) Subb. tto C.E. B.CC.其中funn (xx)称为为目标函函数,“Subb. tto”为“subbjecct tto”的缩写写,由其其引导的的部分称称为约束束条件。C.EE.表表示Coondiitioon EEquaatioons,即即条件方方程,可可为等式式方程,也也可为不不等式方方程。B.CC.表表示Bo
2、ounddaryy Coondiitioons,即即边界条条件,用用来约束束自变量量的求解解域,以以lbxub的的形式给给出。当当C.E.为空时时,此优优化问题题称为自自由优化化或无约约束优化化问题;当CC.E.不空空时,称称为有约束优优化或强强约束优优化问题题。在优化问题题中,根根据变量量、目标标函数和和约束函函数的不不同,可可以将问问题大致致分为:线性优化化 目标函函数和约约束函数数均为线线性函数数。二次优化化 目标函函数为二二次函数数,而约约束条件件为线性性方程。线线性优化化和二次次优化统统称为简简单优化化。非线性优优化 目目标函数数为非二二次的非非线性函函数,或或约束条条件为非非线性方
3、方程。多目标优优化 目目标函数数并非一一个时,称称为多目目标优化化问题。本章将对以以上几类类优化问问题在MMatllab中中的实现现作比较较详细的的讲解。另另外还将将介绍两两个利用用优化方方法解非非线性方方程的函函数。通过本章的的介绍,用用户可以以不必掌掌握艰涩涩的各种种优化算算法而轻轻易地解解决一些些常用的的最优化化问题了了。10.1 线性规规划问题题线性规划问问题即目目标函数数和约束束条件均均为线性性函数的的问题。其标准形式式为:min CCxsub. To AAx = b xx0其中C, b, 0Rn,ARmn,均为为数值矩矩阵,xxRn。若目标函数数为:mmax Cx,则则转换成成:m
4、iin Cx。标准形式的的线性规规划问题题简称为为LP(LLineear Proograammiing)问问题。其其它形式式的线性性规划问问题经过过适当的的变换均均可以化化为此种种标准形形。线性性规划问问题虽然然简单,但但在工农农业及其其他生产产部门中中应用十十分广泛泛。在Matllab中中,线性性规划问问题由llinpprogg函数求求解。函数:liinprrog %求解解如下形形式的线线性规划划问题: suuch thaat 其中中f, x, b, beqq, llb, ub为为向量,A, Aeq为矩阵。格式:x = llinpprogg(f,A,bb)x = llinpprogg(f,A
5、,bb,Aeeq,bbeq)x = llinpprogg(f,A,bb,Aeeq,bbeq,lb,ub)x = llinpprogg(f,A,bb,Aeeq,bbeq,lb,ub,x0)x = llinpprogg(f,A,bb,Aeeq,bbeq,lb,ub,x0,opttionns)x,fvval = linnproog(.)x,fvval,exiitfllag = linnproog(.)x,fvval,exiitfllag,outtputt = liinprrog(.)x,fvval,exiitfllag,outtputt,laambdda = llinpprogg(.)说明:x =
6、llinpprogg(f,A,bb) 求解问问题 mmin f*x,约约束条件件为A*x0 表示目目标函数数收敛于于解x处处;=0 表示已已经达到到函数评评价或迭迭代的最最大次数数; f=-55;-44;-66; A=1 -1 1;33 2 4;33 2 0; b=200;422;300; lbb=zeeross(3,1); xx,fvval,exiitfllag,outtputt,laambdda=linnproog(ff,A,b,llb)Optimmizaatioon ttermminaatedd suucceessffullly.x = 00.00000 155.00000 33.000
7、00fval = -788.00000exitfflagg = 1outpuut = itteraatioons: 6 ccgitteraatioons: 0 aalgooritthm: llipssollambdda = iineqqlinn: 3x11 dooublle eqqlinn: 0 x11 dooublle uppperr: 3x11 dooublle loowerr: 3x11 dooublle laambdda.iineqqlinnans = 00.00000 11.50000 00.50000 laambdda.lloweerans = 11.00000 00.00000
8、00.00000lambdda向量量中的非非零元素素表示哪哪些约束束是主动动约束。本本例中,第第2个和和第3个个不等式式约束,第第1个下下界约束束是主动动约束(如如这些解解位于约约束边界界上)。exitflag = 1表示过程正常收敛于解x处。例10-22 生产产决策问问题。某厂生产甲甲乙两种种产品,已知制成一吨产品甲需资源A 3吨,资源B 4m3;制成一吨产品乙需资源A 2吨,资源B 6 m3;资源C 7个单位。若一吨产品甲和乙的经济价值分别为7万元和5万元,三种资源的限制量分别为90吨、200 m3和210个单位,试决定应生产这两种产品各多少吨才能使创造的总经济价值最高?解:令生产产产品甲
9、甲的数量量为x11,生产产产品甲甲的数量量为x22。由题题意可以以建立下下面的数数学模型型: subb. tto 该模型中要要求目标标函数最最大化,需需要按照照Mattlabb的要求求进行转转换,即即目标函函数为 在Matllab中中实现: f=-77;-55; A=3 2;44 6;0 77; b=900;2000;2210; lbb=00;0; xx,fvval,exiitfllag,outtputt,laambdda=linnproog(ff,A,b,llb)Optimmizaatioon ttermminaatedd suucceessffullly.x = 144.00000 244
10、.00000fval = -2188.00000exitfflagg = 1outpuut = itteraatioons: 5 ccgitteraatioons: 0 aalgooritthm: llipssollambdda = iineqqlinn: 3x11 dooublle eqqlinn: 0 x11 dooublle uppperr: 2x11 dooublle loowerr: 2x11 dooublle由上可知,生生产甲种种产品114吨、乙乙种产品品24吨吨可使创创造的总总经济价价值最高高为2118万元元。exxitfflagg = 1表示示过程正正常收敛敛于解xx处。例10
11、-33 厂址址选择问问题。考虑A、BB、C三三地,每每地都出出产一定定数量的的原料也也消耗一一定数量量的产品品(见下下表)。已已知制成成每吨产产品需33吨原料料,各地地之间的的距离为为:AB:1150kkm,AAC:1100kkm,BBC:2200kkm。假假定每万万吨原料料运输11km的的运价是是50000元,每每万吨产产品运输输1kmm的运价价是60000元元。由于于地区条条件的差差异,在在不同地地点设厂厂的生产产费用也也不同。问究竟在哪些地方设厂,规模多大,才能使总费用最小?另外,由于其它条件限制,在B处建厂的规模(生产的产品数量)不能超过5万吨。A、B、CC三地出出产原料料、消耗耗产品
12、情情况表地点年产原料(万万吨)年销产品(万万吨)生产费用(万万元/万万吨)A207150B1613120C240100解:令为由由i地运到到j地的原原料数量量(万吨吨),为为由i地运到到j地的产产品数量量(万吨吨),ii,j = 1,22,3(分分别对应应A、BB、C三三地)。根根据题意意,可以以建立问问题的数数学模型型(其中中目标函函数包括括原料运运输费、产产品运输输费和生生产费用用(万元元):min sub.tto 在Mattlabb中实现现: f=755;755;500;500;1000;1100;1500;2440;2210;1200;1660;2220; A=1 -1 1 -1 00
13、 0 3 33 0 0 00 0 -11 1 0 00 1 -1 0 00 3 3 00 0 0 0 -1 11 -11 1 0 00 0 0 33 3 0 0 00 0 0 00 0 0 11 1 0 00; b=200;166;244;5; Aeeq=0 00 0 0 00 0 1 00 1 0 11 0 0 00 0 0 00 0 0 11 0 1 00 1; beeq=7;113; lbb=zeeross(122,1); x,ffvall,exxitfflagg,ouutpuut,llambbda=liinprrog(f,AA,b,Aeqq,beeq,llb)Optimmizaatio
14、on ttermminaatedd suucceessffullly.x = 00.00000 11.00000 00.00000 00.00000 00.00000 00.00000 77.00000 00.00000 00.00000 55.00000 00.00000 88.00000fval = 3.448500e+0003exitfflagg = 1outpuut = itteraatioons: 8 ccgitteraatioons: 0 aalgooritthm: llipssollambdda = iineqqlinn: 4x11 dooublle eqqlinn: 2x11
15、dooublle uppperr: 12xx1 ddoubble loowerr: 12xx1 ddoubble因此,要使使总费用用最小,需需要B地地向A地地运送11万吨原原料,AA、B、CC三地的的建厂规规模分别别为7万万吨、55万吨、88万吨。最最小总费费用为334855万元。10.2 非线性性规划问问题10.2.1非线线性无约约束规划划问题无约束规划划由3个个功能函函数fmminbbnd、fminsearch、fminunc实现。10.2.1.11 fmminbbnd函函数函数:fmminbbnd功能:求取取固定区区间内单单变量函函数的最最小值,也也就是一一元函数数最小值值问题。数学模型
16、: 式中,和为为标量,为函数,返回标量。格式:x = ffminnbndd(fuun,xx1,xx2)x = ffminnbndd(fuun,xx1,xx2,ooptiionss)x = ffminnbndd(fuun,xx1,xx2,ooptiionss,P11,P22,.)x,fvval = fmiinbnnd(.)x,fvval,exiitfllag = fmiinbnnd(.)x,fvval,exiitfllag,outtputt = fmminbbnd(.)说明:fminbbnd 求取固固定区间间内单变变量函数数的最小小值x = ffminnbndd(fuun,xx1,xx2) 返回
17、x1, x22区间间上fuun参数数描述的的标量函函数的最最小值点点x。x = ffminnbndd(fuun,xx1,xx2,ooptiionss) 用opttionns参数数指定的的优化参参数进行行最小化化。x = ffminnbndd(fuun,xx1,xx2,ooptiionss,P11,P22,.) 提供另另外的参参数P11,P22等,传传输给目目标函数数funn。如果果没有设设置opptioons选选项,则则令opptioons = 。x,fvval = fmiinbnnd(.) 返回解解x处目目标函数数的值。x,fvval,exiitfllag = fmiinbnnd(.) 返回
18、exxitfflagg值描述述fmiinbnnd函数数的退出出条件。x,fvval,exiitfllag,outtputt = fmminbbnd(.) 返回包包含优化化信息的的结构输输出。fun:需要最最小化的的目标函函数。ffun函函数需要要输入标标量参数数x,返返回x处处的目标标函数标标量值ff。可以以将fuun函数数指定为为命令行行,如 x = ffminnbndd (iinliine (sinn (xx*x), x0)同样,fuun参数数可以是是一个包包含函数数名的字字符串。对对应的函函数可以以是M文文件、内内部函数数或MEEX文件件。若ffun = myffun, 则x = ffm
19、innbndd(mmyfuun,xx0)其中M文件件函数mmyfuun.mm必须为为下面的的形式 funnctiion f = myyfunn (xx) f = %计算xx处的函函数值。optiionss:优化化参数选选项。你你可以用用opttimsset函函数设置置或改变变这些参参数的值值。Optiionss参数有有以下几几个选项项: DDispplayy 显显示的水水平。选选择offf,不显显示输出出;选择择iteer,显示示每一步步迭代过过程的输输出;选选择finnal,显示示最终结结果; MMaxFFunEEvalls 函数数评价的的最大允允许次数数; MMaxIIterr 最最大允许
20、许迭代次次数; TTolXX x处处的终止止容限。exittflaag:描描述退出出条件: 0 表示示目标函函数收敛敛于解xx处; 0 表示示已经达达到函数数评价或或迭代的的最大次次数; xx,y_minn=ffminnbndd(ssin(x),0,2*ppi)x = 44.71124y_minn = -11.00000或 x,yy_miin=fmiinbnnd(sinn,0,2*ppi)x = 44.71124y_minn = -11.00000例10-55 对边边长为33m的正正方形铁铁板,在在四个角角处剪去去相等的的小正方方形以制制成方形形无盖盒盒子,问问如何剪剪法使盒盒子容积积最大?解
21、:设剪去去的正方方形的边边长为xx,则盒盒子容积积为 f (x) = (3-2x)2 x现在要求在在区间(0, 1.55)上确确定x,使使f (x)最最大化。因因为优化化工具箱箱中要求求目标函函数最小小化,所所以需要要对目标标函数进进行转换换,即要要求-f (x)最最小化。在Matllab中中实现: xx,f_minn=ffminnbndd(-(3-2*xx)22*x,0,1.55)x = 00.50000f_minn = -22.00000或编写M文文件Exx10005.mm xx,f_minn=ffminnbndd(EEx10005,0,11.5)x = 00.50000f_minn =
22、-22.00000即剪去边长长为0.5 mm的正方方形,最最大容积积为2 m3。10.2.1.22 fmminssearrch函函数函数:fmminssearrch功能:求解解多变量量无约束束函数的的最小值值。数学模型: 其中,为向向量,为为一函数,返返回标量量。 格格式:xx = fmiinseearcch(ffun,x0)x = ffminnseaarchh(fuun,xx0,ooptiionss)x = ffminnseaarchh(fuun,xx0,ooptiionss,P11,P22,.)x,fvval = fmiinseearcch(.)x,fvval,exiitfllag = f
23、miinseearcch(.)x,fvval,exiitfllag,outtputt = fmminssearrch(.)说明:fminssearrch 求解多多变量无无约束函函数的最最小值。该该函数常常用于无无约束非非线性最最优化问问题。x = ffminnseaarchh(fuun,xx0) 初值为为x0,求求funn函数的的局部极极小点xx。x00可以是是标量、向向量或矩矩阵。x = ffminnseaarchh(fuun,xx0,ooptiionss) 用opttionns参数数指定的的优化参参数进行行最小化化。x = ffminnseaarchh(fuun,xx0,ooptiions
24、s,P11,P22,.) 将问题题参数PP1、PP2等直直接输给给目标函函数fuun,将将opttionns参数数设置为为空矩阵阵,作为为opttionns参数数的默认认值。x,fvval = fmiinseearcch(.) 将x处处的目标标函数值值返回到到fvaal参数数中。x,fvval,exiitfllag = fmiinseearcch(.) 返回exxitfflagg值,描描述函数数的退出出条件。x,fvval,exiitfllag,outtputt = fmminssearrch(.) 返回包包含优化化信息参参数ouutpuut的结结构输出出。各变量的意意义同前前及下面fmmin
25、uunc函函数。注意:(1)应用用fmiinseearcch函数数可能会会得到局局部最优优解;(2)fmminssearrch函函数只对对实数进进行最小小化,即即x必须须由实数数组成,ff (xx)函数数必须返返回实数数。如果果x为复复数,则则必须将将它分为为实数部部和虚数数部两部部分;(3)对于于求解二二次以上上的问题题,fmminuunc函函数比ffminnseaarchh函数有有效,但但对于高高度非线线性不连连续问题题时,ffminnseaarchh函数更更具稳键键性。(4)fmminssearrch函函数不适适合求解解平方和和问题,用用lsqqnonnlinn函数更更好一些些。例10-
26、66 求22x13+4xx1x23-100 x1x2+x22的最小小值。解:在Maatlaab中实实现如下下: f=2*x(11)33+4*x(11)*xx(2)3-10*x(11)*xx(2)+x(2)2; x00=00,0; xx,f_minn=ffminnseaarchh(f,x0)x = 11.00016 0.883355f_minn = -33.32241或在Mattlabb编辑器器中编辑辑M文件件Ex10006.m:functtionn f=Ex10006(x)f=2*xx(1)3+4*xx(1)*x(2)3-110*xx(1)*x(2)+x(22)22;x0=00,0;命令窗口运
27、运行: xx,f_minn=ffminnseaarchh(EEx10006,x0)x = 11.00016 0.883355f_minn = -33.32241运行后结果果一致。10.2.1.33 fmminuunc函函数函数:fmminuunc功能:求多多变量无无约束函函数的最最小值。数学模型: 其中,为向向量,为为一函数数,返回回标量。 格格式:xx = fmiinunnc(ffun,x0)x = ffminnuncc(fuun,xx0,ooptiionss)x = ffminnuncc(fuun,xx0,ooptiionss,P11,P22,.)x,fvval = fmiinunnc(.
28、)x,fvval,exiitfllag = fmiinunnc(.)x,fvval,exiitfllag,outtputt = fmminuunc(.)x,fvval,exiitfllag,outtputt,grrad = fmiinunnc(.)x,fvval,exiitfllag,outtputt,grrad,hesssiaan = ffminnuncc(.)说明:fminuunc 给定初初值,求求多变量量标量函函数的最最小值。常常用于无无约束非非线性最最优化问问题。x = ffminnuncc(fuun,xx0) 给定初初值x00,求ffun函函数的局局部极小小点x。xx0可以以是标量量
29、、向量量或矩阵阵。x = ffminnuncc(fuun,xx0,ooptiionss) 用opttionns参数数指定的的优化参参数进行行最小化化。x = ffminnuncc(fuun,xx0,ooptiionss,P11,P22,.) 将问题题参数PP1、PP2等直直接输给给目标函函数fuun,将将opttionns参数数设置为为空矩阵阵,作为为opttionns参数数的默认认值。x,fvval = fmiinunnc(.) 将x处处的目标标函数值值返回到到fvaal参数数中。x,fvval,exiitfllag = fmiinunnc(.) 返回exxitfflagg值,描描述函数数的
30、退出出条件。x,fvval,exiitfllag,outtputt = fmminuunc(.) 返回包包含优化化信息参参数ouutpuut的结结构输出出。x,fvval,exiitfllag,outtputt,grrad = fmiinunnc(.) 将解xx处fuun函数数的梯度度值返回回到grrad参参数中。x,fvval,exiitfllag,outtputt,grrad,hesssiaan = ffminnuncc(.) 将解xx处目标标函数的的Hesssiaan矩阵阵信息返返回到hhesssiann参数中中。fun变变量:为为目标函函数。需需要最小小化的目目标函数数。fuun函数数
31、需要输输入向量量参数xx,返回回x处的的目标函函数标量量值f。可可以将ffun函函数指定定为命令令行,如如x = ffminnuncc(innlinne(norrm(xx)22),x0)同样,fuun函数数可以是是一个包包含函数数名的字字符串。对对应的函函数可以以是M文文件、内内部函数数或MEEX文件件。若ffun = myffun,则x = ffminnuncc(mmyfuun,xx0)其中M文件件函数mmyfuun.mm必须有有下面的的形式:functtionn f = mmyfuun (x)f = %计计算x处处的函数数值。若fun函函数的梯梯度可以以算得,且且opttionns.GGr
32、addObjj设为on(用下下式设定定) opttionns = opptimmsett (GraadObbj, on)则fun函函数必须须返回解解x处的的梯度向向量g到到第二个个输出变变量中去去。注意意,当被被调用的的funn函数只只需要一一个输出出变量时时(如算算法只需需要目标标函数的的值而不不需要其其梯度值值时),可可以通过过核对nnarggoutt的值来来避免计计算梯度度值functtionnf, g = myffun (x)f = %计计算x处处的函数数值if naargoout 11 %调调用fuun函数数并要求求有两个个输出变变量 g = %计算xx处的梯梯度值end若Hesss
33、iann矩阵可可以求得得,并且且opttionns. Hesssiaan设为为on,即 ooptiionss = opttimsset (Hesssiaan, on)则fun函函数必须须返回解解x处的的Hesssiaan对称称矩阵HH到第三三个输出出变量中中去。注注意,当当被调用用的fuun函数数只需要要一个或或两个输输出变量量时(如如算法只只需要目目标函数数的值ff和梯度度值g而而不需要要Hesssiaan矩阵阵H时),可可以通过过核对nnarggoutt的值来来避免计计算Heessiian矩矩阵functtionnf, g = myffun (x)f = %计计算x处处的函数数值if na
34、argoout 11 %调调用fuun函数数并要求求有两个个输出变变量 g = %计算xx处的梯梯度值 if narrgouut 2 H = %计算xx处的HHesssiann矩阵endoptiionss变量:优化参参数选项项。可以以通过ooptiimseet函数数设置或或改变这这些参数数。其中中有的参参数适用用于所有有的优化化算法,有有的则只只适用于于大型优优化问题题,另外外一些则则只适用用于中型型问题。首先描述适适用于大大型问题题的选项项。这仅仅仅是一一个参考考,因为为使用大大型问题题算法有有一些条条件。对对于fmminuunc函函数来说说,必须须提供梯梯度信息息 LarrgeSScall
35、e 当设为为on时,使使用大型型算法,若若设为offf则使用用中型问问题的算算法适用于大型型和中型型算法的的参数: Diaagnoostiics 打印最最小化函函数的诊诊断信息息 Dissplaay 显显示水平平。选择择offf,不显显示输出出;选择择iteer,显示示每一步步迭代过过程的输输出;选选择finnal,显示示最终结结果 GraadObbj 用用户定义义的目标标函数的的梯度。对对于大型型问题此此参数是是必选的的,对于于中型问问题则是是可选项项 MaxxFunnEvaals 函数评评价的最最大次数数 MaxxIteer 最最大允许许迭代次次数 TollFunn 函数数值的终终止容限限
36、 TollX xx处的终终止容限限只适用于大大型算法法的参数数: Hesssiaan 用用户定义义的目标标函数的的Hesssiaan矩阵阵 HesssPaatteern 用于有有限差分分的Heessiian矩矩阵的稀稀疏形式式。若不不方便求求funn函数的的稀疏HHesssiann矩阵HH,可以以通过用用梯度的的有限差差分获得得的H的的稀疏结结构(如如非零值值的位置置等)来来得到近近似的HHesssiann矩阵HH。若连连矩阵的的稀疏结结构都不不知道,则则可以将将HesssPaatteern设设为密集集矩阵,在在每一次次迭代过过程中,都都将进行行密集矩矩阵的有有限差分分近似(这这是默认认设置)
37、。这这将非常常麻烦,所所以花一一些力气气得到HHesssiann矩阵的的稀疏结结构还是是值得的的 MaxxPCGGIteer PPCG迭迭代的最最大次数数 PreeconndBaandWWidtth PPCG前前处理的的上带宽宽,默认认时为零零。对于于有些问问题,增增加带宽宽可以减减少迭代代次数 TollPCGG PCCG迭代代的终止止容限 TyppicaalX 典型xx值只适用于中中型算法法的参数数: DerrivaativveChheckk 对用用户提供供的导数数和有限限差分求求出的导导数进行行对比 DifffMaaxChhangge 变变量有限限差分梯梯度的最最大变化化 DifffMii
38、xChhangge 变变量有限限差分梯梯度的最最小变化化 LinneSeearcchTyype 一维搜搜索算法法的选择择exittflaag变量量:描述述退出条条件: 0 表示目目标函数数收敛于于解x处处 0 表示已已经达到到函数评评价或迭迭代的最最大次数数 x00=11,1; xx,fvval=fmminuunc(Exx100071,x0)Warniing: Grradiientt muust be proovidded forr trrustt-reegioon mmethhod; ussingg liine-seaarchh meethood iinstteadd. In E:mattl
39、abb6p11tooolbboxopttimfmiinunnc.mm att liine 2111 Optiimizzatiion terrminnateed ssucccesssfullly: Searrch dirrecttionn leess thaan 22*opptioons.TollXx = 1.00e-0008 * -00.75591 0.226655fval = 1.339533e-0016下面用提供供的梯度度g最小小化函数数,修改改M文件件为Exx100072.m:functtionn ff,g=Exx100072(x)f=3*xx(1)2+2*xx(1)*x(2)+x(22
40、)22;if naargoout1 gg(1)=6*x(11)+22*x(2); gg(2)=2*x(11)+22*x(2);end下面通过将将优化选选项结构构opttionns.GGraddObjj设置为为on来得到到梯度值值。 opptioons=opttimsset(GrradOObj,oon); x00=11,1; xx,fvval=fmminuunc(Exx100072,x0,opttionns)Optimmizaatioon ttermminaatedd suucceessffullly: Firsst-oordeer ooptiimallityy leess thaan OOPT
41、IIONSS.ToolFuun, andd noo neegattivee/zeero currvatturee deeteccteddx = 1.00e-0015 * 00.11110 -0.888822fval = 6.228622e-0031例10-88 求函函数f (x) = e xx1(44x12+2xx22+4xx1x2+2xx2+1)的最小小值。解:在Maatlaab中实实现:x,fvaal,eexittflaag,ooutpput=fmminuunc(exxp(xx(1)*(4*xx(1)2+2*xx(2)2+4*xx(1)*x(2)+2*xx(2)+1),-1,1)Warni
42、ing: Grradiientt muust be proovidded forr trrustt-reegioon mmethhod; ussingg liine-seaarchh meethood iinstteadd. In E:mattlabb6p11tooolbboxopttimfmiinunnc.mm att liine 2111 Optiimizzatiion terrminnateed ssucccesssfullly: Currrentt seearcch ddireectiion is a ddesccentt diirecctioon, andd maagniitudde
43、 oof direectiionaal dderiivattivee inn seearcch ddireectiion lesss tthann 2*opttionns.TTolFFunx = 00.50000 -1.000000fval = 1.330288e-0010exitfflagg = 1outpuut = iiterratiionss: 77 funncCoountt: 440 sttepssizee: 11 ffirsstorrderroptt: 88.19998ee-0004 alggoriithmm: meddiumm-sccalee: QQuassi-NNewtton l
44、inne ssearrch例10-99 求无无约束非非线性问问题 f (x) = 1100 (x22-x12)2+(11-x1)2 xx0 = -1.22, 11解:在Maatlaab中实实现: x00=-1.22,1; xx,fvval=fmminuunc(1000*(x(22)-xx(1)2)2+(1-x(11)2,x0)Warniing: Grradiientt muust be proovidded forr trrustt-reegioon mmethhod; ussingg liine-seaarchh meethood iinstteadd. In E:mattlabb6p11t
45、ooolbboxopttimfmiinunnc.mm att liine 2111Optimmizaatioon ttermminaatedd suucceessffullly: Currrentt seearcch ddireectiion is a ddesccentt diirecctioon, andd maagniitudde oof direectiionaal dderiivattivee inn seearcch ddireectiion lesss tthann 2*opttionns.TTolFFunx = 11.00000 1.000000fval = 1.991166e
46、-001110.2.2 二二次规划划数学模型:如果某某非线性性规划的的目标函函数为自自变量的的二次函函数,约约束条件件全是线线性函数数,就称称这种规规划为二二次规划划。其数数学模型型为 其中,和和为矩阵阵,和为向量量。函数:quuadpprogg功能:求解解二次规规划问题题。格式:x = qquaddproog(HH,f,A,bb)x = qquaddproog(HH,f,A,bb,Aeeq,bbeq)x = qquaddproog(HH,f,A,bb,Aeeq,bbeq,lb,ub)x = qquaddproog(HH,f,A,bb,Aeeq,bbeq,lb,ub,x0)x = qquadd
47、proog(HH,f,A,bb,Aeeq,bbeq,lb,ub,x0,opttionns)x = qquaddproog(HH,f,A,bb,Aeeq,bbeq,lb,ub,x0,opttionns,pp1,pp2,.)x,fvval = quaadprrog(.)x,fvval,exiitfllag = quaadprrog(.)x,fvval,exiitfllag,outtputt = quuadpprogg(.)x,fvval,exiitfllag,outtputt,laambdda = qquaddproog(.)说明:x = qquaddproog(HH,f,A,bb) 返回向向量x
48、,最最小化函函数1/2*xx*H*x+ff*x,其其约束条条件为AA*x=b。x = qquaddproog(HH,f,A,bb,Aeeq,bbeq) 仍求上上面的解解,但添添加了等等式约束束条件AAeq*x = beeq。x = qquaddproog(HH,f,A,bb,Aeeq,bbeq,lb,ub) 定义设设计变量量的下界界lb和和上界uub,使使得lbb=xx H=1 -1;-1 2; f=-22;-66; A=1 1;-1 22;2 1; b=2;2;33; lbb=zeeross(2,1); xx,fvval,exiitfllag,outtputt,laambdda=quaadp
49、rrog(H,ff,A,b,llb)Warniing: Laargee-sccalee meethood ddoess noot ccurrrenttly sollve thiis pprobblemm foormuulattionn,switcchinng tto mmediium-scaale metthodd. In E:mattlabb6p11tooolbboxopttimquaadprrog.m aat llinee 2113Optimmizaatioon ttermminaatedd suucceessffullly.x = 00.66667 11.33333fval = -88.
50、22222exitfflagg = 1outpuut = iiterratiionss: 33 alggoriithmm: meddiumm-sccalee: aactiive-sett ffirsstorrderroptt: cgiiterratiionss: lambdda = loowerr: 2x11 dooublle uppperr: 2x11 dooublle eqqlinn: 0 x11 dooublle inneqllin: 33x1 douublee laambdda.lloweerans = 00 0 laambdda.iineqqlinnans = 33.11111 00
51、.44444 010.2.3 有有约束规规划函数:fmminccon功能:求多多变量有有约束非非线性函函数的最最小值。数学模型: 其中,和为向量量,和为矩阵阵,和为函数数,返回回标量。,和可以是非线性函数。 格格式:xx = fmiincoon(ffun,x0,A,bb)x = ffminnconn(fuun,xx0,AA,b,Aeqq,beeq)x = ffminnconn(fuun,xx0,AA,b,Aeqq,beeq,llb,uub)x = ffminnconn(fuun,xx0,AA,b,Aeqq,beeq,llb,uub,nnonllconn)x = ffminnconn(fuun,
52、xx0,AA,b,Aeqq,beeq,llb,uub,nnonllconn,opptioons)x = ffminnconn(fuun,xx0,AA,b,Aeqq,beeq,llb,uub,nnonllconn,opptioons,P1,P2, .)x,fvval = fmiincoon(.)x,fvval,exiitfllag = fmiincoon(.)x,fvval,exiitfllag,outtputt = fmminccon(.)x,fvval,exiitfllag,outtputt,laambdda = ffminnconn(.)x,fvval,exiitfllag,outtput
53、t,laambdda,ggradd = fmminccon(.)x,fvval,exiitfllag,outtputt,laambdda,ggradd,heessiian = fmiincoon(.)说明:fminccon 求多变变量有约约束非线线性函数数的最小小值。该该函数常常用于有有约束非非线性优优化问题题。x = ffminnconn(fuun,xx0,AA,b) 给定初初值x00,求解解funn函数的的最小值值点x。ffun函函数的约约束条件件为A*x=b,xx0可以以是标量量、向量量或矩阵阵。x = ffminnconn(fuun,xx0,AA,b,Aeqq,beeq) 最小化化fu
54、nn函数,约约束条件件为A*x=b和AAeq*x = beeq。若若没有不不等式存存在,则则设置AA = ,b = 。x = ffminnconn(fuun,xx0,AA,b,Aeqq,beeq,llb,uub) 定义设设计变量量x的下下界lbb和上界界ub,使使得lbb=xx=uub。若若无等式式存在,则则令Aeeq = ,bbeq = 。x = ffminnconn(fuun,xx0,AA,b,Aeqq,beeq,llb,uub,nnonllconn) 在上面面的基础础上,在在nonnlcoon参数数中提供供非线性性不等式式c (x)或或等式cceq (x)。fmminccon函函数要求求
55、c (x)=0且且ceqq (xx) = 0。当当无边界界存在时时,令llb = 和(或或)ubb = 。x = ffminnconn(fuun,xx0,AA,b,Aeqq,beeq,llb,uub,nnonllconn,opptioons) 用opttionns参数数指定的的参数进进行最小小化。x = ffminnconn(fuun,xx0,AA,b,Aeqq,beeq,llb,uub,nnonllconn,opptioons,P1,P2, .) 将问题题参数PP1,PP2等直直接传递递给函数数funn和noonlccon。若若不需要要参数A,b,Aeqq,beqq,lb,ub,nonnlc
56、oon和opttionns,将它们们设置为为空矩阵阵。x,fvval = fmiincoon(.) 返回解解x处的的目标函函数值。x,fvval,exiitfllag = fmiincoon(.) 返回exxitfflagg参数,描描述计算算的退出出条件。x,fvval,exiitfllag,outtputt = fmminccon(.) 返回包包含优化化信息的的结构输输出ouutpuut。x,fvval,exiitfllag,outtputt,laambdda = ffminnconn(.) 返回解解x处包包含Laagraangee乘子的的lammbdaa参数。x,fvval,exiitfl
57、lag,outtputt,laambdda,ggradd = fmminccon(.) 返回解解x处ffun函函数的梯梯度。x,fvval,exiitfllag,outtputt,laambdda,ggradd,heessiian = fmiincoon(.) 返回解解x处ffun函函数的HHesssiann矩阵。nonllconn参数该参数计算算非线性性不等式式约束cc (xx)2 %被调调用的nnonllconn函数,要要求有44个输出出变量 GGC = %不不等式的的梯度 GGCeqq = %等式的的梯度end若nonllconn函数返返回m元元素的向向量c和和长度为为n的xx,则cc
58、(xx)的梯梯度GCC是一个个nm的矩矩阵,其其中GCC(i, jj)是cc (jj)对xx (ii)的偏偏导数。同同样,若若ceqq是一个个p元素素的向量量,则cceq (x)的梯度度GCeeq是一一个np的矩矩阵,其其中GCCeq(i, jj)是cceq (j)对x (i)的偏导导数。其它参数意意义同前前。注意:(1)大型型优化问问题: (11.1)使使用大型型算法,必必须在ffun函函数中提提供梯度度信息(ooptiionss.GrradOObj设设置为on)。如如果没有有梯度信信息,则则将给出出警告信信息。 Fminnconn函数允允许g (x)为一近近似梯度度,但使使用真正正的梯度度
59、将使优优化过程程更具稳稳键性。 (11.2)当对矩阵的二阶导数(即Hessian矩阵)进行计算后,用该函数求解大型问题将更有效。但不需要求得真正的Hessian矩阵,如果能提供Hessian矩阵稀疏结构的信息(用options参数的HessPattern属性),则fmincon函数可以算得Hessian矩阵的稀疏有限差分近似。 (11.3)若若x0不不是严格格可行的的,则ffminnconn函数选选择一个个新的严严格可行行初始点点。 (11.4)若若x的某某些元素素没有上上界或下下界,则则fmiincoon函数数更希望望对应的的元素设设置为IInf(对对于上界界)或-Inf(对对于下界界),而
60、而不希望望强制性性地给上上界赋一一个很大大的值,给给下界一一个很小小的负值值。 (11.5)线线性约束束最小化化课题中中也有几几个问题题需要注注意: Aeqq矩阵中中若存在在密集列列或近密密集列(AA deensee orr faairlly ddensse ccoluumn),会会导致满满秩并使使计算费费时; fmiincoon函数数剔除AAeq中中线性相相关的行行。此过过程需要要进行反反复的因因子分解解,因此此,如果果相关行行很多的的话,计计算将是是一件很很费时的的事情; 每一次次迭代都都要用下下式进行行稀疏最最小二乘乘求解 其其中为前前提条件件的Chholeeskyy(乔累累斯基)因因子
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗机构考试试题及答案
- 钓螃蟹面试题及答案
- 推动内部培训与发展的计划
- 项目管理中的有效时间规划技巧试题及答案
- 经济法在社会经济中的作用试题及答案
- 水利水电工程流域综合试题及答案
- 全面收集2025年工程项目管理试题及答案
- 发出首份诉前调解委托书
- 2025年中国建设银行宁夏石嘴山支行春季校招考试笔试试题含答案
- 2025年浙江绍兴农村党务(村务)工作者公开招聘考试试题含答案
- 微专业课程体系构建研究-全面剖析
- 运动素质知到课后答案智慧树章节测试答案2025年春浙江大学
- 2025国网陕西电力省管产业单位供电服务业务部招聘(379人)高频重点提升(共500题)附带答案详解
- 湖北武汉市2025届高三第一次调研测试数学试卷含解析
- 租房合同范本下载(可直接打印)
- 浙江省2024年全国中学生奥林匹克数学竞赛初赛试题 含解析
- DL-T5024-2020电力工程地基处理技术规程
- ISO TR 15608-2017-中英文版完整
- 驾照体检表完整版本
- 兽医内科学-反刍动物前胃及皱胃疾病课件
- 平面构成—基本形(形态生成)
评论
0/150
提交评论