针对多项目管理中资源冲突的问题,本文提出以项目总成本最小和多项目工期最短为目标,任务可任意拆分外包,且有多个协作伙伴竞争的多项目并行柔性协作计划与调度模型;改进了NSGA-II算法求解模型,采用了包含任务协作比例、协作伙伴和优先级的三维染色体编码方案标识任务属性。通过工程实例验证,证明了模型的实用性和算法的有效性,该优化方法能够有效协调项目间资源分配,提高企业多项目管理效率。 To solve the resource conflict in the process of implementation of the multi-project management, a model of multi-project parallel scheduling with flexible competitive collaboration planning in which tasks can be outsourced arbitrarily and be competed among multiple partners was proposed to minimize the total cost of the projects and the duration of each project. According to the characteristic of the problem, this paper designed an improved NSGA-II algorithm for the sched-uling model, including the three-dimensional chromosome encoding scheme to identify the at-tributes of collaboration ratio, partners and priorities. With the practice project confirmation, the practicality of this model and the validity of this algorithm are verified. The optimization method can effectively coordinate the resource allocation among projects and improve the efficiency of multi project management as well.
朱翀,何志杰,薛 源,胡凯萱,张照岳,包振强
扬州大学,信息工程学院,江苏 扬州
收稿日期:2018年10月17日;录用日期:2018年11月2日;发布日期:2018年11月9日
针对多项目管理中资源冲突的问题,本文提出以项目总成本最小和多项目工期最短为目标,任务可任意拆分外包,且有多个协作伙伴竞争的多项目并行柔性协作计划与调度模型;改进了NSGA-II算法求解模型,采用了包含任务协作比例、协作伙伴和优先级的三维染色体编码方案标识任务属性。通过工程实例验证,证明了模型的实用性和算法的有效性,该优化方法能够有效协调项目间资源分配,提高企业多项目管理效率。
关键词 :多项目管理,协作计划,柔性,有竞争,并行调度
Copyright © 2018 by authors and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/
随着企业内部环境的转变以及外部因素的改变,传统的多项目管理已经不能很好的适应市场需求,国内企业的改革正在向施工设计总承包和专业总承包方向发展,逐步实现由现行的劳动力密集型向知识密集型、管理密集型的企业模型转变 [
假设共有N个独立项目,任务总数为n,项目集合为 P = { P i | i = 1 , 2 , ⋯ , N } ,每个项目包含 J i 个任务, W i j 表示项目 P i 中的j任务,任务均可任意拆分外协,如果任务外协,则有 M i j 个协作伙伴竞争,本文规定外包任务不允许转包,任务开工时即占用一定数量的某种关键资源,同一任务不可同时占用多种关键资源,任务结束时关键资源即被释放,当某种关键资源的全部数量被占用,其他任务不得占用。本文在满足逻辑约束和关键资源等各种约束条件的前提下,以项目总成本最少和项目工期最短为优化目标,实现多项目的并行调度并对协作计划方案进行整体优化。
本模型需要同时优化以下目标函数:
1) 项目总成本
V = ∑ i = 1 N ∑ j = 1 J i [ ( 1 − x i j ) ⋅ v i j + ∑ m = 1 M i j v i j m ⋅ x i j ⋅ H i j m ]
x i j = { 0 , x i j ≤ 0.2 1 , x i j > 0.8
其中 v i j 表示任务 W i j 的自制价格, x i j 表示任务
2) 项目工期
T i = ∑ i ∈ C i [ t i j ⋅ ( 1 − x i j ) + ∑ m = 1 M i j t i j m ⋅ x i j ⋅ H i j m ]
其中 T i 表示项目 P i 的工期, C i 表示项目 P i 关键路径上所有任务的集合, t i j 表示任务 W i j 的自制周期, t i j m 表示任务 W i j 的协作伙伴m的施工周期,任务外协部分需在自制部分完工后才可开工。
本模型需满足逻辑约束和单个项目工期约束 [
S a i ≥ S b j + T b j k , φ b j ≥ φ a i
其中 S i j 表示任务 W i j 的开工时间, φ i j 表示任务 的优先级, T i j 表示任务 W i j 占用关键资源的时间,当发生关键资源冲突时,优先级大的任务优先占用关键资源, φ i b ≥ φ i a 表示在同一项目中任务 W i b 优先任务 W i a 占用关键资源k, φ b j ≥ φ a i 表示在不同项目中任务 W b j 优先任务 W a i 占用关键资源k。
本文构造了一种结合差分进化算法 [
基于多项目协作计划特点,本文为每个项目的每个任务设计了三维染色体:1) 协作染色体。表示对应任务的协作比例,以0~1之间的随机数表示,规定任务仅有较低比例需要自制或外协时相应地完全自制或外协;2) 协作伙伴染色体。表示对应任务中标的协作伙伴h,本文设定每个任务有三个协作伙伴参与竞标,h为1~3之间的随机整数。3) 优先级染色体。表示对应任务的优先级 φ , φ 为1~n之间的随机整数,规定数字不允许重复,当任务发生关键资源冲突时,优先级大的任务优先占用关键资源。染色体编码方案如图1所示:
图1. 三维染色体编码方案
由图1可见,任务 W 12 的外协比例为0.5,协作伙伴1中标,优先级为3,而任务 W 21 的外协比例为0,协作伙伴3中标,优先级为18,当任务 W 12 和任务 W 21 发生关键资源冲突时,任务 优先占用关键资源,以此类推。
本文设计的三条染色体具有不同特征,对其采用的交叉与变异操作分别如下。
1) 协作染色体
针对多项目的各个任务均可任意拆分外协的特性,本文基于具有自适应算子 [
λ = e 1 − G m G m + 1 − G , F = F 0 ⋅ 2 λ (1)
其中 表示变异算子, G m 表示最大进化代数,G表示当前进化代数。
其中 r a n d ( 0 , 1 ) 表示0~1之间的随机数。
2) 协作伙伴染色体
本文对协作伙伴染色体选择单点交叉策略,以及随机变异策略。
3) 优先级染色体
针对任务优先级不允许重复的特性,选择SEC交叉策略 [
1) 随机生成种群规模为 N p 的初始种群 P 0 ;
2) 通过基于改进的拓扑排序的并行调度算法得到对应的目标函数值,再对初始种群按照支配等级和拥挤距离进行非支配排序;
3) 设当前进化代数为 d = 1 ;
4) 从父代种群中选择较优的子种群 Q 1 ;
5) 基于差分进化算法对父代种进行交叉、变异操作,得到新种群 Q 2 ;
6) 合并两个种群得到 Q = Q 1 ∪ Q 2 ,对Q计算目标函数值并进行非支配排序(参照步骤2),基于精英保留策略从中选择较优的 N p 个个体,得到子代种群 P t ;
7) 令 d = d + 1 ,如果 d ≤ G max ,跳至步骤3;否则,进行步骤8;
8) 保存运行结果,输出Pareto最优解集,并根据决策者偏好输出对应调度计划的甘特图,算法终止。
算法参数设置如下:种群规模 ,交叉概率 P c = 0.9 ,变异概率 P m = 0.1 ,最大进化代数 i max = 500 ,其他参数略。将本文模型及其算法应用于Z建筑公司承包的2个项目,项目A共有16个任务,项目B共有13个任务,对这29个任务依次连续编号,表1,表2表示项目A和B实施过程中任务的相关信息。图2为程序运行后生成的多项目多目标Pareto最优解集和数据插值生成的三维Pareto最优边界曲面,选取了一种多项目并行调度方案生成的甘特图如图3所示,表3抽取了部分具有代表性的Pareto最优解集。
为验证模型及算法效果,在相同参数下,采用基本NSGA-II算法求解任务有条件拆分外协的多项目并行协作计划与调度模型,结果如表4所示。对比结果可知,采用本文设计的新型算法求解模型所得的项目总成本更少且项目工期更短,优化效果更加出色。由于工期和成本之间存在制约关系,无法进行同时优化。外协任务数量增多,项目工期下降,项目总成本上升,而自制任务数量的增多则会导致项目工期上升,项目总成本下降。因此,项目承办方需结合实际情况选择合适的协作伙伴组合以及调度方案。若项目承办方希望完工周期最短且预算足够,可选择方案1;若要求项目成本最低,且拖期对工程影响很小,可选择方案4;若项目承办方希望项目A尽快完工,可选择方案2;若希望项目B尽快完工,可选择方案3。
图2. 多目标Pareto最优解集和Pareto最优边界曲面
图3. 多项目调度甘特图
任务编号 | 紧前任务编号 | 关键资源占用量 | 自制成本/万元 | 自制周期/周 | 外协成本/万元 | 外协周期/周 | ||
---|---|---|---|---|---|---|---|---|
R1 | R2 | R3 | ||||||
J 1 | 3 | - | - | 420 | 5 | (670,770,800) | (4,3,2) | |
J 2 | J 1 | - | 4 | - | 983 | 8 | (1400,1300,1540) | (6,7,5) |
J 3 | 3 | - | - | 2188 | 15 | (2500,3000,3100) | (14,9,7) | |
J 4 | J 3 | - | - | 4 | 815.7 | 6 | (950,1000,1288) | (5,4,3) |
J 5 | J 3 | - | 2 | - | 1300 | 11 | (1500,1700,1800) | (10,8,6) |
J 6 | 4 | - | - | 950 | 7 | (1000,1300,1400) | (6,5,3) | |
J 7 | J 4 | 3 | - | - | 1856 | 10 | (2000,2200,2300) | (7,4,3) |
J 8 | J 5 | - | - | 2 | 693.93 | 6 | (830,900,1000) | (5,4,3) |
J 9 | J 6 , J 7 | - | 3 | - | 640.32 | 6 | (680.34,700,800) | (5,4,3) |
J 10 | J 8 , J 15 | 1 | - | - | 1200.9 | 13 | (1400,1500,1600) | (9,8,6) |
J 11 | - | 3 | - | 777.35 | 7 | (800,1000,1200) | (6,5,4) | |
J 12 | - | 4 | - | 1835.84 | 14 | (2000,2300.34,2500) | (8,6,5) | |
J 13 | J 10 | - | - | 5 | 969.87 | 10 | (1100,1235.43,1300) | (8,7,6) |
J 14 | J 12 , J 16 | 3 | - | - | 500 | 6 | (600.5,700.34,800) | (5,4,3) |
J 15 | - | 2 | - | 930 | 7 | (980,1200,1300) | (6,5,4) | |
J 16 | J 11 | - | - | 4 | 967 | 8 | (1000,1300,1500) | (7,6,5) |
表1. 项目A任务逻辑关系约束、关键资源占用量和完全自制和外协条件下的成本和周期
任务编号 | 紧前任务编号 | 关键资源占用量 | 自制成本/万元 | 自制周期/天 | 外协成本/万元 | 外协周期/天 | ||
---|---|---|---|---|---|---|---|---|
R1 | R2 | R3 | ||||||
J 17 | 3 | - | - | 1263.79 | 13 | (1400,1800,2000) | (11,9,6) | |
J 18 | J 19 | - | 4 | - | 113.36 | 5 | (140,200,180) | (4,2,3) |
J 19 | J 18 | - | - | 5 | 1006.56 | 8 | (1100,1300,1500) | (5,4,3) |
J 20 | J 18 | - | - | 3 | 604 | 6 | (900,700,860) | (2,4,3) |
J 21 | J 18 | - | 3 | - | 230.4 | 4 | (300,400,450) | (4,3,2) |
J 22 | J 19 , J 20 | 4 | - | - | 841.4 | 4 | (888.7,943.5,1100) | (5,4,3) |
J 23 | J 19 , J 20 | 3 | - | - | 67.5 | 4 | (100,130,200) | (3,2,1) |
J 24 | J 19 , J 20 | - | - | 3 | 460.1 | 6 | (500.1,600,700) | (5,4,3) |
J 25 | J 21 | - | 4 | - | 602.9 | 6 | (650,700,800) | (5,4,3) |
J 26 | J 22 , J 23 , J 24 | 2 | - | - | 138.9 | 4 | (200,300,250) | (2,1,3) |
J 27 | J 26 | - | 3 | - | 292.8 | 4 | (350,400,500) | (3,2,1) |
J 28 | J 27 | - | 4 | - | 500 | 4 | (600,800,1000) | (3,2,1) |
J 29 | J 28 | - | 3 | 380 | 7 | (450,500,600) | (6,5,3) |
表2. 项目B任务逻辑关系约束、关键资源占用量和完全自制和外协条件下的成本和周期
方案 | 项目总 成本V | 项目A 工期T1 | 项目B 工期T2 | 任务协作比例及中标协作伙伴 W i j ( x i j / m ) | 任务优先级 φ i j |
---|---|---|---|---|---|
1 | 32173 | 47 | 39 | 1/3 1/3 1/3 1/2 0.8/2 1/1 1/2 1/2 1/3 1/3 1/3 1/3 1/2 1/3 1/3 1/3 1/3 1/2 1/1 0.7/2 1/1 1/3 1/3 0.6/1 0.7/3 0.7/2 1/3 1/3 1/3 | 12/20/24/28/25/11/5/15/8/3/19/1/18/27/23/2/7/17/14/4/26/6/9/22/13/29/21/16/10 |
2 | 31862 | 44 | 53 | 1/3 1/1 1/3 0.6/3 1/2 1/2 1/2 1/2 1/3 1/3 1/3 1/3 1/2 1/3 1/3 1/3 1/3 0.7/3 1/2 1/2 0.3/3 1/3 0.7/3 0.6/1 1/3 0/1 0.6/3 0.2/1 1/1 | 26/12/24/28/27/5/15/8/20/18/19/21/13/1/25/23/7/17/10/4/6/16/14/3/2/22/9/11/29 |
3 | 32090 | 48 | 38 | 1/3 1/1 1/3 0.7/3 1/2 0.6/2 1/2 1/2 1/3 1/1 1/3 1/3 1/2 1/3 1/3 1/3 1/3 1/2 1/1 1/2 1/1 1/2 1/3 0.5/1 0.7/3 0.7/2 1/3 1/3 1/3 | 8/12/11/24/5/15/3/20/28/14/19/1/18/27/23/2/7/4/26/6/22/13/9/10/25/16/21/17/29 |
4 | 23530 | 106 | 86 | 0/2 0/2 0/1 0/2 0/3 0/2 0/1 0/3 0/2 0/1 0/3 0/1 0/2 0/3 0/3 0/1 0/2 0/2 0/1 0/1 0/2 0/2 0/1 0/3 0/3 0/1 0/1 0/3 0/3 | 24/28/4/5/23/6/9/19/18/7/26/17/11/13/14/20/12/29/25/3/1/22/15/8/2/16/10/27/21 |
表3. 多项目并行柔性协作计划与调度模型的Pareto部分最优解集
本文在研究资源受限下多项目并行协作计划与调度的基础上,考虑多个协作伙伴竞标任务且任务均可任意拆分外协的情况,建立了有竞争的多项目并行柔性协作计划与调度模型。针对模型特点,设计了一种改进的NSGA-II算法求解,其中三维染色体的编码方案可标识多种任务属性(任务协作比例、协作伙伴和优先级),解码时采用结合信号量机制的拓扑排序算法,并引入差分进化算法对染色体的变异和交叉操作进行改进,最后,通过工程实例验证并与其他算法进行比较,验证了模型的实用性和算法的有效性。
方案 | 项目总 成本V | 项目A 工期T1 | 项目B 工期T2 | 任务协作比例及中标协作伙伴 W i j ( x i j / m ) | 任务优先级 φ i j |
---|---|---|---|---|---|
1 | 32320 | 47 | 39 | 1/3 1/3 1/3 1/2 1/1 1/3 1/2 1/1 1/3 1/3 1/2 1/3 1/3 1/3 1/3 1/3 1/3 0.5/3 0.5/2 0.5/1 1/1 1/3 1/3 1/2 1/2 1/1 1/3 1/2 1/3 | 21/18/7/24/1/8/4/21/5/13/14/10/25/26/2/11/20/15/3/17/9/6/22/28/12/16/27/23/29 |
2 | 32028 | 45 | 52 | 1/3 1/3 1/3 0.5/2 0/2 1/3 1/2 1/1 1/3 1/3 1/2 1/3 1/3 1/3 1/3 1/3 1/3 1/3 0.5/3 0.5/2 0.5/1 1/1 1/3 1/3 1/3 1/2 1/3 1/2 1/3 | 16/24/20/17/23/11/2/13/9/10/22/11/4/12/27/14/7/3/6/29/1/21/25/8/5/26/18/19/15 |
3 | 32210 | 48 | 39 | 1/3 1/3 1/3 1/2 1/1 1/3 1/2 1/1 1/3 1/3 1/2 1/3 1/3 1/3 1/3 1/3 1/3 1/3 0.5/2 0.5/1 0.5/1 1/3 1/3 1/3 1/2 1/1 1/3 1/2 0.5/3 | 21/18/7/24/1/8/4/21/5/13/14/10/25/26/2/11/20/15/3/17/9/6/22/28/12/16/27/23/29 |
4 | 23530 | 98 | 107 | 0/3 0/1 0/3 0/2 0/1 0/2 0/3 0/1 0/3 0/3 0/2 0/3 0/1 0/3 0/1 0/3 0/2 0/2 0/2 0/1 0/3 0/1 0/3 0/3 0/3 0/2 0/2 0/2 0/1 | 10/19/12/20/16/21/11/2/25/24/23/28/22/9/29/17/8/4/5/1/27/13/26/7/6/14/15/18/3 |
表4. 多项目并行协作计划与调度模型的Pareto部分最优解集
扬州大学信息工程学院2018年校大学生科创基金项目(x20180309),扬州大学创新创业学院2018年大学生创新创业训练计划项目(C201811117013Y)。
朱 翀,何志杰,薛 源,胡凯萱,张照岳,包振强. 有竞争的多项目并行柔性协作计划与调度模型研究 Research on a Model of Multi-Project Parallel Scheduling with Flexible Competitive Collaboration Planning[J]. 管理科学与工程, 2018, 07(04): 225-232. https://doi.org/10.12677/MSE.2018.74026