苏 翔, 徐瑞林, 杨玉雪, 史恭波
(1.江苏科技大学 经济管理学院,江苏 镇江 212100;2.镇江市金舟软件有限责任公司,江苏 镇江 212003)
工时定额是企业合理制定生产计划、核算制造成本和评估产能的重要依据。随着船舶行业向精细化制造转型,工时定额的科学制定和精细化分配直接影响船舶企业对生产进度的管控程度,而准确的工时预测结果可指导船舶企业充分利用现有资源提升生产效率[1]。在现代造船模式中,船舶建造以中间产品为导向,采用成组技术原理,按照分段划分为小、中、大组立等3个阶段,按照部件装配、分段装配和船台装配的流程完成船体装配,其中,小组立部件作为船舶制造过程中的最小组合单元,其作业时长的测定影响后续船舶建造生产计划的调整与制定[2]。目前,船舶企业定额工时的制定主要依靠制定人员的经验完成,问题在于:①制定人员查找相关参考文件需要耗费大量时间,工作量大;②参考文件更新不及时,定额工时与实动工时数据存在较大出入。船舶企业在向信息化和智能化转型的进程中,应充分利用底层传感设备和物联网技术等信息化手段带来的海量工业数据,通过智能算法挖掘隐含的工时测算规律,获得更为准确的定额工时数据,指导船舶企业合理安排生产计划,提升成本核算的精细化水平。
现有文献对工时定额预测的研究可分为两种思路:①根据加工工艺或零件结构的相似性,基于模块化和成组技术的思想,通过事例推理方法完成工时预测[3-5];②从影响工时测算的因素入手分析,结合机器学习算法建立模型实现工时的智能预测。在预测算法的选择上,现阶段研究更多采用反向传播神经网络(Back Propagation Neural Network,BPNN)算法建立预测模型。习立洋等[6]基于粒子群优化(Particle Swarm Optimization,PSO)-BPNN技术建立船体分段中间产品工艺参数与分段任务包工时定额测算的数学模型。LI等[7]分三步实现船舶分段制造工时的预测,依次为分段特征聚类、评估计划安排和遗传算法(Genetic Algorithm,GA)-BPNN模型预测。杨颖等[8]运用灰色关联度分析影响船舶分段焊接工时的相关因素,并构建多元非线性回归模型实现焊接定额工时的预测。赵文浩等[9]、刘子文等[10]分别通过知识挖掘和文本挖掘技术提取装配工艺特征,并结合神经网络模型实现复杂产品的定额工时预测。瞿世鹏等[11]采用工作研究的方法对船舶各分段装配工时进行计算,充分考虑各分段装配特征,工时测算具有较高的精准度,但计算流程设置比较复杂,不易于实现。针对工时预测产生的误差,王慧聪等[12]运用层次分析法从人员、设备、环境和工时计算模型角度出发,提出通过计算误差修正因数改良工时计算方法。邵家伟等[13]提出利用熵权法计算环境因数,通过修正的工时数据进行装配特征拟合。
针对现有文献对工时预测的分析,在如下3个方面值得进一步研究:
(1)影响因素的选取。学者大多仅关注产品的工艺特征,通过建立装配工艺特征与工时预测的关联模型,实现装配工时的预测,但忽略在实际作业时外界不确定性因素的影响[14],造成定额工时预测结果不够精确。
(2)预测算法的选择。在信息化技术的快速发展下,企业可采集和利用的数据大幅增长,在进行工时预测时面临多类特征信息,单一预测模型的预测精度会下降,应考虑多算法组合的集成预测模型提升预测精度。
(3)工时预测误差的修正。针对环境和人员等外界因素产生的预测误差,现有文献多通过专家评价打分确定修正因数,具有一定的主观性,不能客观反映外界因素对工时预测的影响。
为解决上述问题,使定额工时制定更加科学合理,综合考虑设计因素与外界因素对工时测算的影响,提出大数据环境下考虑误差修正的船舶中间产品装配工时预测模型。该模型具体可分为两个阶段:第一阶段,根据船舶中间产品的设计数据,从设计文件中抽取组零件特性、焊接工艺和装配长度等参数,建立BPNN模型,对船舶中间产品装配工时进行初步预测;第二阶段,结合实际作业过程的外界不确定性因素,将温度和作业人员工龄等作为输入因素,将误差修正序列作为输出因素,采用极端梯度提升(Extreme Gradient Boosting,XGBoost)算法预测外界因素造成的预测误差,将第一阶段与第二阶段的预测结果相加实现工时修正,得到最终工时定额预测值,实现工时的精准化测算。将该模型用于某船舶小组立装配过程的工时预测,证明该模型的有效性。
在船舶中间产品装配过程中,作业工时受多种因素的共同影响:一方面,因船舶本身的结构特征,工时长短与组装构件的工艺特征密切相关,例如构件的零件特性、装配长度、焊接长度和焊接姿态等作业信息;另一方面,中间产品装配过程需要进行大量的焊接作业,作业时长受环境和作业人员熟练度等外界因素的影响,例如作业人员年龄与学历、作业场地天气与温度等。设计因素和外界因素对船舶中间产品装配工时的影响[15]如表1所示,其中,FCAW(Flux-Cored Arc Welding)为药芯焊丝电弧焊。
表1 船舶中间产品装配工时影响因素分析
为提高工时预测的精度,更科学地指导生产计划,基于大数据环境提出考虑误差修正的两阶段船舶中间产品装配工时预测模型。第一阶段,提取在船舶中间产品装配过程中影响工时的设计参数,根据设计参数实现对船舶中间产品装配作业工时的初步预测。由于该阶段特征数据相对较少,因此选取在工时测算领域应用成熟的BPNN算法实现,初步预测结果可用于船舶企业制定船舶建造的大日程计划和中日程计划。第二阶段,为得到更为准确的工时信息以支撑小日程计划的制定,考虑工时预测受实际作业过程中的外界因素影响,应加入温度和作业人员工龄等外界因素,选取在多特征信息下预测精度更高的XGBoost算法建立误差修正模型,对第一阶段的工时预测结果进行误差修正。两阶段船舶中间产品装配作业工时预测模型如图1所示。
图1 两阶段船舶中间产品装配作业工时预测模型
BPNN是一种启发式算法,通过误差的反向传播训练预测模型,具有非线性映射能力强和柔性好的特点,在工时预测方面表现较好的性能,许多学者在工时预测研究中均倾向选取BPNN[16]。
在进行神经网络训练前应对原始数据进行预处理,对于零件类型、焊接类型和焊接姿态类等离散型数据,需要进行编码处理,同时对原始数据按式(1)进行无量纲化处理,以提高模型的收敛速度。确定网络层数和隐层神经元数,神经元数可根据式(2)进行预估,并在预估区间内依次代入隐层神经元数进行模型训练,以综合误差最小为目标确定最佳的隐层神经元节点数。选定合适的激活函数,建立内部神经元之间的链接,完成神经网络模型训练,实现船舶中间产品装配作业工时的初步预测。
(1)
(2)
式中:s为隐层神经元数;p为输入层神经元数;q为输出层神经元数;a为1~10的调节常数。
XGBoost算法遵循梯度提升决策树的原理,具有运行速度快和预测精度高等优点,并对特征数据类型和样本量包容性强,近些年在多个领域的研究中表现较好的性能[17]。对于工时修正误差序列的预测而言,在预测过程中涉及数据特征种类较多、整体样本量较少,XGBoost算法比其他机器学习算法更适用于该类问题的预测。
XGBoost算法的核心步骤可分为如下4个步骤:①构建目标函数[见式(3)],包括损失函数和正则化项函数[见式(4)]两部分,通过加入正则化项函数控制模型复杂度,防止模型训练过拟合;②通过泰勒级数的方法展开目标函数,并提取分离目标函数中的常量,简化计算;③对树的结构进行参数化,并代入目标方程;④采用贪心算法或近似算法查找结构最优的一棵树。
(3)
(4)
式中:T为叶子节点数;γ为惩罚函数系数,用于控制叶子节点数;ωj为叶子节点权重;λ为正则化项惩罚系数,用于防止叶子节点权重过高。
在完成模型训练后,输入工艺特征、环境和人员等各种因素信息,即可输出对应作业的工时误差修正序列,通过式(5)实现工时测算修正,得到最终工时预测值。
T3=T1+T2
(5)
式中:T3为修正误差的最终预测工时;T1为设计阶段的预测工时,即第一阶段BPNN预测结果;T2为考虑环境和人员等不确定因素造成的工时预测误差序列,即第二阶段XGBoost模型预测结果。
以某船舶制造企业海洋工程装备的小组立装配过程为例,结合小组立装配工艺要求和工时测算过程,从该企业的设计软件中抽取小组立装配过程的相关工艺参数,即零件类型、零件厚度、装配长度、焊接类型、焊接方法、焊接姿态和焊接长度信息;为获取小组立装配过程中的人员和环境因素数据,需要将该企业人力资源部的作业人员信息与一线生产管理部门的对应人员建立联系,在生产管理部门的数据库中根据作业人员的工号或姓名补全对应人员在人力资源部的年龄和学历信息,并根据施工日期补全天气和温度信息,共获取530组数据。
为消除不同类型因素之间存在的量纲影响,需要对零件类型、焊接类型、焊接方法和焊接姿态等离散型数据进行编码处理,并按式(1)将数据进行归一化处理。根据实动工时将原始数据按7∶3划分为训练集和测试集。实动工时数据特征如表2所示。
表2 实动工时数据集划分和特征
在进行BPNN训练时,应确定网络的结构参数,选取零件类型、零件厚度、装配长度、焊接类型、焊接方法、焊接姿态和焊接长度等11种小组立特征信息作为模型的输入层,装配作业的实动工时为模型的输出层。隐层神经元数参照式(2)为[3,13],在该区间内依次进行模型训练,以训练集的均方误差最小为目标确定隐层节点数,训练得到最优的隐层节点数为10。BPNN结构如图2所示。设定模型的激活函数为tansig和purelin,训练算法为trainlm;设置模型的最大训练次数为1 000,学习速率为0.01,训练目标最小误差为10-5,以保证神经网络模型的泛化性和误差精度。
图2 BPNN结构
在完成BPNN训练后,得到组立装配作业工时的初步预测模型,将装配的相关物料数量数据输入训练模型,并将预测结果反归一化,即可测算组立装配作业工时。BPNN预测值与实际值对比如图3所示。由图3可知:工时预测误差随实动工时数据增大而增大。
图3 BPNN预测值与实际值对比
部分样本BPNN预测值与实际值对比如表3所示。由表3可知:两工时的平均相对误差为21.36%。造成误差的原因如下:①不同组立的零件在装配过程中影响其作业工时的因素不完全一致;②装配作业的实动工时随外界条件的变化而变化,外界的不确定性因素会在很大程度上影响工时的消耗,如作业人员熟练度、作业环境和设备能力等条件在每次作业时均不相同,尤其对于耗时长的作业,环境和作业人员等因素的影响更为明显。
表3 部分样本BPNN预测值与实际值对比
结合上述分析,BPNN模型虽可实现装配工时的快速预测,但其预测结果不够精确,且不能及时响应外界条件的变化,该模型更适用于船舶设计初期,对小组立装配工时进行初步预测,用于船舶建造大中日程生产计划的制定。
针对第一阶段装配工时预测模型产生的误差和不够灵活的缺点,在第二阶段综合考虑作业人员和作业环境对小组立装配工时的影响,利用XGBoost算法对各样本的工时测算误差进行预测。在该阶段,将各样本的工艺信息、作业人员年龄与学历信息、作业场地温度与天气信息作为模型的输入,通过对历史某一阶段预测误差序列的训练,实现误差序列的预测。在模型训练过程中,通过网络搜索和交叉验证的方法确定模型的最优参数。XGBoost模型训练参数如表4所示。在确定XGBoost模型的最优参数后,得到小组立装配工时误差序列预测模型。部分样本预测误差序列如表5所示。
表4 XGBoost模型训练参数
表5 部分样本预测误差序列
在完成第一阶段与第二阶段的模型预测后,根据式(5),将T1与T2对应求和,实现作业过程外界不确定因素对作业工时的修正,得到T3,与实动工时T进行比较。各阶段工时数据对比如图4所示。模型测算结果分析如表6所示。
图4 各阶段工时数据对比
表6 模型测算结果分析
在修正作业环境和作业人员等外界因素后,工时预测精度得到大幅提升,工时预测平均相对误差降低至3.01%。尤其对于耗时较长的作业,如样本5和样本13,第一阶段BPNN模型预测结果存在较大误差,但通过第二阶段XGBoost模型的修正,预测工时与实动工时数据误差大幅缩小,证明该模型预测性能良好,可为生产计划制定提供科学的数据支撑。该模型具有良好的可扩展性,对于不同船型分解其工艺并提取相关参数可达到同样的预测效果。
针对大数据环境下的船舶中间产品装配工时预测模型展开研究,根据船舶设计软件中的工艺参数采用BPNN实现中间产品装配工时的初步预测,在此基础上加入作业环境和作业人员等外界因素,采用XGBoost方法对外界因素造成的工时误差进行预测,实现工时测算误差修正,提升工时预测的精确度。在大数据环境下,该模型考虑外界条件对工时预测的影响,并针对外界条件变化引起的预测误差采用XGBoost算法进行修正,有效解决外界因素对工时预测精度的影响问题,通过误差修正实现工时测算的迭代优化,可帮助企业完善工时管理流程,为企业生产计划制定提供科学的工时数据支撑。但在外界影响因素的选取中仅考虑人员和环境因素,设备和物流因素对工时测算的影响有待完善。可进一步对预测误差中隐含的信息展开研究,分析外界条件变化对工时定额的影响机制,指导企业科学生产,提高生产效率。