1. 引言
为适应全球政治、经济形势以及社会需求的快速变化,也为企业今后可持续发展奠定坚实的基础,企业需由单项目管理向项目群管理的转型。研究表明,超过80%的企业采用多项目环境来执行工作,并在不同项目间共享资源[1]。换句话说,相对于单项目管理,当今企业更多的是针对拥有共同战略目标的项目群管理与运营。据统计,至少有90%的项目经历了多项目共存的复杂管理环境,而资源受限、项目目标间冲突的项目运营现实尤为棘手。在过去的几十年间,许多学者都深入研究和探讨了项目群管理的概念、原则与技术,并论证了科学的项目群管理可以显著降低风险、推动创新并提升企业绩效等。文章从项目群的内涵出发,随之对项目群管理目标进行回顾、分析,然后对项目群资源及其调配方法展开分类梳理,最后根据研究现状,总结其趋势并针对现有问题进行评述。
2. 国内外研究现状
2.1. 项目群定义与内涵
项目群管理发展可以追溯到20世纪80年代,由PMI成员提出,项目群管理强调的是项目的关联性和协作性,需要协调不同项目之间的关系,将多个项目及其要素有机集成并系统化,确保整个组织的战略目标得到实现[2]。这些项目个体通常有着明晰而一致的战略目标与组织目的,只不过在具体执行和实施阶段上会存在一些差异,尽管它们各自有着独特的目标,但最后也都会为项目群的共同目标努力。全国项目管理标准化技术委员会于2019年发布的关于项目群和项目联合管理方面的指导性意见GB/T 37490,其认为在不确定环境中,实施项目群管理可以获得与企业战略一致的项目群目标,满足管理方期望,实现投资收益最大化,并优化组织能力与资源配置能力[3]。
常见的与项目群管理含义相近的概念还有多项目管理与项目组合管理,它们在内涵与理论层次有异同,同时也相互关联[4]。多项目管理指在一个组织中同时进行多个项目的规划、执行和监控的过程和方法。它需要考虑如何分配资源,如何控制进度,以及如何管理风险等问题,同时也需要协调各个项目之间的关系[5];其内涵包含项目群管理与项目组合管理,但其不要求项目间的关联性,允许项目间彼此独立。而项目组合强调在企业战略目标的牵引下,统筹可利用的资源,进行多项目或项目组的选择与整合[4] [6],被组合的对象可以包含项目群,但对象间不一定指向相关或者彼此依赖(图1)。
Figure 1. Interconnections among different project management theory hierarchy
图1. 不同项目管理理论层次关联
2.2. 项目群管理与调度目标
工程项目群的目标包括:满足多个项目的共同资源约束、实现多个项目的共同目标战略和产出多个项目所具有的共同功能产品。对应于工程项目群的目标,工程项目群类型可以划分为面向战略型、面向资源约束型和面向产品型三种。本文研究的重点是面向资源约束型的项目群管理。
资源受限的项目调度问题,即RCPSP (Resource Constrained Project Scheduling Problem),作为一个典型的NP-Hard问题,始终项目管理执行层与运筹学研究领域关注的焦点。基于RCPSP的资源受限多项目调度问题RCMPSP (Resource Constrained Multi-Project Scheduling Problem)自20世纪70年代提出后,引起学术界与产业界的广泛关注[1] [7] [8]。相对于RCPSP针对单项目的单目标或者多目标进行优化,RCMPSP除了对多项目中的单项目进行目标优化外,还需要对多项目的统一战略目标或者整体协同目标进行优化。
对于不同的项目,有的管理者更偏向于按时完工,有的更偏向于成本控制,也有管理者更偏向于其他目标。正因为管理者不同的目标追求,才会有多目标问题的出现,一般的文献是考虑双目标或三目标。刘万琳等学者,从承包商企业的整体收益最大化立场出发,假设可从外部获得共享资源,并以净现值(NPV)最大化为目标,构建了一个针对分散式多项目调度的整数规划模型,其中共享资源受到柔性约束;经过求解和实验验证,该模型的有效性得到充分证实[9];王莹莹等学者,在全面分析多能工的多项技能及其技能熟练度对任务完成时间的影响后,构建了一个多目标整数非线性规划模型,旨在最小化多项目的总工期,并同时达成多技能工人之间工作量的平衡分配[10]。Hongwei Zhu等学者,为了满足装配过程建立有效的检测与返工调度的需求,建立了一种,以期望完工时间和解的鲁棒性为目标的加权双目标混合整数规划模型[11]。张纪康研究了工期不确定下的多目标资源受限项目调度问题,以工期、成本和鲁棒性作为三个求解目标,并基于改进了拥挤度计算的NSGA-II算法,对H公司的项目进行了建模与求解[12]。张照岳针对技能工人工作效率提高这一问题,引入学习曲线对工人的工作效率进行预测,使求解出的项目工期更贴近实际,构建了以项目工期、人力资源成本以及技能分值提高量为优化目标的工人工作效率提高的多目标项目计划与调度模型。仿真实验结果表明,在项目进行中考虑工人工作效率提高,并基于提高后的熟练度对参与项目的工人进行派工,可提高工人的收入并调动其积极性[13]。薛松等为优化服务类企业小型多项目有限资源利用问题,考虑人力资源技能增长并构建了工期与技能进化复合目标模型,设计了多种群遗传算法并验证其优势[14]。
综合以上国内外文献情况,资源受限项目调度多目标问题研究主要考虑工期、成本、鲁棒性、工作均衡,员工技能增长率等目标函数,见表1。
Table 1. Summary of project portfolio objective functions
表1. 项目群目标函数总结
序号 |
目标 |
举例 |
1 |
工期 |
最短项目工期 最小项目拖期 |
2 |
成本 |
最小资源成本 最大项目净现值 最小延期惩罚成本 |
3 |
鲁棒性 |
最大项目计划鲁棒性 最小项目计划风险 最高交付质量 |
4 |
均衡度 |
最小员工工作量偏差 最佳项目间技能均衡 |
5 |
技能增长度 |
最大人力资源技能增量 最佳员工学习效果 |
2.3. 项目群资源类型与人力资源调配
项目群管理旨在最大程度地提高企业战略性整体利益,传统的项目管理仅针对单个项目,而项目经理仅负责其所在的项目,其视角被限制在了自己管理的项目中,每个项目都希望能获取尽可能多的资源来实现项目的成功,产生了资源的争夺,这样一来往往只能实现某个项目的利益最大化而不利于整体效益最大化,同时也会加剧不同项目或者不同部门间的冲突,最终导致资源不足和进度安排不合理。从项目群管理的视角出发,Suvi Elonen实施了调查,旨在评审当前企业在项目群管理中遇到的问题,并对影响因素按重要性排序。调查结果显示,“不合理的资源分配和资源短缺”问题以24%的比例位列第二重要因素。由此可见,梳理项目群资源类型、特点,并优化项目群资源调配的需要已迫在眉睫[15] [16]。
RCMPSP的资源按照作用域分为本地资源与全局资源,又称私有资源与共享资源。私有资源为某个项目独享资源,在实际的项目群实践中,鉴于全局资源的可共享特征和有限的供应状况,各个子项目对这些资源的需求和争夺显得尤为激烈,这使得有限的全局资源成为约束各子项目达成业务目标的关键因素[9];按照资源是否可更新,可分为可更新资源与不可更新资源,如表2所示。目前的研究主要集中在探讨具有较高价值且可更新的共享资源限制问题,鲜有不可更新资源限制的研究。近期,关于RCMPSP的研究进展集中在利用柔性资源和考虑资源重新分配的时间与成本两个方面[17]。
在众多项目资源中,人力资源是相对特殊的柔性资源,因为人的技能可以是复合的(多技能工),能胜任不同工种与任务;也可以通过学习培训等渠道,完成技能掌握面的提升;同理,技能也会被员工遗忘,甚至员工也会调动或离职。
Table 2. Summary of project portfolio resource types
表2. 项目群资源类型总结
划分依据 |
类型 |
举例 |
作用域 |
私有资源 |
单项目独享的人、机、料、信息等资源 |
共享资源 |
项目群共享的人、机、料、信息等资源 |
能否更新 |
可更新资源 |
设备、人力、信息资源等 |
不可更新资源 |
资金、原材料等 |
复合度 |
柔性资源 |
能胜任不同技能、任务的设备、设施等,如多技能员工,综合加工车间 |
非柔性资源 |
只能完成单一任务的人力、设备、设施等 |
陆志强等在分析企业中人力资源技能短缺对项目进度和资源分配产生的影响时,提出了创新策略:通过柔性技能升阶的项目组合优化调度,实现了项目任务安排与人力资源培养的集成建模研究。该方法在满足生产需求同时,以更低的成本和更快的速度培养出符合要求的柔性人力资源[18]。陈蓉等学者,为解决多技能员工的离职对新产品研发项目组合调度概率引发的严重影响问题,以多技能研发人员为研究对象,运用离散马尔可夫链理论来描述其离职过程。同时,综合员工培养长远收益最佳、研发周期最短以及研发成本最低等目标,提出一种新品研发项目组合调度的随机多目标约束优化模型[19]。James Chen等针对大型装备制造企业的实际情况,基于遗传算法提出了一种多项目调度和多技能劳动力分配的方法,并通过田口方法找到最佳参数设置,最后对相关决策参数进行了敏感性分析[8]。张照岳、郑继光、王莹莹等学者,均对项目调度过程中,多技能人力资源的技能水平与变化率进行了评价与量化,建模后对同一算例求解结果表明,考虑人力资源的技能水平变化,以及可供调配的人力数量变化等情况,更贴近实际的项目调度情况,尤其是以人工投入为主的工序,并更能平衡员工间的工作负载,提升员工满意度与积极性[10] [13] [20] [21]。
2.4. 多目标调度与求解方法
根据对文献的总结,目前RCMPSP的求解方法主要分为三种(见表3):元启发式、启发式与精确算法,实现方法因算法而异。然而,鉴于RCMPSP问题本质上是NP-hard类型的,对于任务量庞大的项目,精确算法无法在合理的时间内求得最佳解决方案;而启发式算法相比元启发式算法(Metaheuristic Algorithms, MAs),普遍求解效率更差,目前已不再是研究热点,但其算法直观且易于理解,为目前多数商业项目管理软件及项目经理实践所采用,亦可用于为元启发式算法产生初始解。取而代之的,使用元启发式算法求解RCPSP与RCMPSP是当前的研究重点。
Table 3. Summary of solution methods RCMPSP
表3. RCMPSP求解方法总结
序号 |
类型 |
举例 |
说明 |
1 |
精确算法 |
分支定界法、分解(列生成、行生成)、动态规划 |
不适用于大型项目 |
2 |
启发式算法 |
串行调度生成方案(SSGS)、 并行调度生成方案(PSGS)、优先规则 |
算法逻辑直观, 但求解效率较差 |
3 |
元启发式(智能)算法 |
遗传算法、粒子群算法、模拟退火、 禁忌搜索、蚁群算法等 |
对项目调度求解效果较好, 求解算法研究领域重点对象 |
类似于调度目标中,比单项目多了一个整体协同目标,基于优先级规则PR (Priority Rule)的RCMPSP的求解过程一般需要先基于战略层与策略层制定的优先级评价体系,确定多项目中各项目的优先级。然后使用基于优先级的启发式算法,如关键路径法CPM,关键链法CCM,还有智能优化算法(或者它们的变种及组合),与其他创新方法,对多项目计划进行调度寻优。Kanchan Rajwar [22]等学者在对元启发式算法进行回顾与综述时,基于谷歌学术截至12月底的文献引文统计发现(见图2),最受欢迎的前两种算法是粒子群、遗传算法,其余排位依次是蚁群、差分进化、模拟退火、禁忌搜索、灰狼优化、人工蜂群、布谷鸟搜索、和声搜索算法。
Figure 2. Citation count and ranking of MAs
图2. 元启发式算法引文数统计与排序
元启发的概念是通过模仿自然现象或生物行为来创建算法来解决优化问题[23];例如,遗传算法(GA)灵感来源于达尔文进化论中的自然选择和生物遗传机制;模拟退火(SA)受到固体退火原理的启发;粒子群优化(PSO)是从鸟群中鸟类的相互作用行为中衍生出来的;蚁群优化(ACO)模仿蚂蚁在寻找巢穴和食物源之间的最短路径时的行为。表4展示了常用元启发式算法的更多特征。
Table 4. Comparison of common MAs
表4. 常用元启发式算法比较
算法 |
参数 |
关键操作 |
应用领域 |
优缺点 |
PSO |
5 |
粒子位置和速度更新、 个体极值和全局极值更新 |
神经网络训练、 模式识别、工程优化问题 |
快速收敛,适合于连续空间的优化 问题;平衡了全局和局部搜索; 对于离散问题需要特殊处理 |
GA |
3 |
选择、交叉、变异、 适应度计算、新一代种群生成 |
函数与组合优化、 神经网络训练 |
较强全局搜索能力,适用于复杂和 多峰问题,但容易陷入局部最优 |
ACO |
5 |
信息素的沉积与挥发、 路径选择与更新 |
旅行商(TSP)、车辆路径(VRP)、 物流调度等问题 |
信息素的正反馈机制利于找到 全局最优解;收敛速度慢, 大规模问题消耗资源多 |
SA |
2 |
解的生成、 能量计算、接受准则 |
移动网络分配、 柔性制造系统与路径规划等 |
控制温度参数平衡全局搜索和 局部开发;收敛速度依赖于 精心设计的冷却计划 |
针对项目群多目标调度,选择元启发式算法时,需要考虑问题的特性,包括规模、优化目标、解空间结构等。对于具有多个峰值的复杂优化问题,拥有较好的全局搜索能力的遗传算法和蚁群算法可能是较好的选择。而对于需要快速收敛和简单实现的问题,粒子群算法可能是一个有效的选择。
何华等在共享可更新与私有不可更新双重资源约束下,以净现值(NPV)最大化为调度目标,通过构建其优化模型并设计三层嵌套的禁忌搜索启发式算法进行求解,实证了其相对原生禁忌搜索算法的先进性[24]。陈浩杰等学者,针对优先级规则调度中缺乏优化能力,提出了一种改进的超启发式遗传规划算法,其有效性和适用性通过采用以PSPLIB标准数据集为基础构建的案例以及飞机装配生产线实际的资源受限的多项目调度得到了证实[25];王海鑫等学者,为了解决标准粒子群算法过早收敛并影响优化结果的问题,提出了一种具有动态变惯性权重的自适应粒子群优化(DCWPSO)方法,该方法被应用于以多项目加权工期最小化为目标的模型求解中,并通过使用标准测试函数和具体算例对其优越性进行了验证[26];张亚鹏学者,设计了一种混合蚁群算法,并对以项目群延迟惩罚成本、可更新资源空置成本以及可更新资源转移成本之和为目标函数的模型进行求解,并通过实验论证了该模型的优越性[27];徐振宇学者,以S企业并行的三个项目为主要工作实例,通过交货期惩罚方法对任务的优先顺序,并利用启发式方法在考虑资源约束因素的前提下选择关键链,由此得到了三个没有技术问题的关键链,并分别设置了三个项目的缓冲区,从而达到了企业总工期的最短化目标[28];Tian,M等学者,结合改进的关键链CCM和不同的分层调度目标,提出了具有分层策略的关键链资源约束多项目调度模型,作为求解多项目调度计划的一种方式,并证明了模型的有效性[29];Félix,V等学者,提出了一种新颖通用RCMPSP算法——P-SGS/MIN-SLK,并证实了其然简单,但在16%的情况下优于库中公布的其他算法,在27%的情况下保持了最好的结果[30]。
3. 发展趋势
1) 更为贴合项目运作实践
项目群调配决策变量的不确定性的考量,项目计划的鲁棒性的优化,柔性人力资源技能对生产过程与结果的重要度,以及不同工序多种可能执行模式对调配结果的影响等,正在被越来越多的研究者关注[1] [17]。既往的项目群资源调配研究中,最常用的假设是在确定性条件下求解问题,包括决策变量既定属性常被广泛假定,忽视了调度执行中的决策变量的随机性,或其他周边因素的随机事件导致的计划波动。如假定的某一道工序其完成时间是固定的,或在考虑了缓冲区后的一定周期内能完成,但其依赖的物料延迟到达、其前置任务的延期均造成该工序完工的不确定性;如假定员工的技能熟练度是固定的,或技能水平与产出水平往往是线性正相关的,忽视了员工的技能变化,概率人事变动等因素[19] [31]。
2) 更为符合社会发展需要
传统的工程项目优化问题多为单目标优化问题,由于现代项目的复杂性和不确定性,要实现项目群管理的改进,必须同时考虑多个不同的因素与目标,而它们之间甚至存在彼此冲突的关系。越来越多的研究者开始从同时优化期望的多目标的角度来尝试多项目改进,即多目标优化。但以往使用最多的是那些与经济方面或项目完成时间相一致的目标,而不强调产生对自然友好的生产过程资源使用[32],如碳排放最少,资源利用率最高等。从这个意义上说,在追求减少资源消耗或甚至在一定时间内减少和平衡任何资源等目标的同时,可能需要增加对不可再生和部分可再生资源的研究。此外,研究和促进诸如最小化闲置资源或实际环境中的流程库存等目标的使用,可以实现有效的资源利用[1]。
4. 评述
综合项目群内涵、管理与调度目标、资源类型与人力资源调配、多目标调配与求解方法等四方面系统梳理国内外研究成果,做出如下评述:
1) 目前国内外关于项目群资源调度优化的研究已经取得了一定的成果,关于柔性人力资源的调配优化亦愈发受到重视,但当前大部分的研究都是假定项目中每项任务的持续时间是确定值的前提下构建模型并求解的。以软件项目群为例,软件作为一种高度定制化的知识型产品,与普通的工业产品依靠机械的重复工作不同,其研发主要依赖于软件工程师的脑力劳动。而软件工程师作为一种具有动态性和不确定性的非物质资源,很难将其视为传统调度问题中的机械资源进行调度分配[21]。在真实的软件项目研发过程中,研发环境存在着两方面的动态性:其一是研发过程中,人员的学习/遗忘效应、内在驱动力等导致其技能水平处于一个浮动的状态;其二是研发期间动态事件的发生会导致原调度方案无法达到期望的执行效果,包括技术瓶颈、需求变更、人事变动、上游拖期等。这都提高了软件项目的调度难度,当前的研究鲜有提及类似不确定性下的保障措施,即便在制定计划初期出于鲁棒性的考量而添加了部分缓冲区,若未能及时攻克技术瓶颈等异常事件,依旧容易造成计划延期。因此在考虑项目群调度计划的鲁棒性同时,提出并制定调配模型外的保障管理措施,对如期、达标交付尤为重要。
2) 现有的项目群人力资源调配研究中,都约定了同一时段内员工只能使用某种技能,参与某一个任务,虽允许人力资源在不同工序、不同子项目间调配,但基本不考虑人力资源在技能、工序、项目间切换,转移时的成本[13] [20] [21];仍以软件项目群为例,涉及员工的技术栈、开发环境等切换,以及对新任务或项目,包括产品需求、技术方案、项目计划、周边协作等事项在内的熟悉与适应。因此,调配计划除了对员工技能等级有硬性要求,实际上也受员工适应能力、协作能力等综合素质的影响;对人力资源进行定量评估时,综合评价会更为合理与贴近实际。而为了简化调配模型而忽略转移成本时,若有调配模型外的保障管理措施,能确保被忽略因素影响度最小,将提升调配计划的实用性与鲁棒性。
3) 现有的项目群资源调配文献中,部分学者已经着手研究通过搭建基础方案与产品平台,实现共性化研发与技术复用,辅助项目群的资源调配优化[33] [34];对于技术驱动的中小型企业而言,自研产品基线与客户项目的双线推进均为刚需;但作为企业内部驱动的,不直接产生经济收益的共性化研发项目,鲜有学者将其纳入项目群中同时管理与实施调配优化。