(中冶华天南京工程技术有限公司 江苏南京 210019)
【摘要】冶金建设项目工艺流程复杂,建设周期长,复杂程度高,投资巨大,在项目前期和投标阶段,拟建项目一般采用类似工程指标法估算工程造价。为了在设计深度不够的情况下,能较为准确地测算冶金项目的造价,本文搜集大量类似冶金工程历史数据,利用DNN神经网络模型,预测冶金项目某连铸单元的工程造价,验证了神经网络模型在冶金建设项目估算中的实用性,为造价工程估算的实际工作提供了理论依据。
【关键词】工程造价;神经网络;DNN
0 前言
冶金工业建设项目内容非常繁杂,按照类别主要可分为矿山工程、烧结工程、焦化工程、炼铁工程、炼钢工程、连铸连轧工程、冷轧热轧工程等,冶金企业规模庞大,生产工艺流程长,生产工序繁多,工艺流程复杂,建设周期长,投资额巨大。在项目前期和投标阶段,在没有施工图的情况下,估算的工程造价和投标报价具有很大的不确定性。为了能够较为准确地测算冶金建设项目工程造价,本文借助大量类似工程历史数据,运用神经网络估算模型,研究预测了冶金建设项目的工程造价。
1 神经网络概述
早期时,人工神经网络只能解决简单的线性可分问题,直到1986年,D.E.Rumelhart提出了BP算法,即多层前馈网络的反向传播算法,这是解决多层神经网络权值修正的算法,也能够处理非线性数据拟合的问题,在各个领域中被广泛推广和应用。
1.1 神经网络的特点
人工神经网络(Artificial Neural Network,ANN),是由大量简单的处理单元相互连接而成的非线性动态系统,是一种在生物神经网络的启示下建立的数据处理模型,是一种人工智能的研究方法。其主要特点包括:
(1)非线性:神经网络模型具有多层网络结构,可以将知识存储于连接权值中,实现各种非线性的映射,使得该网络在处理多维复杂数据时有着无可比拟的优势。
(2)良好的容错性和并行性:神经网络模型层与层间的传递函数需要是连续可微的,局部损害虽会适度减弱网络的运行,但是不会产生毁灭性错误,容错性较好,对非线性数据的拟合有更高的可靠性,比线性函数准确度更高;并且可以同时进行大量相似数据的运算,克服了传统计算机串行处理的缺陷,因此运算速度得到了很大地提升。
(3)自适应性:人工神经网络能够在环境发生变化时直接接收数据进行学习,自适应的发现数据中内在的特征和规律。同样,网络依据新的样本能够自动调整参数和映射关系,从而对特定的输入产生相应的期望输出[1],因此在大规模、多变量和复杂的系统控制中更适用。
1.2 神经网络的分类
人工神经网络根据ANN模型的拓扑结构可分为前馈神经网络和反馈神经网络。多层感知器、径向基函数网络属于多层前向网络,它采用递阶分层结构,输入数据从输入层经过隐含层最终流向输出层,不存在同层神经元之间的连接。Hopfiled 网络和 Elman 网络属于反馈网络,又叫做递归网络,神经元之间相互连接,信号能够从正向和反向流通,直至达到稳定状态。
神经网络根据ANN的学习方式可分为有导师学习和无导师学习。BP网络、径向基网络和Hopfield网络属于有导师学习,在这种学习方式下,需要先训练已知目标输出样本,神经网络应在训练后再去解决实际问题,训练过程中比较实际值和期望值的误差,再根据误差的大小和方向对网络权值进行更新,当期望输出和实际输出之间的误差满足要求时,训练结束。无导师学习网络,训练数据只接受输入样本,而对输出值一无所知,全由网络自身的功能自主进行,因此无法用来逼近函数。
神经网络根据ANN模型的性能分为连续型与离散型、确定型与随机型。
神经网络根据ANN模型连接突触的性质分为一阶线性关联型和高阶非线性关联型。
2神经网络模型
2.1 神经网络的组成
神经元是人脑神经系统的最小单元(或称神经节点),神经网络的最小结构单元是感知机。感知机接受(χ1,χ2,χ3......)多个输入信号,通过可变权值ωi,阈值b,利用线性映射可得出一个中间输出值:
将线性映射得出的中间值加权求和,然后输入到一个非线性的传递函数中,这就将中间结果的简单线性映射关系转化为更复杂的非线性性映射。Tanh函数,Sigmoid函数和ReLU函数是最常用的传递函数。Sigmoid 函数是可微的,具有很好的容错性,比线性函数精确度更高。Relu函数能够解决梯度在DNN模型中反向传递时经常发生的梯度爆炸问题和梯度消失问题,收敛度要优于Sigmoid函数和Tanh函数,本文以Relu传递函数为例,来解释神经网络的非线性特性。
2.2 BP算法
BP算法是一种结合梯度搜索技术,最终使实际输出值和期望值之间的误差最小化的学习算法,应用比较广泛。下面以三层BP网络为例来说明神经网络的BP学习算法。
假设输入层神经元有M个节点,隐含层神经元有N个节点,输出层神经元有N个节点,每个节点代表一个传递函数。
假设输入向量为:X=(x1,x2……xm)T
隐含层输出向量为:U=(u1,u2……un)T
输出层输出向量为:Y=(y1,y2……yk)T
期望输出向量为:D=(d1,d2……dk)T
输入层与隐含层神经元之间的连接权值为ω
隐含层与输出层之间的连接权值为υ
网络输入层第i个神经元到隐含层的表达式为
ui=f(neti) (i=1,2,3......n)
网络隐含层第h个神经元到输出层的表达式为yh=f(neth) (h=1,2,3......k)
隐含层可与输出层选用不同的传递函数。
神经网络信号先从输入层到隐含层,再从隐含层到输出层,经过两次激活函数的计算得到输出层输出向量,这就是输入向量的正向传播。输出向量与期望向量之间存在一定的误差,若误差小于等于设置的阈值,则认为模型已达到最佳,否则模型会转入误差信号的反向传播。
BP网络输出向量与期望输出向量的差值为误差信号,误差反向传播就是将误差信号通过输出端逐层反传至输入层。在误差信号反向传播计算过程中,总误差将分摊至各层的各个输入向量,BP网络的权值和阈值经过误差反馈不断进行调整和优化,直至BP网络输出层的输出向量接近与期望输出向量,误差减小至不大于设置的阈值,网络此时计算得到的权重为最优,认为模型达到最佳状态。
BP网络输出误差E表示为:
(1)
把(1)式展开到隐含层得:
(2)
把(2)式再展开到输入层得:
(3)
由(3)式可得,BP神经网络的误差E是权值ω和ν的函数,通过调整ω和ν的数值就能改变BP网络误差E的大小。我们通过对误差函数求导来调整权重,使输出误差最小。
对输出层的函数求导及一系列的数学推倒可得:
(4)
对隐含层函数求导及一系列的数学推倒可得:
(5)
式中η为学习率,经过两阶段的权值调整,就完成了三层BP神经网络的一轮权值调整。
2.3 DNN神经网络
DNN深度神经网络(Deep Neural Networks)深度学习在图像、文本及语音识别等领域取得巨大进展。深度神经网络具有更复杂的结构,虽然三层神经网络能够完成 n 到m 维的任意映射,但在神经元数量巨大,映射关系非常复杂的情况下,DNN更具有优势,它只需要少量的神经元,就能够模拟出比三层神经网络更为复杂的模型。DNN每个隐含层之间是全链接的,隐含层层数越多,非线性关系越好,模型结构也越复杂,对样本的学习就会更精确。在网络模型中,随着层数的增多,神经元数量减少,模型性能升高,因此在实际应用中可以增加神经网络的层数,用较少的参数去完成更复杂的函数。但是,DNN网络在学习过程中,随着隐含层的层数增加,模型复杂程度也增加。比如,在训练过程中梯度会随着层数的增加而突然消失,还经常会出现梯度爆炸现象等等,所以最优网络结构的设置和选取是成功的关键,也一个经常遇到的难题。
本文应用DNN深度神经网络模型进行工程造价中消耗量的估算。
3 神经网络在冶金工业建设项目中应用
3.1 项目概况
河北某2×140t转炉及连铸工程,项目总投资18.9亿元,计划年产钢水546.4×104t,年产合格连铸坯530×104t,整个建设项目主要包含2座公称容量140t顶底复吹转炉、2座炉后吹氩站、2座KR脱硫、2台140t LF钢水罐精炼炉、1台140t RH炉、3台连铸机、主控楼及车间变电所、供料设施、工艺及环境除尘,及相应配套的土建、水、电、风、热力、燃气、区域内管网及总图设施等。本文主要分析其中一部分连铸生产单元的建筑结构工程和电气工程。连铸生产单元建筑面积18000m2,檐高23m,单层钢排架结构,墙面及屋面为彩色图层压型钢板,厂房基础采用钢筋混凝土承台基础。根据就近供电的原则,在负荷中心处设立高压配电室,因转炉系统负荷大部分属于一、二类负荷,故高压配电室均按二路独立的电源;依据低压配电深入负荷中心原则,按负荷情况在厂区内分散设变电所和配电设施;本部分连铸生产单元的总装机容量为23500kW。经水量平衡后,全厂总用水量为4120m3/h ,转炉炼钢工程全厂生产水总补充水量为523m3/h,主要用于转炉连铸主厂房车间洒水、循环水系统补充水等,水泵供水压力为1.2MPa。
对项目建安造价控制的研究归根结底是对项目工程建设各单位工程实物消耗量的估算研究,主要单位工程包括建筑工程、结构工程、总图工程、工艺工程、电气工程、给排水工程、燃气工程、热力工程等。结构工程主要是测算混凝土、钢筋和钢结构的工程量,由基础、构筑物、通廊、操作平台、电缆沟等的实际消耗量计算得出。给排水工程、燃气工程和热力工程主要是测算各类管道、阀门及材料工程量,根据其规格型号、材质计算得出。电气工程主要是对各种线缆、电气材料工程量的预测,由其规格型号、材质等计算得出。本文仅以结构工程和电气工程为例,详见表3.1。
表3.1 主要工程量汇总表
名称 | 混凝土 | 钢筋 | 电力电缆 | 控制电缆 |
单位 | m3 | t | m | m |
实际值 | 125381 | 16259 | 26382 | 413680 |
3.2 网络模型的建立
本文搜集大量的历史数据,挑选20个类似冶金项目作为数据样本,其中19个作为训练样本数据,其中1个作为测试样本数据,来训练和测试神经网络模型,详见附表3-1。冶金建设项目影响造价的因素繁多,对整个项目的特征及数据进行量化也是一个非常复杂的过程。
本文采用含有两个隐含层的DNN深度神经网络模型进行冶金项目造价测算研究。在隐含层层数确定之后,各个隐含层的节点数直接影响模型的训练效果。若节点太多,模型会产生拟合现象,大大降低其泛化能力;若节点很少,模型将达不到学习效果,产生很大的误差,降低精度。所以,建模时要仔细分析模型的复杂程度,确定各个隐含层的节点数量,以达到网络模型训练的效果。试验证明,当含有两个隐含层时,前一层节点的数量应当大于第二层的节点数量,且最佳比例为3:1。经过试算,两个隐含层节点数分别为15和5时,神经网络性能最好,误差也最小。
影响冶金建设项目消耗量的因素有很多,各因素之间关系相当复杂,相互之间即有关联,又有影响。主要影响因素包括:工程类别、建设地点、地质情况、基础形式、抗震类别、抗震烈度、耐火等级、生产规模、结构形式、层数、使用年限、结构安全等级、建筑面积、建筑高度、最大跨度、柱距、现场条件、设备总装机容量、照度、总循环水量、电负荷和能介质最大用量等。
输入向量的维数决定输入层的神经元的个数,运用解释结构模型选定工程类别、建设地点、地质情况、基础形式、建筑面积、装机容量、生产规模、结构形式、层数、总循环水量、能介质最大用量、照度、建筑高度和最大跨度14个影响工程造价的主要因素作为输入向量。
DNN模型以拟建项目混凝土、钢筋和电缆的消耗量作为输出,见表3.2。
表3.2 输出向量
混凝土(m3) | 钢筋(t) | 电力线缆(m) | 控制线缆(m) |
本文使用Relu函数作为激活函数,Relu函数的定义为f(x)=max(0,x)。Relu函数收敛度远大Sigmoid函数和Tanh函数,节省计算量。缺点是过于生猛,一言不合就会使得数据变为0,从此结点后的相关信息全部丢失。
训练样本输入至神经网络模型前先进行标准化处理,使样本中的数据符合输出的要求。对定量指标使用线性公式(6)进行标准化处理。
(6)
对定性指标进行模糊化处理,将定性文字描述化为定量的数据,再使用公式3-1进行标准化处理。
本文采用Spyder软件进行编写,学习率η为0.001,将19个标准化处理的样本数据进行网络训练,经过5000次训练迭代计算后,系统误差收敛至2.95×10-3,曲线拟合效果基本吻合。然后对另外1个测试样本进行仿真,也就是对这个样本进行网络检测,再利用已训练好的神经网络模型模拟网络输出,检验神经网络实际输出和期望输出的误差是否满足要求。将这个测试样本标准化处理后的数据输入网络模型进行测试,输出数值见表3.3。
表3.3模型验证结论
输出变量 | 输出值 | 真实值 | 差值 | 相对误差 |
混凝土 | 112390 | 122363 | 9973 | 0.0815 |
钢筋 | 14363 | 15785 | 1422 | 0.0901 |
电缆 | 400358 | 436167 | 35809 | 0.0821 |
通过对样本的测试,检验样本的实际输出值对于期望值来说,误差率在±10%以内,说明神经网络模型基本上可以测算出拟建项目的消耗量。
用已经训练好的神经网络对待估项目消耗量进行估算,在Python中运行得到拟建项目消耗量的输出值与实际值对比见表3.4。
表3.4 拟建项目输出值与实际值对比表
输出变量 | 输出值 | 真实值 | 差值 | 相对误差 |
混凝土 | 112390 | 122363 | 9973 | 0.0815 |
钢筋 | 14363 | 15785 | 1422 | 0.0901 |
电缆 | 400358 | 436167 | 35809 | 0.0821 |
由此表可得,混凝土消耗量的预测误差为8.07%,钢筋消耗量的预测误差为8.54%,电缆消耗量的预测误差为8.71%,对应各消耗量的综合单价暂定为:混凝土1350元/m³,钢筋6300元/t,电缆80元/m,因此实际分部工程造价为30690.10万元,预测分部工程造价为28142.33万元,误差值为8.3%。对于冶金建设项目,在没有施工图的情况下,利用类似工程数据进行估算,把误差控制到±10%以内,基本满足要求,可用于可行性研究和初步设计中。如果神经网络模型应用于冶金项目投标报价及工程实践中,测算精度需进一步提高。
4结论分析
钢铁冶金建设项目比一般的民建项目复杂的多,加之项目前期设计图纸深度远远不足以按照常规项目进行工程估算,从而给费用测算带来较大的不确定性,因此本文研究采用DNN神经网络模型并结合历史造价数据,来提高项目工程费用估算的准确性,尽可能地降低项目风险。
准确估算冶金项目造价意义重大,本文有很大的局限性,以下几点还需进一步深入研究:
(1)本文神经网络的训练参数、隐含层节点个数只是通过经验,反复试验验证取得,并未通过理论研究得出的结果。
(2)神经网络模型需要大量的类似工程作为模型样本进行训练,这样神经网络会具有更强的适应性,本文仅从搜集到的样本中选择了20组数据,相对较少。今后要注重历史造价数据库的建立,为项目估算提供相似度高的优质历史数据。
(3)训练神经网络模型时,定性指标的模糊化处理应根据不同类型冶金工程测算返回的数据进行调整,只有不断按照项目实际情况进行改进,才能提高模型测算的精度。
(4)本文仅用于项目前期估算,对于复杂的冶金建设项目工程造价的测算还是远远不够的。
参考文献:
[1] 朱大奇. 人工神经网络研究现状及其展望[J]. 江南大学学报: 自然科学版,2004, 3(1): 103-109.
[2] Yan L, Qin Z. Learning Algorithm of Stage Control NBP Network[J]. Journal of Electronics (China), 2003, 20(6):467-471.
附表3-1 样本初始数据
序号 | 工程类别 | 建设地点 | 地质情况 | 基础形式 | 建筑面积 | 装机容量(kw) | 生产规模(万t/年) | 结构形式 | 层数 | 总循环 水量(m3/h) | 能介质最大用量m3/h | 照度 | 建筑高度 | 最大跨度 |
1 | 新建 | 安徽 | 三类土 | 满堂基础 | 18650 | 29300 | 64 | 钢筋砼框架结构 | 1 | 4650 | 4720 | 100 | 6.3 | 24 |
2 | 新建 | 河北 | 三类土 | 承台基础 | 12300 | 9500 | 20 | 钢排架结构 | 1 | 3000 | 1820 | 150 | 7.2 | 30 |
3 | 扩建 | 河北 | 三类土 | 承台基础 | 3520 | 2460 | 20 | 钢排架结构 | 1 | 2100 | 2820 | 100 | 7 | 30 |
4 | 新建 | 江苏 | 三类土 | 承台基础 | 5800 | 7350 | 27 | 钢排架结构 | 1 | 5510 | 6320 | 100 | 15.5 | 18 |
5 | 新建 | 安徽 | 三类土 | 承台基础 | 3820 | 2630 | 20 | 钢排架结构 | 1 | 1520 | 2000 | 150 | 14.2 | 18 |
6 | 新建 | 河北 | 三类土 | 满堂基础 | 17860 | 25000 | 65 | 钢排架结构 | 1 | 4230 | 3810 | 100 | 6.3 | 33 |
7 | 扩建 | 安徽 | 三类土 | 满堂基础 | 48680 | 65320 | 30 | 钢排架结构 | 1 | 2890 | 2230 | 100 | 15 | 33 |
8 | 新建 | 江苏 | 三类土 | 承台基础 | 2560 | 15320 | 50 | 钢筋砼框架结构 | 3 | 3960 | 1830 | 100 | 18 | 27 |
9 | 新建 | 陕西 | 三类土 | 承台基础 | 5500 | 12350 | 50 | 钢排架结构 | 1 | 1620 | 1210 | 100 | 22 | 24 |
10 | 新建 | 江苏 | 三类土 | 满堂基础 | 2480 | 8100 | 80 | 钢排架结构 | 2 | 4100 | 2050 | 100 | 12 | 18 |
11 | 新建 | 云南 | 三类土 | 满堂基础 | 1980 | 6810 | 70 | 钢排架结构 | 2 | 2450 | 1820 | 100 | 12 | 12 |
12 | 扩建 | 安徽 | 三类土 | 满堂基础 | 4800 | 35500 | 100 | 钢筋砼框架结构 | 2 | 4180 | 2890 | 100 | 10.8 | 24 |
13 | 扩建 | 河北 | 三类土 | 满堂基础 | 3520 | 24860 | 80 | 钢筋砼框架结构 | 2 | 3310 | 2450 | 100 | 10.3 | 18 |
14 | 新建 | 山西 | 三类土 | 承台基础 | 4650 | 1810 | 84 | 钢排架结构 | 1 | 1280 | 1310 | 100 | 14 | 24 |
15 | 扩建 | 宁夏 | 三类土 | 承台基础 | 2100 | 780 | 10 | 钢排架结构 | 3 | 650 | 320 | 150 | 21 | 15 |
16 | 改造 | 安徽 | 三类土 | 承台基础 | 1000 | 500 | 10 | 钢排架结构 | 1 | 1350 | 1460 | 100 | 6.5 | 15 |
17 | 新建 | 江苏 | 三类土 | 满堂基础 | 2230 | 4800 | 27 | 钢排架结构 | 1 | 2450 | 2850 | 100 | 12 | 18 |
18 | 新建 | 河北 | 三类土 | 承台基础 | 5312 | 12300 | 50 | 钢排架结构 | 1 | 1650 | 1230 | 100 | 22 | 24 |
19 | 新建 | 山西 | 三类土 | 承台基础 | 4620 | 18320 | 30 | 钢筋砼框架结构 | 5 | 1830 | 2310 | 100 | 24 | 15 |
20 | 新建 | 安徽 | 三类土 | 满堂基础 | 3920 | 11560 | 30 | 钢筋砼框架结构 | 1 | 1790 | 2213 | 100 | 24 | 15 |