利用强化学习与遗传编程相结合的方法进行敏捷软件项目调度
《Engineering Applications of Artificial Intelligence》:Agile software project scheduling using reinforcement learning with genetic programming
【字体:
大
中
小
】
时间:2026年04月11日
来源:Engineering Applications of Artificial Intelligence 8
编辑推荐:
动态周期调度模型与EPPO-GP算法在敏捷软件项目中的应用研究。本文构建了考虑团队属性的敏捷软件项目调度模型(ASPSTA),包含用户故事选择、分配和多团队任务分配三个子问题,提出基于遗传规划增强的近端策略优化算法(EPPO-GP)。通过自动生成调度规则构建动作空间,结合政策熵和奥恩斯坦-乌尔姆贝克噪声优化策略,实验表明该算法在11个测试用例上平均累积奖励提升2.23%,优于对比的10种算法。模型有效整合了团队执行速度、领域经验和用户故事偏好,为复杂敏捷项目提供数据驱动的决策支持。
沈晓宁|史江毅|张光辉|王志龙
南京信息科学技术大学自动化学院,中国江苏省南京市210044
摘要
随着软件开发复杂性的急剧增加,跨团队合作变得越来越普遍。然而,现有的敏捷调度方法往往缺乏对团队属性及其动态变化的充分整合,从而严重限制了它们在复杂敏捷项目环境中的适应性。这一关键限制凸显了开发能够有效应对这些复杂性的智能调度解决方案的迫切需求。在本文中,我们构建了一个考虑团队属性的敏捷软件项目动态周期调度模型,该模型由三个紧密耦合的子问题组成,即用户故事选择、用户故事分配给开发团队以及任务分配给团队成员。为此,我们提出了一种基于遗传编程的近端策略优化算法,该算法使用自动生成的调度规则来构建代理的动作空间,并在Actor网络的损失函数中加入策略熵,在梯度中加入噪声。改进策略的有效性在三个合成实例和一个实际实例(包括小规模、中等规模和大规模)上得到了验证。所提出的基于人工智能的算法被设计为实用敏捷软件项目管理的决策支持工具,能够实现跨冲刺、团队和员工的数据驱动分配决策。此外,该算法还与十种其他算法进行了比较。在平均累积奖励指标方面,所提出的算法在所有实例中均取得了最佳结果,比第二好的算法平均性能提高了2.23%。这些结果验证了所提出算法在解决方案准确性和实际应用性方面的优越性。
引言
软件产业作为国家经济发展的关键支柱之一,通常具有项目周期长、复杂性高、专业要求严格以及劳动力流动性大的特点。这些因素可能会增加项目失败的可能性。根据Standish集团的相关报告,2023年全球只有34%的项目按时交付并最终取得成功(Hastie, 2023)。当前,全球软件产业正面临从传统软件模式向云计算时代转型的挑战。与传统软件项目调度(SPS)相比,1敏捷软件项目调度(ASPS)代表了一种更加灵活的方法。它采用“小规模、高技能”的团队,并以“周期短、频率高”的开发节奏为特点。通过迭代和增量的方法分解软件项目,从而提高了软件开发的灵活性。此外,它能够迅速响应需求变化并动态调整软件开发计划。在整个开发过程中,ASPS与客户保持密切合作,从而实现更快的交付和更高的项目满意度。因此,由于其迭代开发和持续交付等特性,ASPS符合软件产业在交付方式和支付模式方面面临的转型挑战。
随着用户需求的增加和市场环境的日益波动,软件项目的复杂性达到了新的高度,逐渐暴露了单团队开发框架的局限性。跨部门和跨团队合作已成为必要的措施,特别是在敏捷环境中,适应动态变化的能力至关重要(Rath等人,2025)。为了解决这些挑战,我们构建了一个考虑团队属性的敏捷软件项目调度模型(ASPSTA)。该模型涉及协调多个冲刺阶段和团队之间的用户故事分配,同时处理团队内部的任务分配。通过优化用户故事分配策略并在多个团队之间合理分配资源,ASPSTA在提高敏捷项目的管理效率和成功概率方面发挥着关键作用。
SPS已被证明是一个NP难问题(Vega-Velázquez等人,2018)。ASPSTA可以被视为SPS的扩展形式,它在SPS的基础上结合了动态调度环境和团队内部及团队之间的用户故事分配。因此,ASPSTA也是一个NP难问题。在项目开发过程中,环境的动态变化将导致调度方案的变化。周期性和动态性的共存是ASPSTA问题的关键特征之一;因此,采用具有动态环境适应性和自主决策能力的方法来解决ASPSTA问题至关重要。强化学习(RL)为解决这个问题提供了一个方向。RL将调度问题视为马尔可夫决策过程(MDP),通过代理与调度环境之间的持续交互生成经验,并从这些经验中学习最优策略(即调度方案)以实现奖励的最大化。RL通过交互评估策略的价值,并根据这些价值改进策略,从而在解决各种类型的问题时表现出强大的适应性。然而,传统的RL无法处理ASPSTA中的大量用户故事数据。为了解决这个问题,可以采用深度强化学习(DRL)方法来解决该模型。
2017年,OpenAI研究团队提出了近端策略优化(PPO)算法(Schulman等人,2017),该算法通过策略网络和价值网络改进了策略的迭代优化过程,帮助代理学习和执行在每种环境状态下产生最大奖励的动作策略。作为一种基于策略的算法,PPO能够高效利用经验轨迹(Chen等人,2025),非常适合ASPSTA问题的动态周期特性。代理的动作空间通常由手动设计的启发式调度规则组成。然而,这种方法需要大量的时间投入和高水平的专业知识,且在复杂环境中设计规则的质量和适应性可能受到限制。因此,我们提出了一种结合遗传编程(GP)的探索增强型PPO算法(EPPO-GP)。该算法利用遗传编程(GP)的迭代训练生成一组适当的调度规则,构成探索增强型PPO(EPPO)的动作空间。同时,通过将策略熵加入损失函数并在梯度中引入随机扰动,该算法旨在降低收敛到不良局部最优解的风险并提高整体性能。
本文的主要贡献可以总结为三点:(1)针对实际敏捷软件项目调度中普遍存在的三个紧密耦合的子问题——用户故事-冲刺分配、故事-团队分配和任务-员工分配——我们建立了一个ASPSTA模型。在考虑动态因素的同时,该模型结合了每个团队对不同类型用户故事的开发经验和偏好。(2)将GP与PPO相结合,我们利用GP的迭代演化自主生成一组具有良好多样性和高质量的系统调度规则,这些规则用于构成PPO的动作空间。与手动设计的启发式规则相比,GP对时间和专业知识的依赖性较低,并且能够在面对新的复杂环境时自适应地生成更高质量的调度规则。(3)本文提出了一种EPPO。通过在Actor网络的损失函数中加入策略熵,EPPO能够限制策略更新的范围,同时确保策略的多样性。为了防止网络参数陷入局部最优解,我们在Actor网络损失函数的梯度中加入了Ornstein-Uhlenbeck(OU)噪声,有效增强了策略的探索能力。
本文的结构如下:第2节进行文献综述;第3节构建ASPSTA的数学模型;第4节详细阐述所提出的EPPO-GP算法;第5节介绍实验研究;第6节总结本研究并对未来工作进行展望。
节选
文献综述
与本研究相关的文献2涉及两个关键领域:(1)ASPS模型,(2)PPO算法和GP算法,分别在以下两个小节中讨论。
ASPSTA的数学建模
首先介绍了基于Scrum的敏捷开发过程。然后我们构建了ASPSTA的数学模型。
基于EPPO-GP的ASPSTA动态周期调度
为了解决所构建的ASPSTA模型,我们基于EPPO-GP设计了一种动态周期调度方法。介绍了EPPO-GP算法的MDP和框架,并详细描述了改进的策略。
实验与结果分析
为了验证所提出算法和改进策略的有效性,我们在PyCharm软件中进行了仿真实验,计算机处理参数设置为Intel(R) Core(TM) i7-9750H CPU @ 2.60 GHz和16 GB RAM。设计了四组实验:(1)参数分析。(2)基于GP的自动化调度规则生成策略、策略熵策略和OU噪声优化策略的有效性验证。
结论
本研究提出了一个考虑团队属性的敏捷软件项目调度模型,解决了开发效率、资源利用和团队动态之间的复杂相互作用问题。本研究的核心是对团队能力的建模,这些能力通过任务执行速度、领域经验和与不同类型用户故事的偏好对齐等指标来体现。所有这些因素都预计会影响生产力和满意度。
CRediT作者贡献声明
沈晓宁:撰写——审阅与编辑、方法论、调查、资金获取、概念化。史江毅:撰写——原始草稿、验证、方法论、调查、概念化。张光辉:撰写——审阅与编辑、概念化。王志龙:撰写——审阅与编辑、概念化。
利益冲突声明
作者声明他们没有已知的财务利益或个人关系可能影响本文报告的工作。
致谢
本工作得到了国家自然科学基金(Grant No. 61502239)和江苏省自然科学基金(Grant No. BK20150924)的支持。
生物通微信公众号
生物通新浪微博
今日动态 |
人才市场 |
新技术专栏 |
中国科学人 |
云展台 |
BioHot |
云讲堂直播 |
会展中心 |
特价专栏 |
技术快讯 |
免费试用
版权所有 生物通
Copyright© eBiotrade.com, All Rights Reserved
联系信箱:
粤ICP备09063491号