当前位置:首页 > 商业/管理/HR > 管理学资料 > MATLAB多目标优化计算
6多目标优化问题多目标优化问题的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…)设置优化选项参数各分目标权重各分目标期望值目标函数在最优解的海色矩阵返回目标函数在最优解的梯度优化算法信息的一个数据结构返回算法的终止标志返回目标函数的最优值返回目标函数的最优解附加参数非线性约束条件的函数名设计变量的下界和上界线性等式约束的常数向量线性等式约束的系数矩阵线性不等式约束的常数向量线性不等式约束的系数矩阵无定义时以空矩阵符号“[]”代替6.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(fmin6.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°带传动的中心距要求小带轮基准直径的下限和上限带基准长度的下限和上限性能约束边界约束三、例题6.1函数fgoalattain6.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;%已知条件:功率,传动比,工况系数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带根数:目标函数36.1函数fgoalattain三、例题(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=[];6.1函数fgoalattain三、例题[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)6.1函数fgoalattain三、例题[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文件运算结果6.1函数fgoalattain三、例题(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文件运算结果6.1函数fgoalattain三、例题(5)优化结果处理***************计算结果*****************小带轮基准直径Dd1=100mm大带轮基准直径Dd2=300mmV带基准长度Ld=1250mm传动中心距a=293.82mm小带轮包角alpha=141.00度V带根数z=4mm(4)M文件运算结果6.1函数fgoalattain三、例题(5)优化结果处理(6)最终方案6.2函数fminimaxminmax{f1,f2,…,f3}s.t.AX≤b(线性不等式约束)AeqX=beq(线性等式约束)C(X)≤0(非线性不等式约束条件)Ceq(X)=0(非线性等式约束)Lb≤X≤Ub(边界约束条件)一、多目标优化问题数学模型各分目标函数二、优化函数使用格式[x,fval,exitflag,output,grad,hessian]=fminimax(@fun,x0,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P1,P2…)设置优化选项参数目标函数在最优解的海色矩阵返回目标函数在最优解的梯度优化算法信息的一个数据结构返回算法的终止标志返回目标函数的最优值返回目标函数的最优解附加参数非线性约束条件的函数名设计变量的下界和上界线性等式约束的常数向量线性等式约束的系数矩阵线性不等式约束的常数向量线性不等式约束的系数矩阵无定义时以空矩阵符号“[]”代替6.2函数fminimax初始点目标函数文件名三、例题已知直径为1单位长度的圆柱梁,要求将它制成矩形截面梁,满足重量最轻和强度最大的条件,试确定矩形截面尺寸。解:(1)建立优化设计的数学模型①设计变量:矩形截面的宽和高X=[x1,x2]T②目标函数:重量→截面积:弯曲强度→矩形截面矩量:6.2函数fminimax6/xx)X(fmin2212minf1(X)=x1x2x1x2③约束条件:含性能约束和边界约束1xx)X(h22210x)X(g1101x)X(g120x)X(g2301x)X(g24变量x1的上下限变量x2的上下限等式约束性能约束边界约束6.2函数fminimax三、例题(2)编制优化设计的M文件[x,fval,exitflag,output,grad,hessian]=fminimax(@fun,x0,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P1,P2…)%矩形截面梁两目标优化设计的目标函数文件functionf=JXL_2mb_MB(x)f(1)=x(1)*x(2);%f1:梁的截面积f(2)=-x(1)*x(2)^2/6;%f2:梁的截面矩量%矩形截面梁两目标优化设计的约束函数文件function[c,ceq]=JXL_2mb_YS(x)ceq=x(1)^2+x(2)^2-1;%非线性等式约束c=[];%所有非线性不等式约束%矩形截面梁两目标优化设计x0=[1;1];lb=[0;0];ub=[1;1];[xopt,fopt]=fminimax(@JXL_2mb_MB,x0,[],[],[],[],lb,ub,@JXL_2mb_YS)(3)运行结果Optimizationterminatedsuccessfully:xopt=0.70710.707
本文标题:MATLAB多目标优化计算
链接地址:https://www.777doc.com/doc-1463931 .html