1、Matlab优化工具箱简介1 引言引言 最优化方法是专门研究如何从多个方案中选择最佳方案的科学。最优化是一门应用广泛的学科,它讨论决策问题的最佳选择的特性,构造寻求最佳解的计算方法 MATLAB是Mathworks公司推出的一套功能强大的过程计算及数值分析软件,是目前世界上应用最广泛的工程计算软件之一。它包含很多工具箱,主要用来扩充matlab的数值计算、符号运算、图形建模仿真等功能,使其能够用于多种学科。2优化工具箱优化工具箱(Optimization Toolbox)优化工具箱主要应用优化工具箱主要应用求解无约束条件非线性极小值;求解约束条件下非线性极小值,包括目标逼近问题、极大-极小值问
2、题;求解二次规划和线性规划问题;非线性最小二乘逼近和曲线拟合;求解复杂结构的大规模优化问题。优化工具箱的常用函数优化工具箱的常用函数求解线性线性规划问题linprog边界约束条件下的非线性最小化fminbnd求解多变量函数的最小化fminunc求解无约束非线性最小化fminsearch求解二次规划问题quadprog求解有约束的非线性最小化fmincon求解多目标规划的优化问题fgoalattain求解最小、最大化问题fminimax 优化工具箱的结构优化工具箱的结构 模型输入时要注意的问题模型输入时要注意的问题(1)目标函数最小化优化函数fminbnd、fminunc、fmincon、fmi
3、nsearch、fgoalattain、fminimax都要求目标函数最小化。(2)约束非正工具箱对非线性不等式约束的格式要求为Ci(x)0。3 优化问题简介优化问题简介3.1 线性规划问题线性规划问题数学模型为:min s.t.优化函数:linprognRxxfbxA*beqxAeq*ubxlb3.2无约束非线性规划问题fminbnd要求目标函数为连续函数要求目标函数为连续函数只求解单变量问题只求解单变量问题fminunc可求解单变量和多变量问题可求解单变量和多变量问题适用于简单优化问题适用于简单优化问题可求解复杂优化问题可求解复杂优化问题fminsearch1.使用格式:使用格式:xopt
4、,fopt=fminbnd(fun,x1,x2,options)3.2.1函数函数fminbnd设置优化选项参数设置优化选项参数迭代搜索区间迭代搜索区间目标函数目标函数返回目标函数的最优值返回目标函数的最优值返回目标函数的最优解返回目标函数的最优解1.例题:例题:求解一维无约束优化问题f(x)=(x3+cosx+xlogx/ex)在区间0,1中的极小值。解解:(1)编制求解优化问题的编制求解优化问题的M文件。文件。%求解一维优化问题fun=inline(x3+cos(x)+x*log(x)/exp(x),x);%目标函数x1=0;x2=1;%搜索区间xopt,fopt=fminbnd(fun,
5、x1,x2)(2)编制一维函数图形的编制一维函数图形的M文件。文件。ezplot(fun,0,10)title(x3+cosx+xlogx)/ex)grid on3.2.1函数函数fminbnd运行结果:xopt=0.5223fopt=0.39741.使用格式:使用格式:xopt,fopt=fminsearch(fun,x0,options)3.2.2函数函数fminsearch设置优化选项参数设置优化选项参数初始点初始点目标函数目标函数返回目标函数的最优值返回目标函数的最优值返回目标函数的最优解返回目标函数的最优解2.例题:例题:求解二维无约束优化问题f(x)=(x14+3x12+x22-2
6、x1-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.mfunction f=search(x)f=x(1)4+3*x(1)2+x(2)2-2*x(1)-2*x(2)-2*x(1)2*x(
7、2)+6;则命令文件变为:则命令文件变为:%命令文件名称为命令文件名称为eg9_4.mx0=0,0;%初始点初始点xopt,fopt=fminsearch(search,x0)3.2.2函数函数fminsearch运行结果:xopt=1.0000 2.0000fopt=4.00001.使用格式:使用格式:x,fval,exitflag,output,grad,hessian=fminunc(fun,x0,options,P1,P2)3.2.3函数函数fminunc设置优化选项参数设置优化选项参数初始点初始点调用目标函数的函数文件名调用目标函数的函数文件名目标函数在最优解的海色矩阵目标函数在最优
8、解的海色矩阵返回目标函数在最优解的梯度返回目标函数在最优解的梯度优化算法信息的一个数据结构优化算法信息的一个数据结构返回算法的终止标志返回算法的终止标志返回目标函数的最优值返回目标函数的最优值返回目标函数的最优解返回目标函数的最优解附加参数附加参数管道截面积:其中设计变量:3.2.3函数函数fminunc3.例题:例题:已知梯形截面管道的参数是:底边长度c,高度h,面积A=64516mm2,斜边与底边夹角为。管道内液体的流速与管道截面的周长s的倒数成比例关系。试按照使液体流速最大确定该管道的参数。解解:(1)建立优化设计数学模型建立优化设计数学模型管道截面周长hcsinh2cs64516ctg
9、hchA2hctgh64516csinh2hctgh64516sminx1x221211xsinx2ctgxxx64516f(X)hxxX21目标函数的文件目标函数的文件(sc_wysyh.m):function f=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)编写求解无约束非线性优化问题的编写求解无约束非线性优化问
10、题的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,截面高度截面高度h x(1)=%3.5.1fmmn,x(1)fprintf(1,斜边夹角斜边夹角 x(2)=%3.5.1f度度n,x(2)fprintf(1,截面周长截面周长s f=%3.5.1fmmn,Fmin)计算结果计算结果
11、截面高度截面高度h x(1)=192.9958mm斜边夹角斜边夹角 x(2)=60.0005度度截面周长截面周长s f=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
12、/(。)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
13、.4 二次规划问题二次规划问题数学模型:s.t.优化函数:quadprogxfxHx21minbxAbeqxAeqbuxbl3.5多目标优化问题fgoalattain需确定各分目标的加权系数需确定各分目标的加权系数需知各分目标的单个的最优值需知各分目标的单个的最优值目标函数的最大值逐次减小目标函数的最大值逐次减小fminimax3.5.1 函数函数fgoalattainmin vs.t.fi(X)-wiv goalii=1,2,tAXb (线性不等式约束)(线性不等式约束)AeqX=beq (线性等式约束)(线性等式约束)C(X)0 (非线性不等式约束条(非线性不等式约束条件)件)Ceq(X)
14、=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)设置优化选项参数设置优化选项参数各分目标权重各分目标权重各分目标期望值各分目标期望值目标函数在最优解的海色矩阵
15、目标函数在最优解的海色矩阵返回目标函数在最优解的梯度返回目标函数在最优解的梯度优化算法信息的一个数据结构优化算法信息的一个数据结构返回算法的终止标志返回算法的终止标志返回目标函数的最优值返回目标函数的最优值返回目标函数的最优解返回目标函数的最优解附加参数附加参数非线性约束条件的函数名非线性约束条件的函数名设计变量的下界和上界设计变量的下界和上界线性等式约束的常数向量线性等式约束的常数向量线性等式约束的系数矩阵线性等式约束的系数矩阵线性不等式约束的常数向量线性不等式约束的常数向量线性不等式约束的系数矩阵线性不等式约束的系数矩阵无定义时以空矩阵无定义时以空矩阵符号“符号“”代替代替3.5.1 函数
16、函数fgoalattain初始点初始点目标函数文件名目标函数文件名三、例题三、例题设计带式输送机传动装置上的普通设计带式输送机传动装置上的普通V带传动。已知电机额定功率带传动。已知电机额定功率P=4kW,转速,转速n1=1440r/min,传动比,传动比i=3,采用,采用A型型V带,每天工作不带,每天工作不超过超过10小时。要求传动结构紧凑(带的根数尽量少,带轮直径和中心小时。要求传动结构紧凑(带的根数尽量少,带轮直径和中心距尽量小)。距尽量小)。解解:(1)建立优化设计的数学模型建立优化设计的数学模型设计变量:设计变量:V带传动的独立设计变量是小带轮直径带传动的独立设计变量是小带轮直径dd1和带的基准长和带的基准长度度LdX=dd1,LdT=x1,x2T目标函数:目标函数:小带轮直径:小带轮直径:中心距中心距:带的根数带的根数:L00A3KK)PP(PKz)X(fmin 3.5.1 函数函数fgoalattain22112aaaa)X(fmin 8)1i(d4La1dd1 8)1i(da221d2 1.1P0=(0.02424dd1-1.112879)(kW)0.17kWKL=0.2
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1