APP下载

地面无人武器站中的模块划分方法

2021-02-22徐宏斌李正宇刘馨心

兵器装备工程学报 2021年1期
关键词:适应度遗传算法模块化

刘 浩,张 磊,徐宏斌,李正宇,刘馨心

(1.清华大学 机械工程系,北京 100084; 2.西安现代控制技术研究所,西安 710065)

近年来地面无人武器装备快速发展,随着作战任务的日益多样化,军队对不同类型武器的需求也随之增加。研制搭载各类武器站的地面无人战车,使之针对不同的作战环境选配合适的武器站,不仅能有效降低武器系统的综合成本,也可以大大提高其特定环境下的作战能力[1]。这就需要在无人武器站设计时充分考虑研制周期、成本与产品种类之间的矛盾,既能对部队需求做出快速响应,也能够提升生产制造效率。我国应该突破地面无人武器系统体系的需求分析、体系结构设计、顶层设计检验等总体设计技术,促进地面无人系统的标准化、通用化和系列化发展[2]。

模块化设计方法在功能分析的基础上,划分并设计出一系列的功能模块,通过模块的选择和组合构成不同的产品,以快速响应市场的需求。通用模块在产品系列中具有很好的可继承性,能够有效利用规模经济效益降低成本,便于实现系列化设计、标准化生产、通用化使用等目标。专用模块能够实现产品的多样化,满足客户的不同需求,并适应技术的发展更新。武器装备属于复杂机电产品,零部件数量多,涉及到的交互关系复杂,文献[3]运用模块化设计理论建立了自动武器快速设计的总体框架,研究并提出了产品模块、接口划分方法及模块信息编码方案。文献[4]对作战装甲车辆的结构进行了模块化的探索研究,但模块划分主观性太强,划分结果的合理性未能体现。

模块划分作为模块化设计的关键步骤,其划分结果将直接影响产品的模块化程度。目前非数值类模块划分算法(启发式算法[5]、树图法[6])在面对复杂机电产品时适应性较差。数值类的模块划分算法则是通过构建目标函数并进行优化,来寻找全局最优解。文献[7]使用蚁群聚类算法进行模块划分,文献[8]引入稳健设计思想,提出了基于人工免疫改进算法的模块划分方法,文献[9]在权衡产品族内在共性和单个零部件特性之间关系的基础上,采用遗传算法进行产品平台的模块化设计。

由于数值类算法存在着操作复杂、计算时间长等缺陷,本文提出了一种新的基于个体寻优策略的方法对无人武器站进行模块划分,为了证明其有效性和通用性,使用了遗传算法进行纵向比较,并对其他文献中的模块划分结果进行横向验证。

1 模块划分的相关理论

Ulrich[10]认为模块化是个相对概念,无法将产品分为模块化产品和非模块化产品,但产品的模块化程度有高低之分,并指出模块化程度与功能、物理结构的映射关系和模块之间的偶发影响相关。在理想的设计中,功能与模块之间为一一映射,同时模块之间的联系均通过接口产生,不存在除此之外的其他偶然影响。模块划分的目的就是对零件进行重组,使之具有更高的模块化程度。

在模块划分过程中,可以引入不同的划分准则(或目标函数)来使得划分结果体现不同的设计意图。产品的生命周期包括设计、制造、维修、回收等环节,面向全生命周期或其中某一环节的模块化设计方法成为研究热点。文献[11]在功能分析的基础上面向产品的全生命周期提出8个划分原则来指导模块划分,有效地保证了模块的功能属性和绿色属性。文献[12]为解决机电产品中客制化、技术进化和通用化3种策略之间的矛盾,建立多策略设计准则来修正模块划分结果。无论引入什么准则来赋予模块更多的属性,都需要遵循以下两条原则:1) 功能与物理交互关系是模块化设计的基本准则;2) 准则的制定不是随意的,其评判标准能够通过零件之间的归属关系表现。

准则建立之后,利用层次分析法获得不同准则的权重向量,同时基于准则评价量化表得到零件两两之间的交互关系矩阵,通过加权求和法进行关系融合,并以此为基础进行模块划分。

2 地面无人武器站的模块划分

2.1 建立准则

文献[13]认为功能交互关系包含结构、能量、物质、信号和作用力5个方面,但并没有给出能量交互、物质交互、信号交互等准则的具体评价方法。文献[14-15]提出影响模块划分的因素主要包括产品零部件的功能相关性、几何相关性和物理相关性等3个方面,并给出了产品零部件关联度的定义(表1)。该定义简化了交互关系的层级,具有较强的参考意义。

表1 产品零部件关联度定义

2.2 生成零件交互关系矩阵

针对每一条相关性准则i,利用层次分析法[16]得到各自的权重wi,根据表1的评价方法建立在准则i下的零件交互关系矩阵Ri=(rjki)n×n,rjki为零件j和零件k在准则i下的关系交互值,n为零件总数。定义rjji=1,rjki=rkji,因此Ri具有对称性和自反性。由于在评价2个零件之间的关系时,难以充分考虑到由于第三方零件所引发的间接联系,因此为了弥补人工评价造成的信息缺失或不一致,需要求出Ri的传递闭包矩阵来发掘出零件之间的隐藏联系。

通过对地面无人武器站的功能分解得到表2所示的零件清单,表3为各准则之间的判断矩阵以及权重,表4为零件之间的交互关系矩阵R元素。

表2 地面无人武器站零件清单(部分)

表3 判断矩阵与权重

表4 零件交互关系矩阵R的元素

2.3 使用遗传算法进行模块划分

2.3.1 构建目标驱动函数和使用遗传算法优化

模块划分算法的作用是从交互关系矩阵中成功识别出不同的模块,首先需要建立基于零件交互关系矩阵R的目标函数。模块内聚合度高、模块之间耦合低是模块划分的驱动因素,文献[15,17]采用了以下目标函数:

其中:

1)v为划分结果的模块总数;

3)fmmax=fm|rjk=1=Nm(Nm-1)/2,由于在驱动函数中fmmax≠0,所以Nm>1;

式中fm/fmmax表征了模块m的聚合度,最大化fm/fmmax的效果是将关联度最强的两个零件划分在同一个模块内,而将其他零件排除在外,故可以称之为“排外项”。当零件被排除在模块m之外后,fm/Tfmax就会减小,故可以称之为“惩罚项”。因此最大化目标函数的过程是将关联度相对高的零件划分至同一模块,并通过惩罚因子来约束模块的排外行为。

图1 不同划分方案示意图

文献[11]分别定义了模块内聚合度和模块间耦合度,利用两者的相对值构建了目标函数。

maxF″=v*F1/F2

其中:

由于F1是关于v的一次函数,F2是关于v的二次函数,为了降低模块粒度对目标函数的影响,需要乘上因子v。由此可以看出,该驱动函数同时考虑了模块聚合度和模块之间耦合度的影响,并且降低了目标函数对模块粒度的敏感性。接下来将使用此函数作为优化的目标函数。

使用遗传算法优化目标函数。遗传算法的相关设定如下:

1) 编码:采用二进制编码形式表示模块划分结果。基因编码的十进制数表示其所属的模块编号,具有相同编号的零件将被划分至同一模块。基因长度lg由模块数量v决定,这里我们取lg=3,意味着模块个数v的取值范围为[1,8]。

图2 基因编码示意图

2) 选择算子:将目标函数作为适应度函数,对每一条染色体计算其适应度函数值,采用轮盘赌方法进行选择。

3) 交叉算子:采用两点交叉,这样有利于保证种群的多样性。

4) 变异:每个基因位均有可能变异,变异概率pv。

2.3.2 基于遗传算法的划分结果

使用Matlab2016编程进行优化计算(Inter(R) CPU E3-1230 v6 @ 3.5GHZ),每次计算固定迭代次数200次,计算时长为2.04 h。图3~图5是在不同优化参数下得到的收敛结果,绘制了最优适应度值曲线和种群的进化方向。由于遗传算法具有随机特征,因此在每组参数下分别进行了5次计算,取出其中表现最好的一次。

图3 适应度的优化函数值曲线种群数量50,变异概率0.2,收敛值3.408

图4 适应度的优化函数值曲线种群数量50,变异概率0.35,收敛值3.684

图5 适应度的优化函数值曲线种群数量50,变异概率0.4,收敛值3.552

大量计算结果表明,遗传算法收敛性较好,但容易陷入局部最优,得到不同的解。通过适当增大变异概率,能提高其全局搜索能力,但这种提高是有限的,当变异概率从0.35增大至0.4时,全局收敛性并未提高。造成此现象的原因在于,对于模块划分问题二进制编码(包括十进制编码)并不满足编码的非冗余性,不同的编码可能代表着同一个划分方案,例如将5个零件划分为2个模块,“01100”和“10011”所表示的划分情况是完全一致的,由此造成的结果是无论怎么样提高变异概率都收效甚微。另外,当零件数量较多时,目标函数对每一种划分情况的敏感度开始下降,大量的个体处于局部最优的陷阱当中。

2.4 基于个体寻优策略的模块划分算法

遗传算法等其他数值类算法表现的好坏很大程度上依赖于优化参数的选择,在参数选择不合适的情况下,无法兼顾全局收敛性和收敛速度。同时由于编码的冗余性,大大降低了参数的调节能力。

个体寻优算法不再使用人工智能算法优化目标驱动函数,而是从零件聚类与分离的内在驱动因素出发,考虑每个零件在模块聚类过程中的个体选择,正是这些个体选择决定了模块划分的结果。因此如果建立某些规则来约束个体行为,使之朝着模块内聚合度高和模块间耦合度低的目标进行聚类,就能获得稳健的、理想的模块划分结果。

个体寻优算法的流程如下:

1) 通过2.2节所述的方法获得零件交互关系矩阵R。

2) 对于第i行的所有元素(除i列外),记录最大值所在的列数jmax1,jmax2…,最后将得到由行号i和列号jmax1,jmax2…组成的一列数组,记作:ai=[i,jmax1,jmax2…]。

3)i遍历1到n,得到集合A={a1,a2…an}。

4) 检索A中的所有元素,若ai∩aj≠Ø,则更新ai=ai∪aj,并将aj从数组A中删去。

5) 重复步骤4直到数组A中的任意两个元素的交集为空,最终得到A=[a1,a2,…,av]。A所表示的即是模块划分结果,a1,a2,…,av代表第1个到第v个模块,ai中的元素表示属于该模块的零件编号。

定义解离阈值λ1和聚合阈值λ2,当该行有元素的值大于λ2时,无论其是否为该行的最大值,其列数都将被记录在ai中;相应地,当该行有元素的值小于λ1时,无论其是否为该行的最大值,其列数都不被记录。通过调节两个阈值,可以控制模块划分的粒度,同时又能保证结果划分的合理性。一般情况下,可以取λ1=0.3,λ2=0.8。

个体寻优算法是针对模块划分这一特定问题而提出的一种新方法。与遗传算法相比,其思想不是控制宏观种群的进化方向,而是将模块的聚类看作是一个动态的过程,

某一个体在做出选择时,只需要遵循最基本的原则:1)与关联度最高的零件聚合;2)当与其他所有零件的关联度低于某一个阈值时保持独立。个体寻优算法的主要优点在于利用了从目标函数构建过程中获得的启发性结论,无需进行大量迭代计算,物理过程清晰,同时能够识别出独立模块,而在目标函数构建中,需要模块内零件的个数大于1才能保证函数有意义。其缺点在于尚不能从数学上证明其与目标函数的统一性。

2.5 个体寻优策略的有效性验证

使用个体寻优策略对无人武器站进行模块划分,结果如图6所示。模块1={1,13,16,24,25,26,27,28,29,30},模块2={2,9,14,17,18,19,20,21},模块3={3,4,5,6,7},模块4={8,22},模块5={10,11,12,15,23}。通过计算,该划分结果的目标函数值为3.954,明显高于利用遗传划分算法所得到的结果。进一步的,我们用二进制编码表示此结果,并随机对m个基因位进行取反操作,以此观察在该结果附近适应度值的分布情况,如图7所示。由于模块划分问题的特殊性,导致基因编码出现冗余,因此适应度值先是随着变异位数的增加而下降,但很快出现了锯齿形震荡,想要在这样的可行域中搜索到全局最优解,无疑是相当困难的事情,这也解释了为什么使用遗传算法的效果并不理想。

图6 个体寻优算法的划分结果

图7 最优值附近的适应度分布情况

为了进一步验证个体寻优算法的有效性,对4篇文献中的案例进行了验证性的划分,这些文献都提供了完整的零件交互矩阵。《面向规模化产品族的数值规划方法》[17]使用模拟退火算法对减速器进行了模块划分。《基于遗传模拟退火算法的减速器模块化设计的模块方法》[15]为了克服遗传算法“早熟”和模拟退火算法收敛性差的特点,将两者结合,在每次获得新种群之后使用模拟退火算法进行种群筛选。《复杂产品的最小最大划分模块化方法》[14]对阈值截割法进行了改进,提出了最小最大划分的模块划分方法解决轮式装载机的模块划分问题。《基于蚁群聚类算法的大规模定制产品模块划分研究》[7]使用蚁群聚类算法进行模块划分。表5表示划分验证情况。

表5 各文献使用情况

对于文献[7],原划分结果是{1,2,9,10,19,22}、{3,4,12,13,20,23,24}、{5,6,11,14,15,16,21}、{7,8,17,18},使用个体寻优算法的划分结果是{1,4,5,7,10,12,13,18,22,24}、{2,9,11,15}、{3,6,19,20,21,23}、{8,14,16,17},在文献提供的交互关系矩阵中,零件1和零件13,零件2和零件11,零件3和零件19,零件4和零件7,零件5和12的交互关系均为1,然而在最终的模块划分方案中,上述零件并没有被划分至同一模块,因此对于文献中算法的有效性存在疑问。

3 结论

本文提出了一种地面无人武器站模块划分的个体寻优算法。该方法从零件聚类与分离的内在驱动因素出发,指导模块划分,克服了数值类算法计算时间长,操作复杂,优化参数依赖等缺陷。与其他文献划分结果的比较,说明了个体寻优策略的有效性和通用性。

猜你喜欢

适应度遗传算法模块化
改进的自适应复制、交叉和突变遗传算法
基于改进遗传算法的航空集装箱装载优化
重卡内饰模块化技术
基于改进遗传算法的航空集装箱装载问题研究
基于平台的汽车焊装夹具模块化设计
基于遗传算法的高精度事故重建与损伤分析
马勒推出新型模块化混动系统
JGJ/T 435—2018施工现场模块化设施技术标准
物流配送车辆路径的免疫遗传算法探讨
启发式搜索算法进行乐曲编辑的基本原理分析