混合遗传算法在陶瓷坯料配方优化设计中的应用
2020-03-21罗艳霞
罗艳霞,车 艳
(莆田学院 信息工程学院,福建 莆田 351100)
陶瓷配方过程是分析陶瓷坯料的化学组成,并定量分析每个化学组成质量百分比的过程。目前,陶瓷配方主要是通过人工经验来确定原料配方,这不仅耗时耗力,且效果也并不理想[1]。为了提高陶瓷配方效率,有学者利用计算机对配方进行了研究。例如:杨云等[2]使用复合形法计算了陶瓷坯料配方,该方法具有较强的局部搜索能力,但由于全局性较差,所以未能找到全局最优解;程杰[3]将标准遗传算法应用于陶瓷配方优化设计中,该方法虽然具有良好的全局搜索能力,但却容易过早收敛,从而导致配方精度较低。为了寻求最优配方算法,本文针对这两种算法的缺点,提出了一种改进的混合遗传算法,即将遗传算法和复合形算法结合起来,最终通过配方结果精度进行比较,证明本文方法的有效性。
1 优化设计模型的建立
1.1 约束变量的提取
陶瓷坯料是由原料经过计算配方而成的。每种坯料和原料的物理性质和化学工艺是不同的,通过分析其化学组成可知,一般的坯料和原料由Al2O3、SiO2、CaO、Fe2O3、MgO、k2O、Na2O和TiO2等八种化学组成表示的[4],其他组成(如P2O5)因含量较小,因此本文不作考虑。
(1)
(2)
1.2 目标函数的建立
在配方设计中,以坯料的各化学组成质量分数为目标,暂不考虑原料价格等因素。由于本文研究的陶瓷坯料化学组成主要有8种,因此需要建立8个目标函数,并分别使每个目标函数达到最小值。目标函数的表达式为:
…
1.3 约束条件的选取
通过上述分析,陶瓷坯料配方优化模型建立如下:
2 混合遗传算法陶瓷坯料配方优化设计
2.1 混合遗传算法在陶瓷坯料配方中的操作
本文针对遗传算法和复合形法的优缺点,将二者结合在一起,分别从全局和局部进行寻优。首先采用遗传算法寻找到最优解的位置,并把经过遗传算法计算后的值作为复合形法的初始点;然后,再按照复合形法的步骤,进行局部搜索,最终找到最优解[6]。遗传算法和复合形法的结合策略如下:
1)选择编码方式。复合形法主要采用浮点数编码,遗传算法主要采用二进制编码、浮点数编码等,为了编码方式的统一,两种算法均采用浮点数编码,不仅节省时间,同时也能提高算法的计算精度。
2)建立初始种群。在每种原料的用量上限和用料下限的分布范围(由陶瓷配方预处理得到)内建立初始种群,使种群个体处在可行域内。
3)选择适应度函数。标准遗传算法以目标函数为适应度函数,但对于个体是否能遗传到下一代,仅通过适应度这一标准难以判断。为此本文引入一个罚函数,通过罚函数对不可行解进行惩罚,以减少其适应度值,降低个体遗传到下一代的概率。同时,由于引入了罚函数,优秀基因得以保留,最终结果得以收敛。本文的适应度函数设立如公式(3)所示:
(3)
其中fi(X)为目标函数,D为一个较大的常数,D=1000000000,CITE为计算的精度,CITE=1E-5,Hi(X)为配方约束条件。
4)选择操作。本文采用精英保存策略,将当前群体中的最优个体直接保留到下一代中。这样既实现了算法的稳定,又保证了竞争环境的良好性。
5)交叉和变异。本文中,交叉算子采用算术交叉,变异算子采用算数变异,为了统一,交叉算子和变异算子也采用浮点数编码。
6)当确定好遗传算法所有步骤后,随着进化代数的不断增加,当连续五代平均适应度值不超过1%时,选择有限的个数作为复合形法的初始点,这样不仅可以省去构造初始复合形点的过程,而且选择的初始点都在可行域范围内。
7)计算复合形法的好点、坏点、次坏点、同时计算坏点的映射点,映射点的计算可以采用反射、压缩、伸张、收缩等方法。本文采用反射方法计算映射点,当映射点优于坏点时,用映射点代替坏点,重新组成复合形法的初始点参与计算,直到满足结束条件。
图1为混合型遗传算法流程图。
2.2 改进的混合遗传算法在陶瓷坯料配方中的操作
混合遗传算法只是简单地将遗传算法计算的结果作为复合形法的初始值,然后用复合形法完成后续计算,虽然也是将两种算法结合,但是并没有表现出遗传算法和复合形算法的各自优点,因此对算法进行改进,具体步骤如下:
1)确定编码方式,改进的混合遗传算法依然采用浮点数编码。
2)使用智能方式,建立初始种群,使种群个体处在可行域内。
3)不仅要建立适应度函数,还要建立罚函数,确保适应度高的个体尽可能地遗传到下一代。
4)从当前种群中选择适应度值最高的个体作为复合形算法的初始点,并以此初始点构造其余K-1个初始点。构造其他初始点的方法同原复合形法一致。
5)计算复合形法的好点、坏点、次坏点,并同时沿坏点方向计算其映射点。比较坏点和映射点的大小,当映射点好于坏点时,映射点代替坏点,重新构成复合形法的初始点,否则继续变换映射点,直到映射点好于坏点,当满足循环结束条件时,输出结果。
图1 混合遗传算法流程图Fig.1 Flowchart of hybrid genetic algorithm
6)用复合形法的计算结果替换原遗传算法中的个体,同时采用移民策略提高个体的适应度值。采用移民策略的原因是:当代个体中存在一些适应度值相对较低的个体,但其具有价值,若放弃掉这些个体,最终结果可能就非最优解,所以,为了提高这些个体的适应度值,提前对这些个体进行交叉和变异操作,得到新的个体,用以替换原来的个体。
7)混合遗传算法中,交叉率Pc和变异率Pm是固定不变的,随着遗传代数的变化,固定的交叉率和变异率不能有效地调节混合遗传算法。在改进的混合遗传算法中,对交叉率和变异率进行改进,使之随着遗传代数的进化而变化。以平均适应度值为基础,对于适应度较差的个体,采用较大的交叉率和变异率;对于适应度较好的个体则根据适应度大小采用适当的交叉率和变异率。当遗传代数逐渐增大时,逐渐降低交叉率和变异率,以利于算法的收敛。具体实现如下:
设Pcl=0.9*(1-gen/G),Pc2=0.8*(1-gen/G),则有
(4)
设Pml=0.3* (1-gen/G),Pm2=0.01* (l-gen/G),则有:
(5)
公式中,Pm和Pc的参数相同,gen为目前繁衍代数;G为常数(G≥gen);fmax为群体最大适应值,favg为群体的平均适应值,f′为参与交叉的两个个体的较大适应值;f为变异个体适应值。
8)当遗传算法满足结束条件,选出最优个体作为复合形法的初始点,按照复合形法的步骤重新进行最优计算,待满足复合形法结束条件时,输出最优解,此时的最优解才是结合了全局和局部的最优解。
改进混合遗传算法的流程图如图2所示。
图2 改进混合遗传算法流程图Fig.2 Flowchart of modified hybrid genetic algorithm
3 配方结果
以某厂瓷的目标配方及原料组成成分为例进行实例计算,所选目标配方及原料的组成成分如表1所示。
表1 目标配方及原料组成成分Tab.1 Objective formula and chemical composition of raw materials
采用混合遗传算法后的配方结果如表2所示,采用改进混合遗传算法后的配方结果如表3所示。通过比较表2和表3可以看出,改进的混合遗传算法精度远高于混合遗传算法。主要是因为改进的混合遗传算法不仅完美结合了遗传算法和复合形法,而且分别从全局和局部进行了最优解的搜索。
表2 混合遗传算法配方结果Tab.2 Formula results of hybrid genetic algorithm
表3 改进的混合遗传算法配方结果Tab.3 Formula results of modified hybrid genetic algorithm
4 结论
从实验结果分析可以看出,改进混合遗传算法的配方精度绝对误差仅为0.01,明显优于混合遗传算法。改进混合遗传算法不仅完美结合了遗传算法和复合形法,而且分别从全局和局部进行了最优解的搜索,同时在遗传操作中采用了移民策略,对交叉率和变异率进行了改进,不仅提高了计算精度,而且保留了优秀基因,因此改进遗传算法在陶瓷坯料配方中有很好的适应性。