《1 前言》

1 前言

工程项目管理是尽可能消耗较低成本、均衡资源使用、控制项目工期并确保工程质量的过程。从系统科学角度看,工程项目多目标优化问题是由工期子系统、费用子系统、质量子系统和资源控制子系统组成,这些子系统具有相对独立性却具有各自的特定功能和运行目标。

工程项目子系统之间是相互影响、相互制约的,片面考虑其中的某一目标为整体目标,必将大大削弱系统的功能。如追求进度的最优,即工期最短,必将提高成本、降低质量和增加资源的投入。

为研究工程项目多目标协同优化问题,许多专家引入最优化技术来研究。文献[1,2]将遗传算法引入工程项目优化问题,将工程项目优化变量编码,通过选择、变异、杂交等操作,实现工程项目多目标优化。文献[3]则应用模糊数学和遗传算法来解决工程项目资源均衡优化问题。引用了优化技术后,工程多目标协同优化的求解简便性都得到不同程度的提高。但是,目前国内外相关文献对工程项目多目标优化研究大多仅限于成本、工期和资源的协同优化,对工程质量的量化以及与成本、工期和资源的协同优化研究还较少;同时解决多目标优化的算法实现步骤大多相当繁琐,且求解容易陷于局部最优,从而使准确性大打折扣[1 ~3]

PSO 为一种仿生算法,算法简单、容易实现,而且随机搜索的本质使得搜索不易陷于局部最优。所以笔者等将该算法引入工程项目协同优化问题,来丰富和完善工程项目优化方法技术和理论。

《2 微粒群算法》

2 微粒群算法

PSO 最早是由 Kennedy 和 Eberhart 于 1995 年提出的,是通过对简化社会模型的模拟而建立起来的。在 PSO 算法中,每个优化问题的潜在最优解都是搜索空间的一颗粒子,所有粒子都有一个由被优化函数决定的适应值( fitness value)。微粒群算法寻优过程是首先将最优化问题初始化为一群随机粒子(随机解),然后通过不断迭代找到最优解。在每一次迭代中,粒子通过跟踪两个“极值”来更新自己。一个就是粒子本身所能找到的最优解,即个体极值,另一个极值是整个种群目前找到的最优解,即全局极值。

PSO 算法中,粒子根据如下的公式来更新自己的速度和新的位置[4 ~8]

式中,c1c2 为加速常数,通常 c1 =c2 =2;rand( )和 Rand( )为随机函数,值域[0,1] ;vid 为第 d 维度微粒搜索速度, 如果 ,限定

标准 PSO 的算法流程如图所示[9]

《图1》

图1 PSO 的算法流程

Fig.1 PSO flow chart

Kennedy 和 Eberhart 提出微粒群算法后,国内外学者在研究应用这一算法过程中对该初始版本进行了不同改进,比较著名的有加入惯性权重的标准算法,引入收缩性因子的改进算法,杂交 PSO 算法,模糊 PSO 算法,协同 PSO 算法。 [5 ,6 ,8 ,10]

《3 多目标协同模型的建立》

3 多目标协同模型的建立

从系统协同的角度看,系统之间或系统组成要素之间在发展演化过程中彼此的和谐程度,称为协调度。由协同学可知,系统走向有序的机理不在于系统现状的平衡或不平衡,也不在于系统距平衡态多远,关键在于系统内部各子系统之间相互关联的“协同作用”,它左右着系统相变的特征和规律。协调度正是这种协同作用的度量,它决定了系统在达到临界区域时走向何种有序结构,或决定了系统由无序走向有序的趋势。

为研究工程项目的多目标协同优化,笔者等引入功效系数,并基于工程项目各子系统的功效系数,建立工程项目多目标优化协调度函数模型。

《3.1 工程工期协同功效系数》

3.1 工程工期协同功效系数

设正常工期为 Tn ,看作系统稳定临界点的上限值,即:Tn =maxTk 。工程项目进度子系统最小值,也即极限工期作为系统稳定临界点的下限值,opt T = Tc =minTk ,根据系统协调度,工期指标具有负功效,其对系统有序度的功效系数为:

《3.2 工程费用协同功效系数》

3.2 工程费用协同功效系数

根据系统协调度定义,费用指标也具有负功效,费用子系统稳定临界点的上限值为maxCk ,项目费用子系统不断优化得到一系列序参数值,将其中的最小值作为系统稳定临界点的下限值, opt Ck = minCk ,则工程费用功效系数模型为:

式中, ij 工序正常时间直接成本;βij ij 工序压缩费用增加率;ij 工序正常持续时间; tij ij 工序当前持续时间; ij 工序最短持续时间;α1 为奖罚系数;α2 为间接费用系数; Ck 为第 k 步项目费用。

《3.3 工程质量的量化及协同功效系数》

3.3 工程质量的量化及协同功效系数

在研究工程质量的量化时,为简便起见,假设单项工作的实际质量是实际持续时间的线性函数,且呈正比关系,即实际持续时间越短,实际质量越低。假定在正常的持续时间条件下,工作的质量能保证,其量化值为 1,则小于正常持续时间下的工作质量为小于 1 大于 0 的百分数,在此基础上建立模型进行研究。

根据系统协调度,工程质量指标具有正功效,工程正常工期对应的质量为 Qn ,看作系统稳定临界点的上限值,即:Qn =maxQk 。工程项目总工序在极限工期下对应的平均质量作为质量子系统稳定临界点的下限值,Qc =minQk ,则其对系统有序度的功效系数模型为:

式中,ri ij 工序赶工质量降低变化率;qijij 工序的质量; ij 工序最短持续时间质量;m 为工序数。

《3.4 工程项目资源协同功效系数》

3.4 工程项目资源协同功效系数

在研究工程资源协同功效时,为简便起见,只研究一种资源的情形。

工程资源均衡约束指标 具有负功效,工程正常工期对应的资源均衡方差为 ,看作系统稳定临界点的上限值,即: =max 。通过工程项目资源子系统不断优化得到一系列序参数值,将其中的最小值作为资源子系统稳定临界点的下限值 min ,则其对系统有序度的功效系数模型为:

式中,t 时刻需资源总和平方;为单位时刻需平均资源平方。

《3.5 工程项目多目标协同模型》

3.5 工程项目多目标协同模型

如前所述,项目管理即工程项目工期、成本、资源以及质量的多目标协同优化问题,根据工程工期、成本、质量及资源均衡功效系数公式(3)~(6),建立如下多目标规划模型。

Z 为工程项目多目标协同度; wTwQ wC 分别为工程工期、质量、成本、资源目标偏好权重。

《4 应用 PSO 解决多项目协同优化》

4 应用 PSO 解决多项目协同优化

《4.1 应用 PSO 解决项目协同优化方法》

4.1 应用 PSO 解决项目协同优化方法

在 MATLAB 环境中,粒子及其速度都采用实数编码[11] 。粒子参数编码格式如图 2 所示。其中, dimsize 表示参数维度。粒子群编码格式见图 3,其中 popsize 表示种群。

《图2》

图2 粒子参数编码格式

Fig.2 Coding model of particle parameter

《图3》

图3 微粒群编码格式

Fig.3 Coding model of particle swarm

对于加入惯性权重的标准 PSO 算法参数,一般给定学习因子 c′1 =c′2 =0.5 ,惯性权重 w 从 0.9 线性减少到 0.4,为第 d 维度粒子最大速度,也即搜索空间的宽度,根据实例确定算法微粒规模数。

《4.2 应用实例》

4.2 应用实例

某工程通过前期统计分析得网络计划见图 4,数据分析得初始表 1。

《图4》

图4 优化前的网络

Fig.4 Network before optimization

《表1》

表1 工程前期初始数据统计分析表

Table 1 Data analysis table of the project

表 2 为计算的总工期与间接费用。业主要求工程施工单位按照工期、质量、费用、资源均衡协同优化的原则施工,且业主对各目标偏好权重已知,为:

《表2》

表2 总工期与间接费用

Table 2 Total time and indirect cost of the project

求解该工程工期、质量、费用、资源最佳协同优化方案。首先根据已知条件,由初始网络计划图可知,工程原计划为 96 天,总费用为 73 560 元,工程原计划质量为 1。平均资源需要量为 Rm =22.56 。从而计算得初始网络计划的方差为:

另外根据已知条件可知,该工程项目关键工序为 1—3—4—6,极限工期为 58 天,也即项目工期子系统下限值为58;在极限工期下对应的平均质量,即工程质量子系统下限值为: Qc (0.85 +0.9 + 0.8 +0.7 +0.9 +0.83 +0.95 +0.9)=0.854 。根据以上参数建立优化模型如下:

对于 PSO 算法的参数,实例给定学习因子为 C1 =C2 =0.5,惯性权重从 0.9 线性减少到 0.4, 为搜索空间的宽度,微粒规模数为 100。应用 MAT LAB 编程,初始方案:

设定各个维度位移的范围满足约束条件。各维度粒子的速度也不能超过各自的最大速度。如果超过最大速度,则设定为最大速度。

初始化后,分别计算方案对应的工期、费用、资源均衡以及质量的功效系数,计算目标协调度函数值,然后用目标协调度来评价各例子,得出当前的 i =1,…,100 )与 。更新粒子,然后如此重复,直到满足停止条件(最大循环次数或者达到最优值的循环次数)。

应用 MATLAB 编程,循环 1 000 次,求得最优方案为(网络计划图见图 5):工程工期为 78 天,总费用为 72 560 元,工程质量为 98.8 %,工程资源均衡约束指标 为139.8,工程工期的功效系数为0.47,工程费用的功效系数为 1.0,工程资源均衡约束功效系数为0.29,工程质量的功效系数为 0.92,4 个子目标协同度为0.76,工程项目多目标协同程度较好。

《图5》

图5 优化后的网络

Fig.5 Network after optimization

《5 结语》

5 结语

表 3 为微粒群算法求解多目标协同过程中的几个方案,通过方案对比可以看出,项目最优方案 3,工程工期的功效系数为 0.47,方案 6 的工期功效系数为 1,方案 5 的工期功效系数为 0.89,都远大于方案 1;方案 3 的工程资源均衡约束功效系数为0.29,远小于方案 6 的工期功效系数 1;工程质量的功效系数为 0.92,而方案 2 的质量功效系数为 0.97,相比也有差距,但是方案 3 的 4 个子目标协同度为 0.76,该方案协调度最高,为最满意方案。而工期最短的方案 6,质量最高的方案 1 都不是最佳方案。

《表3》

表3 方案协同度比较表

Table 3 Degree of coordination comparison of the project optimization solutions

这说明,工程项目多目标协同优化过程中,片面考虑系统某一目标为整体目标,将削弱多目标协同优化的最后结果,即追求任一单目标最优的方案都不一定是最优方案。在工程项目的多目标优化中,要追求多目标的协同优化,而绝不是单一某一目标的最优。

总之,微粒群算法简单容易实现,且不容易落入局部最优,笔者等将其引入到工程项目多目标协同优化问题中,实例结果表明 PSO 可以准确、快速、简单地解决工程项目的质量、工期、费用和资源均衡的协同优化问题。