下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 第9章基于MATLAB优化工具箱的优化计算

第9章基于MATLAB优化工具箱的优化计算.ppt

第9章基于MATLAB优化工具箱的优化计算

yuansen
2011-06-02 0人阅读 举报 0 0 暂无简介

简介:本文档为《第9章基于MATLAB优化工具箱的优化计算ppt》,可适用于职业教育领域

第章基于MATLAB优化工具箱的优化计算第章基于MATLAB优化工具箱的优化计算MATLAB优化工具箱MATLAB优化工具箱一、常用的优化功能函数求解线性规划问题的主要函数是linprog。求解二次规划问题的主要函数是quadprog。求解无约束非线性规划问题的主要函数是fminbnd、fminunc和fminsearch。求解约束非线性规划问题的主要函数是fgoalattain和fminimax。二、一般步骤二、一般步骤建立目标函数文件针对具体工程问题建立优化设计的数学模型不等式约束条件表示成g(X)≥的形式建立调用优化工具函数的命令文件文件内容:必须的输入参数、描述标函数表达式等存储:以自定义的目标函数文件名存储在文件夹中建立约束函数文件文件内容:必须的输入参数、约束函数表达式等存储:以自定义的约束函数文件名存储在文件夹中将优化设计的命令文件复制到MATLAB命令窗口中进行运算求解。分析优化设计的数学模型选择适用的优化工具函数文件内容:初始点设计变量的边界约束条件运算结果输出等内容存储:以自定义的命令文件名存储于文件夹中。线性规划问题线性规划问题一、线性规划数学模型一、线性规划数学模型主要应用对象:()在有限的资源条件下完成最多的任务()如何统筹任务以使用最少资源。数学模型形式:minfTXstAX≤b(线性不等式约束条件)AeqX=beq(线性等式约束条件)lb≤X≤ub(边界约束条件)约束条件决策变量目标函数非负数线性MATLAB中函数调用格式xopt,fopt=linprog(f,A,b,Aeq,beq,lb,ub,x,options)最优解最优值目标函数各维变量系数向量初始点可选项二、例题二、例题生产规划问题:某厂利用a,b,c三种原料生产A,B,C三种产品已知生产每种产品在消耗原料方面的各项指标和单位产品的利润以及可利用的数量试制定适当的生产规划使得该工厂的总利润最大。→x→x→xxxxxxxxxxxxx≤≤≤二、例题二、例题解:确定决策变量:确定约束条件:X=x,x,xT编制线性规划计算的M文件f=,,’A=,,,,,,b=Aeq=beq=lb=zeros(,)xopt,fopt=linprog(f,A,b,Aeq,beq,lb)maxxxxxxx≤xxx≤xxx≤设生产A、B、C三种产品的数量分别是x,x,x决策变量:根据三种单位产品的利润情况按照实现总的利润最大化建立关于决策变量的函数:建立目标函数:根据三种资料数量限制建立三个线性不等式约束条件M文件运行结果:Optimizationterminatedsuccessfullyxopt=fopt=x,x,x≥xopt,fopt=linprog(f,A,b,Aeq,beq,lb,ub,x,options)二次规划问题二次规划问题一、二次规划问题数学模型一、二次规划问题数学模型研究意义:()最简单的非线性规划问题()求解方法比较成熟。数学模型形式:stAX≤b(线性不等式约束条件)AeqX=beq(线性等式约束条件)lb≤X≤ub(边界约束条件)约束条件决策变量目标函数二次函数MATLAB中函数调用格式xopt,fopt=quadprog(H,C,A,b,Aeq,beq,lb,ub,x,options)最优解最优值目标函数的海赛矩阵初始点可选项目标函数的一次项系数向量二、例题二、例题求解约束优化问题结果xopt=,,fopt=st解:()将目标函数写成二次函数的形式其中:xopt,fopt=quadprog(H,C,A,b,Aeq,beq,lb,ub,x,options)()编写求解二次规划的M文件:H=,,,,,,C=,,A=,,b=Aeq=,,beq=lb=zeros(,)xopt,fopt=quadprig(H,C,A,b,Aeq,beq,lb)无约束非线性规划问题无约束非线性规划问题无约束非线性规划问题的MATLAB函数有无约束非线性规划问题的MATLAB函数有fminbnd要求目标函数为连续函数只求解单变量问题fminunc可求解单变量和多变量问题适用于简单优化问题可求解复杂优化问题fminsearch函数fminbnd函数fminbnd使用格式:xopt,fopt=fminbnd(fun,x,x,options)设置优化选项参数迭代搜索区间目标函数返回目标函数的最优值返回目标函数的最优解函数fminbnd函数fminbnd例题:求解一维无约束优化问题f(x)=(xcosxxlogxex)在区间,中的极小值。解:()编制求解优化问题的M文件。求解一维优化问题fun=inline(‘(x^cos(x)x*log(x))exp(x)’,‘x’)目标函数x=x=搜索区间xopt,fopt=fminbnd(fun,x,x)()编制一维函数图形的M文件。ezplot(fun,,)title('(x^cosxxlogx)e^x')gridon运行结果:xopt=fopt=函数fminsearch函数fminsearch使用格式:xopt,fopt=fminsearch(fun,x,options)设置优化选项参数初始点目标函数返回目标函数的最优值返回目标函数的最优解函数fminsearch函数fminsearch例题:求解二维无约束优化问题f(x)=(xxxxxxx)的极小值。解:()编制求解二维无约束优化问题的M文件。求解二维优化问题fun='x()^*x()^x()^*x()*x()*x()^*x()'x=,初始点xopt,fopt=fminsearch(fun,x)()讨论。将目标函数写成函数文件的形式:目标函数文件searchmfunctionf=search(x)f=x()^*x()^x()^*x()*x()*x()^*x()则命令文件变为:命令文件名称为egmx=,初始点xopt,fopt=fminsearch(search,x)运行结果:xopt=fopt=函数fminunc函数fminunc使用格式:x,fval,exitflag,output,grad,hessian=fminbnd(fun,x,options,P,P…)设置优化选项参数初始点调用目标函数的函数文件名目标函数在最优解的海色矩阵返回目标函数在最优解的梯度优化算法信息的一个数据结构返回算法的终止标志返回目标函数的最优值返回目标函数的最优解附加参数函数fminunc函数fminunc例题:已知梯形截面管道的参数是:底边长度c高度h面积A=mm斜边与底边夹角为θ。管道内液体的流速与管道截面的周长s的倒数成比例关系。试按照使液体流速最大确定该管道的参数。解:()建立优化设计数学模型管道截面周长管道截面积:其中设计变量:minxxf(X)函数fminunc函数fminunc例题:解:()建立优化设计数学模型()编写求解无约束非线性优化问题的M文件目标函数的文件(scwysyhm):functionf=scwysyh(x)定义目标函数调用格式a=hd=pif=ax()x()tan(x()*hd)*x()sin(x()*hd)定义目标函数x,fval,exitflag,output,grad,hessian=fminbnd(fun,x,options,P,P…)求最优化解时的命令程序:x=,初始点x,Fmin=fminunc(scwysyh,x)求优语句fprintf(,'截面高度hx()=fmmn',x())fprintf(,'斜边夹角θx()=f度n',x())fprintf(,'截面周长sf=fmmn',Fmin)计算结果截面高度hx()=mm斜边夹角θx()=度截面周长sf=mm函数fminunc函数fminunc例题:解:()建立优化设计数学模型()编写求解无约束非线性优化问题的M文件()编写绘制一维函数图形的M文件xx=linspace(,,)xx=linspace(,,)x,x=meshgrid(xx,xx)a=hd=pif=axxtan(x*hd)*xsin(x*hd)subplot(,,)h=contour(x,x,f)clabel(h)axis(,,,)xlabel('高度hmm')ylabel('倾斜角theta(^{。})')title('目标函数等值线')subplot(,,)meshc(x,x,f)axis(,,,,,)title('目标函数网格曲面图')控制参数options控制参数options控制参数options控制参数options约束非线性规划问题约束非线性规划问题数学模型形式:minf(X)stAX≤b(线性不等式约束)AeqX=beq(线性等式约束)C(X)≤(非线性不等式约束条件)Ceq(X)=(非线性等式约束)Lb≤X≤Ub(边界约束条件)约束条件使用格式:x,fval,exitflag,output,grad,hessian=fmincon(fun,x,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P,P…)设置优化选项参数初始点调用目标函数的函数文件名目标函数在最优解的海色矩阵返回目标函数在最优解的梯度优化算法信息的一个数据结构返回算法的终止标志返回目标函数的最优值返回目标函数的最优解附加参数非线性约束条件的函数名设计变量的下界和上界线性等式约束的常数向量线性等式约束的系数矩阵线性不等式约束的常数向量线性不等式约束的系数矩阵无定义时以空矩阵符号“”代替控制参数options控制参数options控制参数options控制参数options例例某二级斜齿圆柱齿轮减速器高速级输入功率P=kW转速n=rmin总传动比i=齿轮宽度系数ψa=齿轮材料和热处理:大齿轮号钢正火~HB小齿轮号钢调质~HB工作寿命年以上。要求按照总中心距a∑最小来确定齿轮传动方案。解:()建立优化设计的数学模型①设计变量:将涉及总中心距a∑齿轮传动方案的个独立参数作为设计变量X=mn,mn,z,z,i,βT=x,x,x,x,x,xT②目标函数:减速器总中心距a∑最小为目标函数二、例题二、例题③约束条件:含性能约束和边界约束高速级齿轮接触强度条件低速级齿轮接触强度条件高速级大齿轮弯曲强度条件低速级大齿轮弯曲强度条件大齿轮与轴不干涉低速级齿轮副模数的下限和上限高速级小齿轮齿数的下限和上限高速级小齿轮齿数的下限和上限低速级小齿轮齿数的下限和上限高速级传动比的下限和上限齿轮副螺旋角的下限和上限性能约束边界约束二、例题二、例题()编制优化设计的M文件x,fval,exitflag,output,grad,hessian=fmincon(fun,x,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P,P…)两级斜齿轮减速器总中心距目标函数functionf=jsqyhf(x)hd=pia=x()*x()*(x())a=x()*x()*(x())cb=*cos(x()*hd)f=(aa)cb两级斜齿轮减速器优化设计的非线性不等式约束函数functiong,ceq=jsqyhg(x)hd=pig()=cos(x()*hd)^e*x()^*x()^*x()g()=x()^*cos(x()*hd)^e*x()^*x()^g()=cos(x()*hd)^e*(x())*x()^*x()^g()=x()^*cos(x()*hd)^e*(x())*x()^*x()^g()=x()*(*(x())*cos(x()*hd)x()*x()*x())x()*x()*(x())ceq=文件名为:Jsqyhgm文件名为:Jsqyhfm二、例题二、例题()编制优化设计的M文件x,fval,exitflag,output,grad,hessian=fmincon(fun,x,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P,P…)x=设计变量的初始值lb=设计变量的下限ub=设计变量的上限x,fn=fmincon(jsqyhf,x,,,,,lb,ub,jsqyhg)disp'************两级斜齿轮传动中心距优化设计最优解*************'fprintf(,'高速级齿轮副模数Mn=fmmn',x())fprintf(,'低速级齿轮副模数Mn=fmmn',x())fprintf(,'高速级小齿轮齿数z=fmmn',x())fprintf(,'低速级小齿轮齿数z=fmmn',x())fprintf(,'高速级齿轮副传动比i=fmmn',x())fprintf(,'齿轮副螺旋角beta=fmmn',x())fprintf(,'减速器总中心距a=fmmn',fn)g=jsqyhg(x)disp'==========最优点的性能约束函数值=========='fprintf(,'高速级齿轮副接触疲劳强度约束函数值g=fmmn',g())fprintf(,'低速级齿轮副接触疲劳强度约束函数值g=fmmn',g())fprintf(,'高速级大齿轮齿根弯曲强度约束函数值g=fmmn',g())fprintf(,'低速级大齿轮齿根弯曲强度约束函数值g=fmmn',g())fprintf(,'大齿轮顶圆与轴不干涉几何约束函数值g=fmmn',g()),,,,文件名为egm二、例题二、例题()M文件运行结果************两级斜齿轮传动中心距优化设计最优解*************高速级齿轮副模数Mn=mm低速级齿轮副模数Mn=mm高速级小齿轮齿数z=mm低速级小齿轮齿数z=mm高速级齿轮副传动比i=mm齿轮副螺旋角beta=减速器总中心距a=mm==========最优点的性能约束函数值==========高速级齿轮副接触疲劳强度约束函数值g=mm低速级齿轮副接触疲劳强度约束函数值g=mm高速级大齿轮齿根弯曲强度约束函数值g=mm低速级大齿轮齿根弯曲强度约束函数值g=mm大齿轮顶圆与轴不干涉几何约束函数值g=mmmmmmmmmm()优化结果处理多目标优化问题多目标优化问题多目标优化问题的MATLAB函数有多目标优化问题的MATLAB函数有fgoalattain需确定各分目标的加权系数需知各分目标的单个的最优值目标函数的最大值逐次减小fminimax函数fgoalattain函数fgoalattainminvstfi(X)wiv≤goalii=,,…,tAX≤b(线性不等式约束)AeqX=beq(线性等式约束)C(X)≤(非线性不等式约束条件)Ceq(X)=(非线性等式约束)Lb≤X≤Ub(边界约束条件)一、多目标优化问题数学模型标量变量各分目标函数分目标函数的权重各分目标函数的目标值函数fgoalattain函数fgoalattain二、优化函数使用格式x,fval,exitflag,output,grad,hessian=fgoalattain(fun,x,goal,w,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P,P…)设置优化选项参数各分目标权重各分目标期望值目标函数在最优解的海色矩阵返回目标函数在最优解的梯度优化算法信息的一个数据结构返回算法的终止标志返回目标函数的最优值返回目标函数的最优解附加参数非线性约束条件的函数名设计变量的下界和上界线性等式约束的常数向量线性等式约束的系数矩阵线性不等式约束的常数向量线性不等式约束的系数矩阵无定义时以空矩阵符号“”代替初始点目标函数文件名三、例题三、例题设计带式输送机传动装置上的普通V带传动。已知电机额定功率P=kW转速n=rmin传动比i=采用A型V带每天工作不超过小时。要求传动结构紧凑(带的根数尽量少带轮直径和中心距尽量小)。解:()建立优化设计的数学模型①设计变量:V带传动的独立设计变量是小带轮直径dd和带的基准长度LdX=dd,LdT=x,xT②目标函数:小带轮直径:中心距:带的根数:函数fgoalattain拟合直线P=(dd)(kW)kWKL=Ld拟合幂函数方程拟合双曲线方程minf(X)=dd=x三、例题③约束条件:含性能约束和边界约束小带轮直径>=推荐的A型带轮最小直径最大带速<ms小带轮包角>°带传动的中心距要求小带轮基准直径的下限和上限带基准长度的下限和上限性能约束边界约束三、例题函数fgoalattain三、例题三、例题解:()建立优化设计的数学模型①设计变量:X=dd,LdT=x,xT②目标函数:小带轮直径:中心距:带的根数:函数fgoalattainminf(X)=dd=x~mm~mm~按容限值确定权重以使目标函数值在数量级上统一③约束条件:()确定分目标和它们的权重函数fgoalattain()编制优化设计的M文件x,fval,exitflag,output,grad,hessian=fgoalattain(fun,x,goal,w,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P,P…)V带传动多目标优化设计的目标函数文件functionf=VDCDmbMB(x)P=i=KA=已知条件:功率传动比工况系数f()=x()f小带轮基准直径:目标函数a=x()pi*x()*(i)a=x()^*(i)^a=asqrt(a^a)f()=af,中心距:目标函数P=*x()单根带额定功率DP=功率增量alpha=*x()*(i)pia小带轮包角Kalp=alpha(*alpha)包角系数KL=*x()^长度系数f()=KA*P(PDP)KalpKLfV带根数:目标函数函数fgoalattain三、例题函数fgoalattain()编制优化设计的M文件V带传动多目标优化设计的约束函数文件functiong,ceq=VDCDmbYS(x)i=n=已知条件:传动比转速g()=x()小带轮直径>=Ddming()=pi*x()*ne带速范围V<=Vmaxa=x()pi*x()*(i)a=x()^*(i)^a=asqrt(a^a)g()=*(x()*(i)api)小带轮包角>=alpming()=*x()*(i)a中心距范围a>=aminceq=函数fgoalattain三、例题x,fval,exitflag,output,grad,hessian=fgoalattain(fun,x,goal,w,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P,P…)函数fgoalattain()编制优化设计的M文件V带传动多目标优化设计的调用命令P=i=n=KA=已知条件:功率传动比转速工况系数x=初始点(小带轮直径V带基准长度)goal=,,分目标w=^,^,^分目标加权系数lb=,最小带轮直径和A型V带的基准长度ub=最大带轮直径和A型V带基准长度xopt,fopt=fgoalattain(VDCDmbMB,x,goal,w,,,,,lb,ub,VDCDmbYS)函数fgoalattain三、例题x,fval,exitflag,output,grad,hessian=fgoalattain(fun,x,goal,w,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P,P…),,,,函数fgoalattain()M文件运算结果Optimizationterminatedsuccessfully:Searchdirectionlessthan*optionsxopt=e*fopt=函数fgoalattain三、例题()优化结果处理ddmmmmLd小带轮基准直径带传动中心距带的根数mm圆整圆整函数fgoalattain()M文件运算结果优化结果数据处理后部分参数计算Dd=Dd=Dd*iz=Ld=v=pi*Dd*nea=Ldpi*Dd*(i)a=Dd^*(i)^a=asqrt(a^a)alpha=*Dd*(i)piadisp''disp'***************计算结果*****************'fprintf(,'小带轮基准直径Dd=fmmn',Dd)fprintf(,'大带轮基准直径Dd=fmmn',Dd)fprintf(,'V带基准长度Ld=fmmn',Ld)fprintf(,'传动中心距a=fmmn',a)fprintf(,'小带轮包角alpha=f度n',alpha)fprintf(,'V带根数z=fmmn',z)函数fgoalattain三、例题()优化结果处理函数fgoalattain()M文件运算结果***************计算结果*****************小带轮基准直径Dd=mm大带轮基准直径Dd=mmV带基准长度Ld=mm传动中心距a=mm小带轮包角alpha=度V带根数z=mm函数fgoalattain三、例题()优化结果处理()最终方案函数fminimax函数fminimaxminmax{f,f,…,f}stAX≤b(线性不等式约束)AeqX=beq(线性等式约束)C(X)≤(非线性不等式约束条件)Ceq(X)=(非线性等式约束)Lb≤X≤Ub(边界约束条件)一、多目标优化问题数学模型各分目标函数函数fminimax函数fminimax二、优化函数使用格式x,fval,exitflag,output,grad,hessian=fminimax(fun,x,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P,P…)设置优化选项参数目标函数在最优解的海色矩阵返回目标函数在最优解的梯度优化算法信息的一个数据结构返回算法的终止标志返回目标函数的最优值返回目标函数的最优解附加参数非线性约束条件的函数名设计变量的下界和上界线性等式约束的常数向量线性等式约束的系数矩阵线性不等式约束的常数向量线性不等式约束的系数矩阵无定义时以空矩阵符号“”代替初始点目标函数文件名三、例题三、例题已知直径为单位长度的圆柱梁要求将它制成矩形截面梁满足重量最轻和强度最大的条件试确定矩形截面尺寸。解:()建立优化设计的数学模型①设计变量:矩形截面的宽和高X=x,xT②目标函数:重量→截面积:弯曲强度→矩形截面矩量:函数fminimaxminf(X)=xxr=xx③约束条件:含性能约束和边界约束变量x的上下限变量x的上下限等式约束性能约束边界约束函数fminimax()编制优化设计的M文件函数fminimax三、例题x,fval,exitflag,output,grad,hessian=fminimax(fun,x,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P,P…)矩形截面梁两目标优化设计的目标函数文件functionf=JXLmbMB(x)f()=x()*x()f:梁的截面积f()=x()*x()^f:梁的截面矩量矩形截面梁两目标优化设计的约束函数文件functionc,ceq=JXLmbYS(x)ceq=x()^x()^非线性等式约束c=有非线性不等式约束矩形截面梁两目标优化设计x=lb=ub=xopt,fopt=fminimax(JXLmbMB,x,,,,,lb,ub,JXLmbYS)()运行结果Optimizationterminatedsuccessfully:xopt=fopt=,,,,控制参数options控制参数options控制参数options控制参数options本章练习本章练习用matlab优化工具箱中的函数求解下列各题。、求下述凸轮机构在升程中的最大压力角αmax及其相对应的凸轮转角φmax迭代精度取ε=。对心尖顶从动件盘形凸轮机构的基圆半径rb=mm推杆行程h=mm升程角φ=π推杆运动规律为和压力角的计算公式为、求解课本P例初始点,T并绘制等高线图。、求解课本P例并绘制等高线图。、求下面优化问题的最优解初始点X=,,T本章练习本章练习、如图所示的偏置直动滚子从动件盘形凸轮机构凸轮顺时针方向等角速转动rad/s推程运动角推程时从动件按正弦加速度运动规律上升其行程h=mm从动件导路偏置于凸轮回转中心左侧。机构有关尺寸及其他设计数据为:a=mmc=mmd=mm从动件质量m=kg凸轮轴半径外载荷弹簧初压力弹簧刚度K=Nmm从动件与导路接触面间摩擦系数凸轮理论轮廓基圆半径与滚子半径之比k=凸轮与滚子材料的综合弹性模量凸轮的许用接触应力凸轮机构推程许用压力角。试通过优化设计使凸轮基圆半径最小。(分)本章练习本章练习、有一鼓风机用普通V带传动所需传递的功率P=kW采用转速n=r/min的交流异步电动机驱动。又知鼓风机每天工作h转速=r/min。并希望D≤mma≤mm。原设计用B型带根D=mmD=mm带的节线长度L=mma=mm。现要求在传递功率P、转速n、n和V带型号不变的条件下按带的最佳传动能力设计此V带传动。(分)

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/55

第9章基于MATLAB优化工具箱的优化计算

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利