焦楚杰, 崔力仕, 高仁辉, 郭 伟, 宋德强
(1.广州大学 土木工程学院, 广东 广州 510006; 2.中山市东峻混凝土有限公司, 广东 中山 528400;3.珠海春禾新材料研究院有限公司, 广东 珠海 519000)
传统的混凝土配方设计主要基于规范及大量试配试验,耗费时间与人工、材料,但结果却难以达到最优.通过对权值和阈值的修正、隐含层节点数的选择,BP神经网络可以表达多个自变量到多个因变量的函数映射关系,能够通过混凝土中多种原材料用量的选择实现对其强度的预测.通过对人工神经网络的改进,更新的智能算法模型能够实现智能搜索和全局寻优的能力.因此,有学者采用神经网络来优化混凝土配方,并预测混凝土性能指标,推动了智能算法在混凝土领域的使用[1-2].但是,在混凝土配方智能化方面,针对混凝土配方进行单一的强度预测相对容易实现[3-5],如果增加预测变量(如成本),则有一定的难度.原因在于神经网络能够实现各材料用量与混凝土强度之间的非线性映射,但是原材料成本与配方之间存在着线性关系,因此难以使用神经网络对其成本和强度同时进行拟合.
惩罚函数法可用于解决遗传算法和梯度算法中的约束问题[6-7],但使用惩罚函数法解决离散变量的例子并不多.本文拟使用遗传算法(GA)来优化BP神经网络的权值和阈值,并将其优化完成之后的网络作为粒子群(PSO)算法的目标函数,之后将惩罚函数引入到粒子群算法的适应度函数中,以解决混凝土配方设计中非线性约束离散变量问题和连续变量问题,即对于不满足约束条件及离散变量空间的点皆处以惩罚,使其被淘汰[8-10].因此,本文构建的混凝土配方设计模型不仅能够利用水胶比、胶凝材料用量等因素来优化输出的混凝土配方,而且能够通过将价格作为惩罚因子的方法来降低混凝土成本,从而为混凝土配方设计提供一种适用性强、性能优良的计算模型.
BP神经网络是一种多层前馈神经网络,该网络的主要特点是信号前向传递,误差反向传播[11].单一的BP神经网络训练采用的是负梯度修正法,没有考虑历史经验的积累,其学习过程收敛缓慢,而且可能会遇到振荡和局部极小的问题.遗传算法是模拟自然界遗传机制和生物进化论而形成的一种并行随机搜索最优化方法[12],采用对个体即优化参数编码的方法形成编码群体,通过遗传中的选择、交叉和变异对个体进行筛选,适应度值好的个体被保留,适应度值差的个体被淘汰,使新的群体既继承上一代的信息,又优于上一代,从而实现迭代寻优.遗传算法优化BP神经网络是用遗传算法来优化BP神经网络的初始权值和阈值,使优化后的BP神经网络能够更好地预测函数输出.
PSO算法源于对鸟类捕食行为的研究.鸟类捕食时,每只鸟找到食物最简单有效的方法就是搜寻当前距离食物最近的鸟的周围区域[13].PSO算法首先在D维空间中初始化n个粒子组成的种群X=(X1,X2,…,Xn),其中第i个粒子表示为1个D维的向量Xi=[xi1,xi2,…,xiD]T,代表第i个粒子在空间中的位置,同时也代表极值优化问题的1个潜在解,用位置、速度和适应度值3项指标表示该粒子的特征,且每个粒子对应1个由适应度函数决定的适应度值.通过跟踪个体极值Pbest和群体极值Gbest来更新个体位置,其中个体极值Pbest是指个体所经历位置中计算得到的适应度值最优位置;群体极值Gbest是指种群中所有粒子搜索到的适应度值最优位置.PSO算法能够保存历史最优粒子,收敛至最优解的速度快,且粒子只是通过内部速度进行更新,因此充分利用了粒子自身经验和群体经验,能够有效地对系统的参数进行优化[14-15].
本文提出的模型基于PSO算法进行极值寻优,以遗传算法优化BP神经网络的权值和阈值,并将其优化训练完成之后的网络(net)作为PSO算法的目标函数.为使模型达到控制混凝土成本,且所获取的混凝土配方符合相应规范的要求,从而使得由模型训练降低成本后得到的混凝土配方能够达到期望的抗压强度,本文在PSO算法中引入目标参数的惩罚函数和权系数.其具体形式如下:
(1)
式中:F(x)为引入惩罚函数和权系数后的适应度值函数;f(x)为目标函数适应度值;μi为权系数,其值表示组成函数的重要程度;Gi(x)为引入的惩罚函数.
由此,基于BP神经网络、遗传算法和PSO算法构造的模型能够有约束地实现快速收敛至最优解,且可避免陷入局部最优.整个模型的算法流程如图1所示.
图1 模型的算法流程Fig.1 Algorithm flow of the model
本试验根据构建模型进行混凝土成本的控制和配方的优化,共收集502份混凝土配方数据对模型建立的网络进行训练;采用102组混凝土配方对训练完成的网络进行测试,测试结果见图2和图3.图2为根据输出配方计算得到的预测总价(Fitting price)与样本配方总价(Sample price)的对比;图3为样本数据的 28d 立方体抗压强度(Sample strength)与相应的预测强度(Fitting strength)对比.图2、3中2组数据近乎完全重合,表明预测前后数据契合度较高、网络预测能力较好(预测精度接近97%).
图2 样本总价与预测总价的对比Fig.2 Comparison of sample price and fitting price
图3 样本强度与预测强度的对比Fig.3 Comparison of sample strength and fitting strength
选取3组混凝土配方(其28d立方体抗压强度分别为20.2、24.3、30.4MPa)作为目标样本,如表1所示,对模型控制成本与配方优化的功能进行验证.原材料为P·Ⅱ 42.5R级水泥(C)、粉煤灰(FA)、矿粉(MP)、石1-2(ST1)、石1-3(ST2)、砂1(S1)、砂2(S2)、外加剂A(CA-A)、外加剂B(CA-B)、水(W).根据2018年各原材料价格,分别计算表1中混凝土配方的总价格(Total_P),基于Total_P分别降低价格5、10和15元得到目标价格(Target_P);以目标样本的抗压强度(SS)作为目标强度(TS),在模型中同时输入Target_P、TS,利用模型计算3次得到3组新配方(如表2中编号A1-1、A1-2、A1-3这3组新配方的目标价格、目标强度均为369.0元、20.2MPa),并按照新配方制备混凝土试块,测其28d立方体抗压强度,如表2~4所示.通过计算由模型得出的新混凝土配方总价格(FP)和测得的28d立方体抗压强度(MS)来验证模型的期望功能.表2中:编号Ai-j中的i表示降低价格幅度的组别,A1、A2、A3分别表示该组配方原材料总价降低5、10、15元;j表示输出配方的第j组;表3、4中Bi-j、Ci-j的含义与此相同.
表1 目标样本的配方
表2 基于A组样本原材料价格(降低5、10、15元)和强度输出的混凝土配方
表3 基于B组样本原材料价格(降低5、10、15元)和强度输出的混凝土配方
表4 基于C组样本原材料价格(降低5元、10元、15元)和强度输出的混凝土配方
试验采用的原材料均与训练样本相同.按照样本配方和计算得到的配方制备标准立方体试件(尺寸为150mm×150mm×150mm),试验加载仪器采用1000kN级液压万能材料试验机,按照GB/T 50081—2019《混凝土物理力学性能试验方法标准》对立方体试件进行抗压强度测试.
采用上述混凝土采用的原材料种类数作为输入参数的节点数,其对应的混凝土28d立方体抗压强度作为输出参数,经过多次模型训练,BP神经网络隐含层取1层,神经元数量为14,即建立结构为10-14-1-1的BP网络,所用的拓扑结构见图4.
图4 BP神经网络拓扑结构Fig.4 BP neural network topology in this model
通过调用gaot工具箱(Matlab自带工具箱)来优化已构建完成网络的初始权值和阈值.为取得最优初始权值和阈值,遗传算法种群规模popu取为200,遗传迭代次数Gen取为1000.图5为通过遗传算法迭代训练得到的收敛曲线图,其横坐标为遗传迭代次数,纵坐标为最优个体适应度值.通过子函数gadecod([W1,B1,W2,B2,P,T,A1,A2,SE,val]=gadecod(x,P,T))得到迭代结束后的权值矩阵,并将其值赋予尚未训练的BP神经网络,即net.iW{1,1}=W1;net.LW{2,1}=W2;net.b{1,1}=B1;net.b{2,1}=B2.使用newff函数构建BP神经网络并设置BP神经网络初始参数,通过train函数对网络进行训练,再用训练好的BP神经网络预测函数输出sim函数,最后采用mapminmax函数反归一化后得到网络预测后的强度.
通过调用PSO算法子函数[X,yy]=PSO(BPoutput,net,inputps,price,Target_P)来实现配比优化和控制成本,其输入参数net为遗传算法优化后的BP神经网络;BPoutput为归一化后的预测数据;inputps为关于输入参数的结构体;price为各材料价格形成的矩阵;Target_P为输入的成本,用于惩罚函数实现控制成本的功能.
采用惩罚函数法对PSO算法的目标函数适应度值fitness进行惩罚.本文通过建立关于价格的惩罚函数G1=q1-Target_P,用以控制输出参数的成本与目标价格足够接近,其中q1为输出配方的总价格.同时引入关于混凝土密度的惩罚函数G2=q2-2400,用以保证输出的混凝土配方密度在2400kg/m3左右,其中q2为预测输出材料的密度;惩罚函数G3=q3-w,用以保证输出配方的水灰比符合规范,其中q3为输出配方的水灰比,w为目标配方的水灰比;惩罚函数G4=q4-jn,用以保证输出配方胶凝材料的用量,其中q4为输出配方的胶凝材料质量之和,jn为目标强度对应配方的胶凝材料总质量;惩罚函数G5=q5-w1,用以保证输出配方的水胶比符合规范要求,其中q5为输出配方的水胶比,w1为目标配方的水胶比.从而建立目标函数的适应度值扩张函数:
Fitness=fitness+v1G1+v2G2+
v3G3+v4G4+v5G5
(2)
式中:Fitness为参与迭代寻优的最终适应度值;fitness为PSO算法迭代寻优得到的最优个体适应度值;vi为惩罚函数的权系数,用于表达惩罚函数的重要程度.
在主函数main中设置PSO算法的输入和输出参数,其中粒子运动的加速度因子c1=1.49445、c2=1.49445;粒子进化次数Maxgen=100;变量个数即混凝土原材料种类数D=10;PSO算法子函数为[X,yy]=PSO1(BPoutput,net,inputps,price,Target_P),其中输出参数X为最优粒子组成的矩阵;yy为每代最优适应度值组成的数组(每代最优个体适应度值见图6).输入参数BPoutput=mapminmax(‘apply’,Text_output,outputps),其中BPoutput为根据mapminmax函数归一化后得到的结果,其输入参数为目标强度Text_output、遗传算法优化后的BP神经网络输出关于训练样本的映射outputps;net为赋予新权值和阈值后的网络结构体;inputps为数据归一化后的结构体;price为原材料价格组成的数组;Target_P为输入的目标成本.采用遗传算法和粒子群算法优化后最优个体的适应度值见图5和图6.
图5 遗传算法最优个体适应度值Fig.5 Optimal individual fitness value of GA
图6 粒子群算法最优个体适应度值Fig.6 Optimal individual fitness value of PSO algorithm
如表1所示,样本A组A1、A2、A3各有3组通过模型计算得到新配方,通过新配方制备混凝土试块,其实测28d立方体抗压强度和根据新配方计算得到的总价格如表2所示.同理,样本B组、C组配方的实测28d立方体抗压强度和计算得到的总价格见表3和表4.预测结果表明,优化完成后的BP神经网络具有良好的混凝土28d立方体抗压强度预测性能,且根据引入惩罚函数的PSO算法计算得出的新配方价格与目标价格相同,表明模型具有很强的控制成本功能.
表5为输出配方实测28d立方体抗压强度与目标强度的差值Δfcu及其比值Rcu.由表5可见:A1组中3组输出配方的实测28d立方体抗压强度与目标强度最大相差10%;A2组中3组输出配方实测28d立方体抗压强度均高于输入的目标强度,表明预测效果达到最优;A3组中有2组输出配方的实测28d立方体抗压强度达到期望目标;B1、B2、B3组中都各有1组输出配方满足价格和强度的要求;C组在降低成本15元时输出配方的实测28d立方体抗压强度达到要求的概率降低,原因在于降低成本幅度较大时,模型输出得到的配方离散程度变大,需通过多次迭代寻优再进行配方的选取.
根据表1~表5,对模型输出的混凝土配方的28d立方体抗压强度进行总体分析.当以目标强度和降低5元后的原材料价格为输出变量时,在允许误差5%的范围内,模型计算得到的配方成本与目标成本几乎相同,其强度值达到目标强度的比例为78%,且样本A、B、C组输出配方的实测28d立方体抗压强度与目标强度的总体差值为1.7MPa,即降低成本幅度为5元时,模型能够优化混凝土配方,使其达到更高的强度.当降低原材料成本10元时,模型输出得到的配方成本与目标成本仍然一致,混凝土28d立方体抗压强度达到目标强度的比例为67%且总体差值为11.8MPa,即在降低成本10元的情况下,模型仍有能力实现优化混凝土配方的功能.当降低混凝土成本15元时,模型输出的配方成本仍然与目标价格相同,但是其达到目标强度的比例较低,仅为44%,且其总体差值为-19.1MPa,表明当样本配方原材料价格降低成本幅度较大时,模型对于配方的改良存在一定的难度,需要多次输出和试验才能寻找到成本较低且满足抗压强度要求的配方.
表5 输出配方实测28d立方体抗压强度与目标强度的差值及比值
(1)采集了502份混凝土配方数据作为训练样本,建立了拓扑结构为10-14-1-1的BP神经网络,并通过遗传算法优化BP神经网络的权值和阈值.选取102份样本数据对训练完成的BP神经网络进行测试,结果表明优化完成后的BP神经网络预测能力优良,其预测精度接近97%.
(2)通过引入惩罚函数,解决了混凝土配方设计中线性关系和非线性关系相统一的难题,考虑了混凝土配方设计中的关键因素水灰比(或水胶比)、胶凝材料用量、混凝土密度等,将目标成本和目标强度精确化的同时有效地控制配方的输出,从而实现了控制成本和优化混凝土配比的功能.
(3)采用样本配方和调整后的总价格作为目标,通过建立的混凝土配方设计模型输出了27组混凝土配方,并对其进行28d立方体抗压试验.结果表明,模型能够有效地优化配方,但随着降低成本的幅度增大,模型拟合出有效配方的成功概率降低.
(4)本文采用BP神经网络及混合算法建立的混凝土配方设计模型收敛速度快且具有较强的适用性,能够为工程中的混凝土配方设计提供参考.随着后期混凝土样本数据量的增加,模型输出优良混凝土配方的效率将会随之提高.