基于混合粒子群算法的项目群工期压缩模型研究
2020-06-15丰景春赵文静王龙宝
丰景春,赵文静,丰 慧,3,王龙宝
(1.河海大学商学院;2.河海大学项目管理研究所;3.江苏省世界水谷与水生态文明协同创新中心;4.河海大学国际河流研究中心,江苏南京 211100)
1 文献综述
随着我国基础设施建设不断地增加,南水北调、黑河黄藏寺水利枢纽等大型工程项目越来越多,这些大型工程项目涉及范围区域广、内含项目数量多、规模大、周期长、技术复杂,较难以管控[1],因此对这类项目进行时间和费用管理显得尤为重要。但是现有的单项目工程管理方法已不能适应大型工程项目管理。Shehu 等[2]研究指出多项目管理能够协调单项目管理的经济压力。Rijke 等[3]研究揭示了项目群管理在单项目和多项目管理层面上的战略和绩效综合关注可以使利益相关者有效地协作。郭峰等[4]研究指出项目群管理在资源调配、风险预控、项目协同方面比单项目更有优势。项目群管理成为了增强大型工程项目管理和战略管理的一种可靠的选择,当前国内外专家学者将项目群理论引入对大型工程项目管理研究当中,构建了相应的理论与应用模型,推进了项目群管理在大型工程项目中的广泛运用。
项目群管理通过分析项目间的依赖性关系,合理协调和分配资源,改善企业对需求的响应,从而以更广阔的视野确保从项目中获得整体性利益[5]。Aritua 等[6]指出多项目环境具有复杂自适应系统的特点,所以对大型工程项目群的时间和成本进行研究至关重要。任南等[7]结合关键链法和遗传算法、张春生等[8]引入资源时间因子和遗传粒子群,以及Suresh 等[9]运用遗传算法,通过资源的配置,缩短了项目工期,提高项目群的资源利用率。Gholizadeh-Tayyar 等[10]将额外资源的租金成本考虑在内,运用混合整数规划模型将广义资源调度问题与供应链计划模型相结合,求解资源的最佳分配。王海鑫等[11]在资源限定条件下,运用自适应粒子群算法求解加权工期最小化目标的进度计划模型。龚寻等[12]根据承包商的不同,将项目群划分为若干个子网络,利用关键链法对资源约束下的工期进行压缩。
目前对项目群管理中时间和成本的研究较多地集中于通过资源合理配置使得成本最低或时间最少,除了通过资源-时间、资源-成本的研究对项目群的时间-成本进行控制,也有将资源、时间和成本三者结合,如Rostami 等[13]提出了一种混合整数线性规划模型,最小化与项目完成时间和建设成本相关的成本,以确定定期服务设施的最佳位置;侯艳辉等[14]以工期均衡和人工总成本最低为目标建立了两阶段优化模型,运用贪婪算法和线性规划结合的算法对多项目人力资源配置模型进行求解;Amiri 等[15]运用关键链法和非支配排序遗传算法求解资源约束下多项目时间-成本权衡模型。对项目群进行资源、时间和成本三者结合研究,实现时间和成本之间的均衡,但在实际的工程项目群实施过程当中,会产生指定工期压缩或工期延误现象等事件,这些事件不可避免地会带来或多或少的惩罚或奖励费用,需要将之考虑在内。丰景春等[16]、汪玉亭等[17]考虑到合同项目工期提前或延迟会对自身工期、所处子网络工期、紧后和后续子网络开工时间以及项目群工期等产生影响,构建了基于工期最小化目标的项目群工期提前奖励模型和惩罚模型;同时,郑传斌等[18-19]在此基础上,从业主视角出发,考虑到压缩不同位置的项目对项目群产生的影响不相同,构建了基于费用最小化目标的项目群工期优化模型和工期压缩模型,并运用关键路径法求解;丰景春等[20]则进一步将资源约束考虑在内,建立了非关键线路上合同项目工期延误惩罚费用函数,构建了贯穿于项目群实施前和实施过程中的两阶段工期-费用优化模型。
综上,对项目群时间与成本管理的研究不仅需要将工期压缩及项目费用与资源约束相结合,还需要更加全面、深入地分析因资源的调动导致工期变化所给业主带来的费用构成;此外,在大型复杂的工程项目群资源调度研究当中,基于关键路径和关键链构建模型的线性规划求解方法已不能满足模型求解的精确和简便性要求,需要用人工智能算法加以辅助求解。为此,本文在已有研究的基础上,主要探讨业主视角下工程项目群工期压缩问题,在单一甲供资源约束下构建一种集资源调度、项目优先顺序、工期、惩罚费用于一体的工程项目群工期压缩费用最低模型,运用基于模拟退火的混合粒子群算法进行求解,弥补现有项目群工期压缩方法的不足,并将模型应用于实际案例,与现行工期压缩方法进行对比分析。
2 工程项目群工期压缩机理分析
项目群由一组不可割舍的具有共同战略目标的项目组成。本文在郑传斌等[19]构建的子网络理论模型的基础上构建承包商一致性下的子网络模型,整个项目群受可更新资源K的约束,根据子网络构建模式及关键路径法绘制工程项目群网络计划图,如图1 所示。将由一批具有相同战略目标的单个项目组成的项目群T划分为若干个子网络(S1,S2,…,Sm),子网络内部含有若干个由同一承包商控制的项目(P1-2,P1-3,…,Pn-1-n),紧前子网络的结束时间与当前子网络的开始时间相同。
图1 工程项目群子网络模型
通常,由于某些不可抗力的外部因素,业主需要对工程项目群的合同工期N压缩至M(N>M),并为此支付一定的费用,本文从业主的角度研究保证业主支付费用最低的管理方法。在项目群环境中,从子网络的视角出发,对合同工期的某个合同项目进行压缩,一般会产生以下两个方面的影响:一是对被压缩合同项目自身的影响;二是被压缩合同项目给紧后合同项目、所在子网络、平行子网络、后续子网络和项目群带来的影响。图1 中,1—2—4—5—6—8—(n—2) —n为该项目群的关键线路,由于待压缩工期项目所在子网络的不同,给业主带来的费用组成也有所不同。现根据被压缩项目P的压缩工期及其所在子网络位置的不同对其压缩机理分析如下:
(1)当P为位于子网络S1中的项目P1-2,压缩其工期将会产生4 个方面的具体费用:一是P1-2自身赶工费用,即该项目承包商可以向业主索赔的项目赶工费用;二是对工期被延误项目的赔偿费用,即P1-3因将资源调出给P1-2而造成工期延误情况,该项目承包商向业主索赔的项目损失费用;三是对工期被提前项目的赔偿费用,即受P1-2工期被压缩影响,P1-2所在子网络S1中P2-4工期提前、P3-4最迟完成时间提前、后续子网络S2、S3、S4工期整体提前等情况,相关项目承包商向业主索赔的修改施工组织设计,提前让施工设备进场,调整资源配置计划等而产生的索赔费用;四是对工期被推迟项目的赔偿费用,即受P1-3工期被延误影响,P1-3紧后项目P3-4工期被推迟的情况,相关项目承包商向业主索赔的修改施工组织设计、推迟让施工设备进场、调整资源配置计划等而产生的索赔费用。对业主而言,除了支付相应费用外,还会获得因工期压缩而取得的收益。压缩项目P2-4同理。
(2)当P为位于子网络S2中的项目P5-6,压缩其工期Tij将会产生4 个方面的费用:一是P5-6自身赶工费用,即项目承包商可以向业主索赔的项目赶工费用;二是对工期被延误项目的赔偿费用,即P5-7、P5-8、P7-8、P10-12、P10-11因将资源调出给P5-6而造成工期延误情况,项目承包商向业主索赔的项目损失费用;三是对工期被提前项目的赔偿费用,即受P5-6工期被压缩影响,P5-6所在子网络S2中P6-9工期提前和P8-9、P11-13、P12-13最迟完成时间提前以及后续子网络S4工期整体提前等情况,相关项目承包商可以向业主索赔的项目损失费用;四是对工期被推迟项目的赔偿费用,即受P5-7工期被延误影响,P5-7紧后项目P7-8、P8-9工期被推迟的情况,相关项目承包商可以向业主索赔的项目损失费用。对业主而言,除了支付相应费用外,还会获得因工期压缩而取得的收益。压缩项目P6-9同理。
根据前述对项目群工期压缩机理的分析,得出业主因项目群工期压缩所要承担的四部分费用,即一是关键路径上项目因工期压缩产生的赶工费用,二是非关键路径上项目因资源调出导致工期延误所产生的索赔费用,三是由于非关键路径上项目的工期延误导致其后续项目开工时间推迟所产生的索赔费用,四是由于关键路径上项目工期提前导致其后续项目开工时间提前所产生的索赔费用。
3 单一资源约束下工程项目群工期压缩模型构建
3.1 前提假设
(1)每个子网络内的项目统一由一个承包商承包。
(2)在项目群当中,具有相似性的资源都可以相互替代,即待压缩项目可以调用同期具有相似资源的项目的资源使用。
(3)本文仅研究单资源k 约束下的工期压缩情况,且该资源限制为可更新资源,即可用量在每个时期(如天、周、月等)基础上受到约束的资源;除该资源外,其他资源可无限使用。
(4)工期压缩对合同项目自身、对所在子网络承包商、后续(或者平行)子网络承包商的影响和项目群效益产生的影响均可量化为费用计算。
(5)单个工程项目由若干个活动或工序组成的,为了简化研究,本研究仅讨论至项目层次。
(6)项目群包含的所有合同项目同时招标。
(7)项目计划资源用量假设为标准正常情况下的资源用量。
(8)工程项目群工期压缩后关键路径不变。
3.2 子网络的单一资源约束下工程项目群工期压缩模型构建
3.2.1 业主利益亏损目标函数构建
假设业主在招标工作完成后,项目群的工期定为T,由于不可抗力因素,现需要将项目群工期压缩至T'(T≥T'),压缩工期为t(T-T')。由于对项目群工期进行压缩,会导致各承包商对业主提出一定的索赔费用;业主出于对利益最大化原则的考虑,需要在对项目群进行压缩满足所需合同工期变更要求的同时,保证工期压缩后其最终的利益亏损最低。
业主在进行项目群工期压缩时需要支付给承包商指定的赔偿费用,根据前述工程项目群工期压缩机理分析,共包括四部分费用,同时由于工程项目群工期压缩,业主自身也会获得相应的利益收入,则此二者之间的差值即可表示为业主在工程项目群压缩后最终的利益亏损,具体的目标函数为:
式(1)中:F为因工程项目群压缩业主最终的利益亏损;Ω为关键路径上的项目集合;为关键路径上的第个子网络中的第个项目;为因工期压缩业主所需要支付的费用;因工期压缩产生的赶工费用;的同期项目因资源的调出导致工期延误所产生的索赔费用;同期项目所在子网络内部,因工期延误导致其后续项目开工时间推迟所产生的索赔费用;所在子网络的后续子网络的开工时间提前产生的索赔费用;I为因工程项目群压缩业主所获得的收益。
业主在对项目群进行工期压缩时支付给承包商的全部费用受资源调入量、资源调出量、资源工期系数、赶工费用率、工期提前、延误和推迟费用率的影响,与其被压缩、延误、推迟和提前工期产生非线性相关关系,根据费用类型分为四部分内容,具体如下:
1)项目被压缩工期受资源工期系数的影响,与资源的调入总量产生线性相关关系,公式为:
(2)非关键路径上项目因资源调出导致工期延误所产生的索赔费用受工期延误费用率的影响,与被延误工期产生线性相关关系。其中,项目被延误工期受资源工期系数的影响与资源的调出总量产生线性相关关系,公式为:
(3)由于非关键路径上项目的工期延误导致后续项目开工时间推迟所产生的索赔费用受工期推迟费用率的影响,与被延误工期产生线性相关关系,公式为:
(4)由于关键路径上项目工期提前导致后续项目开工时间提前所产生的索赔费用由于关键路径上项目工期提前导致后续项目开工时间提前所产生的索赔费用,受工期提前索赔费用率的影响,与被压缩工期产生线性相关关系,公式为:
(5)因工程项目群压缩业主所获得的收益。由于本文中工程项目群压缩工期为固定值,工程项目群工期压缩给业主带来的收益受压缩工期的影响,此处将收益设置为固定值常数I。
3.2.2 业主利益亏损最低化的约束条件
业主在保证工期压缩后最终的利益亏损最低的同时,需要满足资源约束、工期压缩约束及关键路径不变等的前提条件,具体如下:
(1)资源约束。由于本文中整个项目群受可更新资源K 的约束,因此同期全体项目资源k 使用量不可超过当期资源供应量最大值,公式为:
(2)工期压缩约束。工期压缩约束即项目工期压缩变化量不得大于项目的极限压缩时间,公式为:
本文压缩指定工期天数t,即项目群计划工期与压缩后工期之间的差值为t,公式为:
(3)关键线路不变。公式为:
4 基于模拟退火的混合粒子群算法设计
4.1 模拟退火粒子群算法适用性
粒子群算法(particle swarm optimization,PSO)是于1995 年由美国社会心理学家Kennedy 等[21]基于鸟群觅食行为所提出的,起源于对简单社会系统的模拟。该算法具有概念简明、实现容易、精度高、收敛快等优点,在解决实际问题中得到了很好的应用。出于求解复杂系统优化问题思路和框架的通用性,粒子群算法不受研究问题种类的限制,广泛应用于许多学科。建设工程领域工期-费用-资源优化问题所处的目标优化环境中,工程项目群由多个项目组成,内部不同项目之间拥有紧前、紧后的逻辑关系,受资源的支配相互依存、作用和制约,是一个复杂的复合系统。本文在求解工程项目群工期-费用-资源优化问题中,构建了工期压缩模型,提出了业主利益亏损函数及其约束条件,目的在于通过对业主利益亏损函数进行有效优化,使得业主在对工程项目群的工期进行压缩满足合同变更要求时,能够保证工期压缩后最终的利益亏损最低。粒子群算法在解决此类优化问题具有很好的优势。
粒子群算法自1995 年提出以来,经历诸多改善,有对粒子群算法的参数、迭代公式、信息交流方式等方面的改进以及通过与其他算法相融合对粒子群算法进行改进等等,将模拟退火算法与粒子群算法相结合的混合算法在搜索最优解的过程当中具有突跳的能力,可以有效地避免搜索陷入局部最优解,增强粒子的全局搜索能力,为此,本文选择模拟退火粒子群算法(SAPSO)对建设工程项目群的工期压缩模型进行优化求解。
4.2 模拟退火粒子群算法的基本流程
在粒子群算法中,每个优化问题的潜在解都是搜索空间中的一颗粒子,所有的粒子都有一个由被优化的函数决定的适应值,每个粒子还有一个速度决定它们飞行的方向和距离,粒子就追随当前的最优粒子在解空间中搜索[22]110-130。基于模拟退火的混合粒子群算法与标准粒子群算法之间的本质区别在于,前者增强了粒子在新一轮迭代过程中速度变化的程度,使得粒子具有突跳的能力,不限于局部最优解的困境。基于模拟退火的混合粒子群算法的流程如图2 所示,其简要步骤如下[22]110-130:
图2 基于模拟退火的混合粒子群算法流程
粒子初始化:
(1)随机设置各粒子的速度和位置;
(2)计算每个粒子的初始适应度值,并分别存储于各粒子的个体极值中,根据各粒子的个体极值获取最优适应值,并将其个体位置和适应值保存于全局极值中;
(3)确定初始温度。
主循环开始:
(7)粒子退温;
(8)当主循环满足迭代次数要求,则主循环结束,输出结果,否则返回步骤(4)继续搜索最优值。
5 案例分析
5.1 案例背景
南北水调东线工程是国家战略工程的组成部分,通过江苏省扬州市江都水利枢纽从长江下游干流提水,沿京杭大运河途径江苏、山东、河北3 省,向北为黄淮海平原东部和胶东地区和京津冀地区提供生产生活用水,是国家级跨省界区域工程。南北水调东线一期工程是其中的江苏段工程,由江苏省域内20 个项目组合而成,本文根据承包商一致性将该工程项目群划分为以多项目为基础的6 个子网络结构。根据其中各项目的工期及其紧前、紧后关系,绘制基于子网络的项目群网络计划如图3 所示,该工程总合同工期为180 个月,关键路径为A1—A2—D3—D4—E1—E2—F3;对南水北调东线一期江苏段工程进行工期压缩,压缩总工期为15 个月。随着工期的减少,业主所要承担的费用也会随之增加,需要对其工期压缩费用进行优化控制,实现业主利益最大化。
图3 南水北调东线一期工程网络计划
对项目群的工期进行压缩所需费用的现行计算方法为项目群因工期压缩而产生的收益与被压缩项目赶工费用之间的差值,其中被压缩项目的赶工费用由赶工费用率乘以赶工工期得到。郑传斌等[19]对计算方法进行了改进,将被压缩项目所在子网络效益、后续子网络效益、后续子网络开工时间提前、项目群整体效益等考虑在内,优化了当前项目工期压缩费用优化方面的不足。但是经过改进的基于子网络的项目群工期压缩费用优化模型依然存在某些不足:(1)在对工期进行压缩的过程当中,未考虑因项目工期变动所带来的资源变动,以及由于资源变动所带来的被调资源项目的工期延误费用及其后续项目的工期推迟费用;(2)基于关键路径或关键链法的线性规划求解方法依然存在费用优化精确性、简便性不高的问题,依然有费用优化的空间。本文针对这些不足,对现有基于子网络的项目群工期压缩费用模型进行优化,将资源调度引进费用模型当中,并将因资源变动所带来的对各项目、各子网络及项目群整体的影响考虑在内,运用模拟退火粒子群算法对案例项目群工期进行压缩并得到全局最优的费用结果。
5.2 基于混合粒子群算法的项目群工期压缩分析
南水北调东线一期江苏段工程具体相关参数如表1 所示,其中,赶工费用率工期延误费用率工期推迟费用率工期提前费用率由项目经理和项目管理领域专家学者及专业技术人员根据项目群特点共同综合决定。
表1 南水北调东线一期工程相关参数
表1(续)
在南水北调东线一期江苏段的算例背景下,本文运用模拟退火粒子群算法对该基于子网络的项目群工期压缩模型进行仿真实验,得到全局最优的项目群工期压缩费用。在模拟退火粒子群算法中,粒子所在位置是以向量的形式表示该项目群中所有项目的资源调度量,其中关键项目的粒子是资源调入量,非关键项目的粒子是资源调出量,资源的调入调出带来各项目工期的减少和增加;粒子的速度表示各项目位置的变化速度,即通过对粒子资源调度量的不断改变以寻求粒子的最佳位置。粒子的位置和速度以随机的形式在相应的范围内取得,这个范围根据项目群总压缩工期、各项目的自由时差和总时差共同决定。
图4 南北水调东线一期工程工期压缩费用优化结果
本文选择MATLAB R2014a 软件运用模拟退火粒子群算法进行仿真实验,得到如图4 所示结果。其中,横坐标为基于模拟退火的粒子群算法的迭代次数;纵坐标为算法所应用模型的适应度值,即基于子网络的项目群工期压缩模型在相应迭代次数下的业主支付费用值。经过1 000 次的算法迭代,基于子网络的项目群工期压缩15 个月的业主所需支付费用值趋于其全局最优值,即业主支付费用最低值为10 550.81 万元。
在业主支付费用最低值情形下,案例项目群中项目资源调入和调出情况具体如表2 所示,项目A2接收来自项目A3的资源调动总量为10 个单位,项目D3接收来自项目D1、C3、C2、C1、B2、B3、B1的资源调动总量为4 个单位,项目D4接收来自项目D1、D2、C3、B3、B1的资源调动总量为28 个单位,项目E2接收来自项目E3、E4的资源调动总量为8 个单位。
表2 南水北调东线一期工程资源调入调出情况
资源均衡配置是项目群管理的一个重要问题。根据资源在不同时期的分布情况,本文选用方差描述案例项目群资源消耗强度的波动情况[23],确定资源分布的不均衡程度,从而判断其资源配置效果的好坏。经过计算得出,在对项目群工期压缩之前资源不均衡程度为38.3%,运用本文模型对工期进行压缩之后的资源不均衡程度为29.1%,资源配置不均衡程度降低了24.02%,案例项目群的资源也得到了优化配置。在此资源调动结果下,案例项目群工期的压缩情况如表3 所示,对江苏段关键路径中的项目A2、D3、D4、E2进行工期压缩,共压缩15 个月。
表3 南水北调东线一期工程工期压缩情况
受单一资源约束的项目群工期压缩模型下的业主支付费用受4 个方面的影响,具体体现在南水北调东线一期江苏段项目群工期压缩工程中,项目A2工期被压缩5 个月所需要的费用包括其自身赶工费用、项目A3工期延误的索赔费用以及子网络B、C、D、E、F整体工期提前的索赔费用;项目D3工期被压缩1 个月所需要的费用包括其自身赶工费用,项目D1、C3、C2、C1、B2、B3、B1工期延误的索赔费用,项目D2、C3、B3工期推迟的索赔费用以及子网络E、F整体工期提前的索赔费用;项目D4工期被压缩7个月所需要的费用包括其自身赶工费用,项目D1、D2、C3、B3、B1工期延误的索赔用,项目D2工期推迟的索赔用以及子网络E、F整体工期提前的索赔费用;项目E2工期被压缩2 个月所需要的费用包括其自身赶工费用,项目E3、E4工期延误的费用,项目E4工期推迟的费用以及子网络F整体工期提前的索赔费用。
5.3 对比分析
与现行项目群工期压缩方法相比,本文所建立的工程项目群工期压缩模型具有如下优势:
(1)本文构建的项目群工期压缩模型更加全面地分析了工期压缩的影响因素。在已有项目群工期-费用优化模型中,假设的资源是无限资源,但在实际情况下,根据项目群利益最大化原则和复杂性的特点,大部分资源是有限的或者是不可再生的,因此将资源约束考虑在内,同时以业主支付费用最低为目标,更加全面地分析了项目群工期-费用的影响因素,完善了现有的工程项目群压缩模型。
(2)本文构建的项目群工期压缩模型更加深入地分析了工期压缩对项目群、子网络和各项目自身的影响。项目群工期压缩模型在分析工期压缩所带来的影响时,除了将被压缩项目的赶工费用、所在子网络、后续子网络内相关项目工期提前费用考虑在内,还考虑了相关项目因资源的调出造成的工期延误费用以及连带的紧后项目的工期推迟费用,更深入细致地分析了工期压缩所带来的影响。
(3)本文构建的工程项目群工期压缩模型更加精确、简便地确定出工程项目群工期压缩资源调用方案以及工期压缩方案。本文与现有工期压缩研究不同,将人工智能算法引入到工程项目群工期压缩模型当中,即选择模拟退火粒子群算法对项目群的资源进行调配,对工期进行压缩,对费用进行优化,经过不断的迭代,确定全局最优的资源调配方案和工期压缩方案,资源得到更加合理的均衡。
6 结论
(1)大型工程项目群是一个复杂的系统,实现有效的时间-资源-费用控制显得十分重要。从工期压缩的角度,本文将项目群分成若干个子网络,分析工期压缩机理,剖析工期压缩给项目群、承包商和业主带来的影响,构建单一资源约束下费用最低的项目群工期压缩模型,并运用模拟退火粒子群算法对模型进行求解,确定了全局最优的资源调配方案和工期压缩方案,全面、深入、有效地对工程项目群的工期进行压缩。
(2)在本文所建立的基于子网络的单一资源约束下费用最低的项目群工期压缩模型中,对现有工期压缩模型进行了改进完善,将资源约束考虑在内,并分析得到项目群工期压缩给业主带来的支付费用,包含4 个方面:一是对合同项目自身因资源的调入进行工期压缩所产生的赶工费用;二是相关合同项目因资源的调出致使工期延误所产生的费用;三是受被压缩项目的影响,其他合同项目工期提前所产生的费用;四是受被延误项目的影响,其他合同项目工期推迟所产生的费用。
(3)与现有项目群工期压缩模型比较而言,本文更全面深入地剖析了工期压缩给项目群、承包商及业主带来的影响,并通过构建基于子网络的单一资源约束下费用最低的工程项目群工期压缩模型对工期压缩所产生的影响进行量化,运用基于模拟退火的混合粒子群算法对模型进行求解,得到了更加准确有效的资源调配方案和工期压缩方案,也使得工程项目群的资源不均衡程度得到了降低。
本文所构建的项目群工期压缩模型受单一资源约束,而在现实中,工程项目群的复杂程度更高,并受多种资源的共同影响,同时对于诸如水利工程等比较大型长期复杂的工程项目群,由于其特殊性,也需要将汛期、洪水期等特殊时期考虑在内,这些都有待进一步研究。