基于BIM 的资源受限项目调度集成优化
2020-09-23何立华王晓东
何立华,王晓东,王 慧
(1. 中国石油大学(华东) 经济管理学院,山东 青岛266580,E-mail:lihuahesd@163.com;2. 大连理工大学 建设工程学部,辽宁 大连116024)
建设项目调度关系着建设工程的效益和质量[1],由于施工过程中时间、资金和其他资源是有限的,如果某项任务计划开始时所需资源被占用,该任务只能等待其所需资源被释放后开工,必然会影响施工进度。因此,在资源有限条件下制定合理有序的项目调度是至关重要的。资源受限项目调度问题(Resource-constrained Project Scheduling Problem,RCPSP)研究的就是如何在有限资源的约束下对项目的任务进行优化调度,以期实现工期和成本费用等指标的最优[2]。RCPSP 一直是工程管理与项目管理领域的重要问题和研究热点[3]。随着工程复杂度的提高,调度管理技术受制于传统甘特图或网络图的管理方法,难以满足现在的项目调度管理要求,导致项目调度管理的信息传递和管理效率不高。
建筑信息模型(Building Information Modeling,BIM)以智能构件为基础,存储和共享与建筑有关的全部信息,为该建筑全生命周期内做出各种决策提供可靠依据[4]。BIM 技术作为建筑业信息化的核心技术,已成为工程项目管理领域人士关注的焦点。Daniel Heigermoser 等[5]利用精益建设与BIM 技术的协同效应,开发了基于BIM 的Last Planner System 工具,使用三维施工模型实现了集成的精益施工管理。周文勇等[6]从分析BIM 技术对城市综合管廊项目生命周期信息集成管理的重要性出发,研究了实现项目信息集成管理的方法。魏林春等[7]利用BIM 技术在工程项目信息管理中的优势,设计了基于BIM 的盾构施工信息管理系统,为施工信息集成管理提供了支撑。随着信息技术的发展,学者们在BIM 的支持下开始探索不同的进度计划方法,将三维(3D)、四维(4D)和n 维(nD)计算机辅助开发(CAD)等工具应用于建设项目进度的可视化管理[8]和项目进度管理与控制[9]。Kim 等[10]通过使用BIM 中存储的数据实现了施工进度的生成。Vahid Faghihi 等[11]从项目BIM 模型中获取信息,利用遗传算法推导出了可以保证结构稳定的施工顺序。Moon 等[8]采用优化理论,提出了一种基于BIM的施工调度方法,有效减少了活动重叠。Wang 等[12]提出了基于工作包的信息模型,来获取RCPSP 所需数据,并采用CPLEX 求解器解决调度问题。
工程项目调度管理体现在项目实施的各个环节,BIM 技术贯穿于工程项目的整个生命周期,并且能够将三维模型及其包含信息同调度信息相结合形成4D 动态模拟,为利用BIM 技术辅助项目调度管理提供了有利条件。本文在前人研究基础上,提出基于BIM 的资源受限项目调度集成优化方法,设计基于BIM 的资源受限项目调度集成优化框架,通过Revit 二次开发方法获得BIM 模型构件信息,建立构件之间的邻接关系矩阵,利用遗传算法进行项目调度的优化求解,并将调度优化结果与BIM 三维模型整合,动态可视化展现项目调度的全过程,实现项目调度优化的4D 动态模拟,在提高工作效率的同时,有助于及时准确地发现和评估项目调度过程中出现的偏差和风险,实现项目信息综合、集成化管理与共享。
1 基于BIM 的调度集成优化框架
首先设计一种基于BIM 的资源受限项目调度集成优化框架,该框架主要包括BIM 构建与分析、调度优化和BIM 调度动态模拟3 个部分,如图1所示。在集成框架中,BIM 模型不仅能够实现工程项目的可视化,还可提供项目可读的信息模型,如工期、分析模型和工程量数据等,为调度优化提供丰富的数据输入。然后根据项目计划,选择适当的目标,构建相应的目标函数和约束函数,进行基于遗传算法的项目调度优化求解。并将调度优化结果与BIM 模型结合,实现基于BIM 的4D 项目调度动态模拟,验证调度结果的有效性并为项目施工过程提供指导。
图1 基于BIM 的资源受限项目调度集成优化框架
1.1 BIM 模型构建
BIM 作为项目的数据库,利用其直观性、可分析性、可共享性及可管理性等特性,为项目管理提供可视化管理手段,为成本、进度控制提供准确数据与技术分析支持,为实现基于BIM 的项目调度集成优化提供了可能。本文使用Revit 软件进行BIM三维建模的构建,Revit 作为BIM 应用程序具有很强的互操作性,提供了丰富的应用程序编程接口(Application Program Interface,API),Revit API允许用户通过与.NET 兼容的语言如Visual Basic.NET、C#等语言编程[13],以此打通各种软件间的信息交流,为项目调度优化提供准确的三维模型与必要的信息输入。
1.2 分析模型支撑信息提取
建筑构件之间的支撑关系对调度计划的制定至关重要,建筑结构的结构性能影响调度顺序,若构件之间有支撑关系,即可认为存在紧前约束关系。结构分析模型是结构信息模型的简化3D 表示,包括结构部件的几何形状和材料特性以及所施加的载荷。此外,分析模型还包括了建筑元素的支持信息。BIM 模型中构件的支撑信息可通过Revit API Element.GetAnalyticalModelSupport( )函数获取,该方法将返回含有构件对象支撑信息的Support 成员列表,通过GetSupportingElement( )函数可以获得当前提供支撑的构件ID。邻接矩阵能够反映任务或者构件之间紧前紧后的约束关系,是生成项目施工调度的依据。采用C#语言,通过API 分析某结构柱的支撑信息代码片段如图2 所示。按照此方法,可以依次提取全部构件的支撑关系列表,构建存储支撑关系和构造顺序的项目邻接矩阵。图3 展示了一个简单模型使用API提取支撑信息后生成的邻接矩阵。
图2 结构柱支撑信息提取代码片段
图3 邻接矩阵构建
2 优化模型与算法求解
2.1 问题描述
建设项目调度优化问题可以描述为:存在资源和构件优先关系约束的条件下,工期如何达到最短,从而实现项目调度优化。本文研究的项目调度问题有如下基本假定:
(1)所研究的建设工程项目不考虑施工过程中的技术间歇时间,如混凝土浇筑后的养护时间等,仅考虑建造构件本身的时间。
(2)项目中的每个构件(梁板柱等)都作为一个任务,便于进行项目的调度优化。
(3)对于所研究的调度优化问题不考虑成本等的限制,仅考虑资源和构件关系的约束。
(4)每个项目任务对资源的需求在项目工期内是确定的。
(5)每个任务之间的逻辑关系仅存在完成—开始(FS)逻辑关系。
2.2 数学模型
本文研究的项目调度问题使用AoN(activityon-node)有向图G=(N,A)表示,其中N 为任务集合,N={0,1,2,3,…,n,n+1},A 为有向弧的集合;任务0 和任务n+1 是为保证项目有且只有一个起点和终点而添加的虚拟任务,分别用于表示项目的开始和结束,它们的工期为0 且不消耗资源。所有任务都受到优先顺序约束和资源约束。模型采用的变量符号及含义如表1 所示。
表1 调度优化模型的符号及含义
假设任务i 的开始时间为STi,是模型的决策变量,按照任务之间的优先顺序约束和资源约束确定各个任务的开始时间STi和资源分配,就得到一个可行的项目调度计划。资源约束下项目调度优化数学模型如下:
式(1)表示项目调度的目标函数,本模型中表示项目工期最小化,虚拟结束任务的完成时间等于项目工期;式(2)表示项目的资源约束,保证任务执行过程中各类资源的消耗量不超过相应资源的供给量;式(3)表示任务i 与任务j 之间的紧前约束关系;式(4)表示项目的所有任务开始时间非负,保证所有任务均为有效任务。
2.3 算法求解
RCPSP 在数学上属于NP-hard 问题,求解的方法主要有精确算法(数学规划法)、启发式算法和智能优化算法(元启发式算法)[14、15],其中精确算法计算量大求解速度慢,启发式算法求解速度较快但难以保证解的质量,智能优化算法可以克服启发式算法难以保证解的全局质量的缺点,能在合理时间内获得满意的解。智能优化算法中的遗传算法在工程建设领域得到了众多研究者的验证[16],其性能稳定可靠,并且可以避免局部优化。本文利用遗传算法求解,采用启发式的群体随机搜索方式,迅速寻找调度问题的优化解。
2.3.1 编码方案
采用遗传算法求解调度优化问题,需要进化适当的任务调度安排,为此需要对任务次序进行编码。本文采用基于任务优先规则的编码方式,随机赋予任务唯一的优先权,如表2 所示,这种方式既能体现任务的随机执行,又能满足任务逻辑约束关系[17]。
表2 项目任务优先权表
2.3.2 初始种群
本文采用随机生成优先权和在满足项目逻辑关系与资源约束的条件下,随机生成项目的施工调度次序的方式来生成遗传算法的初始种群。
2.3.3 适应度函数
适应度函数能体现个体的优良程度,是衡量个体进化的重要指标。通常情况下,适应度值越高,个体被选择的概率就越大,越有机会遗传到下一代被保留下来。本文中项目调度问题的优化目标为最小化项目总工期,因此通过下式可将该目标函数值转化为适应度值:
式中,fi表示个体i 的建设工程项目总工期;Fi表示个体i 的适应度函数值。
2.3.4 选择算子
根据上述步骤计算所得适应度值,采用适应度比例方法即轮盘赌方式,按照下式进行遗传算法中的选择操作。每个个体选中进入下一代的概率Pi与种群中所有个体适应度值之和成正比[18]。
2.3.5 交叉算子
交叉也称为重组,通过两个原有染色体之间的交叉来生成可能更为优异的新后代,从而实现种群进化[19]。本文采用基于位置映射关系的两点交叉[20],将两个父代交叉点之间的对应位置基因座建立映射关系。如图4 所示,首先进行传统的两点交叉,再将未交叉部分进行基于位置映射关系的基因替换。采用此方法可以得到两个优先权不发生重复的子代个体,既保证了个体的继承性,又保证了交叉后解的可行性。
图4 基于映射的两点交叉
2.3.6 变异算子
变异算子采用基于中心位置的变异方式,该选择过程是随机的,然后将随机选择的等位基因值进行交换,由此变异产生的新的染色体优先权仍是唯一的,不仅可以避免出现不可行解,改善了算法的局部搜索能力,还保证了种群的多样性,防止出现早熟收敛现象。
3 BIM 调度优化4D 模拟
项目调度往往受到实际施工过程中多种因素的影响,各要素也是动态变化的,传统的项目调度方式是非透明的,项目调度计划难以向项目各参与方传递;调度优化结果也是静态的,很难检验结果的可行性与准确性。本文将BIM 可视化功能的三维模型与带有时间维度的项目调度优化相结合,进行4D 调度动态模拟,检查调度优化结果的可行性,排查调度逻辑优先顺序与冲突情况,保证施工调度的流畅性与准确性,通过4D 调度动态呈现更快地辅助决策、及时纠偏,降低发生问题的风险。
BIM 与项目调度优化结合主要通过Matlab 与Microsoft Project、Microsoft Project 与Autodesk Navisworks 交互操作实现。Navisworks 具有很强的交互和数据转换能力,能够实现多格式文件整合,具有三维校审、碰撞检查、4D 模拟等功能。Microsoft Project 生成的mpp 格式的文件能够完美地导入到Navisworks 中,在保证三维模型完整性基础上加入时间轴,进而实现项目调度的4D 模拟。具体步骤如下:
(1)利用遗传算法优化项目施工调度。
(2)采用Project 软件创建优化后的项目施工调度计划,生成mmp 文件。
(3)将带有时间轴的调度文件通过TimeLiner功能导入Navisworks 中,进行三维模型与调度计划整合。
(4)运行软件,生成项目调度4D 动态指导方案并导出动态调度过程文件。
(5)与实际施工过程进行比较,发现问题,重复步骤(1)~步骤(4)以调整调度方案。
4 案例分析
为了验证所提出的基于BIM 的资源受限项目调度集成优化方法的有效性,选取某钢筋混凝土框架结构,应用上文提出的方法进行计算和分析。某施工单位需进行当地临建设施的建造,该种临建设施的构件数为21,为仅由梁和柱组成的框架结构,其中,梁的数量为11,柱的数量为10,需要两种关键资源,两种关键资源的数量限制分别为6 和4。
采用Revit 建立该临建设施的三维模型如图5所示,工序的持续时间从IFC 文件TaskTime.ActualDuration 中提取,则每个构件的施工持续时间及所需资源如表3 所示。代数为300,交叉概率Pc=0.7,变异概率Pm
图5 某临建设施结构三维模型及标号
表3 项目任务列表
遗传算法参数设置如下:种群规模为10,进化采用上述算法对模型(式(1)~式(4))进行求解,得到的调度结果进化曲线如图6 所示。得到该临建设施的最优任务调度为:0→3→5→4→6→1→9→11→2→10→16→12→8→7→13→17→14→15→20→21→18→19→22。
图6 模型求解进化曲线
该临建设施优化后的施工调度动态模拟过程如图7 所示。
5 结语
本文研究了基于BIM 的资源受限环境下项目调度优化问题,以最小化项目工期为目标,提出了基于BIM 的资源受限项目调度集成优化方法。与传统甘特图与网络图表达项目调度方式不同,本文利用BIM 技术,实现了调度优化结果的动态可视化呈现,在达到减小工期拖延、资源浪费的同时,也实现了项目调度相关信息在建造过程中的传递、交互共享。同时,考虑到RCPSP 问题的NP-hard 属性,设计了遗传算法对调度优化模型进行求解。通过案例研究表明,本文提出的基于BIM 的资源受限项目调度集成优化方法不仅能够得到最优的调度方案,还将优化结果可视化,验证了该集成优化方法的科学性及有效性。此外,通过4D 调度动态呈现可以更好地辅助决策、及时纠偏,降低发生问题的风险,为现场施工调度管理提供指导。
本文建立的模型仅对建设工程项目的总工期进行了优化,并没有考虑成本、资源的优化,未来可以在现有集成优化方法的基础上逐步增加项目调度模型的其它优化目标。另外,在现有的约束条件下,还要进一步考虑其他影响因素,如工作空间限制和一些不确定因素,进一步完善基于BIM的项目调度优化理论与方法。