APP下载

基于计算智能的地铁隧道施工进度 - 成本优化

2021-07-07王肖辉

土木工程与管理学报 2021年3期
关键词:极值工序遗传

杜 镀,王肖辉

(河南建筑职业技术学院 a. 工程管理系; b. 土木工程系, 河南 郑州 450064)

中国的城市化进程越来越快,为了满足城市居民出行需求,城市地铁项目建设也在逐步进入正轨,现国内一些城市正在开始或完善地铁项目建设。地铁隧道施工一般采用两种或两种以上的开挖方法(明挖法,新奥法,盾构法等),整个施工的距离较长,施工强度大,施工工序繁多[1],因此施工周期比较长,当然整个施工项目投资也比较大。如何在地铁隧道项目施工过程中对进度和成本进行有效管理是非常关键的。

进度 - 成本优化方法中属于网络计划方法的PERT(Program Evaluation and Review Technique)和CPM(Critical Path Method)是最早被美国海军采用的方法[2]。为实现进度和成本的优化,叶天翔[3]采用了边际成本法进行进度和成本的优化。该方法通过不断压缩关键工作,反复人工操作计算实现。汪万竹[4]针对工程项目进度 - 成本优化问题,采用CPM法建立了进度 - 成本的线性规划模型,基于该模型同时引入极限成本,通过求解线性规划模型的方法实现进度 - 成本优化。李迁等[5]在考虑空间干涉的作用下,建立了该情况下工程调度进度和成本优化的数学模型,最后通过元启发式算法进行优化。在保证工程质量的前提下,宋宝军[6]研究了进度 - 成本优化问题,利用企业实践数据,创建了进度 - 成本优化的数学模型,然后运用遗传算法实现进度成本的寻优。分析以上学者所采用的方法可知,通过人工操作计算来反复调整实现进度 - 成本优化过程是非常复杂的,随着工程项目越来越复杂,这种方法将会很难执行;通过相关数据来首先建立进度 - 成本的数学模型,然后再基于相关算法实现优化对于小型的工程比较适用,但是当工程项目比较复杂时,进度和成本之间的关系将很难用数学公式准确表达,有的甚至无法表达相互关系。因此,对于复杂项目下的进度 - 成本优化方法需要进一步研究。

本文基于计算智能技术的发展,将计算智能技术中的方法相结合,用非线性处理能力较好的神经网络[7~9]来表达约束系统,再采用智能优化算法进行寻优,对于复杂的涉及工序较多的工程,就可以避免采用复杂或不准确的数学公式。基于这种思路,本文提出运用一种基于遗传神经网络和免疫粒子群算法的组合方法来解决复杂工序下的进度 - 成本优化问题。为验证该组合方法的性能,选取一般可以建立准确数学公式的案例进行验证,分别采用基于数学模型的单纯形法和该组合方法来求解进度 - 成本优化问题。从而以数学模型方法所求的准确结果为参照,若相对误差较小(控制在10%以内),则说明该组合方法能够较为准确地解决进度 - 成本优化这一类问题,从而可以将其应用于大型城市地铁隧道施工进度 - 成本优化问题中。

1 计算智能技术

计算智能属于智能的范畴,是由美国学者James首次提出,计算智能主要是从生物进化的角度学习和模拟智能,也被称之为“软计算”。计算智能技术方法一方面在各自独立地进行研究和发展,另一方面计算智能所包含的各种方法之间以及计算智能技术和其他方法之间也在互相融合发展,其中,各种技术或方法的融合发展往往可以解决单一方法难以解决的问题[10]。遗传神经网络和免疫粒子群算法均属于该领域。

1.1 遗传神经网络

BP(Back Propagation)神经网络属于一种误差逆向传播的多层前馈神经网络,该网络采用梯度下降法对层间的权值和节点的阈值进行修正,通过网络的不断训练,即对权值和阈值的不断修正,来实现实际输出和期望输出的均方差达到最小。

BP神经网络的应用比较多,但在发展应用的同时也存在一些缺陷,其中,BP神经网络很容易陷入到局部极值,从而导致训练失败。因此,本文为了降低BP神经网络陷入局部极值的可能性,采用遗传算法对BP神经网络的初始权值和阈值进行优化[11],从而提高BP神经网络的训练效果,更好地对进度和成本之间的关系进行拟合。

1.2 免疫粒子群算法

粒子群算法属于计算智能中的群智能算法,该算法来源于对鸟群觅食过程的模拟,通过个体极值和群体极值不断的去搜索最优值。从算法结构来说,该算法比较简单,运行速度较快,因此,被广泛采用。与此同时,该算法中粒子也因为自身缺乏调节机制,导致在迭代后期粒子的多样性较差,这便很容易导致在迭代后期陷入局部极值。所以,为了更准确地进行进度 - 成本优化,本文将免疫自我调节机制用于粒子群算法的迭代[12],提高该算法在迭代过程中的粒子多样性,从而能够更准确地获取到全局最优值。

基于遗传神经网络和免疫粒子群算法的组合方法解决一般约束系统优化问题的流程如图1所示。

图1 基于遗传神经网络和免疫粒子群算法的组合方法解决一般约束系统优化问题的流程

2 基于遗传神经网络和免疫粒子群算法的进度 - 成本优化模型

2.1 进度 - 成本优化

在工程项目施工前,一般需要编制工程项目进度计划,其中进度计划都由许多必要的工序组成,这些工序在实际施工时将消耗相应的资源,包括人力、材料、机械等。其中评估进度计划编制的科学性和可行性的重要经济指标就是成本,因此,需要对初次编制的进度计划不断的优化。进度 - 成本优化[13]在不同条件下的优化结果是不同的,本文考虑的是在资源充分和关键线路保持不变的条件下,实现对进度 - 成本的优化,从而在满足工期条件的情况下,费用最低。

2.2 进度 - 成本优化模型构建

利用整个工程所有工序的直接压缩费率来确定出一定样本量的各工序不同压缩时间组合与对应的直接压缩费用数据,用这些样本训练遗传神经网络,从而建立不同压缩时间组合与直接压缩费用关系的神经网络模型,再运用免疫粒子群算法并结合工程施工工期、各工序时间和关键线路不变的要求进行寻优。具体步骤如下:

Step1:基于进度成本相关数据和MATLAB编程,获取各工序压缩时间组合与对应直接压缩费用的数据样本。

Step2:建立初始BP神经网络模型,同时使用遗传算法来实现对BP神经网络权值和阈值进行优化。

Step3:运用各工序压缩时间组合与对应直接压缩费用的训练样本对优化后遗传神经 (GA-BP,Genetic Algorithm and Back Propagation) 网络进行训练,并用测试样本检验网络拟合和泛化效果,反复训练与检验,保存可行的网络(net)。

Step4:设置免疫粒子群算法参数,并对免疫粒子群算法中各粒子位置(各工序压缩时间的组合)进行初始化,以及初始化粒子各方向速度(各工序压缩时间的变化量)。

Step5:采用上面保存的网络(net)进行初始各粒子适应度值计算。粒子i适应度值fitness(i)计算采用的核心代码为:

w(i)=sim (net, input (i));

fitness(i)=mapminmax(‘reverse’,w(i),outputps)

其中:input (i)为粒子i的位置经过归一化后的向量;w(i)为未反归一化的适应度值。

Step6:进行个体极值设置,同时,个体极值中fitness数值最小的设为群体极值。

Step7:运用式(1)(2)进行粒子速度和位置的更新。

vik=ωvik+c1r1(pik-xik)+c2r2(pgk-xik)

(1)

xik=x′ik+vik

(2)

式中:ω为权值;c1,c2为学习因子;r1,r2为(0,1)之间的随机数;vik为第i个粒子第k个方向的速度;pik为第i个粒子第k个方向上的位置;pgk为群体极值在第k个方向的位置;xik为第i个粒子的第k个方向的位置。

Step8:检验更新后的各粒子位置(各工序压缩时间的组合)是否符合压缩条件,以及粒子速度是否在要求范围之内。

Step9:对当前粒子进行适应度值的计算,同时再更新群体极值和个体极值。

Step10:对计算出的各粒子fitness值进行从小到大排序,保留fitness值较低的,且保留数量为种群规模的一半,舍弃另外粒子。然后再重新初始化舍弃的粒子,并计算对应的适应度值,与保留下来的粒子构成下一代粒子种群。群体极值和新初始化的粒子个体极值更新。

Step11:循环Step7~Step10到迭代次数结束。

3 算例分析

运用可建立准确数学公式的文献[14]项目进度 - 成本优化问题来验证组合方法的可行性。各工序工期、方差、压缩范围、压缩费率如表1所示。

表1 工序数据

各工序压缩时间变量见表2,分别采用基于遗传神经网络和免疫粒子群算法的组合方法和基于数学公式的单纯形法求解。

表2 工序压缩时间表示符号

3.1 基于遗传神经网络和免疫粒子群算法的寻优过程

MATLAB中的randint()函数可以在一定取值范围内以均匀分布方式随机取值,因此,本文根据以上表格数据和闭合圈原理[14],利用randint()函数获取训练样本和测试样本的取值。

根据每个工序的时间压缩范围设置randint( )函数取值范围,从而获得符合压缩时间要求的每个工序压缩时间,再通过所有工序单位时间压缩费用得出相应的增加成本,最终获得多组符合要求的所有工序压缩时间的组合和对应压缩费用,从而作为神经网络输入和输出样本。本文取170组训练样本和8组测试样本[12]。

(1)拟合压缩时间和直接压缩费用关系的神经网络训练和测试

因该算例中的变量为8个(x1~x8),目标函数为直接压缩费用C,所以输入层节点数(inputnum)为8个,输出层节点数(outputnum)为1个[15]。通过不同隐含层节点数(hiddennum)的BP神经网络训练后,比较最终拟合效果,从而确定隐含层节点的数目[16],经过试验后,隐含层节点数确定为15,训练迭代次数取值为1000,学习效率取值为0.1,目标误差取值为0.01。建立初步BP神经网络的代码如下:

net=newff(inputn,outputn,hiddennum)

遗传算法参数设置[17~19]:迭代次数取值为20,种群规模取值为20,交叉概率取值为0.4,变异概率取值为0.2。

运用rands()函数初始化遗传算法种群中各染色体,然后通过选择、交叉和变异过程反复进行染色体更新。最后把最优染色体x中的对应基因值赋给神经网络各个权值和阈值,其核心代码为:

w1=x(1:inputnum*hiddennum);

B1=x(inputnum*hiddennum+1:inputnum*hiddennum+hiddennum);

w2=x(inputnum*hiddennum+hiddennum+1:inputnum*hiddennum+hiddennum+hiddennum*outputnum);

B2=x(inputnum*hiddennum+hiddennum+hiddennum*outputnum+1:inputnum*hiddennum+hiddennum+hiddennum*outputnum+outputnum);

net.iw{1,1}=reshape(w1,hiddennum,inputnum;

net.lw{2,1}=reshape(w2,outputnum,hiddennum);

net.b{1}=reshape(B1,hiddennum,1);

net.b{2}=reshape(B2,outputnum,1)

经过优化、训练、和测试,最终训练好的神经网络测试结果如表3所示,保存拟合好的神经网络(netBp)。

表3 测试结果

(2)基于训练得到的网络模型(netBp)和免疫粒子群算法进行寻优

免疫粒子群算法参数设置[20,21]:群体迭代次数取值为100,种群规模取值为50,学习因子c1,c2取值为2,粒子速度控制在[-1 1]。

基于进度成本数据和闭合圈原理,初始化各粒子位置x(i),同时初始化粒子速度v(i)。通过训练好的神经网络得到初始粒子的适应度值,粒子i的适应度值fitness(i)计算如下:

w(i)=sim (netBp, x_g(i));

fitness(i)=mapminmax(‘reverse’,w(i),outputps)

其中:x_g(i)为x(i)归一化后的位置向量。

进入迭代,根据式(1)(2)反复进行粒子速度和位置更新、群体极值和个体极值更新、以及利用免疫淘汰机制更新粒子群体等过程,直到迭代结束。

(3)结果

迭代过程如图2所示,最终得出的最优粒子的适应度值fitnesszbest=137.52,最优粒子的位置zbest=(3,0,3,0,0,1,0,3)。所以进度 - 成本经过优化的各工序压缩时间为:x1=3,x2=0,x3=3,x4=0,x5=0,x6=1,x7=0,x8=3,相应的压缩费用为:137.52元。

图2 迭代过程

3.2 基于单纯形法求解进度 - 成本优化问题

根据进度、成本数据和闭合圈原理,建立线性规划数学模型如下:

minC=20x1+10x2+7x3+5x4+25x5+

30x6+4x7+8x8

首先,进行模型标准化,在约束条件中添加松弛变量x9~x20和人工变量x21,令Z=-C,则标准形式如下:

由约束系数矩阵可知,P9~P19,P21组成一个基,将所有非基变量的值设为零,即得到基可行解为x=(0, 0, 0, 0, 0, 0, 0, 0, 6.8, 7.2, 17.1, 3, 2, 3, 4, 7, 6, 2, 3, 0, 10),据此列出初始单纯形表,并根据式(3)计算初始单纯形表检验数,初始单纯形表如表4所示。

(3)

式中:aij为系数矩阵中第i行第j列的数;m为基变量的总数;cj为目标函数中变量xj前的系数。

表4 初始单纯形

根据表4可知,检验数有大于零的,所以此时的基可行解不是最优解,其中最大的是M-7(M表示足够大的数),因此x3确定为换入基。用b列数字除以x3列同行数字(分母小于等于零的舍弃),取最小值对应的基变量作为换出基,经过计算可知x14为换出基,x3列和x14行相交的数字1为主元素,加上“[ ]”符号。用x3替换基变量中x14,并列出对应的新单纯形表,基于Matlab编程实现新单纯形表中数据的换算。同时进行新单纯形表检验数计算,从而检验基可行解是否为最优解。重复进行基变量替换、更新单纯形表以及验证检验数是否小于等于零,最终获得最优解。通过操作计算,后续依次替换为:x8替换x19,x1替换x12,x6替换x21。最终的单纯形表如表5所示。

表5 最终单纯形

根据表5,所有的检验数均不大于零,因此,对应的基可行解就是最优解,最优解为x1=3,x2=0,x3=3,x4=0,x5=0,x6=1,x7=0,x8=3,x9=0.8,x10=3.2,x11=10.1,x12=0,x13=2,x14=0,x15=4,x16=7,x17=5,x18=2,x19=0,x20=0,x21=0,带入目标函数为Z=-135,即对应的C为135。

所以进度 - 成本经过优化的各工序压缩时间为:x1=3,x2=0,x3=3,x4=0,x5=0,x6=1,x7=0,x8=3,相应的直接压缩费用为:135元。

3.3 结果分析

根据表3,由拟合各工序压缩时间与直接压缩费用关系的GA-BP神经网络测试结果可知,最小测试结果相对误差为0.88%,最大测试结果相对误差为7.70%,因此,所有测试结果的相对误差均控制在10%以内[22],且相对误差平均值=(0.88%+5.50%+1.11%+4.38%+3.63%+2.94%+7.70%+3.70%)/8=3.73%,这表明了GA-BP神经网络的实际输出值与期望输出值较为接近,从而训练好的GA-BP神经网络能够较为准确地表达进度和成本之间的关系。

算例中,运用遗传神经网络和免疫粒子群算法的组合方法寻优结果为(x1,x2,x3,x4,x5,x6,x7,x8)=(3,0,3,0,0,1,0,3),对应的直接压缩费用是137.52元。基于数学模型的单纯形法求解结果为(x1,x2,x3,x4,x5,x6,x7,x8)=(3,0,3,0,0,1,0,3),对应的直接压缩费用是135元。基于遗传神经网络和免疫粒子群算法的寻优结果相对于单纯形法求解结果的相对误差为1.87%。所以,基于遗传神经网络和免疫粒子群算法的组合方法是可以较为准确地解决进度 - 成本优化问题。另外,由图2可知,基于遗传神经网络和免疫粒子群算法的寻优在第10次迭代之前就已经接近最优结果,说明该组合方法寻优效果较好。

综合以上分析,对于复杂工序的地铁隧道施工进度 - 成本优化,为了避免数学公式不能准确表达或者无法表达进度成本之间的关系,就可以采用基于遗传神经网络和免疫粒子群算法的组合方法进行求解。

4 结 论

(1)对于施工工序较多的地铁隧道施工进度 - 成本优化问题,本文提出了基于遗传神经网络和免疫粒子群算法的组合方法解决进度 - 成本优化问题,并构建了该组合方法求解进度 - 成本优化问题的模型。

(2)基于算例,采用基于遗传神经网络和免疫粒子群算法的组合方法以及单纯形法分别进行进度 - 成本优化。通过结果对比分析,得出了该组合方法可以较为准确地实现进度 - 成本优化。

(3)大型地铁隧道施工项目进度 - 成本优化时,数学公式通常比较复杂或者无法用数学公式准确表达。因此,基于遗传神经网络和免疫粒子群算法的组合方法为此类问题提供了一个新的解决方法。

猜你喜欢

极值工序遗传
120t转炉降低工序能耗生产实践
基于B/S 架构的钻井全工序定额管理系统设计与应用
浅谈SDS脱硫技术在炼焦工序中的运用
“85后”非遗传承人的旗袍梦
通过函数构造解决极值点偏移问题
例谈解答极值点偏移问题的方法
极值点偏移问题的解法
还有什么会遗传?
还有什么会遗传
还有什么会遗传?