《1 引言》

1 引言

工程爆破中, 爆破参数优化在诸多领域都发挥着重要的作用, 如矿石开采、水电工程骨料开采中的块度优化、成本优化等等。合理确定爆破参数对于提高爆破生产经济效益、加快工程进度等具有重要意义。爆破参数优化是一个复杂的非线性规划问题, 由于该优化问题具有多个决策变量, 且各决策变量之间相互联系, 相互制约, 不能用简单的线性关系加以描述, 因此, 不易给出各决策变量的最优组合值。传统的优化算法在处理此问题时, 容易陷入局部最优解, 而遗传算法是一种全局优化算法, 可避免问题限于局部最优解[1], 因而可得到爆破参数与块度的最优组合, 从而使矿山开采总成本最低。

作为一种新的优化技术, 遗传算法对所求解的优化问题没有太多的数学要求, 它在解的搜索中不需要了解问题的内在性质, 可以处理任意形式的目标函数和约束, 无论是线性的还是非线性的、离散的还是连续的、甚至混合的搜索空间;另外, 传统的优化方法只有在问题具有凸性时才能找到全局最优解, 而遗传算法是一种全局搜索算法, 并且每次迭代借助交叉、突变产生新个体, 不断扩大搜索范围, 能非常有效地找到全局最优解。因此, 目前遗传算法在许多应用领域都显示出了强大的效力, 也越来越受到广大科学研究者的重视。笔者拟用遗传算法, 以矿山爆破参数优化数学模型为例, 对矿山爆破参数进行优化, 使得采矿总成本最小, 实现遗传算法在工程爆破领域爆破参数优化中的应用。

《2 遗传算法》

2 遗传算法

《2.1遗传算法基本原理》

2.1遗传算法基本原理

遗传算法是一种基于生物自然选择与遗传机理的随机搜索算法[1,2,3]。将优化问题的基本可行解编码成字符串, 每个字符串称为一个染色体, 每个染色体可由多个子字符串组成, 包含了目标函数空间多个设计变量的信息。每一代中所有的染色体称为群体。群体在每次寻优迭代中, 以一定的概率, 通过选择、交叉、突变等遗传操作可以生成新的可行解群体, 称为后代。根据优化问题的目标函数, 每个染色体对应一个目标函数值, 经适当变换后可得到染色体的适应度。染色体的适应度反映了该组可行解的优劣, 按照优胜劣汰的原则对染色体进行选择, 相对好的个体得以繁殖, 相对差的个体则予以淘汰。因此, 群体整体的性能将不断改善, 经过若干代繁衍进化后就可使群体性能趋于最佳, 从而可获得最优解。

遗传算法大致包括以下几个主要环节:

《2.1.1 编码方案的选择》

2.1.1 编码方案的选择

遗传算法可采用多种编码方式, 如二进制编码、实数编码等。对于设计变量较多的情况, 二进制编码会使得染色体很长, 计算量偏大, 而实数编码则直接使用变量值进行编码, 只需定义一个较少维数的数组, 可以大量节省CPU时间。文献[4]经过对比测试, 指出实数编码在处理约束优化问题时具有更高的效率和可靠性, 因此采用实数编码方案。

《2.1.2 适应度函数选取》

2.1.2 适应度函数选取

对采矿成本这个目标函数的优化问题属于最小值优化问题, 因此, 需对目标函数做一定转换。转换规则如下:

eval(x)={Cmax-f(x)-p¯(x)0f(x)+p¯(x)Cmax(1)

式中, eval (x) 为转换后的适应度函数;Cmax为某一足够大的常数;f (x) 为原问题的目标函数;p¯(x)是对不满足约束条件的染色体适应度施加的惩罚项。

《2.1.3 选择运算》

2.1.3 选择运算

选择运算是把父代群体中适应度高的个体按某种规则或模型遗传到子代, 一般要求适应度高的父代个体将有更多的机会遗传到子代中。选择运算体现了进化论中“自然选择、适者生存”的原则。

结合最优保存策略和比例选择法提出一种综合选择方法, 其思想如下:

1) 首先找出当前代中适应度最高的个体和适应度最差的个体;

2) 如果当前代中最优个体的适应度比总的迄今为止的最优个体适应度还要高, 则以当前代中的最优个体作为总的迄今为止的最优个体;

3) 然后, 用迄今为止的最优个体替换当前代中的最差个体;

4) 最后采用比例选择法。即根据个体适应度的大小决定个体复制到子代中的次数。个体适应度越高, 该个体被选中的可能性越大, 个体被选中的概率

pi=fi/fi(2)

使用轮盘赌操作即可确定遗传到子代中的个体。

《2.1.4 交叉运算》

2.1.4 交叉运算

交叉 (crossover) 。复制虽然可以使可行解群体朝着最优解的方向移动, 但不能产生新的个体。为了保持种群的多样性, 使搜索空间不断扩大, 避免收敛于局部最优解, 需要引入交叉算子。

交叉算子有很多种, 如单点交叉、多点交叉、均匀交叉、算术交叉等。笔者采用算术交叉, 其基本思想如下:对于父代被选中执行交叉操作的2个个体X={x1, x2, …, xk, …, xn}, Y={y1, y2, …, yk, …, yn}, 若选择在k点进行交叉, 交叉后得到的2个新个体为:X′={x1, x2, …, xk′, …, xn}, Y′={y1, y2, …, yk′, …, yn}, 其中:

{xk=axk+(1-a)ykyk=ayk+(1-a)xk(3)

式中a为[0, 1]区间的一个随机数。

《2.1.5 变异运算》

2.1.5 变异运算

变异算子也能维持群体的多样性, 防止出现早熟的现象;同时也改善了遗传算法的局部搜索能力。遗传算法中所谓变异运算, 是指将个体染色体编码串中的某些基因座上的基因值用该基因座的其他等位基因来替换, 从而形成新的个体。

变异算子有很多, 如基本位变异、均匀变异、边界变异、非均匀变异及高斯变异等。本文采用动态变异 (非均匀变异) 算子。动态变异算子是为了提高进度, 增加细调能力而设计的。对于父代X={x1, x2, …, xk, …, xn}, 若元素xk被选出作变异, 则后代为X′={x1, x2, …, xk, …, xn}, 其中, xk′是按如下两种可能选取:

xk={xk+Δ(t,BU-xk)random(0,1)=0xk-Δ(t,xk-BL)random(0,1)=1(4)

式中, t为进化代数;变异点xk处的基因值取值范围由[BL, BU]限定;random (0, 1) 表示在0或1中随机选择的数。

式 (4) 中函数Δ (t, y) 由下式给出:

Δ(t,y)=yr(1-t/Τ)b(5)

式中, r是[0, 1]区间的随机数;T为最大进化代数;b是确定不均匀度的参数, 通常取b=2。函数Δ (t, y) 返回[0, y]区间的一个值, 使得Δ (t, y) 随t的增加而趋于0。

动态变异算子可使得遗传算法在其初始运行阶段 (t较小时) 进行均匀随机搜索, 而在其后期运行阶段 (t较接近于T时) 进行局部搜索, 所以它产生的新基因值比均匀变异所产生的基因值更接近于原有基因值。故随着遗传算法的运行, 动态变异算子就使得最优解的搜索过程更加集中在某一最有希望的重点区域中。

《2.2非线性规划问题的遗传算法》

2.2非线性规划问题的遗传算法

对于非线性规划问题, 尤其是对约束为非线性时的情况, 种群进化过程中可能会产生不可行解, 因此, 必须对遗传算法加以改进。在遗传算法中, 使用最为普遍的方法是惩罚函数法[3]。惩罚函数法其本质是通过惩罚不可行解, 将约束问题转化为无约束问题, 在每代的种群中保持部分不可行解, 使遗传搜索可以从可行域和不可行域两边来达到最优解。对于不可行解, 通过施加惩罚函数使其适应度减小, 在进化过程中逐渐被淘汰。惩罚策略的主要问题是如何设计一个惩罚函数p¯ (x) , 从而能有效地引导遗传搜索达到解空间的最好区域。遗传算法的结果对惩罚函数的各参数取值非常敏感, 计算时需要选择合理的参数。

对于非线性规划问题:

minf(x),s.t.gi(x)<0,i=1,2,,m1,hi=0,i=m1+1,m1+2,,m,

可取下列函数为惩罚项

p¯(x)=σ(i=1m1max{0,gi(x)}β1+i=m1+1m|hi(x)|β2)(6)

式中:σ>0, 为可变罚因子, 通过σ对不可行染色体的惩罚随进化过程进展而增加, 通常取σ= (λt) a;t为当前进化代数;λ, a为常数;β1≥1, β2≥1为选定的常数。为使p¯ (x) 具有良好的特性, 如连续可微性, 通常取β1=β2=2。

《2.3遗传算法的优化步骤》

2.3遗传算法的优化步骤

Step 1 随机生成初始种群;

Step 2 计算个体适应度, 并检验是否满足约束条件;如果不满足, 则对不满足约束的个体的适应度施以惩罚项;

Step 3 评价个体, 并依次执行选择、交叉、变异等遗传操作, 产生下一代群体;

Step 4 检查是否满足终止条件, 如满足, 则选择最佳个体作为遗传算法的结果;否则转到Step 2继续进行遗传演化。

《3 爆破参数优化数学模型》

3 爆破参数优化数学模型

下面以采矿工程中成本优化为目标, 建立了岩体爆破块度分布预测模型, 并提出了矿山爆破参数优化的数学模型。

《3.1岩体爆破块度分布预测模型》

3.1岩体爆破块度分布预测模型

矿山生产爆破作业中, 爆破效果 (大块率、块度分布及爆堆形态等) 直接影响着铲装、运输、破碎等后续工序和采矿总成本, 而块度分布是影响采矿作业成本的主要因素。因此, 选择合理的爆破块度分布预测模型对于采矿成本的控制具有重要的意义。目前, 通常采用的块度方程是KUZ-RAM模型。

南非C.Cunningham[5]指出:KUZ-RAM模型是库兹涅佐夫 (Kuznetsov) 方程和罗森拉姆 (Rosin-Rammler) 分布函数二者的结合。前者研究的是爆破的平均块度, 后者则研究块度的分布特征。爆破后的平均块度可由Kuznetsov方程得到, 而碎块块度则服从Rosin-Rammler分布, 其分布参数均匀性指数n和特征块度Xc可由爆破参数计算确定。

平均块度可由Kuznetsov方程得到:

X¯=A(Q/V0)-0.8Q1/6(115/E)19/30(7)

式中:X¯为平均块度, 即筛下累积率为50%时的破碎尺寸;A为岩石硬度系数;Q是单孔装药量 (kg) , Q=aWH;V0为每孔破碎岩石体积 (m3) , V0 =aWH;E表示当TNT炸药的相对质量威力取115时, 所用炸药的相对质量威力, 对2号岩石炸药相对质量威力E取为100;a为炮孔间距;W为底盘抵抗线 (m) ;H为台阶高度 (m) ;q为炸药单耗 (kg/t) ;γ为岩石密度 (t/m3) 。

岩石爆破块度分布服从于Rosin-Rammler分布, 即

R=exp[-(X/Xc)n](8)

式中R为筛上物料的重量百分比, X为筛孔尺寸, Xc为岩块的特征尺寸, n为均匀度指标。Rosin-Rammler曲线被公认为能够给出被爆岩石破碎情况的适合的描述。

均匀性指标n的计算公式如下:

n=(2.2-14W/d)(1-δ/W)[1+(m-1)/2]l/Η(9)

式中d为炮孔直径 (mm) , δ为钻孔孔位标准差, 一般取0.3~1.0 m, m为炮孔密集系数, l为装药长度 (m) , 其他参数同上。n决定了Rosin-Rammler分布曲线的形状, 通常由0.8变化到2.2, 高值表示块度均匀, 低值则归因于粉矿和大块占有较大比率。

岩块的特征尺寸Xc由平均块度的定义, 即筛下质量累积率为50%时的块度尺寸得到:

Xc=X¯/0.6391/n(10)

《3.2矿山爆破参数优化数学模型》

3.2矿山爆破参数优化数学模型

矿山爆破参数优化通常是以采矿总成本为目标函数, 通过调整某范围内的各爆破参数, 以达到目标函数值最小的目的。目前, 各类矿山爆破参数优化实用模型都是在加拿大钟汉荣爆破参数优化数学模型的基础上发展起来的, 取采矿总成本的目标函数表达式为[6]:

C=C1+C2+C3+C4+C5(11)

式中C为采矿总成本, C1为穿孔成本, C2为爆破成本, C3为铲装成本, C4为破碎成本, C5为运输成本。各工序的成本函数通常是以炮孔间距、抵抗线、炸药单耗、平均块度、大块率等为因变量, 根据矿山实际情况通过回归分析建立起来的。

1) 穿孔成本 C1=KdrL/HSγ (12)

2) 爆破成本 C2=K1q+K2L/HSγ+K3YD (13)

3) 铲装成本 C3=a1YD+b1 (14)

4) 破碎成本C4=a2exp(b2X¯)(15)

5) 运输成本C5=Κ(a3X¯2-b3X¯-c)(16)

式中Kdr为每米穿孔费用, L为钻孔深度 (m) , S为炸药负担面积, S=aW (m2) , K1为炸药单价, K2为每米爆破器材消耗费用, K3为大块处理费用, YD为大块率, a1, b1, a2, b2, a3, b3, c均为回归分析得出的经验系数, K为从采场到破碎站的每吨矿运输费用, 其他参数同上。

综合以上各式, 可得出采矿总成本的目标函数表达式:

C=ΚdrL/ΗSγ+Κ1q+Κ2L/ΗSγ+Κ3YD+a1YD+b1+a2exp(b2X¯)+Κ(a3X¯2-b3X¯-c)(17)

此外, 根据各矿山设备情况及不同要求, 可得出相应的各因变量的约束条件, 即得到矿山爆破参数优化数学模型。

《4 算例分析》

4 算例分析

依据前述的遗传算法原理, 笔者编制了相应的遗传算法程序。经过对Bracken & McCormick[7]及Himmelblau[8]等提供的多个经典测试函数的计算, 验证了本程序的正确性, 同时, 也更深入地了解了交叉、变异概率及罚函数中各常数的取值对最优解的影响特性。下面, 结合实际工程, 对某矿山的爆破参数优化数学模型, 选择遗传算法进行优化求解, 找出了最优的爆破参数组合, 使得总的采矿成本最低。

宜阳露天石灰石矿的开采采用台阶爆破方法、潜孔钻钻孔, 台阶高度H=10 m, 钻孔直径d=150 mm, 钻孔深度L=12.5 m, 装药长度l=8.5 m, 岩石密度γ= 2.7 t/m3, 钻孔精度δ=0.5 m。根据矿山设备情况, 定义粒径超过60 cm的碎块为大块。结合KUZ-RAM模型与钟汉荣爆破优化数学模型, 经过统计分析, 得到宜阳露天矿爆破优化数学模型为[9,10]:

minC=5.6958/(aW)+2.1q+4.74YD+(0.188X¯2-117X¯)/104+

0.0877exp(0.046X¯)+5.577,s.t.YD=exp[-(60/X¯)nln2]

X¯=10q-0.8γ-0.8(aWΗqγ)1/6(1.15)2/3n=0.425(2.2-14W/d)(1-δ/W)(m+1)

m=aW

且4≤a≤7, 4≤W≤7, 1≤m≤3, 0.15≤q≤0.25, 0.8≤n≤2.2

选取孔距a、抵抗线W、炸药单耗q三个变量组成染色体。遗传算法各参数选取如下:种群数PopSize=100, 交叉概率Pc=0.75、变异概率Pm=0.1, λ=5, a=1.2, β1=β2=2。每次计算都可以得到一组最优解, 选出具有代表性的15组优化结果见表1。

表1中第2组的优化结果与文献[9,10]采用复合形法得到的优化结果是一致的。由于最终参数的选取还有赖于矿山设备情况、安全要求及工程经验等, 方能有效地应用于生产实践中, 取得良好的经济效益。因此相比之下, 采用的遗传算法更优, 可以得到较文献[9,10]更多的优化组合, 为工程实践参数选取提供更好的参考。

《5 结论》

5 结论

以矿山爆破参数优化数学模型为例, 引入遗传算法对爆破参数优化这种非线性规划问题进行了优化。优化结果表明, 使用遗传算法对工程爆破中的爆破参数进行优化是可行的、高效的, 而且能找出多组最优组合, 为选取合理的爆破参数提供参考。遗传算法作为一种全局式搜索算法, 能够克服传统优化算法可能仅得到局部最优解的缺点, 在优化问题中具有更高的准确性。

表1 宜阳露天矿爆破参数优化结果

Table 1 Results of optimized blasting parameters for Yiyang open pit

《表1》


组次
孔距/m抵抗线/m密集系数炸药单耗/kg·t-1平均块度/cm大块率/%总成本/元·t-1

1
4.994.261.170.24634.7721.347.423

2
5.454.331.260.25035.0020.647.374

3
5.414.231.280.23136.6022.627.452

4
5.774.461.290.24735.7921.467.394

5
5.294.101.290.24834.7219.777.346

6
5.374.141.300.24834.8119.867.346

7
5.654.251.330.24835.2920.217.348

8
5.644.071.390.24635.2019.327.312

9
5.874.011.460.25034.9918.107.254

10
5.954.051.470.24935.2418.457.264

11
6.274.141.510.24835.7618.777.267

12
6.414.201.530.24336.4019.587.295

13
6.714.001.680.24436.3117.797.211

14
6.834.021.700.24836.1017.237.185

15
7.004.001.750.25036.0116.557.153

注:表1中第15组最优解是数学最优解;由于其他各组最优解对应的最低成本与其相差最大不到5 %, 因此在工程上都可视为可行最优解