遗传算法的机械方案设计系统的研究
提出了一种基于遗传算法的机械方案计算机辅助设计系统模型。该模型通过把机械方案设计过程看作一个状态空间的问题求解,用遗传算法控制搜索过程,自动生成一组可行的设计方案,并通过传动方案设计实例,验证了求解的有效性。 近年来,机械计算机辅助设计方面的研究工作主要集中在详细设计中易于数值化的设计任务,并研制出不少有效的软件系统,如有限元分析软件、模拟仿真软件、绘图软件等。而最有创造性的设计工作——方案设计任务,基本上仍然由设计者来完成。机械设计过程一般由方案设计、详细设计、设计评价和再设计等4个阶段组成。方案设计是机械设计的关键环节,方案的好与坏直接影响产品的性能和质量。与详细设计相比,方案设计更注重创造性,因而也就更难用计算机来实现。目前,在机械方案计算机辅助设计方面的研究较少,尚处于初期阶段,较有效的理论模型尚未出现。 方案设计过程可视为一个状态空间中的问题求解搜索过程。这里要解决的主要问题是如何控制搜索。设计问题的状态空间是复杂的,在没有得出其全部或某些局部解的情况下是无法明确地构筑出来的,求解搜索常常是随机变化的。设计问题的求解空间大,盲目搜索将会导致组合爆炸。研究能在搜索过程中自动获取和积累有关搜索空间的知识,减少搜索空间并自适应地控制搜索过程,从而得到最优解的搜索算法是方案设计问题求解的关键。遗传算法(Genetic Algorithm,简称GA)就是这种特别有效的算法。遗传算法按不依赖于问题本身的方法作用在特征串群体上,搜索可能的特征串空间以找到高适应值串,为了指导这个搜索,算法仅用到与在搜索空间中检查过的点相联系的适应值。本文应用GA研究提出基于GA的机械方案计算机辅助设计系统模型,并建立实例系统,为机械产品后序设计和最终结果最优打下良好基础。 1 基于GA的机械方案CAD模型 1.1 知识表示 面向对象方法以对象作为基本元素,是分析问题、解决问题的核心,它模拟了人类认识问题的较高、较广的过程。 (1)面向对象的知识表示方法 在面向对象的知识表示方法中,知识表示的基本构件是知识类和知识对象。知识类实例化后形成知识对象,成为知识载体,表示与应运领域中的实体或抽象体相对应的知识。例如,知识类“圆锥齿轮”描述关于圆锥齿轮机构的知识,其实例化对象可被系统用来组成方案。 知识对象由与它有关的属性和方法来描述,属性反映了知识对象的静态特性。如机构名称。方法描述了知识对象接受到消息后所执行的动作。例如,“平带”对象有一个检查是否满足传动功率的方法。 知识类之间的关系。知识类之间的最基本的关系是继承关系,派生类可以继承基类的特性和行为,从而形成知识的层次关系。例如,机械设计中各种机构知识类通过继承关系形成树形结构,如图1所示。知识对象之间的关系,一种是创建关系,即一个知识对象在其成员方法中依靠创建另一个对象,而后委托它进行工作,最后完成自己的工作。对象之间的另一种关系是聚合关系。如方案对象中包括几个机构类的派生类对象,以某种关系形成一个方案。 图1 机构继承关系图 (2)机械方案设计知识的面向对象表示 从系统中知识的作用来看,系统中用到的知识主要有控制知识、方案评价知识及有关机构的知识。控制知识是有关问题分析、求解策略及使用知识的知识,如根据设计要求划分传动链,生成设计约束条件。方案评价知识对GA生成器产生的方案进行分析、评价,确定其适应值。机构知识描述传动方案中的各种机构相关的知识。 从知识表现的形式看,主要有数据、算法及判断形式,在面向对象的知识表示法中,可用参数、规则和方法等知识项来表示每个知识对象中其中的1~3种。参数可以表示数据形式的知识,用知识类中的成员变量来描述。规则用以表示判断形式的知识,规则主体由IF-THEN两部分组成。方法用以表达计算过程或判断形式的知识。如方案评价知识类可用图2来描述。 图2 方案评价知识类 1.2 方案编码表示 遗传算法是一个搜索编码串空间的过程,其目的是找到相对高适应值的串,在应用遗传算法求解特殊问题时,首先要确定用类似染色体的串表示问题的方法。在常规的遗传算法中,方案表示是把问题的搜索空间中的每个可能的点表示为确定长度的特征串,在染色体串和问题的搜索空间中的点之间选择映射,有时容易实现,有时非常困难。选择一个便于遗传算法求解问题的表示方案需要对问题有深入的了解。机械传动系统按照能量流动路线可分为单流、多流(分流、汇流、混流)形式,如图3所示。因此一个机械传动方案可认为由几个机构按一定顺序构成,可用这几个机构代码的有序排列组成一个编码来表示这一方案。由于机构代码与机构知识库中的知识对象的对象标识一一对应,从而机构代码的一个有序排列唯一对应某一方案。例如,{3,2,2}的编码表示由带轮、齿轮、齿轮组成的一个方案。 图3 机械传动能量流动路线分类 1.3 遗传算法的参数 遗传算法的参数主要有串长1,群体规模N,交换概率Pc,变异概率Pm,最大遗传代数M。设组成机械传动系统的机构数目为n,每个机构用一个自然数表示,则1=n;其余参数按照荐用值选取,N=50~200,Pc=0.5~1.0,Pm=0.01,M=500。 1.4 遗传操作 通过模拟生物界自然选择和自然遗传过程,遗传算法把一个群体变换到另一个新的群体。一个基本遗传算法由复制、交换和变异算子组成。 (1)复制 提高群体的平均适应值,采用最优串复制与适应值比例复制相结合,保证全局收敛,且搜索效率高。 (2)交换 产生新的个体,采用双点交换,即从群体中随机取出两个串,随机产生两个交换位置,将两个串在这两点之间的对应位置进行交换。 (3)变异 增加群体的多样性,采用均匀突变,即每一位以相同的概率在域内变化。 (4)其他算子 引入倒位、共享等算子以保持群体的多样性。 1.5 方案评价 方案评价,即确定适应值度量以检测一个特定串所表示的方案的好坏程度,适应值度量必须有能力计算搜索空间中每个确定长度的特征串的适应值。因此是遗传算法中较为困难的部分,适应值直接指导搜索过程,其合理性至关重要。对于不同的问题采用不同的评价策略。对于机械传动方案,可根据设计要求,初步采用下述步骤进行方案评价。(1)检查各机构之间的匹配关系;(2)检查整体输入输出是否合理;(3)检查传动比是否满足;(4)检查传动功率是否满足;(5)检查传动效率是否满足;(6)根据每个机构特点检查其合理性。并由此确定每个方案的适应值。 2 系统结构 系统整个结构如图4所示。 图4 系统结构 系统通过设计要求输入模块完成设计要求的输入。调用方案生成模块产生N(群体规模)个方案,方案评价模块根据具体方案的构成调用相关知识对每个方案进行分析、推理,并根据其优劣程度确定其适应值。知识维护模块对知识库进行管理,包括知识输入、知识修改、知识查询、知识删除。图形处理模块完成机构简图的编辑、存储,建立图形库,并根据设计结果调用图形库产生相应的方案简图。系统以Borland C++ 4.5为开发环境,并调试成功。 3 设计实例 设计要求为:输入转速 1440r/m; 输出转速 150r/m; 传动功率 10.46kW; 传动效率 >0.8 宽度尺寸 紧凑 工作条件 恶劣 图5给出的实例为方案之一。 轴名参数 | 机轴 | Ⅰ轴 | Ⅱ轴 | Ⅲ轴 | 工作轴 | 转速n(r/min) | 1440 | 1440 | 576.0 | 150.0 | 150.0 | 传动比i | 1.0 | 2.2 | 4.24 | 1.0 | |
|