《1 引言》
1 引言
工程爆破中, 爆破参数优化在诸多领域都发挥着重要的作用, 如矿石开采、水电工程骨料开采中的块度优化、成本优化等等。合理确定爆破参数对于提高爆破生产经济效益、加快工程进度等具有重要意义。爆破参数优化是一个复杂的非线性规划问题, 由于该优化问题具有多个决策变量, 且各决策变量之间相互联系, 相互制约, 不能用简单的线性关系加以描述, 因此, 不易给出各决策变量的最优组合值。传统的优化算法在处理此问题时, 容易陷入局部最优解, 而遗传算法是一种全局优化算法, 可避免问题限于局部最优解
作为一种新的优化技术, 遗传算法对所求解的优化问题没有太多的数学要求, 它在解的搜索中不需要了解问题的内在性质, 可以处理任意形式的目标函数和约束, 无论是线性的还是非线性的、离散的还是连续的、甚至混合的搜索空间;另外, 传统的优化方法只有在问题具有凸性时才能找到全局最优解, 而遗传算法是一种全局搜索算法, 并且每次迭代借助交叉、突变产生新个体, 不断扩大搜索范围, 能非常有效地找到全局最优解。因此, 目前遗传算法在许多应用领域都显示出了强大的效力, 也越来越受到广大科学研究者的重视。笔者拟用遗传算法, 以矿山爆破参数优化数学模型为例, 对矿山爆破参数进行优化, 使得采矿总成本最小, 实现遗传算法在工程爆破领域爆破参数优化中的应用。
《2 遗传算法》
2 遗传算法
《2.1遗传算法基本原理》
2.1遗传算法基本原理
遗传算法是一种基于生物自然选择与遗传机理的随机搜索算法
遗传算法大致包括以下几个主要环节:
《2.1.1 编码方案的选择》
2.1.1 编码方案的选择
遗传算法可采用多种编码方式, 如二进制编码、实数编码等。对于设计变量较多的情况, 二进制编码会使得染色体很长, 计算量偏大, 而实数编码则直接使用变量值进行编码, 只需定义一个较少维数的数组, 可以大量节省CPU时间。文献
《2.1.2 适应度函数选取》
2.1.2 适应度函数选取
对采矿成本这个目标函数的优化问题属于最小值优化问题, 因此, 需对目标函数做一定转换。转换规则如下:
式中, eval (x) 为转换后的适应度函数;Cmax为某一足够大的常数;f (x) 为原问题的目标函数;
《2.1.3 选择运算》
2.1.3 选择运算
选择运算是把父代群体中适应度高的个体按某种规则或模型遗传到子代, 一般要求适应度高的父代个体将有更多的机会遗传到子代中。选择运算体现了进化论中“自然选择、适者生存”的原则。
结合最优保存策略和比例选择法提出一种综合选择方法, 其思想如下:
1) 首先找出当前代中适应度最高的个体和适应度最差的个体;
2) 如果当前代中最优个体的适应度比总的迄今为止的最优个体适应度还要高, 则以当前代中的最优个体作为总的迄今为止的最优个体;
3) 然后, 用迄今为止的最优个体替换当前代中的最差个体;
4) 最后采用比例选择法。即根据个体适应度的大小决定个体复制到子代中的次数。个体适应度越高, 该个体被选中的可能性越大, 个体被选中的概率
使用轮盘赌操作即可确定遗传到子代中的个体。
《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}, 其中:
式中a为[0, 1]区间的一个随机数。
《2.1.5 变异运算》
2.1.5 变异运算
变异算子也能维持群体的多样性, 防止出现早熟的现象;同时也改善了遗传算法的局部搜索能力。遗传算法中所谓变异运算, 是指将个体染色体编码串中的某些基因座上的基因值用该基因座的其他等位基因来替换, 从而形成新的个体。
变异算子有很多, 如基本位变异、均匀变异、边界变异、非均匀变异及高斯变异等。本文采用动态变异 (非均匀变异) 算子。动态变异算子是为了提高进度, 增加细调能力而设计的。对于父代X={x1, x2, …, xk, …, xn}, 若元素xk被选出作变异, 则后代为X′={x1, x2, …, x′k, …, xn}, 其中, xk′是按如下两种可能选取:
式中, t为进化代数;变异点xk处的基因值取值范围由[BL, BU]限定;random (0, 1) 表示在0或1中随机选择的数。
式 (4) 中函数Δ (t, y) 由下式给出:
式中, r是[0, 1]区间的随机数;T为最大进化代数;b是确定不均匀度的参数, 通常取b=2。函数Δ (t, y) 返回[0, y]区间的一个值, 使得Δ (t, y) 随t的增加而趋于0。
动态变异算子可使得遗传算法在其初始运行阶段 (t较小时) 进行均匀随机搜索, 而在其后期运行阶段 (t较接近于T时) 进行局部搜索, 所以它产生的新基因值比均匀变异所产生的基因值更接近于原有基因值。故随着遗传算法的运行, 动态变异算子就使得最优解的搜索过程更加集中在某一最有希望的重点区域中。
《2.2非线性规划问题的遗传算法》
2.2非线性规划问题的遗传算法
对于非线性规划问题, 尤其是对约束为非线性时的情况, 种群进化过程中可能会产生不可行解, 因此, 必须对遗传算法加以改进。在遗传算法中, 使用最为普遍的方法是惩罚函数法
对于非线性规划问题:
可取下列函数为惩罚项
式中:σ>0, 为可变罚因子, 通过σ对不可行染色体的惩罚随进化过程进展而增加, 通常取σ= (λt) a;t为当前进化代数;λ, a为常数;β1≥1, β2≥1为选定的常数。为使
《2.3遗传算法的优化步骤》
2.3遗传算法的优化步骤
Step 1 随机生成初始种群;
Step 2 计算个体适应度, 并检验是否满足约束条件;如果不满足, 则对不满足约束的个体的适应度施以惩罚项;
Step 3 评价个体, 并依次执行选择、交叉、变异等遗传操作, 产生下一代群体;
Step 4 检查是否满足终止条件, 如满足, 则选择最佳个体作为遗传算法的结果;否则转到Step 2继续进行遗传演化。
《3 爆破参数优化数学模型》
3 爆破参数优化数学模型
下面以采矿工程中成本优化为目标, 建立了岩体爆破块度分布预测模型, 并提出了矿山爆破参数优化的数学模型。
《3.1岩体爆破块度分布预测模型》
3.1岩体爆破块度分布预测模型
矿山生产爆破作业中, 爆破效果 (大块率、块度分布及爆堆形态等) 直接影响着铲装、运输、破碎等后续工序和采矿总成本, 而块度分布是影响采矿作业成本的主要因素。因此, 选择合理的爆破块度分布预测模型对于采矿成本的控制具有重要的意义。目前, 通常采用的块度方程是KUZ-RAM模型。
南非C.Cunningham
平均块度可由Kuznetsov方程得到:
式中:
岩石爆破块度分布服从于Rosin-Rammler分布, 即
式中R为筛上物料的重量百分比, X为筛孔尺寸, Xc为岩块的特征尺寸, n为均匀度指标。Rosin-Rammler曲线被公认为能够给出被爆岩石破碎情况的适合的描述。
均匀性指标n的计算公式如下:
式中d为炮孔直径 (mm) , δ为钻孔孔位标准差, 一般取0.3~1.0 m, m为炮孔密集系数, l为装药长度 (m) , 其他参数同上。n决定了Rosin-Rammler分布曲线的形状, 通常由0.8变化到2.2, 高值表示块度均匀, 低值则归因于粉矿和大块占有较大比率。
岩块的特征尺寸Xc由平均块度的定义, 即筛下质量累积率为50%时的块度尺寸得到:
《3.2矿山爆破参数优化数学模型》
3.2矿山爆破参数优化数学模型
矿山爆破参数优化通常是以采矿总成本为目标函数, 通过调整某范围内的各爆破参数, 以达到目标函数值最小的目的。目前, 各类矿山爆破参数优化实用模型都是在加拿大钟汉荣爆破参数优化数学模型的基础上发展起来的, 取采矿总成本的目标函数表达式为
式中C为采矿总成本, C1为穿孔成本, C2为爆破成本, C3为铲装成本, C4为破碎成本, C5为运输成本。各工序的成本函数通常是以炮孔间距、抵抗线、炸药单耗、平均块度、大块率等为因变量, 根据矿山实际情况通过回归分析建立起来的。
1) 穿孔成本 C1=KdrL/HSγ (12)
2) 爆破成本 C2=K1q+K2L/HSγ+K3YD (13)
3) 铲装成本 C3=a1YD+b1 (14)
4) 破碎成本
5) 运输成本
式中Kdr为每米穿孔费用, L为钻孔深度 (m) , S为炸药负担面积, S=aW (m2) , K1为炸药单价, K2为每米爆破器材消耗费用, K3为大块处理费用, YD为大块率, a1, b1, a2, b2, a3, b3, c均为回归分析得出的经验系数, K为从采场到破碎站的每吨矿运输费用, 其他参数同上。
综合以上各式, 可得出采矿总成本的目标函数表达式:
此外, 根据各矿山设备情况及不同要求, 可得出相应的各因变量的约束条件, 即得到矿山爆破参数优化数学模型。
《4 算例分析》
4 算例分析
依据前述的遗传算法原理, 笔者编制了相应的遗传算法程序。经过对Bracken & McCormick
宜阳露天石灰石矿的开采采用台阶爆破方法、潜孔钻钻孔, 台阶高度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模型与钟汉荣爆破优化数学模型, 经过统计分析, 得到宜阳露天矿爆破优化数学模型为
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组的优化结果与文献
《5 结论》
5 结论
以矿山爆破参数优化数学模型为例, 引入遗传算法对爆破参数优化这种非线性规划问题进行了优化。优化结果表明, 使用遗传算法对工程爆破中的爆破参数进行优化是可行的、高效的, 而且能找出多组最优组合, 为选取合理的爆破参数提供参考。遗传算法作为一种全局式搜索算法, 能够克服传统优化算法可能仅得到局部最优解的缺点, 在优化问题中具有更高的准确性。
Table 1 Results of optimized blasting parameters for Yiyang open pit
《表1》
组次 | 孔距/m | 抵抗线/m | 密集系数 | 炸药单耗/kg·t-1 | 平均块度/cm | 大块率/% | 总成本/元·t-1 |
1 | 4.99 | 4.26 | 1.17 | 0.246 | 34.77 | 21.34 | 7.423 |
2 | 5.45 | 4.33 | 1.26 | 0.250 | 35.00 | 20.64 | 7.374 |
3 | 5.41 | 4.23 | 1.28 | 0.231 | 36.60 | 22.62 | 7.452 |
4 | 5.77 | 4.46 | 1.29 | 0.247 | 35.79 | 21.46 | 7.394 |
5 | 5.29 | 4.10 | 1.29 | 0.248 | 34.72 | 19.77 | 7.346 |
6 | 5.37 | 4.14 | 1.30 | 0.248 | 34.81 | 19.86 | 7.346 |
7 | 5.65 | 4.25 | 1.33 | 0.248 | 35.29 | 20.21 | 7.348 |
8 | 5.64 | 4.07 | 1.39 | 0.246 | 35.20 | 19.32 | 7.312 |
9 | 5.87 | 4.01 | 1.46 | 0.250 | 34.99 | 18.10 | 7.254 |
10 | 5.95 | 4.05 | 1.47 | 0.249 | 35.24 | 18.45 | 7.264 |
11 | 6.27 | 4.14 | 1.51 | 0.248 | 35.76 | 18.77 | 7.267 |
12 | 6.41 | 4.20 | 1.53 | 0.243 | 36.40 | 19.58 | 7.295 |
13 | 6.71 | 4.00 | 1.68 | 0.244 | 36.31 | 17.79 | 7.211 |
14 | 6.83 | 4.02 | 1.70 | 0.248 | 36.10 | 17.23 | 7.185 |
15 | 7.00 | 4.00 | 1.75 | 0.250 | 36.01 | 16.55 | 7.153 |
注:表1中第15组最优解是数学最优解;由于其他各组最优解对应的最低成本与其相差最大不到5 %, 因此在工程上都可视为可行最优解