陈继文,李文超,于永鹏,杨红娟,姬 帅
(1.山东建筑大学机电工程学院,山东 济南 250101)
(2.山东建筑大学信息与电气工程学院,山东 济南 250101)
(3.山东大学机械工程学院,山东 济南 250061)
混凝土预制(precast concrete,PC)构件是装配式建筑的基础部件,其高效率、高标准的工业化智能生产方式将有效推动“中国建造”的优化升级[1]。目前,智能化PC构件生产线比重较小,缺乏上游装配式建筑设计模型与PC构件排样的协同,生产效率较低,用工数量较多,成为制约装配式建筑发展的瓶颈,亟待研究改进。PC构件生产线工序位置固定,主要通过移动模台来实现生产,充分利用模台空间进行合理构件排样,是提高PC构件生产线生产效率的关键因素之一[2]。人工排样很大程度上依赖专业技术人员的经验,工作效率不高。自动排样涉及工件的定位与定序,是一个典型的NP-hard问题,其复杂度会随着构件数量的增加“爆炸”式地呈指数级增长[3-4]。将智能搜索算法如粒子群算法、蚁群算法、遗传算法、模拟退火算法等与经典启发式定位算法如剩余矩形算法、最低水平线算法相结合成为解决该类问题的突破口[5-6],在制造领域中进行钢板下料、原材料切割等方面取得了较好的效果[7]。针对PC构件排样与上游装配式建筑设计模型的协同效用问题,本文提出一种基于建筑信息模型(building information modeling,BIM)的PC构件排样优化设计方法。以装配式BIM作为获取排样数据信息的来源,充分考虑模台空间、构件摆放角度与构件尺寸等约束条件,以模台利用率最大化为目标,对PC构件排样进行优化。通过蚁群算法进行PC构件排序,利用动态剩余矩形算法进行定位,应用遗传变异策略与路径选择机制提高算法全局搜索能力,实现上游装配式建筑设计模型与PC构件排样的协同效用,提高排样效率。
装配式BIM是参数化、数字化信息高度集成模型,其信息可帮助PC构件生产者制定计划,进行决策,改善生产流程[8]。为实现上游装配式建筑设计模型与PC构件排样的协同,分析装配式BIM中PC构件的组成元素,将深化设计后的PC构件信息按照嵌套层级进行细化,分为父族信息与子族信息,父族信息包含构件整体信息、零件位置信息以及关联参数等,子族信息为混凝土、预埋件与配筋信息,其中构件排样所需要的信息包括混凝土等级、构件轮廓信息,混凝土等级用于判断不同类型的PC构件能否同一批生产,构件轮廓信息用于构件排样[9]。通过Revit二次开发获取PC构件排样信息,并采用Excel表作为PC构件排样优化的中间传输文件,方便排样算法调用。PC构件信息提取流程如图1所示。
图1 PC构件信息提取流程图
以Visual Studio 2022作为编程平台,采用C#语言对Revit进行二次开发。利用Revit API实现装配式建筑模型数据的访问,在主程序的入口注册外部事件,设定对应控件进行PC构件数据提取,通过传入Document类对象和FilteredElementCollector类作为参数,加入特定筛选条件完成模型数据的过滤,得到所需构件集合[10]。采用LookupParameter()函数获取过滤后构件的实例参数信息,get_parameters()获取内置参数,以数组承载构件信息集合,方便数据提取,引用Epplus库实现Revit 与 Office 的连接,将过滤后数据导入到 Excel 表中。
PC构件通常采用半自动化流水线方式生产,其中模台是完成PC构件生产的转运载体,负责PC构件在不同工序之间的流转。然而,由于PC构件种类繁多,生产时PC构件模具在模台上存在多种组合形式,不恰当的排样方案可能会导致模台空间浪费,限制企业的产能,延长订单的生产时间,因此在生产过程中需要采用合理的算法,最大程度地利用模台空间,以缩短生产周期,提高企业生产效率。
PC构件模具在模台上的排放问题是典型的二维矩形排样问题,即将一组数量为m的待生产PC构件摆放在固定规格的模台上,应使排样所需的总模台数量最少,模台利用率最高。为方便排样优化,将生产模台拟作二维坐标的矩形面,取模台宽度W方向为矩形面的y轴,长度L方向为矩形面的x轴,如图2所示。
图2 模具在模台上置放图
每个PC构件都有其对应的编号M1,M2,…,Mm,任意一个PC构件i(i=1,2,…,m)在模台上的位置可描述为:
(xi,yi;xi+li,yi+wi;θi)
(1)
(2)
式中:(xi,yi)为PC构件Mi左下角的坐标;(xi+li,yi+wi)为PC构件右上角的坐标,li、wi分别为PC构件的长和宽;θi为旋转角度。为充分利用模台面积,放置PC构件时应正交放置,不可倾斜。
在充分考虑出筋长度和操作空间后,为方便排样优化,将PC构件简化为矩形件,规定其在模台上的尺寸为:
(3)
li=lpi+lgi+0.5δci
(4)
wi=wpi+wgi+0.5δci
(5)
式中:si为PC构件面积,lpi、wpi为模具的规格尺寸,lgi、wgi为外伸钢筋尺寸,δci为预留操作空间长度,m′为某模台上的构件总数。
优化目标为模台利用率最大,其目标函数为:
(6)
(7)
式中:Ni为布局时占用的模台数量,Hz为最后一个模台的高度。
针对大规模PC构件排样问题,启发式算法很难从全局角度进行优化,因此本文将启发式算法与智能搜索算法相结合,采用改进蚁群算法定序,利用动态剩余矩形算法定位求解PC构件排样问题。在迭代过程中,首先基于改进蚁群算法搜索出本代所有PC构件的排序序列,然后通过动态剩余矩形算法对PC构件序列进行解码,确定PC构件在模台上的具体位置。通过目标函数筛选最优序列,将本次最优序列保存,并更新蚁群信息素,再次循环迭代,直到达到设置的迭代次数时结束算法,输出最优排样序列以及构件排样图。排样优化算法流程如图3所示。
图3 算法流程图
1)动态剩余矩形算法定位。
剩余矩形算法是一种局部优化算法,通过记录模台上的剩余空间来表示空间使用情况。在PC构件排样时,未被使用的空间会被记录在矩形集合中。每个PC构件在排入模台前,需要根据剩余矩形集合的信息选择最佳的位置进行排放,如图4所示。
图4 剩余矩形排样规则
该算法弥补了BL(bottom-up left-justified)算法或最低水平线算法容易出现模台空洞的问题,但是当剩余矩形内填入不恰当的PC构件模具时会浪费部分空间,导致最佳匹配构件无法填入,因此对算法进行部分改进,采用动态匹配方法对未排放构件区域进行规划。当某一构件模具不能排入最低的剩余矩形时,首先将构件旋转90°,若满足要求则放置旋转后的构件模具,如果仍然无法排入,则向后搜索其余序列,对剩余矩形与待排样构件模具面积、高度、宽度进行匹配,选择与剩余矩形尺寸最接近的构件排入。
2)改进蚁群算法定序。
蚁群算法具有收敛速度快、全局搜索能力强的特点,但该算法后期易陷入局部最优,因此通过遗传变异策略、路径随机规划两种方式对蚁群算法进行改进。
为方便代码运行,对待排样构件赋予一个十进制整数编号代表该构件,正负号表示该构件是否进行旋转。一个排样方案对应一个构件序列,例如(8 4 1 7 6 3 -2 -5)按编号顺序先横向排入构件(8 4 1 7 6 3),然后再竖向排入构件(-2 -5)。
采用交叉与旋转变异相结合的变异策略,在变异初始阶段生成一个[0,1]内的随机数,若该随机数小于变异概率Pm1则进行变异,否则不进行变异。设立检测机制,当三次迭代没有发生变异时,则强制触发,进行变异。
交叉需要在[1,m]构件序列中生成两个随机整数作为变异点bit1和bit2,交换bit1和bit2处的基因,产生新个体。设染色体parent包含基因个数num=8,随机生成的变异点bit1=3和bit2=5,则交换变异点位基因产生子代Child A。
旋转变异是在[1,m]构件序列中生成一个随机整数作为变异点bit3,对bit3取反,产生新的个体。随机生成的变异点bit3=8,则旋转点位基因产生子代Child B。交叉与旋转变异示意图如图5所示。
图5 交叉与旋转变异
路径选择规划。在完成一次循环后,每只蚂蚁根据剩余矩形算法反馈的目标函数适应度对经过的路径按一定比例释放信息素,适应度值越高,释放的信息素浓度越高。后续循环时,依据前代蚂蚁留下的信息素浓度计算路径选择概率,信息素的浓度会随着时间的延长不断消散。
(8)
(9)
(10)
(11)
以此调节不同节点的信息素浓度,降低蚂蚁对信息素的依赖。
以某PC构件生产企业的一次生产计划为例,利用BIM二次开发获取PC构件排样数据。本次计划生产66块PC构件,包含14种不同规格,详细参数见表1。该企业所使用的模台尺寸为4 m×9 m。
表1 PC构件参数
基于改进蚁群算法与动态剩余矩形算法对PC构件排样进行优化,采用Excel表输入构件数据,设定算法的初始参数见表2。
表2 初始参数设置
改进蚁群算法结合动态剩余矩形算法(改进算法)与标准蚁群算法的迭代结果对比如图6(a)所示,由图可以看出,在迭代初始阶段收敛速度均较快,标准蚁群算法在第100代左右陷入局部极值停止收敛,而改进算法在第45代陷入局部极值,但在270代左右突破局部限制继续收敛并得到最优值,模台排样占用面积由430.45 m2减少到387.40 m2。基于每代平均面积波动可以看出,改进算法在全局范围搜索寻优能力明显更强,如图6(b)所示。
图6 构件排样优化迭代
改进蚁群算法与动态剩余矩形算法相结合能够有效优化PC构件排样,并通过遗传变异策略与路径选择机制解决了算法在迭代后期易陷入局部最优的问题。图7所示为PC构件在模台上的排样方案,其最优序列为(65 9 -20 53 -5 -29 45 64 47 26 -2 10 -17 -49 13 -28 -4 23 -16 39 37 -52 21 22 27 -57 18 63 -14 48 50 -55 36 25 7 -32 66 -54 -3 15 -12 -58 -59 62 -35 41 30 51 19 24 31 -40 11 -61 -46 -43 8 56 -1 33 -60 -38 -44 -6 34 -42)。传统人工排样完成66个PC构件生产需要的模台数量为15个,而优化后所需的模台数量为11个,模台的整体利用率提高了26.6%。
图7 预制构件排样
本文对PC构件排样与上游装配式建筑设计模型的协同问题进行研究,提出一种基于BIM的PC构件排样优化设计方法。以装配式BIM作为获取排样数据信息的来源,提高PC构件排样的精度;基于改进蚁群算法与动态剩余矩形算法对PC构件进行排样优化求解,改善PC构件的布局,提高模台利用率;与人工排样相比,本文设计的排样方法更节省时间、效率更高。以此排样优化结果结合PC构件BIM数据可以为机器划线、置边模等过程中的模台和边模的定位操作提供参考。