设计车床齿轮变速箱时,要求:各齿轮体积总和1()fX尽可能小降低成本各传动轴间的中心距总和2()fX使变速箱结构紧凑。合理选用材料使总成本3()fX尽可能小。4()fX尽可能小。尽可能小传动效率尽可能高机械耗损率在优化设计中同时要求几项指标达到最优值的问题称为多目标优化设计问题。兼顾多方面的要求,则称为多目标优化问题。一、多目标优化及数学模型例如,在机械加工时,对于用单刀在一次走刀中将零件车削成形,为选择合适的切削速度和每转给进量,提出以下目标:机械加工成本最低;生产率最高;刀具寿命最长。还应满足的约束条件是:进给量小于毛坯所留最大加工余量刀具强度等12min()[(),(),...,()]..()0,(1,2,...,)()0,(1,2,...,)TLijFfffstgimhjkXXXXXX对于一个具有L个目标函数和若干个约束条件的多目标优化问题,其数学模型的表达式可写为:求:12[,,...,)TnxxxX向量形式的目标函数设计变量应满足的所有约束条件n维欧氏空间的一个向量多目标问题是现实世界中普遍遇到的一类问题,其中希望(或必须)考虑多个相互矛盾目标的影响。例如证券投资问题中我们希望利润最大而风险最小,生产销售问题中我们希望费用较少而获利很大,等等。例:车间计划生产甲、乙两种产品,每种产品均需经过A、B、C三道工序加工。工艺资料如表一所示。2、解法:解法将多目标优化问题转化为单目标优化问题(统一目标函数法)二、多目标优化问题的特点及解法(续)将多目标优化问题转化为一系列单目标优化问题7.2统一目标函数法(综合目标法)一、基本思想统一目标函数法就是设法将各分目标函数f1(X),f2(X),…,fl(X)统一到一个新构成的总的目标函数f(X),这样就把原来的多目标问题转化为一个具有统—目标函数的单目标问题来求解.即:12()((),(),...,())minminlXDXDfffFXFXXXD为可行域,f1(X),f2(X),…,fl(X)为各个子目标函数。7.2统一目标函数法(续)二、统一目标函数的构造方法1、线性加权和法(线性加权组合法)根据各子目标的重要程度给予相应的权数,然后用各子目标分别乘以他们各自的权数,再相加即构成统一目标函数。即评价函数为:1()()LiiiffXX12(),(),...,()LfffXXX12,,...,Li应满足归一性和非负性条件110(1,2,...,)LiiiiL——各子目标函数——权数优化的数学模型为121(,,...,)min()()..()0(1,2,...,)()0(1,2,...,)TnLiiiijxxxffstgimhjkXXXXX注意:1、建立这样的评价函数时,各子目标的单位已经脱离了通常的概念。2、权数(加权因子)的大小代表相应目标函数在优化模型中的重要程度,目标越重要,权数越大。例:现有现金70元,可用来可用来购买菠萝和苹果。菠萝5元/kg,苹果3元/kg,要求总斤数不少于15kg,菠萝不少于5kg。问:(1)购买菠萝和苹果各多少斤,才能在满足要求的条件下花钱最少?(2)购买菠萝和苹果各多少斤,才能在满足要求的条件下所买的菠萝和苹果最多?解:通俗地说,这是一个如何安排资金,少花钱多办事的问题。设购买菠萝x1kg,苹果x2kg。可以列出如下的优化数学模型:2112min()53fxxxxR2212max()fxxxxR12..5370stxx1215xx51x02x(1)如果只考虑目标函数2112min()53fxxxxR则应用Matlab求解的程序为:%li9_1f=[53];A=[53;-1-1;-10];b=[70;-15;-5];xl=[0;0];[x,f,exitflag]=linprog(f,A,b,[],[],xl)最优解为:X*=[510],1()55f元x2()15fkgx(2)如果只考虑目标函数2212max()fxxxxR则应用Matlab求解的程序为:f=-[11];A=[53;-1-1;-10];b=[70;-15;-5];xl=[0;0];[x,f,exitflag]=linprog(f,A,b,[],[],xl)最优解为:X*=[515]1()70f元x2()20fkgx解:取权系数(1)w1=0.5,w2=0.5;(2)w1=0.2,w2=0.8相应的MATLAB计算程序如下:clc;clearall;A=[53;-1-1;-10];b=[70;-15;-5];xl=[0,0];x0=[0,0];w(1,1)=0.5;w(1,2)=0.5;w(2,1)=0.2;w(2,2)=0.8;fori=1:2[x,f,exitflag]=fmincon(@(x)fun_obj(x,w(i,:)),x0,A,b,[],[],xl)f1=5*x(1)+3*x(2)f2=x(1)+x(2)endfunctionf1f2=fun_obj(x,ww)f1f2=ww(1)*(5*x(1)+3*x(2))-ww(2)*(x(1)+x(2));(1)取权系数w1=0.5,w2=0.5时最优解为(2)取权系数w1=0.2,w2=0.8时最优解为X*=[510],1()55f元x2()15fkgxX*=[515]1()70f元x2()20fkgx权因子的确定方法:在确定权因子前,应先将各子目标函数进行无量纲化,处理的方法是:''()()min()iiiDfffXXXX'()ifX是多目标问题中某个带量纲的子目标;()ifX是作了无量纲处理后的第i个子目标函数(1)专家评判法(老手法)凭经验评估,并结合统计处理来确定权数的方法。特点:方法实用,但要求专家人数不能太少。(2)容限法若已知子目标函数fi(X)的变动范围为:(),1,2,...,iiifiLX则称()(1,2,...,)2iiifiLX为该目标函数的容限这时权数可取为:21(),1,2,...,iifiLX目的:在目标函数中使各子目标在数量级上达到统一平衡。7.2统一目标函数法(续)2、理想点法基本思想:使各个目标尽可能接近各自的最优值,从而求出多目标函数的较好的非劣解。二、统一目标函数的构造方法(续)步骤:先用单目标优化方法求得各子目标的约束最优值和相应的最优点,然后构造目标函数。目标函数:1212*21(,,...,)min()[()]..()0(1,2,...,)()0(1,2,...,)TnLiiiijxxxfXffstgXimhXjkXX7.2统一目标函数法(续)3、平方和加权法基本思想:在理想点法的基础上引入权数二、统一目标函数的构造方法(续)目标函数:12*21(,,...,)min()[()]..()0(1,2,...,)()0(1,2,...,)TnLiiiiijxxxfXffstgXimhXjkXXi构造评价函数。i满足归一性和非负性条件110(1,2,...,)LiiiiL7.3主要目标函数法基本思想:从所有L个子目标函数中选出一个设计者认为最重要的作为主要目标函数,而将其余L-1个子目标限制在一定的范围内,并转化为新的约束条件,将多目标优化问题转化为单目标优化问题。设f2(X)为主要目标函数,则优化的数学模型为:1220(,,...,)min()..()0(1,2,...,)()0(1,2,...,)()(1,2,...,)TnijttxxxfstgXimhXjkfXftLXX0(1,2,...,)tftL——原问题第t个目标函数的上限值。7.4极大极小法MATLAB:函数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…)设置优化选项参数目标函数在最优解的海色矩阵返回目标函数在最优解的梯度优化算法信息的一个数据结构返回算法的终止标志返回目标函数的最优值返回目标函数的最优解附加参数非线性约束条件的函数名设计变量的下界和上界线性等式约束的常数向量线性等式约束的系数矩阵线性不等式约束的常数向量线性不等式约束的系数矩阵无定义时以空矩阵符号“[]”代替函数fminimax初始点目标函数文件名三、例题已知直径为1单位长度的圆柱梁,要求将它制成矩形截面梁,满足重量最轻和强度最大的条件,试确定矩形截面尺寸。解:(1)建立优化设计的数学模型①设计变量:矩形截面的宽和高X=[x1,x2]T②目标函数:重量→截面积:弯曲强度→矩形截面矩量:6/xx)X(fmin2212minf1(X)=x1x2x1x2③约束条件:含性能约束和边界约束1xx)X(h22210x)X(g1101x)X(g120x)X(g2301x)X(g24变量x1的上下限变量x2的上下限等式约束性能约束边界约束(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.7071fopt=0.5000-0.0589[],[],[],[],7.4功效系数法基本思想:先按各子目标值的“优”或“劣”(即“功效”)分别求出与其对应的功效函数,然后再由各个功效函数构造出问题的评价函数进行求解。目的是将多目标优化问题转化为单目标优化问题7.4功效系数法一、功效系数多目标优化设计中,各子目标的要求不同极小值极大值一个合适的数值每个子目标都用一个功效函数di表示(())(1,2,...,)iiiddfiLX——其值为功效系数功效函数的范围[0,1]fi(X)的值满意时,di=1fi(X)的值不满意时,di=0二、评价函数7.4功效系数法(续)用所有子目标的功效系数的几何平均值作为评价函数12()LLfdddXf(X)的值越大,设计方案越好;反之越差;0()1fXf(X)=1时,表示取得最满意的设计方案f(X)=0时,表示此设计方案不能接受该评价函数不会使某一个目标最不满意——功效系数法的特点三、功效函数的确定(a)目标函数越大越好(b)目标函数越小越好(c)目标函数过大过小都不好对于一个具有L个目标函数和若干个约束条件的多目标优化问题,若有S个子目标函数为求极小,而其余L-S个子目标函数为求极大时,各子目标对应的功效函数的求法:7.4功效系数法(续)三、功效函数的确定(续)1、在可行域D中求出各子目标函数的最小值和最大值(1)(2)()(1,2,...,)()minmaxiiXDiiXD