第16章 随机聚焦搜索优化算法
随机聚焦搜索优化算法模拟人类根据自身记忆、经验、不确定性推理并相互交流的智能搜索行为,用以克服粒子群优化算法易于陷入局部最优的缺陷。该算法把每个搜索个体作为M维搜索空间(解空间)中的一个点,以模仿人类的搜索行为及其在搜索过程中的随机性。通过选取适当的邻域空间参数,在避免收敛于局部最优值的同时可高效地搜寻全局最优值。本章介绍随机聚焦搜索优化算法的原理、描述及基本步骤。
16.1 随机聚焦搜索优化算法的提出
随机聚焦搜索优化(Stochastic Focusing Search,SFS)算法是2009年由郑永康、陈维荣等提出的一种模仿人类搜索行为的随机搜索优化算法[56],它模拟了人根据自身记忆、经验、不确定性推理并相互交流的智能搜索行为。在SFS算法中,所有个体立足于自身的最好位置(个体极值),随机向群体中到目前为止获得最好搜索效果个体(全局极值)的一个邻域点搜索。SFS算法优化思想类似于PSO算法,但PSO算法模拟的是鸟类生物群体智能行为,而SFS算法模拟的是人类自身的智能行为,所以本书将SFS算法归为仿人智能优化算法。该算法具有算法简单、计算速度较快、计算复杂度小的特点。它已用于对板料冲压成形工艺参数优化等。
16.2 随机聚焦搜索优化算法的原理
粒子群优化算法是基于生物群体智能用于求解优化问题的算法,目前已经得到广泛的应用。但该算法不仅可能存在陷入局部最优和不易收敛的问题,而且还存在其性能会随着待解决问题维数的增加而降低的缺点。为了提高寻优结果的可靠性和使算法计算快速收敛,文献[56]根据人群在启发式随机搜索方面的行为提出了一种新的优化算法——SFS算法。
SFS算法模仿人类的搜索行为及其在搜索过程中的随机性,选取适当的邻域空间参数,在避免收敛于局部最优值的同时可高效地搜寻全局最优值。在SFS中,所有个体立足于自身的最好位置(个体极值),随机向群体中到目前为止获得最好搜索效果个体(全局极值)的一个邻域点搜索。从SFS算法的表达形式看,它聚焦于全局最好的位置点,在该点的一个动态收敛的邻域内随机进行搜索,因此将其称为随机聚焦搜索优化算法。
16.3 随机聚焦搜索优化算法的描述
在SFS算法中,每个搜索个体作为M维搜索空间(解空间)中的一个点。设s为该人群的大小,则每个个体i(1≤i≤s)有如下属性:第t次迭代(搜索)时个体在搜索空间中的位置为
xi(t)=[xi1,xi2,…,xij,…,xiM](16.1)
其中,j为变量xi(t)的第j维分量;M为维数。
所有个体到目前为止获得的全局极值的位置为gbest;个体的速度为
vi(t)=[vi1,vi2,…,vij,…,viM](16.2)
假设待解决的优化问题为极小值问题,SFS算法中个体的位置更新公式为
xi(t)=vi(t)+xi(t-1)(16.4)
如果funxi(t)≥funxi(t-1),则有
xi(t)=xi(t-1)(16.5)
其中,funxi(t)为个体i在第t次迭代时的搜索效果(目标函数值);Rt为gbest邻域空间R中随机选取的一个点。
其中,xmax和xmin为搜索空间的边界;w为惯性权值。当w从1逐渐减小到0时,R就从整个解空间收敛到点gbest。
式(16.3)的第1部分相当于PSO的“社会认知”部分,也表示个体之间的信息共享与相互合作;式(16.4)计算个体在当代更新后的所在位置;式(16.5)相当于PSO的“自我认知”部分。
从SFS算法的表达形式看,它聚焦于全局最好位置点gbest,在该点的一个动态收敛的邻域内随机进行搜索,因此将其称为随机聚焦搜索优化算法。R的变化受到参数w的控制,w的确定选择了如下形式:
其中,G为最大进化代数;δ为正实数。随着迭代次数t的增加,w将逐渐减小为0。
为了进一步避免搜索过程陷入局部最优,提高全局搜索能力,SFS算法对种群还提出了一种分组策略,其表达式为
μ= w′s+1 (16.9)
其中,w′为惯性权值;δ′为一个正实数;μ为分组数;符号·表示对·向下取整。
16.4 随机聚焦搜索算法的基本步骤
SFS算法的优化计算步骤如下。
(1)初始化一群个体,随机确定其位置。
(2)根据优化函数来确定目标函数,再根据目标函数计算每个个体的适应度值。
(3)进行分组并找到每个分组中的gbest。
(4)根据式(16.3)和式16.4)更新个体的速度和位置。
(5)根据目标函数再次计算每个个体的适应度。
(6)根据式(16.5)确定xi(t)。
(7)如果满足结束条件,则终止计算,输出最优结果;否则返回步骤(3)。
通常选取足够好的适应度值或达到一个预先设定的最大迭代次数作为结束条件。
SFS算法的实现流程图如图16.1所示。
图16.1 SFS算法的实现流程图
16.5 基于随机聚焦搜索算法的冲压成形工艺优化
文献[57]将随机聚焦搜索算法用于解决冲压成形工艺优化问题。某型深盒形罩壳冲压由于盒形件在拉深成形过程中变形不均匀,圆角部分变形大,直边部分变形小,并且它们之间存在相互影响。在拉深时圆角部分有大量的材料向直边部分流动,使直边部分拉深变形增大,更容易导致破裂、起皱等工艺问题。因此,为了预测和控制其成形质量,有必要研究更有效的优化方法,以实现冲压工艺的最优化。
1. 实验设计
在有限元软件中建立制件成形的仿真模型并划分好网格。工件材料性能参数为:材料为08钢,材料厚度t=0.8mm,杨氏模量E=2.07GPa,泊松比μ=0.29,厚向异性系数γ=2.15。
由工艺经验可知,凹模圆角半径(R),压边力(BHF),凸模、凹模、压边圈与板料之间的摩擦因数(分别为μ1、μ2和μ3),冲压速度v是影响盒形件拉深成形的重要工艺参数,并且调整较容易,因此选择它们为优化变量,其他工艺参数根据经验作为定量处理。
2. 优化目标设定
深盒形件的拉深容易出现的成形问题主要为拉裂与起皱,因此其质量评价指标可作为工艺优化目标,以判断制件发生工艺问题的趋势。
(1)起皱问题及优化目标的确定
起皱主要是材料内压力过大使板厚方向超过失稳极限所产生的。对于深盒形件,其起皱多发生于法兰部分,评价法兰起皱的主要指标是厚向应变ε3。根据塑性成形体积不变原理,有ε1+ε2+ε3=0。由于主应变ε1≥0,当厚向应变ε3≥0时,次应变ε2=-(ε1+ε3)≤0,为压应变,同时压应变的绝对值|ε2|≥|ε1|,说明此处的板料受到很大的压应力,有可能导致压缩失稳而起皱。当主应变ε1相同时,ε3越大,ε2的绝对值越大。因此,最大的厚向应变ε3max能够反映毛坯在成形过程中起皱的趋势。
(2)拉裂问题及优化目标的确定
作为一种成熟的方法,基于应变成形极限评价方法目前在预测冲压成形破裂质量方面得到了广泛应用。而成形极限图(FLD)是基于应变破裂指标评价的主要方法之一,它表示板料在不同应力状态下的变形极限。成形裕度是从成形极限图提取出的冲压成形质量评价指标,它表示坯料在目前的变形程度下,沿原变形路径尚具有的继续变形的能力。冲件坯料某测量点的成形裕度表示为
其中,ε1为该测量点的最大主应变;εk为该变形路径下的破裂极限应变。实际生产中一般要求最小成形裕度Δεmin范围为8%~10%,以保证零件成形的安全性。
(3)优化函数的确定
由于实验将拉裂和起皱均作为优化目标,而在实际工程问题中,也可能出现多个优化目标之间相互矛盾或制约的问题。处理多目标优化的方法可以通过数学变换,将多目标优化转化为单目标优化问题进行求解。在盒形件冲压成形中,拉裂和起皱是反映材料塑性成形的重要信息,优化中认为它们同样重要,取其权重相等。由前述可知,拉裂与起皱的优化目标分别为Δεmin和ε3max,因此用SFS算法优化函数设为ε3max与Δεmin倒数的和值最小,即
fun(ε3max,Δεmin)=min(ε3max+1/Δεmin)(16.11)
则约束条件:
8≤R≤12
100≤BHF≤200
0.125≤μ1≤0.275
0.080≤μ2≤0.175
0.080≤μ3≤0.175
1500≤v≤3500
3. 随机聚焦搜索算法目标函数模型的建立
板料拉深过程中,凹模半径、压边力和冲压速等工艺参数对板料成形质量的影响并没有明确的函数关系,因此可认为其冲压成形是一个高度非线性的过程。目前有学者提出通过构建响应面模型拟合函数的方式建立关于此类型函数输入输出之间的映射关系,但借鉴这种方式通过实验分析发现误差较大。而人工神经网络具有很强的多输入、多输出的非线性映射能力,可以按任意精度逼近任何非线性连续函数。因此,通过建立各输入变量与优化目标之间的BP神经网络映射关系,即经过训练后的神经网络,作为SFS的寻优函数。神经网络学习样本通过有限元数值模拟获得,然后通过神经网络进行训练得到工艺参数与成形质量之间的映射关系,建立神经网络模型。选取BP网络层数为3层,输入6个节点(凹模圆角半径R、压边力BHF、凸模与板料之间的摩擦因数μ1、凹模与板料之间的摩擦因数μ2、压边圈与板料之间的摩擦因数μ3、冲压速度v),隐层5~6个节点,输出层2个节点(起皱与拉裂ε3max、Δεmin)。输入层和隐层之间使用传递函数transig,隐层与输出层之间使用logsig函数,网络训练采用rainlm函数,训练误差控制在10-5以内。
4. 随机聚焦搜索算法寻优计算
在神经网络模型的基础上,利用SFS算法对各工艺参数进行优化。整个优化过程流程如图16.2所示。SFS算法的具体步骤如下。
(1)初始化一群粒子,随机确定其位置。
(2)调用神经网络仿真函数求解拉裂与起皱输出值ε3max和Δεmin,根据式(16.11)计算每个粒子的适应度值。
(3)进行分组并找到每个分组中的gbest。
(4)根据式(16.3)和式(16.4)更新粒子的速度和位置。
(5)根据式(16.11)再次计算每个粒子的适应度。
(6)根据式(16.6)确定xi(t)。
(7)如未达到结束条件(通常为足够好的适应度值或达到一个预设最大迭代次数),则返回步骤(3)。
图16.2 SFS算法对各工艺参数优化过程的流程图