基于改进多目标布谷鸟搜索算法的翼型气动优化设计
2019-07-18张鑫帅刘俊罗世彬
张鑫帅,刘俊*,罗世彬
中南大学 航空航天学院,长沙 410083
在飞行器设计领域中,增升减阻是大型飞机气动设计的核心问题[1],以前气动外形的选型是依据设计者凭经验进行试凑,然后在风洞中进行试验,看是否满足气动要求。这样设计很难使性能达到整体最优,不仅设计周期很长,而且耗费了大量的人力和物力。随着计算机技术的发展,应用CFD技术和优化算法相结合来进行气动外形优化设计成为飞行器设计的主要手段之一[2]。气动函数一般表现为多峰值函数,基于梯度的优化方法容易陷入到局部最优,而无梯度的元启发式智能优化算法强大的全局寻优能力对于解决气动优化问题非常有利。现代大型民用飞机设计中,人们对飞机的性能提出了更苛刻的要求,精细化和多目标综合设计成了大型民用飞机设计的最明显特征[3],在飞机的优化设计中有了更复杂的目标函数和约束条件。这时,需要发展高效的元启发式智能优化算法来解决这种复杂的优化问题。目前较为流行的元启发式智能优化算法有模拟退火算法[4]、粒子群优化(PSO)算法[5]、蚁群算 法[6]以及遗传算法(GA)[7]等,其中一些算法已经在气动优化设计中被广泛使用。
布谷鸟搜索(CS)算法是一种新型的受自然现象启发的元启发式优化算法。它是由Yang和Deb于2010年提出[8],基于布谷鸟繁殖行为启发而来。该算法引入Levy飞行机制而不是使用简单的随机游走策略来使得其具有更有效的全局搜索能力,它相较于遗传算法拥有更少的代码和更简单的参数设置,相较于粒子群优化算法具有更好的全局收敛能力[8]。目前,CS算法在很多领域中都有广泛的应用[9],文献[10]使用CS算法在神经网络中寻找最优参数,得到了更加精准的预测模型。文献[11]将CS算法应用于人脸识别中,相较于蚁群算法和粒子群优化算法具有更好的效果,文献[12]应用CS算法求解整数规划问题,结果显示其相较于粒子群优化算法拥有更好的性能。
鉴于单目标CS算法的优秀性能,Yang和Deb[13]发展了一种直接求解Pareto最优解集的多目标智能优化算法——多目标布谷鸟搜索(MOCS)算法。目前,该算法仍处于验证阶段,较少用于工程优化设计特别是气动优化设计中。
本文针对原始MOCS算法的不足,分别从收敛速度、收敛精度、解的均匀性3个方面对MOCS算法进行改进。通过引入非支配排序和拥挤距离来改进解的适应度评估;通过改进随机游走策略来提高算法的局部搜索能力;通过引入改进的自适应丢弃频率策略来提高算法的收敛速度;通过引入档案管理机制,来提高Pareto解集分布的均匀性。随后,将改进的多目标布谷鸟搜索(IMOCS)算法应用于翼型的Pareto多目标气动优化设计中,得到了一系列Pareto最优解集,其中几个解的气动性能比基准翼型性能大幅提升。
1 多目标布谷鸟搜索算法
布谷鸟搜索算法是通过对自然界中布谷鸟繁殖行为的仿真模拟发展而来的一种新的元启发式智能优化算法。文献[8]中利用标准测试函数算例将CS与PSO和GA算法进行比较,CS算法相较于其他两种算法大幅度降低了迭代次数,并提高了找到全局最优解的成功率,尤其是对于不确定性的随机测试函数,CS算法的表现更好。自从CS算法提出之后,它凭借其优秀的搜索能力解决了很多工程优化问题从而吸引了许多研究人员的注意。Yang和Deb提出的多目标布谷鸟搜索算法[13]验证了布谷鸟搜索算法解决多目标优化问题的可行性,从而,布谷鸟搜索算法开始应用于多目标优化领域。
为了更加简单地实现MOCS算法,对于有k个不同目标的优化问题,引入3条理想化的规则[14]。
1)每一只布谷鸟同时产k枚鸟蛋,并将这k枚鸟蛋随机地放置在一个鸟巢中。第k枚鸟蛋就表示着一组解的第k个目标。
2)每一代中高质量的鸟蛋所在的鸟巢是最好的鸟巢,它将在下一代中继续繁殖。
3)每个鸟巢以Pa的概率被丢弃,这时会根据与宿主鸟蛋的相似性和相异性而搭建一个有k个鸟蛋的新鸟巢。
对3个规则进行数学分析,第1条规则其实是一个随机选取的过程,新解通过Levy飞行进行随机生成。同时,在这组解中进行随机排列是交叉的过程。算法运行过程中,每一个鸟巢都以这种方式生成。第2条规则是精英保留策略,将适应度高的解一直保留到下一次迭代,这样可以使得算法收敛到想要的结果。第3条规则认为是变异的过程,使得较差的解根据跟其他解的相似度按一定概率丢弃生成新解,这表明变异过程是一个矢量运算,它通过Levy飞行和两组解之间的差得到。根据上面3条理想化的规则,可得到MOCS算法的实现流程,如图1所示,其伪代码见 Algorithm 1[13]。
通过Levy飞行生成t+1代新解:
式中:符号表示矩阵的每个元素对应相乘;α的大小和问题的搜索域相关,当α较大时,算法的游走步长相对来说会变大,这样可以更有效地去探索大尺度搜索域。通常α取为α=o(1)。为了使算法有更快的收敛能力,可以引入不同解之间的差来使算法具有一定的变步长能力,这时α可表示为
式中:α0为一个常数。这样可以使得相似的鸟蛋具有较低被发现的可能性。
Levy飞行机制提供了一个步长服从Levy分布的随机游走:
Yang和Deb提出了一个简单的模型用来实现Levy飞行[13],这个模型可以描述为
图1 MOCS算法流程图Fig.1 Flow diagram of MOCS algorithm
式中:u和v都服从正态分布:
Algorithm 1:MOCS algorithm[13]1Initialize objective functions f1(x),f2(x),…,fK(x),x =[x1,x2,…,xd]T 2Generate an initial population of n host nest xiand each 3with keggs 4while(t<MaxGeneration)5 Get a cuckoo(say i)randomly by levy flights 6 Evaluate and check if it is Pareto optimal 7 Choose a nest among n (say j)randomly 8 Evaluate ksolutions for nest j 9 if new solutions of nest j dominate those of nest i 10 Replace nest i by the new solution set of nest j 11 end 12 Abandon a fraction(Pa)of worse nests 13 Keep the best solutions 14 Sort and find the current pareto optimal solutions 15 end 16 Post process results and visualization
对比求解单目标的CS算法[8]和求解多目标的MOCS算法[13],可以看出MOCS算法是直接从CS算法推广而来的,其主要区别在于单目标优化算法中一次产一个鸟蛋(对应一个目标)更改为一次产多个鸟蛋(对应多个目标),单目标优化算法中以较小的目标值作为较好的解,多目标优化算法中将可以完全支配其他解的解作为较好的解。这一简单的更改虽然实现了求解多目标优化问题的功能,但存在以下不足:① 单目标优化最终结果只有一个最优解,在迭代过程中,若新解比旧解适应度高则替代旧解,这将驱动算法始终朝向更优的解收敛。因此,对比新解与旧解的优劣性时只有两种情况:新解优于旧解或劣于旧解。而多目标优化问题最终求解的是一个Pareto解集,也就是存在多个互相妥协的解。因此,新解与旧解对比优劣性时应该有3种情况:新解支配旧解、旧解支配新解、两两互不支配。MOCS算法直接来源于单目标算法,并未考虑到第3种情况。② 单目标优化问题求解的是一个最优解,故CS算法在迭代过程中仅考虑新解与旧解之间的优劣性,而不需考虑不同个体之间的优劣性,而多目标优化问题求解的是一个应该尽量分布均匀的解集,因此,对于多目标优化,群体之间的优劣性与均匀性应当统一考虑,也就是除了应该考虑新解与旧解的支配关系,还应该考虑个体之间的相互支配关系。MOCS算法直接来源于单目标CS算法,并未考虑到这点。③ 在单目标CS算法中,一个解在随机丢弃之前,已经保存了当前个体中目标值最小的个体,这保证了最优解不会被丢弃,而推广得到的MOCS算法并没有对适应度高的个体进行保存,这样在随机丢弃中,无论解的适应度有多高,都会以Pa的概率被丢弃,导致把较好的解丢弃掉,影响到最终的优化结果。对于以上不足,为了使其更好地应用于气动优化问题中,需要对原始的MOCS算法进行改进。
2 改进的多目标布谷鸟搜索算法
鉴于布谷鸟搜索算法在单目标优化问题中的优秀表现(算法中采用的Levy飞行机制提高了全局搜索效率[15]),但在直接推广到多目标算法中存在的一些不足,本文提出一系列改进措施,以期充分发挥布谷鸟搜索算法在多目标气动优化设计中的性能。
本文从增强解的适应度、改进布谷鸟局部随机游走策略、改进自适应丢弃频率、增加档案的管理来获得更多Pareto最优解这几个方面对MOCS算法进行改进,进而提出了改进的多目标布谷鸟搜索(IMOCS)算法。
2.1 算法改进措施
MOCS算法以支配关系来提高解的适应度,当新解支配旧解时,认为新解的适应度高于旧解,从而用新解替换掉旧解。这样会存在一个问题,就是存在支配关系的解占少数,所以替换的发生次数很少,导致算法的收敛速度过慢。
借鉴NSGA-Ⅱ算法的优势,本文在 MOCS算法中引入快速非支配排序[16]的方法,使得解的更新加快,算法更容易收敛。
多目标优化算法理想的优化结果是:① 所有的解均在优化问题的全局Pareto最优解集中;② 所有的解均匀分布在整个Pareto前沿上,即解的收敛性和均匀性是评价优化结果的两个主要指标。然而使用非支配排序对解进行适应度评估,可提高解的收敛性却无法保证解的分布均匀性,因此,为提高解的均匀性,本文引入拥挤距离[16]方法。对于两个目标的优化问题,一个解的拥挤距离的大小由与这个解相邻的两个解构成的长方形的长和宽之和来度量,如图2所示,图中f1表示个体第1个目标值,f2表示个体第2个目标值。
图2 拥挤距离Fig.2 Crowding distance
在MOCS算法中,随机游走策略是根据解的相似性来决定搜索步长的[17],其表达式为
式中:Xt′k和Xt′j为从种群中随机选取的两个解;r为在[0,1]区间上均匀分布的随机数。
这里存在一个丢弃概率,首先产生一个0-1分布的随机数,当产生的这个随机数小于丢弃概率,则该解会被丢弃,新的解由式(7)来生成。解的移动步长由两部分组成,一个是生成的随机数r,一个是向量差分运算Xt′k-Xt′j。但这样进行解的更新存在一个问题,新解的生成是随机的,解的更新没有方向性。
文献[17]在MOCS算法的局部搜索中引入了随机数r和1-r,它使得解的更新方向更加随机,从而增强了子代个体的多样性。故本文在MOCS算法局部搜索的差分因子中加入随机数r和1-r,于是式(7)修改为
式中:rand为在[0,1]区间上均匀分布的随机数。
MOCS算法在局部搜索步骤中,无论一个解的适应度有多高,它都有可能被丢掉,并且丢弃频率的高低也会影响到解更新的步长,当找到一个适应度很高的解时,更倾向于在它周围很小的范围内进行寻找。所以本文对丢弃概率进行改进如下:
1)将产生的新解和旧解合并进行适应度从大到小的排序。
2)将丢弃概率Pa设定为动态可调节:Pa∈[Pa,min,Pa,max]。
3)生成从Pa,min~Pa,max等间距并且长度与解的个数相同的数组,适应度最高的解采用最低的丢弃概率,适应度最低的解采用最高的丢弃概率。
当算法一步步进行迭代之后,迭代次数越高,则个体中Pareto最优解的个数越多,根据上述思想,需要将丢弃概率Pa整体减小,来对最优解的附近进行搜索(局部搜索)。
4)将丢弃概率的最大值和最小值随着迭代次数的增加进行线性变化,可以由式(9)和式(10)来实现。
式中:t为当前迭代的次数;max_iter为最大迭代次数。
当使用优化算法进行多目标优化时,希望优化算法得到的个体可以等间距地分布在整个Pareto前沿上。前面分析到MOCS算法需要有一个解的存档过程,将生成的解归入档案中,以供挑选。因此,这个存档也需要一个合理的档案删除与保留机制。本文参考基于共享半径的小生境技术[18],共享半径的值由图3设定,图中σshare表示共享半径大小。将落在共享半径内的个体进行剔除,如果两个解之间的间距小于共享半径,则舍弃;两个解之间的间距大于共享半径则保留。这样档案管理机制有以下3种功能:① 删除掉档案中的重复个体;② 删掉档案中相距较近的个体;③ 保留非支配解。IMOCS算法的伪代码见Algorithm 2。
图3 自适应共享半径Fig.3 Adaptive sharing radius
orithm 1Initialize objective functions f1(x),f2(x),…,fk(x),x =[x1,x2,…,xd]Algorithm 2:IMOCS alg T 2Generate an initial nest of nindividuals xiand each with 3 keggs 4 while t<MaxGeneration 5 Get new nest of nindividuals randomly by Levy flights 6 Evaluate fitness of all individuals of new nest 7 Combine nest and new nest then conduct non-dominated
8 sorting to all 2nindividuals.9 Evaluate crowding distance and rank from height to low 10 Replace nest by first nindividuals 11 Abandon a fraction(Pa)of worse nest and obtain new 12 nest by formula 8 13 Combine nest and new nest then conduct non-dominated 14 sorting to all 2nindividuals 15 Evaluate crowding distance and rank from height to low 16 Replace nest by first nindividuals and keep nest into 17 next iteration 18 Deposit all nindividuals of nest in archive 19 if size of archive>max_archive 20 Delete duplicate individuals in the archive 21 Delete individuals in the archive that are closer 22 end 23 end 24Output all individuals of archive as optimization result and 25visualization
2.2 算法步骤
根据以上改进措施,给出改进的多目标布谷鸟搜素算法的实现步骤。
步骤1 设定算法相关参数。
步骤2 初始化鸟巢群nest,计算其目标值。
步骤3 通过改进的Levy飞行生成新的鸟巢群new_nest。
步骤4 计算new_nest中个体的目标值。
步骤5 将新解和旧解进行非支配分层排序;然后按分层的结果,分层计算拥挤距离;最后按层数和拥挤距离两个指标进行排序,层数为一级指标,拥挤距离为二级指标。
步骤6 取前n个排序结果,替换掉nest中的个体。
步骤7 将这n个个体存入档案archive中。
步骤8 按丢弃频率Pa丢弃部分解,并利用改进的局部游走生成新的鸟巢new_nest。
步骤9 重复运行步骤4~步骤8。
步骤10 将排序之后的前n个个体存档案。
步骤11 检查档案中个体是否超过限定的最大容量A_max,若超过了A_max,则进行档案的管理;否则进行下一步。
步骤12 判断当前迭代次数是否大于最大迭代次数max_iter,若小于最大迭代次数max_iter,程序则转向步骤3;若大于最大迭代次数max_iter,则停止迭代,输出结果。
步骤13 对计算结果进行分析处理。
2.3 仿真测试
为了验证本文提出的IMOCS算法的有效性,采用4个典型的测试函数对IMOCS算法进行仿真测试,并与改进前的MOCS算法和NSGA-Ⅱ算法进行比较分析。对于IMOCS算法和MOCS算法,仿真测试均取鸟巢数为50,迭代次数为100(由于每次迭代需计算2次群体的目标值,故总的目标函数计算次数为10000)。对于NSGA-Ⅱ算法,群体个数取100,迭代次数100,以保证3种算法总的目标计算次数相同。
1)ZDT1测试函数
变量个数n取30,ZDT1测试函数拥有连续的凹状Pareto前沿。
2)ZDT2测试函数
变量个数n为30,ZDT2测试函数拥有连续的凸状Pareto前沿。
3)ZDT3测试函数
变量个数n取30,ZDT3测试函数Pareto前沿是间断的。
4)ZDT6测试函数
对于ZDT6测试函数,它搜索空间的非均匀性会带来两种优化困难:①Pareto最优解在全局Pareto前沿上是非均匀分布的(前沿集中于f1(x)=1的解);② 接近于Pareto全局最优解的多样性最低,远离前沿解的多样性又很高[19]。
使用 MOCS算法和 NSGA-Ⅱ算法与IMOCS算法对测试函数算例进行仿真,算法参数设置如表1所示,优化结果对比如图4所示。NSGA-Ⅱ算法需要设置交叉概率Pc、变异概率Pm、交叉分布指数eta_c、变异分布指数eta_m。
表1 算法参数设置Table 1 Parameter settings of algorithms
从4个函数算例优化结果对比可以得到,IMOCS得到的Pareto解集与函数算例真实的Pareto前沿更加接近,对于4个函数算例,IMOCS算法优化结果均好于NSGA-Ⅱ和MOCS算法。注意,图中MOCS算法表现欠佳的原因是受限于迭代次数,增加迭代次数后表现会更好。
优化过程中误差随迭代次数的变化如图5所示。可以看出,对于所有测试函数算例,IMOCS算法的收敛速度相较于NSGA-Ⅱ和MOCS算法均更快,尤其是对于具有非均匀分布且多样性较低的全局最优解的ZDT6函数,相较于NSGA-Ⅱ和MOCS算法优势更为明显。
评价多目标优化算法的性能指标主要有解的收敛性和多样性[17]。
1)收敛性指标 用来评价算法的收敛性,它是采用每个个体距离真实Pareto前沿的平均距离(GD)作为算法收敛性的指标,其定义为
图4 测试函数优化结果对比Fig.4 Comparison of test function optimization results
图5 收敛速度比较Fig.5 Comparison of convergence speeds
2)多样性指标 用来评价算法的解的分布多样性。个体间距(SP)的定义为
为了降低算法的随机性对结果的影响,分别采用IMOCS算法、NSGA-Ⅱ和MOCS算法对上述数值算例重复优化30次,计算所得的Pareto最优解的收敛性指标和多样性指标的平均值与标准差如表2所示。从表中可以看出,对于4种测试函数,IMOCS算法的平均GD值比NSGA-Ⅱ和MOCS算法小,且大幅度优于MOCS算法,表明IMOCS算法的收敛精度比NSGA-Ⅱ和MOCS算法收敛精度更高,IMOCS算法的平均SP值比NSGA-Ⅱ和MOCS算法小,说明IMOCS算法得到的Pareto解分布更均匀。IMOCS算法的GD和SP值的方差更小,说明IMOCS相较于其他两种算法更加稳定。仿真结果表明改进后的算法性能提升很大,并优于目前主流的NSGA-Ⅱ算法。
表2 不同算法性能比较Table 2 Comparison of performance of different algorithms
3 翼型Pareto多目标优化设计
在飞行器设计中,翼型设计是很关键的一步。在测试函数的优化中,IMOCS算法表现出了很好的收敛性和解的分布性。本节将IMOCS算法引入到实际的翼型多目标优化设计中,测试IMOCS算法在气动优化设计中的表现。
3.1 翼型几何外形参数化
翼型参数化是气动优化中非常重要的一步,翼型的参数化拟合精度决定了设计出的翼型的可靠性,国内外研究了很多翼型参数方法,例如:形状类别函数变换(CST)方法[20]、Hicks-Henne型函数法[21]、Parsec 方法[22]、NURBS(Non-Uniform Rational B-Splines)方法[23]、Bezier 方法[24]、FFD 变形技术[25]等。其中在翼型上使用比较广泛的为CST方法和Hicks-Henne型函数法。本文采用CST参数化方法,使用10个设计变量来描述翼型的几何外形。关于CST方法的具体描述可参考文献[26]。
3.2 网格自动生成技术
本节所采用的翼型网格自动生成程序可以通过求解椭圆型方程的方法和无限插值的方法生成“C”型和“O”型结构网格,网格第1层高度为1×10-5m,远场取20倍弦长。网格单元数为320×64,使用“C”型网格对求解翼型绕流,图6给出了所使用的“C”型计算网格的全貌和网格局部放大图。
图6 计算网格Fig.6 Mesh for computation
3.3 流场数值计算
本文采用求解雷诺平均Navier-Stokes方程来进行翼型的气动性能计算。流场计算采用隐式求解、加入预处理、多重网格等数值模拟技术。空间离散格式为Jameson中心离散格式,湍流模型采用Spalart-Allmaras湍流模型。
为了验证对RAE2822翼型流场数值求解方法的有效性,将数值求解的压力系数Cp结果与其试验值[27]对比,如图7所示,图中Ma为马赫数,α为迎角,Re为雷诺数。
图7 计算与试验的压力系数分布对比Fig.7 Comparison of pressure coefficient distribution between calculation and experiment
3.4 翼型Pareto多目标优化设计
本文选取两种状态的升阻比作为优化目标。第1个设计状态为:Ma=0.75,Re=6×106,α=2.31°;第2个设计状态为:Ma=0.6,Re=6.5×106,α=2.31°。优化目标为:在这两种工作状态下翼型的升阻比最大。该多目标优化问题可描述为
式中:CL为升力系数;CD为阻力系数。
采用IMOCS算法进行优化,设置鸟巢数为50,迭代次数为100。IMOCS算法共得到了64个Pareto最优解,如图8所示,图中五角星代表基准翼型的气动性能。本文从中选取3个Pareto解进行翼型气动分析。
图8 IMOCS算法的优化结果Fig.8 Optimization results of IMOCS algorithm
表3给出了翼型优化前后两种状态下的气动特性对比。优化翼型1在状态1中,相较于基准翼型升阻比基本不变,而在状态2中,升阻比从70.86提升到80.106 8,提升了13.05%,该翼型在保证其状态1中升阻比不损失的情况下大幅提高了状态2下的升阻比。优化翼型2在状态1中,相较于基准翼型升阻比从40.39提升到48.023 5,提升了18.90%,而在状态2中,升阻比从70.86提升到了76.123 5,提升了7.43%,该翼型折中考虑了状态1和状态2中升阻比的提升。优化翼型3在状态1中相较于基准翼型升阻比从40.39提升到56.413 9,提升了39.67%,而在状态2中,升阻比基本不变。
优化前后翼型几何外形对比如图9所示,图10给出了优化前后翼型在两种状态下的压力系数Cp分布,优化翼型1相较于基准翼型激波强度基本不变,优化翼型2激波强度稍有减弱,优化翼型3激波已基本消除;对于状态2,优化翼型1的升力系数比基准翼型有较大提升。这与表3中的结果相符,即对于优化翼型2和3,状态1的升阻比提升主要是由于激波减弱、阻力降低;而对于状态2,优化翼型1的升阻比提升主要是升力提升带来的。
表3 优化前后气动性能对比Table 3 Comparison of aerodynamic performance between baseline and optimized airfoils
图9 优化前后翼型几何形状对比Fig.9 Comparison of shape between baseline and optimized airfoils
图10 两个状态下优化前后翼型压力系数分布对比Fig.10 Pressure coefficient distribution comparison of baseline and optimized airfoils under Conditions 1and 2
选取的Pareto解不同,所得到的优化翼型在状态1和状态2中气动特性提升的幅度不同,设计者可以针对具体问题来选取合适的Pareto解。
3.5 3种算法优化结果比较
3种算法的参数设置与测试函数仿真算例参数设置相同,优化结果比较如图11所示。
从图11可知,流场计算次数相同的时候,IMCOS算法与NSGA-II均有比较好的收敛效果,而MOCS算法还未收敛,说明MOCS算法不适合直接用于工程优化问题,为了进一步比较IMOCS算法和NSGA-Ⅱ用于解决气动优化问题的性能,在迭代过程中选取第20代、第40代、第60代、第80代计算结果进行比较,如图12所示。
根据不同迭代次数IMOCS算法和NSGA-Ⅱ算法的优化结果对比,可以得出,对于气动优化问题,IMOCS算法收敛速度明显快于NSGA-Ⅱ算法,这也说明对于复杂的工程优化问题,IMOCS算法可以使用更少的迭代次数来获得优化问题的Pareto最优解集。
4 结 论
1)本文针对原始的多目标布谷鸟搜索算法的不足,分别从增强解的适应度,改进布谷鸟局部随机游走策略,改进自适应丢弃频率,增加档案的管理机制4个方面对MOCS算法进行改进,得到了性能更优秀的IMOCS算法。使用测试函数对IMOCS、MOCS和NSGA-Ⅱ算法的仿真测试结果表明,改进后的IMOCS算法大幅度提升了算法的收敛速度和收敛精度。并且,IMOCS算法相较于发展成熟的NSGA-Ⅱ算法拥有更强的全局搜索能力、更快的收敛速度和更高的收敛精度,同时,所得到的Pareto解分布更加均匀。
2)将IMOCS算法应用于翼型的Pareto多目标气动优化设计中,将两个不同状态下的升阻比作为优化目标,IMOCS算法经过10 000次的流场计算,共获得了64个不同的翼型,设计者可以根据自己的偏好来选取合适的优化翼型。算法在进行相同次数的流场计算后,IMOCS算法相较于原始的MOCS算法具有更高的收敛精度。通过不同迭代次数下IMOCS算法和NSGA-Ⅱ算法优化结果的对比,得到IMOCS算法收敛速度明显快于NSGA-Ⅱ算法,说明IMOCS算法相较于目前主流的NSGA-Ⅱ算法可以更快地解决复杂的气动优化问题。
3)在测试函数的仿真中,IMOCS算法的收敛速度和收敛精度优于NSGA-II算法,相信它在工程优化领域中是一种极具潜力的优化算法。在气动优化中,可以考虑将其与其他算法相结合,进而将其应用于解决更复杂的实际问题。
当前IMOCS算法仅应用于两个目标的多目标优化问题,下一步将研究其对3个及以上目标问题的适用性。