温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
考虑
人格
因素
软件
项目
调度
模型
算法
洪波
第 28 卷 第 2 期2023 年 4 月工业工程与管理Industrial Engineering and ManagementVol.28 No.2Apr.2023考虑人格因素的软件项目调度模型与算法李洪波,惠千容*(上海大学 管理学院,上海 200444)摘要:软件项目的成功离不开对技能型人力资源的合理调度,而项目团队中员工的人格特质往往会影响其执行任务的效果。研究了多技能条件下考虑人格因素的软件项目调度问题,旨在满足技能、优先关系等约束条件下,将具有不同技能和人格特质的员工进行有效调度,从而最小化项目总成本。建立了该问题的混合整数线性规划模型,设计了基于双重优先规则的启发式调度算法。基于全因子试验设计构建基准数据集,利用计算实验分析了所提算法的性能。将所提算法同CPLEX和遗传算法进行了对比,结果表明所提算法在求解效率和效果上均具备优秀的竞争力。关键词:软件项目调度;混合整数规划;启发式算法;人格因素;试验设计中图分类号:C 931 文献标识码:AModels and Algorithms for Software Project Scheduling Considering PersonalityLI Hongbo,HUI Qianrong*(School of Management,Shanghai University,Shanghai 200444,China)Abstract:Effective scheduling of multi-skilled human resources is essential to the success of software projects.In software development,employees personality traits often affect the performance of their work.The software project scheduling problem with multi-skilled employees considering employees personality was studied.The proposed problem aimed at assigning employees with different skills and personality traits to suitable tasks,and determining the start time of each task under the constraints of skills and precedence relations,such that the total cost of the project was minimized.A mixed integer linear programming model was formulated and a double priority rules based heuristic algorithm was proposed.Based on a benchmark dataset that was generated using full factorial design of experiment,computational experiments were conducted to analyze the performance of the proposed algorithm.The algorithm was compared with the commercial solver CPLEX and genetic algorithm.The results show that the algorithm is competitive in terms of efficiency and effectiveness.Key words:software project scheduling;mixed integer programming;heuristic algorithm;personality;design of experiment1 引言 软件产业作为我国的战略性高技术产业,是社会信息化的重要支撑。2020年,我国软件业务收入已突破8万亿元,增幅创五年来新高1。然而,由于软件开发的业务逻辑日益复杂、项目团队跨国跨地文章编号:1007-5429(2023)02-0010-09DOI:10.19495/ki.1007-5429.2023.02.002收稿日期:2021-07-06基金项目:国家自然科学基金(71602106);上海市“科技创新行动计划”软科学重点项目(20692192400)作者简介:李洪波(1985),山东东营人,副研究员,博士,主要研究方向为项目管理与调度。E-mail:。*通信作者:惠千容,硕士研究生,主要研究方向为项目调度。E-mai:。-10第 2期工 业 工 程 与 管 理区协作渐成常态、用户需求复杂易变,导致软件开发项目成功率较低,大量软件开发项目难以在预算内按时交付。牛津大学与麦肯锡公司对预算规模1 500万美元以上的软件开发项目的调查显示,平均每个被调查项目的预算超支45%,交付日期比预计日期延迟7%2。许多软件开发项目失败的根源可以追溯到缺乏有效的调度3-4。软件项目调度旨在满足任务优先关系、人力资源技能约束等条件的前提下,获取一个基线进度计划。该计划指明了每个项目成员需在何时执行何种任务,从而使得具有某些技能的员工与所需这些技能的任务形成最佳匹配,并最小化项目的工期、成本等绩效指标。学术界已对软件项目调度问题做了大量深入的研 究。作 为 早 期 的 代 表 性 研 究,ALBA 和CHICANO 5 在对软件项目调度的研究中,利用遗传算法为员工指派任务和工作量,后续的软件项目调度研究大都在这项研究的基础上进行扩展 6-8。LI和WOMER 9 研究了软件项目调度问题的混合整数线性规划模型及其Benders分解算法。RODRIGUEZ等 10 在ALBA和CHICANO 5 模型的基础上考虑了技能水平,用非支配排序遗传算法优化项目的工期、成本和效率等多个目标。GARCA和GMEZ 11 则对具有不同技能水平的员工设定不同的薪资。CHICANO等 12 的研究考虑了员工工作效率的差异。JANIAK 和 RUDEK 13、KUO 和 YANG 14、WANG X Y和WANG J J 15、NIU等 16 以及LIN 17 考虑了项目调度过程中员工的学习效应。郭一楠等18结合学习/遗忘模型,模拟员工技能的学习-遗忘-再学习的现象,设计了非支配排序遗传算法,从而最小化项目的工期和成本。MINKU等19将员工的投入上限设定为1,考虑资源的有限性,设计了改进的进化算法。SHEN等20将员工的满意度作为项目的优化目标之一,设计了基于Q学习的多目标双存档模因算法。HEIMERL和KOLISCH21考虑了员工使用技能的效率、工作负荷和内外部员工情况,针对多技能人力资源的多项目调度问题,建立了混合整数规划模型。刘振元等22针对可抢占软件项目调度问题,建立了整数规划模型,并设计了分支定界算法。虽然已有研究从人力资源的诸多角度对软件项目调度问题做了大量扩展研究,但少有研究将员工的人格因素纳入软件项目的调度过程,这无疑影响了具有显著智力密集型特点的软件项目调度模型与算法的有效性23-24。人格综合反映了人的行为模式、思维模式和情绪反应,它会影响员工的工作绩效25。DHANI和 SHARMA26的实证研究结果表明,人格特质对 IT员工的工作绩效具有显著影响,可以作为员工工作绩效的预测因子。此外,员工工作绩效相关的风险是项目风险中的一个重要因素27,提高员工的工作绩效是降低项目风险、提高项目成功率的有效措施28-29。因此,在软件项目调度过程中,考虑员工人格特质与不同类型任务的匹配度,有助于提升员工的工作绩效,进而提高软件项目的成功率。因此,本文提出并研究了考虑员工人格因素的软件项目调度问题。主要贡献在于:(1)针对考虑员工人格因素的软件项目调度问题,建立了混合线性规划模型。模型中考虑了人格因素以及多任务、加班、任务工作量可变等多种因素对调度目标的影响。(2)为了高效求解本文的问题,设计了一个基于双重优先规则的启发式调度算法。(3)基于试验设计和大规模计算实验,将本文算法与CPLEX和遗传算法进行了对比,对比结果体现了本文算法的有效性和高效性。2 考虑员工人格因素的软件项目调度问题 本文研究的问题描述如下。用有向图G=(N,A)表示一个软件项目,其中:N=0,1,n+1为节点的集合,表示项目中的任务;ANN为有向弧的集合,表示任务之间的优先关系,即对于任意(i,j)A,任务j需在任务i完成后方可开始,称i为j的紧前任务,j为i的紧后任务。IPj和ISj分别表示任务j的紧前和紧后任务集合。任务 0 和n+1为虚任务,分别代表项目的开始和结束。每个任务j的工期为整数dj,开始时间为整数stj。任务不可抢占,即任务开始执行后不允许中途停止,则任务j的完成时间为stj+dj。虚任务的工期为0。项目的截止日期为-d。具备各种技能的人力资源是软件项目中的核心资源。用集合E表示项目中涉及的所有员工,将员工eE具备的技能集合表示为SeS,S为项目所需的所有技能集合。具备技能s的员工集合为EsE。每个任务j在执行时,需要向其安排员工,且这些员工具备的技能必须涵盖任务j所需的技能集合SjS。任务j在每个时段q对技能s投入的工作量需求为rjqs。若员工e被安排执行任务j,则xjtse-11第 28 卷 李洪波,等:考虑人格因素的软件项目调度模型与算法表示该员工在时段t使用技能s投入到任务j的工作量。虚任务不消耗任何资源。此外,将所有员工需要承担的平均工作量表示为项目的工作强度:=jNsSE(rjqs)eERmaxe(1)其中,E(rjqs)表示单位时间内任务j对于各种技能的平均工作量需求。(0,1),其值越大,意味着员工的工作负荷越重。对于同一种技能,不同员工的熟练程度不同。用se表示员工e掌握技能s的效率,则1 se表示员工e使用技能s完成单位工作量所需的时间。当员工e不具备技能s时,se=0。单位时间内员工e可承受的 工 作 量 不 能 超 出 其 单 位 时 间 内 的 最 大 工作量Rmaxe。同时,员工的人格特质对其工作效果有影响。比如,用户需求分析这类任务,外向型的员工往往更为擅长。因此,本文引入匹配系数se 0,2 表示员工e和需要技能s的任务之间在人格上的匹配程度,其计算依据主要基于SANTOS等30的框架,并将人格特质引入计算过程。首先,基于大五人格法,从N(神经质性)、E(外倾性)、O(开放性)、A(宜人性)、C(严谨性)五个维度对软件项目中员工的人格特质进行测量,测量结果为pie 0,10,其表示员工e在维度i上的得分。pis1,4,7 表示技能s在维度i上的需求等级,取值1、4、7分别代表低、中、高水平。然后,引入is表示维度i对技能s的影响程度,其值可通过专家打分法获得。那么,指派员工e使用技能s的匹配程度系数se可以表示为:se=i=15iiise(2)其中,ise衡量了员工e和技能s在各维度i上的差异,其计算方式为:ise=0,piepis|pis-pie|,piepis(3)i为修正系数,描述了不匹配程度在各维度i上的叠加效应,权重较高的维度上,不匹配造成的叠加效应更大,其计算方式30为:i=|i-1,piepisi-1+wii=15wi,piepis(4)可见,se越大,表示员工e和需要技能s的任务之间在人格上的不匹配程度越高。基于上述分析,安排员工e执行任务j时,因人格不匹配成本导致的成本cpjtse=wsexjtse,其中,w表示由于不匹配导致的单位工作量额外成本,该参数可由项目经理基于已有项目的实施经验进行估