您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > 优化设计-Matlab优化工具箱的介绍及8种函数的使用方法
Matlab优化工具箱简介1引言•最优化方法是专门研究如何从多个方案中选择最佳方案的科学。最优化是一门应用广泛的学科,它讨论决策问题的最佳选择的特性,构造寻求最佳解的计算方法•MATLAB是Mathworks公司推出的一套功能强大的过程计算及数值分析软件,是目前世界上应用最广泛的工程计算软件之一。它包含很多工具箱,主要用来扩充matlab的数值计算、符号运算、图形建模仿真等功能,使其能够用于多种学科。2优化工具箱(OptimizationToolbox)•优化工具箱主要应用①求解无约束条件非线性极小值;②求解约束条件下非线性极小值,包括目标逼近问题、极大-极小值问题;③求解二次规划和线性规划问题;④非线性最小二乘逼近和曲线拟合;⑤求解复杂结构的大规模优化问题。•优化工具箱的常用函数求解线性线性规划问题linprog边界约束条件下的非线性最小化fminbnd求解多变量函数的最小化fminunc求解无约束非线性最小化fminsearch求解二次规划问题quadprog求解有约束的非线性最小化fmincon求解多目标规划的优化问题fgoalattain求解最小、最大化问题fminimax•优化工具箱的结构•模型输入时要注意的问题(1)目标函数最小化优化函数fminbnd、fminunc、fmincon、fminsearch、fgoalattain、fminimax都要求目标函数最小化。(2)约束非正工具箱对非线性不等式约束的格式要求为Ci(x)≤0。3优化问题简介3.1线性规划问题数学模型为:mins.t.优化函数:linprognRxxfbxA*beqxAeq*ubxlb3.2无约束非线性规划问题fminbnd要求目标函数为连续函数只求解单变量问题fminunc可求解单变量和多变量问题适用于简单优化问题可求解复杂优化问题fminsearch1.使用格式:[xopt,fopt]=fminbnd(fun,x1,x2,options)3.2.1函数fminbnd设置优化选项参数迭代搜索区间目标函数返回目标函数的最优值返回目标函数的最优解1.例题:求解一维无约束优化问题f(x)=(x3+cosx+xlogx/ex)在区间[0,1]中的极小值。解:(1)编制求解优化问题的M文件。%求解一维优化问题fun=inline(‘(x^3+cos(x)+x*log(x))/exp(x)’,‘x’);%目标函数x1=0;x2=1;%搜索区间[xopt,fopt]=fminbnd(fun,x1,x2)(2)编制一维函数图形的M文件。ezplot(fun,[0,10])title('(x^3+cosx+xlogx)/e^x')gridon3.2.1函数fminbnd运行结果:xopt=0.5223fopt=0.39741.使用格式:[xopt,fopt]=fminsearch(fun,x0,options)3.2.2函数fminsearch设置优化选项参数初始点目标函数返回目标函数的最优值返回目标函数的最优解2.例题:求解二维无约束优化问题f(x)=(x14+3x12+x22-2x1-2x2-2x12x2+6)的极小值。解:(1)编制求解二维无约束优化问题的M文件。%求解二维优化问题fun='x(1)^4+3*x(1)^2+x(2)^2-2*x(1)-2*x(2)-2*x(1)^2*x(2)+6';x0=[0,0];%初始点[xopt,fopt]=fminsearch(fun,x0)(2)讨论。将目标函数写成函数文件的形式:%目标函数文件search.mfunctionf=search(x)f=x(1)^4+3*x(1)^2+x(2)^2-2*x(1)-2*x(2)-2*x(1)^2*x(2)+6;则命令文件变为:%命令文件名称为eg9_4.mx0=[0,0];%初始点[xopt,fopt]=fminsearch(@search,x0)3.2.2函数fminsearch运行结果:xopt=1.00002.0000fopt=4.00001.使用格式:[x,fval,exitflag,output,grad,hessian]=fminunc(@fun,x0,options,P1,P2…)3.2.3函数fminunc设置优化选项参数初始点调用目标函数的函数文件名目标函数在最优解的海色矩阵返回目标函数在最优解的梯度优化算法信息的一个数据结构返回算法的终止标志返回目标函数的最优值返回目标函数的最优解附加参数管道截面积:其中设计变量:3.2.3函数fminunc3.例题:已知梯形截面管道的参数是:底边长度c,高度h,面积A=64516mm2,斜边与底边夹角为θ。管道内液体的流速与管道截面的周长s的倒数成比例关系。试按照使液体流速最大确定该管道的参数。解:(1)建立优化设计数学模型管道截面周长hcθsinh2cs64516ctghchA2hctgh64516csinh2hctgh64516sminx1x221211xsinx2ctgxxx64516f(X)hxxX21目标函数的文件(sc_wysyh.m):functionf=sc_wysyh(x)%定义目标函数调用格式a=64516;hd=pi/180;f=a/x(1)-x(1)/tan(x(2)*hd)+2*x(1)/sin(x(2)*hd);%定义目标函数3.2.3函数fminunc3.例题:解:(1)建立优化设计数学模型(2)编写求解无约束非线性优化问题的M文件21211xsinx2ctgxxx64516)X(f[x,fval,exitflag,output,grad,hessian]=fminbnd(@fun,x0,options,P1,P2…)求最优化解时的命令程序:x0=[25,45];%初始点[x,Fmin]=fminunc(@sc_wysyh,x0);%求优语句fprintf(1,'截面高度hx(1)=%3.5.1fmm\n',x(1))fprintf(1,'斜边夹角θx(2)=%3.5.1f度\n',x(2))fprintf(1,'截面周长sf=%3.5.1fmm\n',Fmin)计算结果截面高度hx(1)=192.9958mm斜边夹角θx(2)=60.0005度截面周长sf=668.5656mmxx1=linspace(100,300,25);xx2=linspace(30,120,25);[x1,x2]=meshgrid(xx1,xx2);a=64516;hd=pi/180;f=a./x1-x1./tan(x2*hd)+2*x1./sin(x2*hd);subplot(1,2,1);h=contour(x1,x2,f);clabel(h);axis([100,300,30,120])xlabel('高度h/mm')ylabel('倾斜角\theta/(^{。})')3.2.3函数fminunc3.例题:解:(1)建立优化设计数学模型(2)编写求解无约束非线性优化问题的M文件(3)编写绘制一维函数图形的M文件title('目标函数等值线')subplot(1,2,2);meshc(x1,x2,f);axis([100,300,30,120,600,1200])title('目标函数网格曲面图')3.3约束非线性规划数学模型:s.t.优化函数:fmincon)(minxf0)x(C0)x(CeqbxAbeqxAequbxlb3.4二次规划问题数学模型:s.t.优化函数:quadprogxfxHx21minbxAbeqxAeqbuxbl3.5多目标优化问题fgoalattain需确定各分目标的加权系数需知各分目标的单个的最优值目标函数的最大值逐次减小fminimax3.5.1函数fgoalattainminvs.t.fi(X)-wiv≤goalii=1,2,…,tAX≤b(线性不等式约束)AeqX=beq(线性等式约束)C(X)≤0(非线性不等式约束条件)Ceq(X)=0(非线性等式约束)Lb≤X≤Ub(边界约束条件)一、多目标优化问题数学模型标量变量各分目标函数分目标函数的权重各分目标函数的目标值二、优化函数使用格式[x,fval,exitflag,output,grad,hessian]=fgoalattain(@fun,x0,goal,w,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P1,P2…)设置优化选项参数各分目标权重各分目标期望值目标函数在最优解的海色矩阵返回目标函数在最优解的梯度优化算法信息的一个数据结构返回算法的终止标志返回目标函数的最优值返回目标函数的最优解附加参数非线性约束条件的函数名设计变量的下界和上界线性等式约束的常数向量线性等式约束的系数矩阵线性不等式约束的常数向量线性不等式约束的系数矩阵无定义时以空矩阵符号“[]”代替3.5.1函数fgoalattain初始点目标函数文件名三、例题设计带式输送机传动装置上的普通V带传动。已知电机额定功率P=4kW,转速n1=1440r/min,传动比i=3,采用A型V带,每天工作不超过10小时。要求传动结构紧凑(带的根数尽量少,带轮直径和中心距尽量小)。解:(1)建立优化设计的数学模型①设计变量:V带传动的独立设计变量是小带轮直径dd1和带的基准长度LdX=[dd1,Ld]T=[x1,x2]T②目标函数:小带轮直径:中心距:带的根数:L00A3KK)PP(PKz)X(fmin3.5.1函数fgoalattain22112aaaa)X(fmin8)1i(d4La1dd18)1i(da221d21.1P0=(0.02424dd1-1.112879)(kW)0.17kWKL=0.20639Ld0.211806拟合幂函数方程拟合双曲线方程395144.80549636.0Kminf1(X)=dd1=x1③约束条件:含性能约束和边界约束0x100dd)X(g11dmind102560000ndv60000nd)X(g11dmax11d20x21180120)1i(1dd1180)X(g1min1min30ax8.2a)1i(d7.0)X(g11d40x80)X(g150100x)X(g160x630)X(g2704000x)X(g28小带轮直径=推荐的A型带轮最小直径最大带速25m/s小带轮包角120°带传动的中心距要求小带轮基准直径的下限和上限带基准长度的下限和上限性能约束边界约束三、例题3.5.1函数fgoalattain3.5.1函数fgoalattain三、例题解:(1)建立优化设计的数学模型①设计变量:X=[dd1,Ld]T=[x1,x2]T②目标函数:小带轮直径:中心距:带的根数:L00A3KK)PP(PKz)X(fmin22112aaaa)X(fminminf1(X)=dd1=x180~100mm320~400mm1~4按容限值确定权重,以使目标函数值在数量级上统一222T222T3215.140102142320400280100③约束条件:(2)确定分目标和它们的权重(3)编制优化设计的M文件[x,fval,exitflag,output,grad,hessian]=fgoalattain(@fun,x0,goal,w,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P1,P2…)%V带传动多目标优化设计的目标函数文件functionf=VDCD_3mb_MB(x)P=4;i=3;KA=1.1;%已知条件:功率,传动比,工况系
本文标题:优化设计-Matlab优化工具箱的介绍及8种函数的使用方法
链接地址:https://www.777doc.com/doc-6082231 .html