2. 黑龙江中北航务勘察设计有限公司, 黑龙江 哈尔滨 150001
2. Heilongjiang ZhongBei Harbor Consultans, Co., Ltd, Harbin 150001, China
季节性冰冻河流中江水易结冰、水文情势多变、低温与流冰会给航电枢纽金属结构与建筑物带来诸多不利的影响,冰冻期混凝土的浇筑会直接影响枢纽建设,甚至可能造成水电工程事故、建筑物损坏等在针对航电枢纽的施工中,可能存在施工期内雨季多发,导致施工期变短。此外,由于施工作业面狭窄,势必导致互相干扰,这也将给施工过程中的工期、质量等控制带来更多不确定因素,加大了施工管理的难度。因此良好的施工进度管理是工程如期完工的重要保证。
目前,国内外学者对施工进度优化模型进行了广泛的研究,但其在实际应用中存在较大误差。基于不同关注点建立施工优化模型后,对优化模型的求解是获得较优方案的关键[1-2]。蝙蝠算法(bat algorithm,BA)是近年来发展起来的一种新兴演化计算技术[3],具有易于实现、收敛速度快、适于并行处理、鲁棒性强等特点[4]。但与其他仿生群智能算法类似,标准BA也存在易陷入局部最优、过早收敛、后期收敛速度较慢等问题。综上,目前虽然已经有许多文献对施工进度优化方法进行了研究,但是均存在诸多不足,同时未见关于面向季节性冰冻河流航电枢纽施工工期优化研究的报道。
本文考虑到航电枢纽工程施工的经济费用比较固定,计入冰冻因素对施工进度的影响,建立以施工强度与机械设备为约束条件的施工进度优化模型[5]。为了更好的求解建立的施工进度优化模型(schedule optimization model for navigation-power junction construction of seasonal frozen river,SO-NPJC),基于混沌映射和小生境理论,对BA进行改进,提出了混沌小生境蝙蝠算法(chaos niche bat algorithm,CNBA)。建立了一种基于CNBA的季节性冰冻河流航电枢纽施工进度优化方法。最后结合依兰航电枢纽工程实例,进行数值实验,通过对实验结果的对比分析,验证了新建优化方法的实用性与优越性。
1 施工进度优化模型的建立本文建立的航电枢纽工程施工进度优化模型基于以下假设条件:1)不考虑工程各项工序的施工衔接时间;2)当连续5 d平均气温降到5 ℃,或最低气温降到0 ℃,工程进入冬季施工期,混凝土停止浇筑;3)关键线路的持续时间为工程的总工期;4)单项工程的施工强度、机械设备数目与其工期呈线性相关。综合考虑工程中混凝土的实际浇筑情况与冰冻因素对施工的影响,以施工强度与施工机械设备为约束条件,以施工总工期最短为优化目标,建立SO-NPJC优化模型如下
$ {\rm{s}}{\rm{.t}}{\rm{.}}\left\{ \begin{array}{l} {F_{i\max }} = \left( {1 + \gamma } \right){F_i}\\ {F_{i\min }} = \left( {1 - \gamma } \right){F_i}\\ \frac{{{x_0}\left( i \right){F_i}}}{{{F_{i\max }}}} \le x\left( i \right) \le \frac{{{x_0}\left( i \right){F_i}}}{{{F_{i\min }}}}\\ \frac{{{x_0}\left( i \right)}}{{\left( {1 + \alpha } \right)}} \le x\left( i \right)\\ \sum\limits_{i = 1}^D {x\left( i \right)} \le T,\forall i \in D\\ x\left( i \right) > 0 \end{array} \right. $ | (1) |
$ \min T\left( {{F_i},\gamma } \right) = \sum\limits_{i = 1}^D {{x_i}} $ | (2) |
式中:D为影响工程总工期的工序数目, xi为单项工程实际工期, x0i为单项工程计划工期, Fi为单项工程计划施工强度, Fi min为实际情况下单项工程最小施工强度, Fi max为实际情况下单项工程最大施工强度, γ为施工强度增大系数, α为设备资源的增加百分比, T为工程总工期。
2 蝙蝠优化算法 2.1 标准蝙蝠算法的优化机理BA由英国学者X. S. Yang[6]受到了蝙蝠捕猎过程中回声定位行为的启发,于2010年提出的。在捕猎过程中,蝙蝠首先发出一种声音信号,信号在碰到猎物时被弹回,蝙蝠通过分析回声的频率、响度和脉冲发射率等特征,来确定物体的性质和位置。
2.1.1 蝙蝠的速度和位置更新过程假设搜索空间为D维,第i只蝙蝠在第t次进化时的位置和速度分别为xit和vit,则在第t+1次进化时,其位置和速度可分别更新为xit+1和vit+1,即
$ {F_i} = {F_{\min }} + \left( {{F_{\max }} - {F_{\min }}} \right)\beta $ | (3) |
$ v_i^{t + 1} = v_i^t + \left( {x_i^t - {x^ * }} \right){F_i} $ | (4) |
$ x_i^{t + 1} = x_i^t + v_i^{t + 1} $ | (5) |
式中:Fi、Fmax和Fmin为第i只蝙蝠在当前时刻发出的声波频率、声波频率的最大值和最小值;β为随机数,β∈[0, 1];x*为当前最优解。
对于大小为N的蝙蝠群体,可以从中选择一只蝙蝠(解),并更新该蝙蝠相应的位置,即在被选择解的附近产生一个新解:
$ x_i^{{\rm{new}}} = {x_{{\rm{old}}}} + \varepsilon {A^t} $ | (6) |
该过程可被理解为局部搜索过程。式中:xold为从当前最优解集中随机选择的一个解,At为当前代前i只蝙蝠的平均响度;ε为随机变量,ε∈[0, 1]D。
2.1.2 响度和脉冲发射率蝙蝠实际捕猎过程中,其声波响度A(i)随着与猎物距离的减小而不断减弱,但脉冲发射速率R(i)随着与猎物距离的减小而逐渐提高。蝙蝠i脉冲的响度A(i)和发射速率R(i)可更新为
$ {A^{t + 1}}\left( i \right) = \alpha {A^t}\left( i \right) $ | (7) |
$ {R^{t + 1}}\left( i \right) = {R^0}\left( i \right)\left[ {1 - \exp \left( { - \gamma t} \right)} \right] $ | (8) |
式中:0<α<1和γ>0均为常量; A(i)=0时意味着蝙蝠i刚刚发现一只猎物,暂时停止发出任何声音。
2.2 混沌小生境蝙蝠优化算法混沌算法是一种新颖的优化技术,在工程实践中得到了广泛的应用。在数值问题的优化方面,利用混沌算法在求解时,将搜索过程中产生的解通过混沌映射方程映射到变量空间中,利用混沌变量的遍历性、随机性的特点寻找最优解,从而可以在搜索过程中避免陷入极小值,最终获得全局最优解[7]。针对混沌算法的随机性、有界性等特点,很多文献基于混沌映射建立了改进算法[7-8]。
本文针对BA的不足,为了增强BA种群的多样性,提高算法后期的搜索速度,尝试将混沌理论用于BA的改进。针对种群多样性下降,本文利用Tent映射,设计混沌遍历搜索机制和小生境局部搜索机制,以期能够较快地求出所求问题的最优解或满意解,提高算法全局和局部搜索能力[9]。Tent映射方程如下
$ {x_{n + 1}} = \left\{ \begin{array}{l} 2{x_n},\;\;\;\;\;\;\;\;\;\;\;\;{x_n} < 0.5\\ 2\left( {1 - {x_n}} \right),\;\;\;\;{x_n} \ge 0.5 \end{array} \right. $ | (9) |
基于Tent映射的BA混沌遍历搜索机制(chaos traversal search mechanism,CTSM)原理为:首先将蝙蝠个体映射到(0,1)范围内,将映射后的个体作为初始值,利用Tent映射产生一定数目的混沌变量,然后将生成的混沌变量再映射到原来的解空间,获得新的蝙蝠个体,评价生成的新个体,更新混沌遍历搜索后的蝙蝠位置[10]。基于Tent映射的BA全局混沌遍历搜索机制流程如下:
1) i=1,j=1,转到步骤2);
2) 利用式(10),将位于D维解空间中第i个蝙蝠个体j维分量,映射到区间(0, 1);
$ y_{i,j}^t = \left( {x_{i,j}^t - {a_j}} \right)/\left( {{b_j} - {a_j}} \right) $ | (10) |
3) 将yi, jt作为初始值,基于式(14)迭代m次,产生m个对应于第i个蝙蝠j维分量的新混沌序列{yi, jt+1(1),yi, jt+1(2),…,yi, jt+1(m)};
4) 利用式(11),将获得的新混沌序列{yi, jt+1(1),yi, jt+1(2),…,yi, jt+1(m)}映射到第i个蝙蝠的第j维分量的可行域;
$ x_{i,j}^{t + 1}\left( k \right) = \left( {{b_j} - {a_j}} \right)y_{i,j}^{t + 1}\left( k \right) + \left( {{b_j} + {a_j}} \right) $ | (11) |
5) 令j=j+1,转到步骤7);
6) 如果j>D,转到步骤8),否则转到步骤3);
7) 获得m个混沌全局搜索后的蝙蝠个体;
8) 计算每个获得的蝙蝠的适应度值,选取具有最佳适应度值的扰动个体xi bestn+1;
9) 如果xi bestt+1优于xit则xit=xi bestt+1,否则转到步骤11);
10)i=i+1;
11)如果i>N,转到步骤13),否则转到步骤2);
12)完成N个蝙蝠的全局混沌搜索。
其中xit+1为混沌扰动后的个体;bj、aj分别是蝙蝠第j维分量的最大值和最小值;N为种群规模。
2.2.2 小生境局部搜索机制(NLSM)基于Tent映射的小生境局部搜索机制(niche local search mechanism,NLSM)原理为:首先从最优解集中选取最优解x*t,确定小生境局部搜索中心,将最优蝙蝠个体x*t的各维分量映射到区间(0,1),将映射获得的变量作为Tent映射的迭代初值,获得迭代后混沌序列,计算小生境局部搜索半径,确定小生境局部搜索范围,将获得迭代后的混沌序列映射到小生境局部搜索范围内,进行小生境局部遍历搜索,更新最优解x*t、脉冲响度At+1(i)和脉冲发射频率Rt+1(i)[11]。
在进行小生境局部搜索过程中,首先定义小生境的中心和搜索半径。设小生境局部搜索中心为当前被选的种群最优个体x*t,小生境局部搜索半径r按下式确定:
$ r = \min \left( {{x^{ * t}} - {a_j},{b_j} - {x^{ * t}}} \right) $ | (12) |
式中:r为小生境搜索半径,bj、aj分别是蝙蝠第j维分量的最大值和最小值。小生境局部搜索机制流程如下:
1) 随机生成Rand1,如果Rand1>Rt(i),则从最优解集中选取最优解x*t;
2) j=1,转到步骤3);
3) 利用式(13),将最优蝙蝠个体x*t的第j维分量映射到区间(0, 1);
$ y_j^t = \left( {x_j^{ * t} - {a_j}} \right)/\left( {{b_j} - {a_j}} \right) $ | (13) |
4) 将yjt作为初始值,基于式(9)迭代m次,产生m个对应于选中优秀蝙蝠第j维分量的新混沌序列{yjt+1(1),yjt+1(2),…,yjt+1(m)};
5) 利用式(14),将获得的新混沌序列{yjt+1(1),yjt+1(2),…,yjt+1(m)}映射到小生境搜索范围内,
$ {x^{t + 1}}j\left( k \right) = 2ry_j^{t + 1}\left( k \right) + \left( {x_j^{ * t} - r} \right) $ | (14) |
式中:yjt+1(k)为获得的混沌序列中的第k个值,r为小生境搜索半径,xj*t为被选中的优秀个体的第j维向量。
6) 令j=j+1,转到步骤7);
7) 如果j>D,转到步骤8),否则转到步骤3);
8) 获得m个在小生境内混沌全局搜索后的蝙蝠个体;
9) 计算每个获得的蝙蝠的适应度值,选取具有最佳适应度值的个体xbestn+1;
10)如果xbestt+1优于xit,则xit=xbestt+1,转到步骤11);
11)随机生成Rand2,如果Rand2>At(i)并且xbestt+1优于x*t,令x*t+1=xbestt+1,更新At+1(i)和Rt+1(i)。
2.2.3 CNBA的进化流程设计针对蝙蝠算法的不足,基于Tent映射,设计用于改进蝙蝠算法的混沌遍历搜索机制、小生境局部搜索机制,提出混沌小生境蝙蝠算法。CNBA的进化原理为:按照标准BA,初始化种群各蝙蝠的位置和速度,评价个体适应度值;若种群符合CTSM执行条件,按照CTSM进化流程,对种群执行混沌遍历搜索机制;若种群符合NLSM执行条件,按照NLSM进化流程,对被选择的较优个体执行小生境局部搜索机制;更新种群位置,继续执行BA基本进化流程,直到满足进化终止准则,结束进化。CNBA的进化流程如图 1。
![]() |
图 1 CNBA的进化流程 Fig.1 The evolutionary processes of CNBA |
在施工进度优化模型求解过程中,根据最优解问题特点,将种群中蝙蝠个体的和作为适应度函数:
$ {\rm{Fitness}} = \sum\limits_{i = 1}^D {{x_i}} $ | (15) |
式中:D是影响工程总工期的工序数目, xi为单项工程实际工期。模型求解流程如下:
1) 参数初始化。设置种群大小N,最大的迭代次数MaxIter,蝙蝠i的初始响度A(i),脉冲发射速率R(i),脉冲频率的最大值fmax和最小值fmin,脉冲音强衰减系数α,脉冲频度增加系数γ;
2) 种群初始化。在蝙蝠可行域内(a,b),随机初始化蝙蝠位置xi和速度vi;
3) 适应度评价。以每个蝙蝠的各维向量作为每项工序的实际工期,然后按照式(15),计算第i个蝙蝠对应的适应度值fitness(i);按照适应度值进行排序,选择适应度值最小的个体作为当前种群最优个体x*t;
4) 进化终止判断。如果当前种群满足进化终止条件,转到步骤12,否则,转到步骤5);
5) 更新脉冲频率Fi。按照式(8)更新脉冲频率,转到步骤6);
6) 速度和位置更新。按照式(4)更新vit,按照式(5)更新xit,转到步骤7);
7) 混沌遍历搜索机制。如果当前种群满足CTSM的执行条件,按照CTSM流程进行混沌遍历搜索,转到步骤8);
8) 小生境局部搜索机制。如果当前种群符合NLSM搜索条件,按照NLSM执行小生境局部搜索,转到步骤9);
9) 如果适应度值fitness(xnewt)的级别小于适应度值fitness(xit),那么xit+1=xnewt,转到步骤3),否则转到步骤10);
10)产生一个随机数Rand2,如果随机数Rand2<A(i)并且fitness(xnewt)<fitness(x*t)那么x*(t+1)=xnewt,转到步骤11),否则转到步骤3);
11)按照式(7)、(8),更新脉冲响度A(i)和脉冲发射率R(i),然后转到步骤3);
12)输出当前数据的最优解x*t。
4 实例应用 4.1 工程概况依兰航电枢纽工程任务主要是以航运、发电为主,兼顾交通、灌溉和旅游等综合利用功能。选取进行数值实验工程的关键线路共11项工序,分别为:1)场内交通公路修建,计划工期153 d;2)一期右岸戗堤砂砾石填筑,计划工期45 d;3)一期右岸高喷灌浆,计划工期46 d;4)一期右岸基坑排水,计划工期31 d;5)厂房土方开挖,计划工期31 d;6)厂房石方开挖,计划工期73 d;7)一期厂房水下混凝土浇筑,计划工期200 d;8)二期厂房水下混凝土浇筑,计划工期47 d;9)厂房水上混凝土浇筑,计划工期122 d;10)桥机安装,计划工期92 d;11)水轮机及发电机安装,计划工期731 d。此时建立的SO-NPJC模型具体表示如下
$ {\rm{s}}{\rm{.t}}{\rm{.}}\left\{ \begin{array}{l} {F_{i\max }} = \left( {1 + \gamma } \right){F_i},i = 2,3,5,6,7,8,9\\ {F_{i\min }} = \left( {1 - \gamma } \right){F_i},i = 2,3,5,6,7,8,9\\ \frac{{{x_0}\left( i \right){F_i}}}{{{F_{i\max }}}} \le x\left( i \right) \le \frac{{{x_0}\left( i \right){F_i}}}{{{F_{i\min }}}},\\ \;\;\;\;\;\;\;\;\;\;\;\;\;i = 2,3,5,6,7,8,9\\ \frac{{{x_0}\left( i \right)}}{{\left( {1 + \alpha } \right)}} \le x\left( i \right),i = 2,5,6\\ \sum\limits_{i = 1}^D {x\left( i \right)} \le T,\forall i \in D\\ x\left( i \right) > 0,\forall i \in D \end{array} \right. $ | (16) |
$ \min T\left( {{F_i},\gamma } \right) = \sum\limits_{i = 1}^D {{x_i}} $ | (17) |
式中:γ=0.2;α=0.2。式(16)表示仅在工序2、3、5、6、7、8、9时考虑施工强度对工程工期的影响,仅在工序2、5、6时考虑施工机械设备对工程工期影响。
4.2 模型选取及算法参数设置本文分别应用PSO、BA、CTSM-BA、NLSM-BA、CNBA对建立的SO-NPJC模型进行求解。考虑到算法中涉及各参数的确定目前尚无确切的理论依据,本文根据反复实验获得的经验值选择各算法的最佳参数进行计算。PSO中:学习因子c1=c2=1.3,惯性权重w=0.3;BA中:搜索脉冲频率范围ri∈[-1, 1],最大脉冲频度r0=0.75,最大脉冲音强A=0.25,脉冲音强衰减系数α=0.95,脉冲频度增加系数γ=0.05;CTSM-BA中:基于Tent映射混沌遍历搜索的迭代次数m=50,其余参数同BA;NLSM-BA中:小生境局部搜索半径r=2,其余参数同BA;CNBA中:基于Tent映射混沌遍历搜索的迭代次数m=50,小生境局部搜索半径r=2,其余参数同BA。上述五种算法最大迭代次数均为Tmax=200,种群规模均取50。
4.3 施工优化模型性能分析考虑到进化算法的随机性,为了保证检验过程的可靠性,本文在测试过程中,分别用五种算法对优化模型独立求解30次,将30次求解结果平均后再输出。各算法工期优化结果如表 1。
![]() |
表 1 五种算法工期优化结果对比 Tab.1 The contrast of time limit for a project optimization results of five kinds of algorithmsd |
由表 1分析可知:PSO平均优化百分比为4.01%,对总工期优化了2.27%,优化后总工期与计划相比缩短了36 d;BA平均优化百分比为4.57%,对总工期优化了2.21%,优化后总工期与计划相比缩短了35 d;CTSM-BA平均优化百分比为7.62%,对总工期优化了3.64%,优化后总工期与计划相比缩短了57 d,较BA提高了1.43%;NLSM-BA平均优化百分比为6.86%,对总工期优化了2.99%,优化后总工期与计划相比缩短了47 d,较BA提高了0.78%;CNBA平均优化百分比为8.06%,对总工期优化了4.68%,优化后总工期与计划相比缩短了74 d,较BA提高了2.47%,较PSO提高了2.41%。分析结果表明:本文提出的新算法计算所得结果波动相对较小,对工期优化幅度较大,应用于实际工程管理,可有效缩短工程施工总工期。
4.4 优化算法性能分析为了进一步测试新提出的CNBA算法在求解施工优化模型过程中的可行性,本文在测试过程中,同样应用每种算法对模型分别独立求解30次,计算适应度值的平均值,绘制适应度值平均进化曲线。五种算法平均收敛曲线如图 2。
![]() |
图 2 航电枢纽工程总工期收敛曲线 Fig.2 The convergence curves of total time limit for a navigation-power junction project |
由图 2可知,五种算法均取得了最优解,但PSO计算所得适应度值偏大,最后在迭代到第12代时收敛于1 535 d;BA计算所得适应度值与PSO近似,最后在迭代到第10代时收敛于1 536 d;CTSM-BA更好的遍历了所有解,最后在迭代到第22代时收敛于1 514 d;NLSM-BA加快了解的收敛速度,最后在迭代到第9代时收敛于1 524 d。可以看出NLSM-BA较CTSM-BA收敛速度得到了提升,但CTSM-BA的解更加优秀;CNBA综合了CTSM-BA和NLSM-BA的优点,即遍历了所有优秀解又加快了算法的收敛速度,最后在迭代到第5代时收敛于1 497 d,工程原计划总工期缩短了74 d。
5 结论1) 应用五种智能优化算法分别对施工进度优化模型进行求解,均对关键线路上所有工序工期进行了优化,得到了工期最优解。
2) CNBA算法在优化求解的鲁棒性、优化幅度等方面均优于PSO、BA、CTSM-BA、NLSM-BA算法,表现出了新算法较强的全局寻优能力和更高的搜索精度,证明了新算法的优越性。
3) 将本文提出的施工优化方法应用于季节性冰冻河流航电枢纽工程施工,提升了航电枢纽的建造效率,缩短了施工工期,为实现枢纽的智慧建造提供了技术支持。
[1] |
王卓甫, 陈登星. 水利水电施工进度计划的风险分析[J]. 河海大学学报:自然科学版, 1999, 27(4): 83-87. WANG Zhuofu, CHEN Dengxing. Risk analysis of construction schedule for water resource projects[J]. Journal of Hohai University, 1999, 27(4): 83-87. ( ![]() |
[2] |
刘明, 吴唤群. 资源有限-工期最短的分枝定界算法[J]. 系统工程, 1999(2): 72-75. LIU Ming, WU Huanqun. A branch and bound method for problem of limited resources and shortest time limit for a project[J]. Systems engineering, 1999(2): 72-75. ( ![]() |
[3] |
YANG X S. A new metaheuristic bat-inspired algorithm[J]. Computer knowledge & technology, 2010, 284: 65-74. ( ![]() |
[4] |
彭喜元, 彭宇, 戴毓丰. 群智能理论及应用[J]. 电子学报, 2003, 31(s1): 1982-1988. PENG Xiyuan, PENG Yu, DAI Yufeng. Swarm intelligence theory and applications[J]. Acta electronica sinica, 2003, 31(s1): 1982-1988. ( ![]() |
[5] |
周树发, 刘莉. 工程网络计划中的多目标优化问题[J]. 华东交通大学学报, 2004(2): 10-13. ZHOU Shufa, LIU Li. The multi-goal optimization problem in network project[J]. Journal of East China Jiaotong University, 2004(2): 10-13. ( ![]() |
[6] |
康琦, 汪镭, 吴启迪. 群体智能与人工生命[J]. 模式识别与人工智能, 2005, 18(6): 689-697. KANG Qi, WANG Lei, WU Qidi. Swarm intelligence and artificial life[J]. Pattern recognition & artificial intelligence, 2005, 18(6): 689-697. ( ![]() |
[7] |
刘长平, 叶春明. 具有混沌搜索策略的蝙蝠优化算法及性能仿真[J]. 系统仿真学报, 2013, 25(06): 1183-1182. LIU Changping, YE Chunming. Bat algorithm with chaotic search strategy and analysis of its property[J]. Journal of system simulation, 2013, 25(06): 1183-1182. ( ![]() |
[8] |
王翔, 李志勇, 许国艺, 等. 基于混沌局部搜索算子的人工蜂群算法[J]. 计算机应用, 2012, 32(4): 1033-1036. WANG Xiang, LI Zhiyong, XU Guoyi, et al. Artificial bee colony algorithm based on chaos local search operator[J]. Journal of computer applications, 2012, 32(4): 1033-1036. ( ![]() |
[9] |
赵欣. 不同一维混沌映射的优化性能比较研究[J]. 计算机应用研究, 2012, 29(03): 913-915. ZHAO Xin. Research on optimization performance comparison of different one-dimensional chaotic maps[J]. Application research of computers, 2012, 29(3): 913-915. ( ![]() |
[10] |
单梁, 强浩, 李军, 等. 基于Tent映射的混沌优化算法[J]. 控制与决策, 2005, 20(2): 179-182. SHAN Liang, QIANG Hao, LI Jun, et al. Chaotic optimization algorithm based on tent map[J]. Control & decision, 2005, 20(2): 179-182. ( ![]() |
[11] |
高珊, 马良, 张惠珍, 等. 函数优化的小生境蝙蝠算法[J]. 数学的实践与认识, 2014(15): 253-260. GAO Shan, MA Liang, ZHANG Huizhen, et al. Niche bat algorithm for function optimization[J]. Mathematics in practice & theory, 2014(15): 253-260. ( ![]() |