第六章多目标及离散变量优化方法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第六章多目标优化方法一、多目标优化问题二、多目标优化方法一、多目标优化问题1、概念同时要求实现:成本、重量、体积利润、产量、承载能力兼顾多方面的要求,则称为多目标优化问题。一般地说,若有l个目标函数,则多目标优化问题的表达式可写成:121minminnnTllxRxRVFXfXfXfXfX..st01,2,jgXjp01,2,khXkq121minTllFXfXfXfXfX称为向量目标函数。minV表示向量极小化,即向量目标函数中各个目标函数被同等的极小化的意思。在多目标的优化模型中,还有一类模型是在约束条件下,各个目标函数不是同等的被最优化,而是按不同的优先层次先后地进行优化----分层多目标优化问题。2.多目标优化问题的特点任意两个设计方案的优劣一般是难以判别的,在多目标优化问题中得到的是非劣解。例:求12minTVFxfxfx2122,fxxxfxx02Dxx,对于两个单目标函数显然很容易分别求的其最优解,但是却无法求得两者共同的最优解。3.多目标优化问题解得可能情况(1)最优解(2)劣解(3)非劣解(4)弱非劣解或称弱有效解。0f2f1●1●3●2●4●6●5对于f1(x),1最好,其次为3,2,4,5,6;对于f2(x),2最好,其次为3,1,5,4,6。综合考虑,1,2,3为非劣解,4,5,6为劣解。二、多目标优化方法主要有两大类:※一类直接求出非劣解,然后从中选择较好解;※另一类是将多目标优化问题求解时作适当的处理。★重新构造一个函数(即评价函数),将多目标(向量)优化问题转变为评价函数的单目标(标量)优化问题——主要目标法、统一目标法。★将多目标(向量)优化问题转化为一系列单目标(标量)优化问题来求解——分层序列法★协调曲线法1.主要目标法抓住主要目标,兼顾其他要求。(选择一个目标作为主要目标,将其他目标转化成约束条件)2.统一目标法又称为综合目标法,它是将原多目标优化问题,通过一定方法转化为统一目标函数或综合目标函数作为该多目标优化问题的评价函数,然后用前述的单目标函数优化方法求解。(1)线性加权和法(线性组合法)(2)极大极小法(3)理想点法与平方和加权法(4)分目标乘除法(5)功效系数法——几何平均法(1)线性加权和法(线性组合法)根据多目标优化问题各个目标函数121llfXfXfXfX的重要程度,对应的选择一组权系数12,,,l,并有11,0(1,2,,)iiiiwwil用ifX与(1,2,,)iwil的线性组合构成一个评价函数1miniiiiFXwfX将多目标优化问题转化为单目标优化问题,即求评价函数1minminiiiXDXDiFXwfX的最优解,它就是原多目标优化问题的解。难点:如何找到合理的权系数解决方法:将各单目标最优化值的倒数取作权系数1(1,2,,)min(1,2,,)iiiiXDwilfffXil1)可反映各个单目标对整个多目标问题的重要程度;2)对各个分目标函数作统一量纲处理。多目标优化问题的MATLAB函数有fgoalattain需确定各分目标的加权系数需知各分目标的单个的最优值目标函数的最大值逐次减小fminimax6.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…)设置优化选项参数各分目标权重各分目标期望值目标函数在最优解的海色矩阵返回目标函数在最优解的梯度优化算法信息的一个数据结构返回算法的终止标志返回目标函数的最优值返回目标函数的最优解附加参数非线性约束条件的函数名设计变量的下界和上界线性等式约束的常数向量线性等式约束的系数矩阵线性不等式约束的常数向量线性不等式约束的系数矩阵无定义时以空矩阵符号“[]”代替初始点目标函数文件名三、例题设计带式输送机传动装置上的普通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(fmin22112aaaa)X(fmin8)1i(d4La1dd18)1i(da221d21.1P0=(0.02424dd1-1.112879)(kW)0.17kWKL=0.20639Ld0.211806拟合幂函数方程拟合双曲线方程395144.80549636.0Kminf1(X)=dd1=x1③约束条件:含性能约束和边界约束0x100dd)X(g11dmind102560000ndv60000nd)X(g11dmax11d20x21180120)1i(1dd1180)X(g1min1min30ax8.2a)1i(d7.0)X(g11d40x80)X(g150100x)X(g160x630)X(g2704000x)X(g28小带轮直径=推荐的A型带轮最小直径最大带速25m/s小带轮包角120°带传动的中心距要求小带轮基准直径的下限和上限带基准长度的下限和上限性能约束边界约束三、例题解:(1)建立优化设计的数学模型①设计变量:X=[dd1,Ld]T=[x1,x2]T②目标函数:小带轮直径:中心距:带的根数:L00A3KK)PP(PKz)X(fmin22112aaaa)X(fminminf1(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;%已知条件:功率,传动比,工况系数f(1)=x(1);%f1-小带轮基准直径:目标函数1a1=x(2)/4-pi*x(1)*(i+1)/8;a2=x(1)^2*(i-1)^2/8;a=a1+sqrt(a1^2-a2);f(2)=a;%f2,中心距:目标函数2P0=0.02424*x(1)-1.1128789;%单根带额定功率DP0=0.17;%功率增量alpha=180-180*x(1)*(i-1)/pi/a;%小带轮包角Kalp=alpha/(0.549636*alpha+80.396114);%包角系数KL=0.20639*x(2)^0.211806;%长度系数f(3)=KA*P/(P0+DP0)/Kalp/KL;%f3-V带根数:目标函数3(3)编制优化设计的M文件%V带传动多目标优化设计的约束函数文件function[g,ceq]=VDCD_3mb_YS(x)i=3;n1=1440;%已知条件:传动比,转速g(1)=100-x(1);%小带轮直径=Ddming(2)=pi*x(1)*n1/6e4-25%带速范围V=Vmaxa1=x(2)/4-pi*x(1)*(i+1)/8;a2=x(1)^2*(i-1)^2/8;a=a1+sqrt(a1^2-a2);g(3)=120-180*(1-x(1)*(i-1)/a/pi);%小带轮包角=alpming(4)=0.7*x(1)*(i+1)-a;%中心距范围a=aminceq=[];[x,fval,exitflag,output,grad,hessian]=fgoalattain(@fun,x0,goal,w,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P1,P2…)(3)编制优化设计的M文件%V带传动多目标优化设计的调用命令P=4;i=3;n1=1440;KA=1.1;%已知条件:功率,传动比,转速,工况系数x0=[100;1250];%初始点(小带轮直径,V带基准长度)goal=[75,280,2];%分目标w=[10^(-2),40^(-2),1.5^(-2)];%分目标加权系数lb=[80,630];%最小带轮直径和A型V带的基准长度ub=[100;4000];%最大带轮直径和A型V带基准长度[xopt,fopt]=fgoalattain(@VDCD_3mb_MB,x0,goal,w,[],[],[],[],lb,ub,@VDCD_3mb_YS)[x,fval,exitflag,output,grad,hessian]=fgoalattain(@fun,x0,goal,w,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P1,P2…)[],[],[],[],Optimizationterminatedsuccessfully:Searchdirectionlessthan2*options.xopt=1.0e+003*0.10001.2269fopt=100.0000281.52963.5957(4)M文件运算结果(5)优化结果处理dd1100mm1227mmLd小带轮基准直径带传动中心距带的根数1250mm圆整4圆整%优化结果数据处理后部分参数计算Dd1=100;Dd2=Dd1*i;z=4;Ld=1250;v=pi*Dd1*n1/6e4;a1=Ld/4-pi*Dd1*(i+1)/8;a2=Dd1^2*(i-1)^2/8;a=a1+sqrt(a1^2-a2);alpha=180-180*Dd1*(i-1)/pi/a;disp''disp'***************计算结果*****************'fprintf(1,'小带轮基准直径Dd1=%3.0fmm\n',Dd1);fprintf(1,'大带轮基准直径Dd2=%3.0fmm\n',Dd2);fprintf(1,'V带基准长度Ld=%3.0fmm\n',Ld);fprintf(1,'传动中心距a=%3.2fmm\n',a);fprintf(1,'小带轮包角alpha=%3.2f度\n',alpha);fprintf(1,'V带根数z=%3.0fmm\n',z);(4)M文件运算结果(5)优化结果处理***************计算结果*****************小带轮基准直径Dd1=100mm大带轮基准直径Dd2=300mmV带基准长度Ld=1250mm传动中心距a=293.82mm小带轮包角alpha=141.00度V带根数z=4(4)M文件运算结果(5)

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功