CN109636205A - 一种研发项目组合中多技能人员调度方法 - Google Patents
一种研发项目组合中多技能人员调度方法 Download PDFInfo
- Publication number
- CN109636205A CN109636205A CN201811547800.XA CN201811547800A CN109636205A CN 109636205 A CN109636205 A CN 109636205A CN 201811547800 A CN201811547800 A CN 201811547800A CN 109636205 A CN109636205 A CN 109636205A
- Authority
- CN
- China
- Prior art keywords
- project
- employee
- ant
- task
- technical ability
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明的一种研发项目组合中多技能人员调度方法,可解决研发项目组合中多技能人员调度决策复杂性高、难度大的技术问题。主要内容包括按照传统串行进度生产机制生成项目组合中多技能人员调度的初始方案;考虑人员的学习效应建立项目组合多技能人员多目标调度模型;当考虑学习效应和多个调度目标时,运用多目标改进蚁群算法对所述多技能人员多目标调度模型进行迭代求解,获得Pareto解集合;针对上述Pareto解集,采用逼近理想解排序法求得模型的最优解,以此作为项目组合多技能人员多目标调度问题的人员配置方案。本发明在传统项目人员调度模型考虑成本和工期的基础上,进一步考虑人员学习效应,增加人员技能培养决策目标,实现模型的快速求解,满足企业管理者的决策需求。
Description
技术领域
本发明涉及方法优化技术领域,具体涉及一种研发项目组合中多技能人员调度方法。
背景技术
IT产业是一个随着科技发展而形成的高技术产业,包括软件、硬件、网络、电子商务等高新技术公司。对于高技术产业来说,IT产品开发能力体现了产业中公司的核心竞争力,IT产品开发活动是公司的主要生产活动。随着科技的快速发展,IT产品的结构和功能越来越复杂。要成功地开发一种IT产品,通常需要将复杂的活动组织成多个项目以更方便、有效的管理。由此,具有统一目标的多个开发项目的集合也便形成了项目组合。IT产品开发项目组合是指为完成一个新产品开发任务而集中在一起管理的项目集合。它通常包括多个软件项目和硬件项目。每一个项目包括多个任务,这些任务需要特定的技能去完成。在进行项目组合调度时,由于各项目之间的关系以及各项目中任务之间的关系导致大量约束和启发规则的产生,从而使得调度问题的复杂性超过了一般性资源受限项目调度问题。
对于产品研发来说,技术员工是IT公司的关键资源。然而,有经验的技术人员对于IT公司来说通常是非常稀缺的,外部招聘人才又比较困难,因此,内部人才培养成为IT公司人才培养的一个主要战略。对于很多IT公司来说,常用的内部人才培养方法是让技术和经验水平较低的员工多参与实际研发活动,从而获得技能的提升。内部人才培养的理论依据为学习效应理论,也即人某方面的能力能够通过学习而提升。因此,当一个研发经理在进行项目决策时,人才培养通常被用来作为一个主要的决策目标。然而,低技能水平员工的使用却会带来一些不利后果,如导致项目开发周期的延长和产品开发质量的降低。例如,对于一个软件开发项目来说,一个高技能的开发员工发展通常花在开发上的时间更短,而且开发的软件产品一般代码简洁且软件故障较少。由于开发时间和产品质量是市场和客户的主要要求,在调度的过程中通常需要考虑这两个目标。由此可见,对研发经理来说,这种内在的多目标调度优化问题的本质增加了IT产品开发项目组合调度的难度。此外,由于IT公司的产品开发人员通常是多技能人员,也即一个员工通常掌握多种开发技术,这也大大增加了调度问题的复杂性。多技能员工的普遍性,主要有两个原因:一是随着通信技术和多样化学习媒体的发展,信息技术专业人员的学习能力不断提高,二是拥有一项以上技能的人在招聘过程中更有可能得到公司的青睐,尤其是在IT行业。尽管多技能员工的存在增加了人员安排的灵活性,能够帮助公司降低开发成本和缓解员工流动带来的危机,但它同时扩展了IT项目组合调度问题的搜索空间,增加了调度决策的复杂性。
现有研究方法和技术中,有关项目组合调度模型还没有综合考虑上述人才培养、研发周期以及质量的成果出现,这在理论方面有所欠缺。而且由于企业管理中现实需求,对于新模型研究成果需求迫切,而且由于新模型中需要考虑非线性学习效应,同时考虑多个决策目标且员工为多技能人,从而使得该问题是一个多目标非线性混合整数规划问题。由于一般性的单目标线性资源受限项目调度模型多为NP-hard问题,因此对于该类项目组合调度的多目标非线性混合整数规划模型也为NP-hard问题,且求解难度更大,技术要求更高。
发明内容
本发明提出的一种研发项目组合中多技能人员调度方法,可解决研发项目组合中多技能人员调度决策复杂难度大的技术问题。
为实现上述目的,本发明采用了以下技术方案:
一种研发项目组合中多技能人员调度方法,应用在一个由多个项目组成的IT产品开发项目组合中,有m个项目需要完成,有n个员工可供选择,每个员工至少掌握一种以上技能,项目组合需要的技能种类有s种,根据企业的决策目标进行人员调度优化决策,所述调度方法包括如下步骤:
步骤100、获取企业IT项目组合结构图、项目任务所需技能及完工时间需求、人员技能初始分布数据、人员学习数据;
步骤200、以人员技能收益、项目组合总工期以及完工质量为目标,以项目中的每一项任务对应一种技能、每一种技能只能由一个员工执行,一个员工只能参与一个项目、一个员工同一时间只能执行一种任务为约束,建立多目标调度模型;
步骤300、利用Pareto多目标蚁群算法对上述所建立项目组合多技能人员多目标调度模型进行求解,获得Pareto非劣解集;
步骤400、针对所求得的Pareto非劣解集,采用逼近理想解排序法对各个非劣解进行排序,获得问题的最优解;
步骤500、以上述最优解所对应的人员安排方案作为项目组合多技能人员多目标调度的最终配置方案。
本发明所述的求解方法的特点也在于:
所述多目标优化模型为:
(1)符号表示:
1)指标:
i表示员工编号;
j表示技能编号;
p表示项目编号;
t表示时间序列编号。
2)参数:
m表示组合中项目数量;
s表示项目组合需要的技能总数量;
n表示员工的总数量;
Ij表示掌握技能j的员工集合;
Sp表示项目p所需技能的集合;
PSp表示项目p的先序项目集合,也即项目p开始之前必须要完工的项目;
SSjp表示项目p中技能j对应任务的先序任务所需技能的集合,也即项目p中技能j开始之前必须要完成的技能的集合;
表示完成项目p中技能j对应任务的最短时间,等于项目p中的任务j由企业中技能j最高值员工执行所需的时间;
ESij表示员工i技能j的初始技能值。ESij∈[0,1],如果员工i不具备技能j,那么ESij=0;如果员工i技能j的水平为公司最高水平,那么ESij=1;
aij表示员工i技能j的学习因子。
根据Wu和Sun在文献《Aproject scheduling and staff assignment modelconsidering learning effect》中的研究,员工i技能j的技能值可采用下式计算:
其中,Eij(T)为员工i在使用技能j工作了T段时间后的技能水平,aij=-ln(bij)/ln2,0<bij≤1,bij为学习率;
ωp表示项目p的质量在IT产品最终质量中所占的权重。
3)决策变量
xijp二进制决策变量。如果员工i使用技能j参与项目p,则取值为1,否则为0;
tsjp项目p中的技能j的开始时间。
4)辅助变量
ESijp员工i技能j在项目p开始时的值;
EFij项目组合结束时员工i技能j的值;
tsp项目p的开始时间;
Tjp项目p所需技能j对应的任务的持续时间;
Tp项目p的工期;
PEp项目p开始时,已经开始进行的项目集合;
Qp项目p的开发质量,采用参与该项目的员工所使用的技能水平的均值表示;
yijpt二进制变量。如果员工i在时段t使用技能j参与项目p,则取值为1,否则为0。
(2)多目标优化模型
目标函数:
目标函数(1)为在整个项目开发周期内最大化由学习效应引起的人员技能增值;目标函数(2)是最小化产品开发周期;目标函数(3)是最大化产品开发质量,产品开发质量等于各项目开发质量的加权和。
约束条件:
PEp={p′|tsp′+Tp′≤tsp,1≤p′≤m},for 1≤p≤m (9)
tsjp≥0,for 1≤j≤s,1≤p≤m (19)
xijp∈{0,1},for 1≤i≤n,1≤j≤s,1≤p≤m (20)
约束式(4)和(5)根据学习曲线并考虑高原效应计算了员工在项目开始以及组合结束时的技能值。
约束式(6)到(9)是关于项目和任务的调度计算。约束式(6)根据某一项目的所有任务的开始时间得出该项目的开始时间;约束式(7)计算每一任务所需要的时间;约束式(8)计算了项目工期;约束式(9)表示各项目的先序项目集合。
约束式(10)计算了各项目的质量,等于参与任务的员工所执行技能的均值。
约束式(11)和(12)要求雇员具有从事特定任务的技能。约束式(11)要求员工必须要具备任务所要求的技能才能被安排;约束式(12)反映员工只能被安排到项目所需要的技能上。
约束式(13)和(16)是有关员工执行任务的可接受性。约束式(13)确保每个任务只分配给一个员工;约束式(14)确保在同一个项目中每个雇员最多被分配到一个任务;约束(15)表示假设任务调度是非抢占式的,一旦员工被分配到某一任务上,他将一直无间断地工作到完成此任务;约束式(16)确保员工在同一时间最多只能完成一项任务。
约束式(17)和(18)规定了项目和任务优先级。约束式(17)规定了项目优先级,约束式(18)规定了项目中任务优先级。
最后,约束式(19)和(20)定义了决策变量取值范围。
所述步骤300的Pareto多目标蚁群算法的步骤为:
步骤301.输入问题数据和设置算法参数。算法参数包括最大化迭代次数G,初始化种群规模,不可行解的目标惩罚值M,信息素挥发率ρ,信息素释放常数C。信息素密度重要程度因子α,启发函数重要程度因子β,交叉概率Pc,变异概率Pm。
步骤302.采用局部扩展机制初始化蚁群,并设置初始Pareto解集为空集。
步骤303.种群演化和扩展。首先,在每个目标路径上搜寻演化并形成一个新的蚁群。在首次迭代演化时,初始信息素浓度和启发函数设置为1;其次采用交叉和变异策略产生新的个体;对每一个个体,采用调整函数来进行调整确保新个体解的可行性。
步骤304.结合当前蚁群和Pareto解集,形成新的蚁群。
步骤305.计算蚁群中每个个体的目标值,将目标作为适应度值。对计算过程中产生的不可行解的目标值进行惩罚,使得它们获很低的适应度值,从而在下次迭代中被淘汰。
步骤306.对个体进行分层和计算拥挤距离,采用快速非支配算法对个体进行排序。
步骤307.将第一层中的个体作为当前的帕累托最优解集,再进一步采用锦标赛法为下一次迭代选择个体。
步骤308.循环迭代,如果当前迭代数达到最大值则停止迭代,输出Pareto最优解;否则,更新信息素浓度然后返回到步骤3进行下一轮迭代。
所述步骤302是按如下步骤获取初始蚁群:
步骤3021.将项目组合中的项目按照优先次序关系进行排序。将具有较高优先级别的项目赋予较小的次序数,对于具有相同优先级别的项目,决策者根据决策情况赋予较高偏好的项目较小的次序数。
步骤3022.采用与步骤3021相同的方法对每一项目中任务进行排序。
步骤3023.对每一个员工采用自然数进行编码。
步骤3024.从编号小的项目开始,对每一项目进行人员分配。对每一个项目,根据任务编号从小到大对项目中的任务进行人员分配。对当前项目中的任务,随机选择一位具备该技能的员工,且要求该员工没有被配置在该项目中的其它先序任务中。
步骤3025.当所有的项目中的所有任务都配置好员工后,代表一种分配方案的一只蚂蚁便产生了,表示为:
步骤3026.重复上述步骤,直至产生整个蚁群。
所述步骤303是按如下步骤进行蚁群种群演化和扩展:
步骤3031.每个蚂蚁代表一个解方案,蚂蚁中的每个位置元素代表某个项目的某个任务的人员分配,蚂蚁通过调整不同任务的人员配置来实现路径搜索。在人员调整时,需要计算转移概率,对于项目p技能j,候选人员属于集合Ij;蚂蚁k从员工i1更换为员工i2的概率计算公式如下:
其中,式中为蚂蚁k从员工i1更换为员工i2的概率;为蚂蚁k在当前迭代次数下从员工i1更换为员工i2时的信息素浓度函数,为对应的启发函数。由于模型中多个目标相互冲突,故对不同的目标采用不同形式的启发函数,技能、周期和成本的启发函数的形式分别为:
α和β分别为信息素重要程度因子和启发函数重要程度因子,值越大说明其对应的函数在蚂蚁路径转移过程中所起的作用越大。
步骤3032.从将蚁群分别沿三个目标的路径进行搜索。根据不同启发信息搜寻路径有助于蚂蚁搜寻到解空间的最优边界,从而也由一条路径增加为三条路径,扩展了搜索范围。
步骤3033.对每一搜索路径,根据蚁群进行循环,依照项目、任务的顺序循环迭代。在当前项目下,根据任务次序进行循环,则根据转移概率采用轮盘赌法为当前技能配置一个员工i*,并将i*在Ij中去除。循环结束后蚁群得到更新。
步骤3034.针对当前蚁群,进行采用单点交叉算法进行蚁群扩展,将新产生蚂蚁合并入新的蚁群中。由于交叉导致相同员工重复出现在同一项目中的情况,将后一任务更改为其他可行员工。
步骤3055.针对当前蚁群,采用单点变异算法进行蚁群扩展,将新产生蚂蚁合并入新的蚁群中。由于变异导致相同员工重复出现在同一项目中的情况,将后一任务更改为其他可行员工。
所述步骤305是按如下步骤进行适应度计算:
步骤3051.初始化员工i在当前蚂蚁解方案中参与的任务的次数Ni=0以及员工i使用技能j参与任务时间timeuseij=0。
步骤3052.从第一个项目开始循环迭代,如果该项目的先序项目集为空集,则设定项目的开始时间为0,否则项目的开始时间等于所有先序项目的最迟结束时间。
步骤3053.从当前项目的第一个任务进行循环迭代,如果该任务的先序任务集为空集,则设定任务的开始时间为0,否则任务的开始时间等于所有先序任务的最迟结束时间。如果参与当前项目当前任务的员工i参与过先前项目的任务,检查当前项目任务中员工i的开始时间是否与其参与先前任务的时间冲突,如果有冲突,则将当前任务的开始时间修改为员工i先前冲突任务的结束时间。
步骤3054.计算员工i在当前任务开始时的技能值,如果员工timeuseij=0,则ESijp=ESij,否则ESijp=min(ESij×(timeuseij)^aij,1)。由此可以根据计算得出当前任务的工期。
步骤3055.根据步骤3054,项目中每一个任务开始时间、人员技能以及任务工期计算出来后,根据式(8)计算当前项目的总工期,根据式(10)计算当前项目的质量。
步骤3056.根据步骤3055,每一项目的工期和质量得出后,进一步根据式(2)和式(3)分别计算目标值T和Q。
步骤3057.根据上述步骤加总每一个员工在每一种技能值上的工作时间,根据式(5)计算员工的最终技能值,并根据式(1)计算目标值ΔE。
步骤3058.再次检验是否存在员工时间安排冲突情况,如果存在对目标进行惩罚,将目标值ΔE和Q减去M,目标值T加上M。
所述步骤306采用快速非支配算法(Deb et al.2002)对种群进行分层、排序,步骤如下:
步骤3061.将种群中的个体两两比较,进行分层。从第一序值开始,自第一只蚂蚁开始迭代,将所有蚂蚁的适应值与当前蚂蚁的适应值进行对比,如若找不出任何一只蚂蚁在三个目标值上都优于当前蚂蚁值,则将该蚂蚁序值设定为1,否则留到第二序值层数进行迭代,如此反复循环,最终将所有蚂蚁分成不同序值层次。所求第一序值层的所有解即为当前算法的Pareto解集。
步骤3062.将不同层次的蚂蚁按照三个目标分别进行适应度由小到大的排序。
步骤3063.计算种群中蚂蚁的拥挤距离,拥挤距离越大,种群多样性越好,采用下式进行:
distance(l,k)表示第l层的蚂蚁k的拥挤距离;distance(l,o,k)表示第l层的蚂蚁k在目标o上的拥挤距离;表示第l层蚂蚁r在目标o上的适应度值;Fl表示第l层蚂蚁的集合;表示第l层蚂蚁k-1在目标o上的适应度值;表示第l层蚂蚁k+1在目标o上的适应度值;每一层中每一目标下的两
端蚂蚁的拥挤距离设定为1。
步骤3064.根据分层和排序,采用二元锦标赛法选择下一代蚂蚁种群,也即随机选择两只蚂蚁,比较它们的序值和拥挤距离,序值不同的选择序值较小的蚂蚁;序值相同的,选择拥挤距离较大的蚂蚁。
所述步骤308是按如下方法进行蚁群信息素的更新:
步骤3081.对Pareto解集中的蚂蚁解方案中每一个位置上配置的特定员工释放信息素,增加信息浓度。蚂蚁的信息素浓度更新计算公式如下:
ρ表示信息素挥发程度;N为Pareto解集中的蚂蚁数量;表示将项目p中技能j的执行者员工i1更换为员工i2时蚂蚁k释放的信息素总和,计算公式如下:
Lk为集成目标值;C为常数;ΔEk,Tk,和Qk分别表示蚂蚁k的技能收益、工期以及质量的目标值;ΔEmax,Tmin,和Qmax分别表示当前解集中各个目标的最大值,用来规范化每一个体的目标值。
所述步骤400采用以下方法对非劣解进行排序:
针对所求得的Pareto非劣解集,采用逼近理想解排序法(Hwang andYoon 2012)对非劣解进行排序,以获得问题的最优解。该方法的基本思想是一个解距离目标最优值越近以及距离目标最劣值越远,则这个解越好。具体计算方法如下:
ΔEk,Tk和Qk表示蚂蚁k的三个目标值;ΔE+,T+和Q+表示Pareto解集中三个目标值的正理想解值;ΔE-,T-和Q-表示Pareto解集中三个目标值的负理想解值;和表示蚂蚁k距离正负理想解的距离;Dk为解综合相对接近度,表示蚂蚁k距离理想解的综合值,值越大,解越好;λΔE,λT和λQ为目标的相对权重。
与已有技术相比,本发明的有益效果体现在:
1、本发明在IT项目组合调度优化决策中,综合考虑人员培养、产品开发周期以及产品质量三个目标,建立了多目标非线性混合整数规划模型,相比传统仅考虑时间、质量等单目标的模型更贴合企业决策实践,弥补传统调度决策方法目标单一,难以适应企业管理者的实际决策需求等不足。
2、本发明所设计多目标Pareto蚁群优化算法,根据不同目标,从多个路径进行搜索,扩大了搜索空间,又引入交叉和变异算子扩大了蚁群的多样性,采用快速非支配分层算法提高了搜索效率,从而保证算法在很短时间内获得模型的Pareto最优解集,保证了该算法在实践中的可操作性。
3、本发明在生成初始可行解的基础上,通过优化迭代能快速获得Pareto最优解集,模型求解速度快,能够满足管理者对于获得项目组合多技能多目标调度问题最优解集的要求。
4、本发明采用逼近理想解排序方法,对Pareto解集中的解进行排序,从而获得IT项目组合调度决策的最终解方案,满足管理者的最终决策需求。
5、本发明在蚁群算法的基础上进行改进,用以求解多目标非线性优化决策问题,继承了遗传算法在求解资源受限问题上的良好性能,同时设计多路径搜索方法,并引入交叉变异算子以及快速非支配分层思想对所提IT项目组合调度的多目标非线性混合正数规划算法进行求解,保证了算法的有效性和针对性。
附图说明
图1是本发明的方法流程图;
图2是本发明应用例Pareto前沿示意图;
图3是本发明应用例技能收益目标演化过程示意图;
图4是本发明应用例开发周期目标演化过程示意图;
图5是本发明应用例质量目标演化过程示意图;
图6是本发明应用例员工8技能演化过程示意图;
图7是本发明应用例员工17技能演化过程示意图;
图8是本发明应用例员工37技能演化过程示意图;
图9是本发明应用例员工40技能演化过程示意图;
图10是本发明应用例项目组合甘特图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
在本实施例中,一种研发项目组合中多技能人员调度问题的多目标蚁群算法,其特征是应用在一个由多个项目组成的IT产品开发项目组合中,有m个项目需要完成,有n个员工可供选择,每个员工至少掌握一种以上技能,项目组合需要的技能种类有s种,根据企业的决策目标进行人员调度优化决策,如图1所示,所述算法按如下步骤进行:
S100、获取企业IT项目组合结构图、项目任务所需技能及完工时间需求、人员技能初始分布数据、人员学习数据;
S200、以人员技能收益、项目组合总工期以及完工质量为目标,以项目中的每一项任务对应一种技能、每一种技能只能由一个员工执行,一个员工只能参与一个项目、一个员工同一时间只能执行一种任务为约束,建立多目标调度模型;
S300、利用Pareto多目标蚁群算法对上述所建立项目组合多技能人员多目标调度模型进行求解,获得Pareto非劣解集;
S400、针对所求得的Pareto非劣解集,采用逼近理想解排序法对各个非劣解进行排序,获得问题的最优解;
S500、以上述最优解所对应的人员安排方案作为项目组合多技能人员多目标调度的最终配置方案。
具体来说,是按如下步骤进行:
S100、获取企业IT项目组合结构图、项目任务所需技能及完工时间需求、人员技能初始分布数据、人员学习数据;
S200、以人员技能收益、项目组合总工期以及完工质量为目标,以项目中的每一项任务对应一种技能、每一种技能只能由一个员工执行,一个员工只能参与一个项目、一个员工同一时间只能执行一种任务为约束,建立多目标调度模型;
(1)符号表示
1)指标
i表示员工编号;
j表示技能编号;
p表示项目编号;
t表示时间序列编号。
2)参数
m表示组合中项目数量;
s表示项目组合需要的技能总数量;
n表示员工的总数量;
Ij表示掌握技能j的员工集合;
Sp表示项目p所需技能的集合;
PSp表示项目p的先序项目集合,也即项目p开始之前必须要完工的项目;
SSjp表示项目p中技能j对应任务的先序任务所需技能的集合,也即项目p中技能j开始之前必须要完成的技能的集合;
表示完成项目p中技能j对应任务的最短时间,等于项目p中的任务j由企业中技能j最高值员工执行所需的时间;
ESij表示员工i技能j的初始技能值。ESij∈[0,1],如果员工i不具备技能j,那么ESij=0;如果员工i技能j的水平为公司最高水平,那么ESij=1;
aij表示员工i技能j的学习因子。根据Wu和Sun在文献《A projectscheduling andstaff assignment model considering learning effect》中的研究,员工i技能j的技能值可采用下式计算:其中,Eij(T)为员工i在使用技能j工作了T段时间后的技能水平,aij=-ln(bij)/ln2,0<bij≤1,bij为学习率;
ωp表示项目p的质量在IT产品最终质量中所占的权重。
3)决策变量
xijp二进制决策变量。如果员工i使用技能j参与项目p,则取值为1,否则为0;
tsjp项目p中的技能j的开始时间。
4)辅助变量
ESijp员工i技能j在项目p开始时的值;
EFij项目组合结束时员工i技能j的值;
tsp项目p的开始时间;
Tjp项目p所需技能j对应的任务的持续时间;
Tp项目p的工期;
PEp项目p开始时,已经开始进行的项目集合;
Qp项目p的开发质量,采用参与该项目的员工所使用的技能水平的均值表示;
yijpt二进制变量。如果员工i在时段t使用技能j参与项目p,则取值为1,否则为0。
(2)多目标优化模型
目标函数:
目标函数(1)为在整个项目开发周期内最大化由学习效应引起的人员技能增值;
目标函数(2)是最小化产品开发周期;
目标函数(3)是最大化产品开发质量,产品开发质量等于各项目开发质量的加权和。
约束条件为:
PEp={p′|tsp′+Tp′≤tsp,1≤p′≤m},for 1≤p≤m (9)
tsjp≥0,for 1≤j≤s,1≤p≤m (19)
xijp∈{0,1},for 1≤i≤n,1≤j≤s,1≤p≤m (20)
约束(4)和(5)根据学习曲线并考虑高原效应计算了员工在项目开始以及组合结束时的技能值。
约束(6)到(9)是关于项目和任务的调度计算。约束(6)根据某一项目的所有任务的开始时间得出该项目的开始时间;约束(7)计算每一任务所需要的时间;约束(8)计算了项目工期;约束(9)表示各项目的先序项目集合。约束(10)计算了各项目的质量,等于参与任务的员工所执行技能的均值。
约束(11)和(12)要求雇员具有从事特定任务的技能。约束(11)要求员工必须要具备任务所要求的技能才能被安排;约束(12)反映员工只能被安排到项目所需要的技能上。
约束(13)和(16)是有关员工执行任务的可接受性。约束(13)确保每个任务只分配给一个员工;约束(14)确保在同一个项目中每个雇员最多被分配到一个任务;约束(15)表示假设任务调度是非抢占式的,一旦员工被分配到某一任务上,他将一直无间断地工作到完成此任务;约束(16)确保员工在同一时间最多只能完成一项任务。
约束(17)和(18)规定了项目和任务优先级。约束(17)规定了项目优先级,约束(18)规定了项目中任务优先级。
最后,约束(19)和(20)定义了决策变量取值范围。
S300、利用改进的Pareto多目标蚁群算法对所述IT项目组合多技能人员调度多目标调度进行迭代求解,获得多目标优化问题的非劣解集;
S3.1、输入问题数据和设置算法参数。算法参数包括最大化迭代次数G,初始化种群规模,不可行解的目标惩罚值M,信息素挥发率ρ,信息素释放常数C,信息素密度重要程度因子α,启发函数重要程度因子β,交叉概率Pc,变异概率Pm。
S3.2、采用局部扩展机制初始化蚁群,并设置初始Pareto解集为空集。
S3.2.1、将项目组合中的项目按照优先次序关系进行排序。将具有较高优先级别的项目赋予较小的次序数,对于具有相同优先级别的项目,决策者根据决策情况赋予较高偏好的项目较小的次序数。
S3.2.2、采用与S3.2.1相同的方法对每一项目中任务进行排序。
S3.2.3、对每一个员工采用自然数进行编码。
S3.2.4、从编号小的项目开始,对每一项目进行人员分配。对每一个项目,根据任务编号从小到大对项目中的任务进行人员分配。对当前项目中的任务,随机选择一位具备该技能的员工,且要求该员工没有被配置在该项目中的其它先序任务中。
S3.2.5、当所有的项目中的所有任务都配置好员工后,代表一种分配方案的一只蚂蚁便产生了,表示为:
S3.2.6、重复上述步骤,直至产生整个蚁群。
S3.3、种群演化和扩展。首先,在每个目标路径上搜寻演化并形成一个新的蚁群。在首次迭代演化时,初始信息素浓度和启发函数设置为1;其次采用交叉和变异策略产生新的个体;对每一个个体,采用调整函数来进行调整确保新个体解的可行性。
S3.3.1、每个蚂蚁代表一个解方案,蚂蚁中的每个位置元素代表某个项目的某个任务的人员分配,蚂蚁通过调整不同任务的人员配置来实现路径搜索。在人员调整时,需要计算转移概率,对于项目p技能j,候选人员属于集合Ij;蚂蚁k从员工i1更换为员工i2的概率计算公式如下:
其中,式中为蚂蚁k从员工i1更换为员工i2的概率;为蚂蚁k在当前迭代次数下从员工i1更换为员工i2时的信息素浓度函数,为对应的启发函数。由于模型中多个目标相互冲突,故对不同的目标采用不同形式的启发函数,技能、周期和成本的启发函数的形式分别为:
α和β分别为信息素重要程度因子和启发函数重要程度因子,值越大说明其对应的函数在蚂蚁路径转移过程中所起的作用越大。
S3.3.2、从将蚁群分别沿三个目标的路径进行搜索。根据不同启发信息搜寻路径有助于蚂蚁搜寻到解空间的最优边界,从而也由一条路径增加为三条路径,扩展了搜索范围。
S3.3.3、对每一搜索路径,根据蚁群进行循环,依照项目、任务的顺序循环迭代。在当前项目下,根据任务次序进行循环,则根据转移概率采用轮盘赌法为当前技能配置一个员工i*,并将i*在Ij中去除。循环结束后蚁群得到更新。
S3.3.4、针对当前蚁群,进行采用单点交叉算法进行蚁群扩展,将新产生蚂蚁合并入新的蚁群中。由于交叉导致相同员工重复出现在同一项目中的情况,将后一任务更改为其他可行员工。
S3.3.5、针对当前蚁群,采用单点变异算法进行蚁群扩展,将新产生蚂蚁合并入新的蚁群中。由于变异导致相同员工重复出现在同一项目中的情况,将后一任务更改为其他可行员工。
S3.4、结合当前蚁群和Pareto解集,形成新的蚁群。
S3.5、计算蚁群中每个个体的目标值,将目标作为适应度值。对计算过程中产生的不可行解的目标值进行惩罚,使得它们获很低的适应度值,从而在下次迭代中被淘汰。
S3.5.1、初始化员工i在当前蚂蚁解方案中参与的任务的次数Ni=0以及员工i使用技能j参与任务时间timeuseij=0。
S3.5.2、从第一个项目开始循环迭代,如果该项目的先序项目集为空集,则设定项目的开始时间为0,否则项目的开始时间等于所有先序项目的最迟结束时间。
S3.5.3、从当前项目的第一个任务进行循环迭代,如果该任务的先序
任务集为空集,则设定任务的开始时间为0,否则任务的开始时间等于所有先序任务的最迟结束时间。如果参与当前项目当前任务的员工i参与过先前项目的任务,检查当前项目任务中员工i的开始时间是否与其参与先前任务的时间冲突,如果有冲突,则将当前任务的开始时间修改为员工i先前冲突任务的结束时间。
S3.5.4、计算员工i在当前任务开始时的技能值,如果员工timeuseij=0,则ESijp=ESij,否则ESijp=min(ESij×(timeuseij)^aij,1)。由此可以根据计算得出当前任务的工期。
S3.5.5、根据S3.5.4,项目中每一个任务开始时间、人员技能以及任务工期计算出来后,根据式(8)计算当前项目的总工期,根据式(10)计算当前项目的质量。
S3.5.6、根据S3.5.5,每一项目的工期和质量得出后,进一步根据式(2)和式(3)分别计算目标值T和Q。
S3.5.7、根据上述步骤加总每一个员工在每一种技能值上的工作时间,根据式(5)计算员工的最终技能值,并根据式(1)计算目标值ΔE。
S3.5.8、再次检验是否存在员工时间安排冲突情况,如果存在对目标进行惩罚,将目标值ΔE和Q减去M,目标值T加上M。
S3.6、对个体进行分层和计算拥挤距离,采用快速非支配算法对个体进行排序。
S3.6.1、将种群中的个体两两比较,进行分层。从第一序值开始,自第一只蚂蚁开始迭代,将所有蚂蚁的适应值与当前蚂蚁的适应值进行对比,如若找不出任何一只蚂蚁在三个目标值上都优于当前蚂蚁值,则将该蚂蚁序值设定为1,否则留到第二序值层数进行迭代,如此反复循环,最终将所有蚂蚁分成不同序值层次。所求第一序值层的所有解即为当前算法的Pareto解集。
S3.6.2、将不同层次的蚂蚁按照三个目标分别进行适应度由小到大的排序。
S3.6.3、计算种群中蚂蚁的拥挤距离,拥挤距离越大,种群多样性越好,采用下式进行:
distance(l,k)表示第l层的蚂蚁k的拥挤距离;distance(l,o,k)表示第l层的蚂蚁k在目标o上的拥挤距离;表示第l层蚂蚁r在目标o上的适应度值;Fl表示第l层蚂蚁的集合;表示第l层蚂蚁k-1在目标o上的适应度值;表示第l层蚂蚁k+1在目标o上的适应度值;每一层中每一目标下的两端蚂蚁的拥挤距离设定为1。
S3.6.4、根据分层和排序,采用二元锦标赛法选择下一代蚂蚁种群,也即随机选择两只蚂蚁,比较它们的序值和拥挤距离,序值不同的选择序值较小的蚂蚁;序值相同的,选择拥挤距离较大的蚂蚁。
S3.7、将第一层中的个体作为当前的帕累托最优解集,再进一步采用锦标赛法为下一次迭代选择个体。
S3.8、循环迭代,如果当前迭代数达到最大值则停止迭代,输出Pareto最优解;否则,更新信息素浓度然后返回到S3.3进行下一轮迭代。蚁群信息素的更新方法如下:
S3.8.1、对Pareto解集中的蚂蚁解方案中每一个位置上配置的特定员工释放信息素,增加信息浓度。蚂蚁的信息素浓度更新计算公式如下:
ρ表示信息素挥发程度;N为Pareto解集中的蚂蚁数量;表示将项目p中技能j的执行者员工i1更换为员工i2时蚂蚁k释放的信息素总和,计算公式如下:
Lk为集成目标值;C为常数;ΔEk,Tk,和Qk分别表示蚂蚁k的技能收益、工期以及质量的目标值;ΔEmax,Tmin,和Qmax分别表示当前解集中各个目标的最大值,用来规范化每一个体的目标值。
S400、针对所求得的Pareto非劣解集,采用逼近理想解排序法对各个非劣解进行排序,获得问题的最优解。采用以下方法对非劣解进行排序:
S4.1、针对所求得的Pareto非劣解集,采用逼近理想解排序法(Hwang and Yoon2012)对非劣解进行排序,以获得问题的最优解。该方法的基本思想是
一个解距离目标最优值越近以及距离目标最劣值越远,则这个解越好。具体计算方法如下:
ΔEk,Tk和Qk表示蚂蚁k的三个目标值;ΔE+,T+和Q+表示Pareto解集中三个目标值的正理想解值;ΔE-,T-和Q-表示Pareto解集中三个目标值的负理想解值;和表示蚂蚁k距离正负理想解的距离;Dk为解综合相对接近度,表示蚂蚁k距离理想解的综合值,值越大,解越好;λΔE,λT和λQ为目标的相对权重。
S500、以上述最优解所对应的人员安排方案作为项目组合多技能人员多目标调度的最终配置方案。
本实施例应用实例:
将本发明实施例的方法应用于国内某一主要电气公司的一种配网自动化监控终端新产品开发项目组合调度决策实例中。该项目组合包括10个子项目(m=10),技能需求种类为8种(s=8)。公司可供选择用于开发的员工数为40名(n=40)。项目名称和项目之间的优先关系(PSp)如表1所示。每一项目包含若干个任务且每一任务要求由具备某一特定技能的员工去完成。每个任务中的项目是并行的可以计算在不考虑资源约束的情况下,关键路线长为24个月。每一项目的技能需求及最短开发时间需求见表2。人员掌握技能种类(Ij)及初始技能值(ESij)见表3所示。员工的学习率(bij)为0.9。采用所建IT产品研发项目组合多技能人员调度模型和所提Pareto多目标蚁群算法求解该问题。参数设置为:最大迭代次数G=300,种群规模Popsize=100,交叉概率Pc=0.95,变异概率Pm=0.3,常数C=1,信息素重要程度因子α=1,和启发函数重要程度因子β=5,ρ=.1,惩罚数M=1000。
表1:项目优先次序和质量权重
表2:项目任务名称及最短时间需求
表3:员工技能分布及初始技能值
1、算法多次运行得到Pareto解集,每次运行时间为100分钟。最终得到的Pareto解集由7211个解组成,如图2所示。在所有的Pareto解中,技能收益目标值范围从1.5到4.6;开发周期的时间从24个月到38.5个月;产品质量从0.69到0.95。
2、从图2中,我们可以看出,具有更大技能增值目标值的Pareto解其另外两个目标值开发周期更长、开发质量也更差。这个结果,与公司现有开发活动的实践较为一致,也从定量的角度反映了如果一个公司想培养更多的技能较低的员工,必须要付出产品开发质量降低以及开发周期延长的代价。如果公司决策要求较短的开发时间或较高的开发质量,研发经理则需要安排更多更高紧技能的员工参与研发,当然这会导致人才培养目标的损失。对于一个Pareto解来说,如果一个目标改进了,那么其它目标的退化能够精确计算出来。所求Pareto解空间能够使得决策者在三个目标之间进行权衡。
3、三个目标的最优值的演化过程见图3、4和5。可以看出,各最优目标值收敛效果较好且趋于单目标优化下的最优值。技能收益最优值从4.1进化到4.6;开发周期最优值从28.5个月进化到24个月;产品质量最优值从0.82进化到0.95。对于管理者来说,通过经验知识,采用人工方法实现帕累托集合的求解是不现实的,本例所得结果演示了所建模型实用性和所设计算法有效性。
4、为获得最终的解方案,决策者需要在三个目标之间权衡。本例中,根据企业人员培养需求、竞争对手的同类产品质量、市场竞争情况,给出目标权重,λΔE=0.4,λT=0.3,和λQ=0.3。由此得出Pareto解集的排序,表4给出排序最前的10个Pareto解,他们的目标值和相对贴近度值见表5.
表4.前十个解的人员配置结果
表5.前十解的目标值和相对接近度
5、根据表4结果,选择第一个解为最终解,其相对接近度为0.5786,在技能收益、研发周期以及质量上的目标值分别为3.5738,25.5以及0.8222。三个目标值中,技能收益目标值相对另外两个目标值在总体Pareto解集中较高,这是由于该目标的权重较大的缘故。员工3,7,8,9,15,17,19,20,27,28,29,33,35,37和40被安排了两项或以上的任务。员工8,17和40被安排了三项任务,员工40被安排了四项任务。员工8,17,37和40的技能值演化情况见图6到9。所有任务中,只有三项任务被安排到最高绩效的员工,分别为:项目1的第5种任务需求技能7,项目4的第2种任务需求技能5以及项目1的第3种任务需求技能4,分别被安排员工11,13和19。其它任务被安排由较低技能水平的员工去完成。没有技能低于0.6的员工被安排任务。只有五个技能值等于0.6的员工被安排任务,分别为员工12的技能7,员工20的技能2,员工23的技能6,员工26的技能6,以及员工40的技能6。其它任务被安排的员工技能等于0.8或更高。从而该调度问题得到技能收益目标值较高,同时得到一个中等质量和较长的开发周期。最优解中每一个项目的工期以及起止时间见图10。
6、对最优解来说,考不考虑学习效应开发周期都没有变化,因为关键链上安排的员工都是初始参与任务,没有发生学习效应。但若其他非关键任务也不考虑学习效应,开发质量将下降到0.8078。因此,学习效应将影响该调度问题中的其它两个目标值。
表6.不同权重下最优解的目标值
7、如果目标值的权重改变,那么最终解也会变化。表6显示了,不同权重下的最优解的目标值。当某一个目标的权重达到1时,该调度问题就变成了单目标调度问题。当其中某一目标权重变为0时,则调度问题变成双目标调度问题。可以看出当权重变化很小时,最优解可能会维持原解。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种研发项目组合中多技能人员调度方法,应用在一个由多个项目组成的IT产品开发项目组合中,有m个项目需要完成,有n个员工可供选择,每个员工至少掌握一种以上技能,项目组合需要的技能种类有s种,根据企业的决策目标进行人员调度优化决策,其特征在于,包括以下步骤:
S100、获取企业IT项目组合结构图、项目任务所需技能及完工时间需求、人员技能初始分布数据、人员学习数据;
S200、以人员技能收益、项目组合总工期以及完工质量为目标,以项目中的每一项任务对应一种技能、每一种技能只能由一个员工执行,一个员工只能参与一个项目、一个员工同一时间只能执行一种任务为约束,建立多目标调度模型;
S300、利用Pareto多目标蚁群算法对S200所建立项目组合多技能人员多目标调度模型进行求解,获得Pareto非劣解集;
S400、针对所求得的Pareto非劣解集,采用逼近理想解排序法对各个非劣解进行排序,获得问题的最优解;
S500、以S400的最优解所对应的人员安排方案作为项目组合多技能人员多目标调度的最终配置方案。
2.根据权利要求1所述的研发项目组合中多技能人员调度方法,其特征在于:所述S200中项目组合多技能人员多目标调度模型为:
(1)符号表示
1)指标
i表示员工编号;
j表示技能编号;
p表示项目编号;
t表示时间序列编号;
2)参数
m表示组合中项目数量;
s表示项目组合需要的技能总数量;
n表示员工的总数量;
Ij表示掌握技能j的员工集合;
Sp表示项目p所需技能的集合;
PSp表示项目p的先序项目集合,也即项目p开始之前必须要完工的项目;
SSjp表示项目p中技能j对应任务的先序任务所需技能的集合,也即项目p中技能j开始之前必须要完成的技能的集合;
表示完成项目p中技能j对应任务的最短时间,等于项目p中的任务j由企业中技能j最高值员工执行所需的时间;
ESij表示员工i技能j的初始技能值;ESij∈[0,1],如果员工i不具备技能j,那么ESij=0;如果员工i技能j的水平为公司最高水平,那么ESij=1;
aij表示员工i技能j的学习因子;员工i技能j的技能值可采用下式计算:其中,Eij(T)为员工i在使用技能j工作了T段时间后的技能水平,aij=-ln(bij)/ln2,0<bij≤1,bij为学习率;
ωp表示项目p的质量在IT产品最终质量中所占的权重;
3)决策变量
xijp二进制决策变量。如果员工i使用技能j参与项目p,则取值为1,否则为0;
tsjp项目p中的技能j的开始时间;
4)辅助变量
ESijp员工i技能j在项目p开始时的值;
EFij项目组合结束时员工i技能j的值;
tsp项目p的开始时间;
Tjp项目p所需技能j对应的任务的持续时间;
Tp项目p的工期;
PEp项目p开始时,已经开始进行的项目集合;
Qp项目p的开发质量,采用参与该项目的员工所使用的技能水平的均值表示;
yijpt二进制变量。如果员工i在时段t使用技能j参与项目p,则取值为1,否则为0;
(2)多目标优化模型
目标函数:
目标函数(1)为在整个项目开发周期内最大化由学习效应引起的人员技能增值;目标函数(2)是最小化产品开发周期;目标函数(3)是最大化产品开发质量,产品开发质量等于各项目开发质量的加权和;
约束条件为:
PEp={p′|tsp′+Tp′≤tsp,1≤p′≤m},for1≤p≤m (9)
tsjp≥0,for1≤j≤s,1≤p≤m (19)
xijp∈{0,1},for1≤i≤n,1≤j≤s,1≤p≤m (20)
约束式(4)和(5)根据学习曲线并考虑高原效应计算了员工在项目开始以及组合结束时的技能值;
约束式(6)到(9)是关于项目和任务的调度计算;约束(6)根据某一项目的所有任务的开始时间得出该项目的开始时间;约束(7)计算每一任务所需要的时间;约束(8)计算了项目工期;约束(9)表示各项目的先序项目集合;
约束式(10)计算了各项目的质量,等于参与任务的员工所执行技能的均值;
约束式(11)和(12)要求雇员具有从事特定任务的技能;约束(11)要求员工必须要具备任务所要求的技能才能被安排;约束(12)反映员工只能被安排到项目所需要的技能上;
约束式(13)和(16)是有关员工执行任务的可接受性;约束(13)确保每个任务只分配给一个员工;约束(14)确保在同一个项目中每个雇员最多被分配到一个任务;约束(15)表示假设任务调度是非抢占式的,一旦员工被分配到某一任务上,他将一直无间断地工作到完成此任务;约束(16)确保员工在同一时间最多只能完成一项任务;
约束式(17)和(18)规定了项目和任务优先级;约束(17)规定了项目优先级,约束(18)规定了项目中任务优先级;
最后,约束式(19)和(20)定义了决策变量取值范围。
3.根据权利要求2所述的研发项目组合中多技能人员调度方法,其特征在于:所述S300的Pareto多目标蚁群算法的步骤为:
S301.输入问题数据和设置算法参数;算法参数包括最大化迭代次数G,初始化种群规模,不可行解的目标惩罚值M,信息素挥发率ρ,信息素释放常数C,信息素密度重要程度因子α,启发函数重要程度因子β,交叉概率Pc,变异概率Pm;
S302.采用局部扩展机制初始化蚁群,并设置初始Pareto解集为空集;
S303.种群演化和扩展;首先,在每个目标路径上搜寻演化并形成一个新的蚁群;在首次迭代演化时,初始信息素浓度和启发函数设置为1;其次采用交叉和变异策略产生新的个体;对每一个个体,采用调整函数来进行调整确保新个体解的可行性;
S304.结合当前蚁群和Pareto解集,形成新的蚁群;
S305.计算蚁群中每个个体的目标值,将目标作为适应度值;对计算过程中产生的不可行解的目标值进行惩罚,使得它们获很低的适应度值,从而在下次迭代中被淘汰;
S306.对个体进行分层和计算拥挤距离,采用快速非支配算法对个体进行排序;
S307.将第一层中的个体作为当前的帕累托最优解集,再进一步采用锦标赛法为下一次迭代选择个体;
S308.循环迭代,如果当前迭代数达到最大值则停止迭代,输出Pareto最优解;否则,更新信息素浓度然后返回到S303进行下一轮迭代。
4.根据权利要求3所述的研发项目组合中多技能人员调度方法,其特征在于:所述S302是按如下步骤获取初始蚁群:
S3021.将项目组合中的项目按照优先次序关系进行排序;将具有较高优先级别的项目赋予较小的次序数,对于具有相同优先级别的项目,决策者根据决策情况赋予较高偏好的项目较小的次序数;
S3022.采用与S3021相同的方法对每一项目中任务进行排序;
S3023.对每一个员工采用自然数进行编码;
S3024.从编号小的项目开始,对每一项目进行人员分配;对每一个项目,根据任务编号从小到大对项目中的任务进行人员分配;对当前项目中的任务,随机选择一位具备该技能的员工,且要求该员工没有被配置在该项目中的其它先序任务中;
S3025.当所有的项目中的所有任务都配置好员工后,代表一种分配方案的一只蚂蚁便产生了,表示为:
S3026.重复上述步骤,直至产生整个蚁群。
5.根据权利要求3所述的研发项目组合中多技能人员调度方法,其特征在于:
所述S303是按如下步骤进行蚁群种群演化和扩展:
S3031.每个蚂蚁代表一个解方案,蚂蚁中的每个位置元素代表某个项目的某个任务的人员分配,蚂蚁通过调整不同任务的人员配置来实现路径搜索;在人员调整时,需要计算转移概率,对于项目p技能j,候选人员属于集合Ij;蚂蚁k从员工i1更换为员工i2的概率计算公式如下:
其中,式中为蚂蚁k从员工i1更换为员工i2的概率;为蚂蚁k在当前迭代次数下从员工i1更换为员工i2时的信息素浓度函数,为对应的启发函数;由于模型中多个目标相互冲突,故对不同的目标采用不同形式的启发函数,技能、周期和成本的启发函数的形式分别为:
α和β分别为信息素重要程度因子和启发函数重要程度因子,值越大说明对应的函数在蚂蚁路径转移过程中所起的作用越大;
S3032.从将蚁群分别沿三个目标的路径进行搜索;根据不同启发信息搜寻路径有助于蚂蚁搜寻到解空间的最优边界,从而也由一条路径增加为三条路径,扩展了搜索范围;
S3033.对每一搜索路径,根据蚁群进行循环,依照项目、任务的顺序循环迭代;在当前项目下,根据任务次序进行循环,则根据转移概率采用轮盘赌法为当前技能配置一个员工i*,并将i*在Ij中去除。循环结束后蚁群得到更新;
S3034.针对当前蚁群,进行采用单点交叉算法进行蚁群扩展,将新产生蚂蚁合并入新的蚁群中;由于交叉导致相同员工重复出现在同一项目中的情况,将后一任务更改为其他可行员工;
S3035.针对当前蚁群,采用单点变异算法进行蚁群扩展,将新产生蚂蚁合并入新的蚁群中;由于变异导致相同员工重复出现在同一项目中的情况,将后一任务更改为其他可行员工。
6.根据权利要求3所述的研发项目组合中多技能人员调度方法,其特征在于:
所述S305是按如下步骤进行适应度计算:
S3051.初始化员工i在当前蚂蚁解方案中参与的任务的次数Ni=0以及员工i使用技能j参与任务时间timeuseij=0;
S3052.从第一个项目开始循环迭代,如果该项目的先序项目集为空集,则设定项目的开始时间为0,否则项目的开始时间等于所有先序项目的最迟结束时间;
S3053.从当前项目的第一个任务进行循环迭代,如果该任务的先序任务集为空集,则设定任务的开始时间为0,否则任务的开始时间等于所有先序任务的最迟结束时间;如果参与当前项目当前任务的员工i参与过先前项目的任务,检查当前项目任务中员工i的开始时间是否与其参与先前任务的时间冲突,如果有冲突,则将当前任务的开始时间修改为员工i先前冲突任务的结束时间;
S3054.计算员工i在当前任务开始时的技能值,如果员工timeuseij=0,则ESijp=ESij,否则ESijp=min(ESij×(timeuseij)^aij,1);由此可以根据计算得出当前任务的工期;
S3055.根据S3054,项目中每一个任务开始时间、人员技能以及任务工期计算出来后,根据式(8)计算当前项目的总工期,根据式(10)计算当前项目的质量;
S3056.根据S3055,每一项目的工期和质量得出后,进一步根据式(2)和式(3)分别计算目标值T和Q;
S3057.根据上述步骤加总每一个员工在每一种技能值上的工作时间,根据式(5)计算员工的最终技能值,并根据式(1)计算目标值ΔE;
S3058.再次检验是否存在员工时间安排冲突情况,如果存在对目标进行惩罚,将目标值ΔE和Q减去M,目标值T加上M。
7.根据权利要求3所述的研发项目组合中多技能人员调度方法,其特征在于:
所述S306采用快速非支配算法对对个体进行排序,步骤如下:
S3061.将种群中的个体两两比较,进行分层;从第一序值开始,自第一只蚂蚁开始迭代,将所有蚂蚁的适应值与当前蚂蚁的适应值进行对比,如若找不出任何一只蚂蚁在三个目标值上都优于当前蚂蚁值,则将该蚂蚁序值设定为1,否则留到第二序值层数进行迭代,如此反复循环,最终将所有蚂蚁分成不同序值层次;所求第一序值层的所有解即为当前算法的Pareto解集;
S3062.将不同层次的蚂蚁按照三个目标分别进行适应度由小到大的排序;
S3063.计算种群中蚂蚁的拥挤距离,拥挤距离越大,种群多样性越好,采用下式进行:
distance(l,k)表示第l层的蚂蚁k的拥挤距离;distance(l,o,k)表示第l层的蚂蚁k在目标o上的拥挤距离;表示第l层蚂蚁r在目标o上的适应度值;Fl表示第l层蚂蚁的集合;表示第l层蚂蚁k-1在目标o上的适应度值;表示第l层蚂蚁k+1在目标o上的适应度值;每一层中每一目标下的两端蚂蚁的拥挤距离设定为1;
S3064.根据分层和排序,采用二元锦标赛法选择下一代蚂蚁种群,也即随机选择两只蚂蚁,比较它们的序值和拥挤距离,序值不同的选择序值较小的蚂蚁;序值相同的,选择拥挤距离较大的蚂蚁。
8.根据权利要求3所述的研发项目组合中多技能人员调度方法,其特征在于:
所述S308是按如下方法进行蚁群信息素的更新:
S3081.对Pareto解集中的蚂蚁解方案中每一个位置上配置的特定员工释放信息素,增加信息浓度;蚂蚁的信息素浓度更新计算公式如下:
ρ表示信息素挥发程度;N为Pareto解集中的蚂蚁数量;表示将项目p中技能j的执行者员工i1更换为员工i2时蚂蚁k释放的信息素总和,计算公式如下:
Lk为集成目标值;C为常数;ΔEk,Tk和Qk分别表示蚂蚁k的技能收益、工期以及质量的目标值;ΔEmax,Tmin和Qmax分别表示当前解集中各个目标的最大值,用来规范化每一个体的目标值。
9.根据权利要求1所述的研发项目组合中多技能人员调度方法,其特征在于:
所述S400采用以下方法对非劣解进行排序:
针对所求得的Pareto非劣解集,采用逼近理想解排序法对非劣解进行排序,以获得问题的最优解;
具体计算方法如下:
ΔEk,Tk和Qk表示蚂蚁k的三个目标值;ΔE+,T+和Q+表示Pareto解集中三个目标值的正理想解值;ΔE-,T-和Q-表示Pareto解集中三个目标值的负理想解值;和表示蚂蚁k距离正负理想解的距离;Dk为解综合相对接近度,表示蚂蚁k距离理想解的综合值,值越大,解越好;λΔE,λT和λQ为目标的相对权重。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811547800.XA CN109636205A (zh) | 2018-12-18 | 2018-12-18 | 一种研发项目组合中多技能人员调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811547800.XA CN109636205A (zh) | 2018-12-18 | 2018-12-18 | 一种研发项目组合中多技能人员调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109636205A true CN109636205A (zh) | 2019-04-16 |
Family
ID=66074932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811547800.XA Withdrawn CN109636205A (zh) | 2018-12-18 | 2018-12-18 | 一种研发项目组合中多技能人员调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109636205A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110310023A (zh) * | 2019-06-18 | 2019-10-08 | 平安普惠企业管理有限公司 | 一种项目调度方法、设备、服务器及计算机可读存储介质 |
CN110334921A (zh) * | 2019-06-18 | 2019-10-15 | 平安普惠企业管理有限公司 | 一种项目调度方法、设备、服务器及计算机可读存储介质 |
CN110689216A (zh) * | 2019-08-02 | 2020-01-14 | 湘潭大学 | 一种基于混合果蝇算法的机器人装配单元jit节能生产优化方法 |
CN111027871A (zh) * | 2019-12-17 | 2020-04-17 | 广州唯品会研究院有限公司 | 项目的资源分配方法、装置和可读存储介质 |
CN111047272A (zh) * | 2019-11-07 | 2020-04-21 | 苏宁云计算有限公司 | 一种用于多语言协同开发的项目调度方法及装置 |
CN111709632A (zh) * | 2020-06-09 | 2020-09-25 | 国网安徽省电力有限公司安庆供电公司 | 基于人工智能和多目标约束的停电计划自动编排方法 |
CN112051825A (zh) * | 2020-09-22 | 2020-12-08 | 重庆大学 | 一种汽车试制车间考虑员工作业能力的多目标生产调度方法 |
US20200394572A1 (en) * | 2019-06-12 | 2020-12-17 | Toshiba Tec Kabushiki Kaisha | Reservation order processing system and reservation order processing method |
CN112884367A (zh) * | 2021-03-23 | 2021-06-01 | 合肥工业大学 | 考虑多技能员工约束的高端装备研发过程多项目协同调度方法及系统 |
CN112906952A (zh) * | 2021-02-04 | 2021-06-04 | 交通银行股份有限公司 | 一种银行流程任务智能调度系统 |
CN113570178A (zh) * | 2020-04-28 | 2021-10-29 | 阿里巴巴集团控股有限公司 | 排班方法、设备、装置及存储介质 |
CN113850515A (zh) * | 2021-09-28 | 2021-12-28 | 西南交通大学 | 一种增加接触网检修里程的作业人员配置方法 |
CN114723180A (zh) * | 2022-06-07 | 2022-07-08 | 深圳市佑荣信息科技有限公司 | 一种任务分配的计算方法及系统 |
CN114862216A (zh) * | 2022-05-16 | 2022-08-05 | 中国银行股份有限公司 | 一种敏捷项目调度方案的确定方法及装置 |
CN116167595A (zh) * | 2023-04-25 | 2023-05-26 | 天信达信息技术有限公司 | 一种人员组决策变量的确定方法、电子设备及存储介质 |
-
2018
- 2018-12-18 CN CN201811547800.XA patent/CN109636205A/zh not_active Withdrawn
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200394572A1 (en) * | 2019-06-12 | 2020-12-17 | Toshiba Tec Kabushiki Kaisha | Reservation order processing system and reservation order processing method |
CN110334921A (zh) * | 2019-06-18 | 2019-10-15 | 平安普惠企业管理有限公司 | 一种项目调度方法、设备、服务器及计算机可读存储介质 |
CN110310023A (zh) * | 2019-06-18 | 2019-10-08 | 平安普惠企业管理有限公司 | 一种项目调度方法、设备、服务器及计算机可读存储介质 |
CN110689216A (zh) * | 2019-08-02 | 2020-01-14 | 湘潭大学 | 一种基于混合果蝇算法的机器人装配单元jit节能生产优化方法 |
CN110689216B (zh) * | 2019-08-02 | 2023-01-03 | 湘潭大学 | 一种基于混合果蝇算法的机器人装配单元混合产品jit节能生产优化方法 |
CN111047272A (zh) * | 2019-11-07 | 2020-04-21 | 苏宁云计算有限公司 | 一种用于多语言协同开发的项目调度方法及装置 |
WO2021088436A1 (zh) * | 2019-11-07 | 2021-05-14 | 苏宁云计算有限公司 | 一种用于多语言协同开发的项目调度方法及装置 |
CN111047272B (zh) * | 2019-11-07 | 2023-04-07 | 苏宁云计算有限公司 | 一种用于多语言协同开发的项目调度方法及装置 |
CN111027871A (zh) * | 2019-12-17 | 2020-04-17 | 广州唯品会研究院有限公司 | 项目的资源分配方法、装置和可读存储介质 |
CN113570178A (zh) * | 2020-04-28 | 2021-10-29 | 阿里巴巴集团控股有限公司 | 排班方法、设备、装置及存储介质 |
CN111709632A (zh) * | 2020-06-09 | 2020-09-25 | 国网安徽省电力有限公司安庆供电公司 | 基于人工智能和多目标约束的停电计划自动编排方法 |
CN112051825A (zh) * | 2020-09-22 | 2020-12-08 | 重庆大学 | 一种汽车试制车间考虑员工作业能力的多目标生产调度方法 |
CN112051825B (zh) * | 2020-09-22 | 2023-10-10 | 重庆大学 | 一种汽车试制车间考虑员工作业能力的多目标生产调度方法 |
CN112906952A (zh) * | 2021-02-04 | 2021-06-04 | 交通银行股份有限公司 | 一种银行流程任务智能调度系统 |
CN112884367B (zh) * | 2021-03-23 | 2022-09-30 | 合肥工业大学 | 多技能员工约束的装备研发多项目协同调度方法及系统 |
CN112884367A (zh) * | 2021-03-23 | 2021-06-01 | 合肥工业大学 | 考虑多技能员工约束的高端装备研发过程多项目协同调度方法及系统 |
CN113850515B (zh) * | 2021-09-28 | 2023-04-07 | 西南交通大学 | 一种增加接触网检修里程的作业人员配置方法 |
CN113850515A (zh) * | 2021-09-28 | 2021-12-28 | 西南交通大学 | 一种增加接触网检修里程的作业人员配置方法 |
CN114862216A (zh) * | 2022-05-16 | 2022-08-05 | 中国银行股份有限公司 | 一种敏捷项目调度方案的确定方法及装置 |
CN114723180A (zh) * | 2022-06-07 | 2022-07-08 | 深圳市佑荣信息科技有限公司 | 一种任务分配的计算方法及系统 |
CN116167595A (zh) * | 2023-04-25 | 2023-05-26 | 天信达信息技术有限公司 | 一种人员组决策变量的确定方法、电子设备及存储介质 |
CN116167595B (zh) * | 2023-04-25 | 2023-08-11 | 天信达信息技术有限公司 | 一种人员组决策变量的确定方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109636205A (zh) | 一种研发项目组合中多技能人员调度方法 | |
Xie et al. | Flexible job shop scheduling problem with interval grey processing time | |
Drake et al. | Recent advances in selection hyper-heuristics | |
Shen et al. | Mathematical modeling and multi-objective evolutionary algorithms applied to dynamic flexible job shop scheduling problems | |
Birjandi et al. | Fuzzy resource-constrained project scheduling with multiple routes: A heuristic solution | |
Ding et al. | Improved particle swarm optimization algorithm based novel encoding and decoding schemes for flexible job shop scheduling problem | |
Wang et al. | Time–cost–quality trade-off analysis for planning construction projects | |
Afzalirad et al. | Resource-constrained unrelated parallel machine scheduling problem with sequence dependent setup times, precedence constraints and machine eligibility restrictions | |
Chen et al. | A competence-time-quality scheduling model of multi-skilled staff for IT project portfolio | |
CN111047272B (zh) | 一种用于多语言协同开发的项目调度方法及装置 | |
Taheri Amiri et al. | Multi-project time-cost optimization in critical chain with resource constraints | |
CN107203492A (zh) | 产品设计云服务平台模块化任务重组与分配优化方法 | |
CN113139710B (zh) | 一种基于遗传算法的多资源并行任务高级计划排程方法 | |
CN104077634B (zh) | 基于多目标优化的主动‑反应式动态项目调度方法 | |
Wang et al. | Multi-user-oriented manufacturing service scheduling with an improved NSGA-II approach in the cloud manufacturing system | |
Chutima | Research trends and outlooks in assembly line balancing problems | |
Ma et al. | Integration routing and scheduling for multiple home health care centers using a multi-objective cooperation evolutionary algorithm with stochastic simulation | |
Dhingra | Multi-Objectfvne Flow Shop Scheduling using Metaheuristics | |
Yadav et al. | Feature selection optimisation of software product line using metaheuristic techniques | |
Tu et al. | Applying an AHP-QFD conceptual model and zero-one goal programming to requirement-based site selection for an airport cargo logistics center | |
Goedert et al. | Decision support system–enhanced scheduling in matrix organizations using the analytic hierarchy process | |
Sutar et al. | A modified artificial bee colony algorithm based on a non-dominated sorting genetic approach for combined economic-emission load dispatch problem | |
Haroune et al. | A hybrid heuristic for a two-agent multi-skill resource-constrained scheduling problem | |
Tsoi | Using analytic hierarchy process (AHP) method to prioritise human resources in substitution problem | |
Shen et al. | A hybrid GA-PSO algorithm for seru scheduling problem with dynamic resource allocation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190416 |
|
WW01 | Invention patent application withdrawn after publication |