An Evolutionary Algorithm for Optimal Multiple Project Scheduling

被引量 : 0次 | 上传用户:jiekoala
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着现代软件工程的飞速增长,对软件产品的能否具备竞争力来说无疑是一种挑战。与此同时,如何有效的确定软件项目的截止日期以及如何控制项目的成本,已成为越来越受重视的研究问题。迄今为止,在实际应用中,很少有方法能支持工程管理人员对软件项目高效进行管理,比如通过对项目任务的仿真和优化预测合理的项目截止日期。软件开发项目依靠仔细规划的时间表,然而,再详细的时间表也不能免除项目管理员因为人类固有的局限性所造成的错误判断。项目管理者必须考虑应如何在需求和突发时间中做出权衡才能实现利益最大化与代价最小化。  本文描述了一个多目标的多项目调度的解决方案。用来在软件生命周期中,支持项目经理最优的安排项目资源,分配项目任务,满足项目需求。软件项目生  命周期中存在三个优化目标。这三个目标分别是:  第一,通过减少生产的缺陷最大化软件产品的质量。在我们的模型中,我们认为,导致更高的软件开发时间和维修费用的软件项目的生产的缺陷需要由开发人员通过返修来解决。提高产品质量的影响被认为与不同方面的项目成果相关。  第二,为了评价项目完工时间,一份完善的软件开发进度时间表是必备的。对于项目中的每个模块,每项活动的具体时间被计算并且各模块的最长时间决定了项目完工时间。  第三,最小化工程造价。工程造价应该正比于为每个任务付出的努力,可以用每个活动所需的总时间乘以单位时间的成本来测量。软件项目成本决定了该软件在软件市场中的成功率和竞争力。  项目时间表的主要目的是给出合适的“脉络图”,以便协助项目管理者有效地完成该项目。项目管理者制定的时间表用来反映该项目要如何实现以及正确反应项目开发过程中的变化。项目进度计划阐明了要做的任务和活动,谁将承担这些任务(资源),什么时间应该完成(项目时间)。在实际项目开发过程中,项目进度时间表被用来监管项目进度,指定项目何时开始,何时完成该项目,以及如何合理的进行资源分配。  近年来,为提高对软件项目过程的认识和调度,建立了最优化模型。使用优化模型进行项目管理引入的一个具有挑战性的问题是如何支持项目管理者最好地安排项目资源和任务,以满足项目约束条件和要求。  我们旨在为每个项目任务设计最有效的开发方案,在增加产品质量的同时能够减少项目工期和成本。我们设计的模型包括编码、检查、测试、返修操作等几个阶段,同时也包括将项目任务分配给开发者生成项目进度表。  一般情况下,一个给定的软件项目的时间安排是一个由项目管理者手动建立的任务。制定项目进度计划需要耗费大量的时间、精力,并且还需要具备关于可用资源的知识以及项目进度安排的经验。然而,这项任务并没有完全摆脱由于管理者的局限性做出的错误决策,如缺乏对组织目标和资源的知识,基于不正确的假设的决策等等。一个完善的项目日程可以用于预测何时能完成项目活动。此外,它允许项目管理者查看项目的性能,并使用这些数据更精确地展望预期的工作。然而,建立一个准确和可实现的项目时间表是开发一个项目的关键活动之一。同样,定期更新和维护项目进度,以此来跟踪正在执行的项目进度也是非常重要的。考虑到人工开发调度的必要性以及它存在的缺陷,找到另一种方法在设计项目进度的早期阶段用以协助管理人员是十分有价值的。  在此前提下,我们提出了一种制定软件项目中的超时计划。因为在软件工程中难免会出现超时的现象,这会影响到开发者,甚至会导致软件成本和软件缺陷增加。对此,我们评估了额外的开销和超时时间。为了解决这一问题,我们采用多目标遗传算法,对项目质量、成本、工期和开发技能,以目标函数的形式,优化各个方面调度和人事安置。MOEA/D-DE我们的工作中被使用,它对复杂帕累托形状集合的多目标优化问题表现良好。我们改进 MOEA/D-DE算法用以开发软件项目时间表。算法包括遗传算法的标准程序,它包含:创建初始种群、表示不同的人口的个体、选择适者生存的个体、应用个体配偶的交叉操作和在产生孩子中应用变异算子。  那么,我们如何进行一系列的计算实验来评价多目标模型和分解的启发式算法呢?如何呈现我们是如何实施和执行优化模型和算法呢?为了回答这些问题,我们确定了单一的仿真运行的平均运行的时间和总的运行的时间。  在本论文中实现对多个软件项目进行调度的问题,该方法旨在软件项目调度的早期阶段协助项目管理者进行软件开发的时间表的指定。我们把调度多个软件项目的问题当作多目标问题,实现对软件项目的最佳调度,以达到提高产品质量的目的。同时也尽量减少项目完工时间和成本。这项研究将评估软件项目中的调度过程。  我们设计两种不同类型的实验进行分析。实验目的包括三个方面:第一,探讨多目标模型和提出的MOEA/D-DE算法在解决多项目调度问题的效率;第二,研究不同开发人员在设计的项目时间表方面的技能;第三,通过加班,说明软件项目成本和项目完工时间之间可能的权衡。  描述如何评价多目标模型和算法。此外,我们对得到的结果进行审查和分析。相信本文的研究成果为软件项目的开发添加了一个有效的工具。最后,提出对后续研究问题展望和本文涉及的几个问题的扩展与延伸。  在所提出的问题中,考虑到优化目标,将最高效的人力资源集合分配给每个项目活动,目的是为了最小化目标函数。所提的模型包括编码、检验、测试和重做操作阶段,并涉及到可用的开发人员所需任务的分配用以生成项目日程。在这项工作中,三个目标已经得到解决。
其他文献
手绘草图的编辑是草图理解中一项基本的工作,需要解决草图的随意性和歧义性等挑战性问题,是草图理解中不可缺少的一部分.在笔式交互界面环境下,应该让笔来承担尽可能多的工作
众所周知,以自然现象为启发的计算理论和计算机(网络)系统结构设计正成为当今国内外该领域研究的前沿课题。与传统的研究方法不同,自然启发式方法在承认“存在即合理”的前提
现代企业事务性信息平台日趋完善,企业事务性数据大量采集和积累,超越了企业现有的数据消费能力,企业数据生产相对过剩,数据查询和分析的速度和质量难以满足企业在复杂内外部环境
全光纤加速度地震检波器在地震勘探中能够提供灵敏度高、抗干扰性强和非接触的测量优点,具有广阔的应用前景,而信号处理将直接影响到测量的分辨率、精度和动态范围等因素,它的性
随着便携式计算机的与日俱增,高速无线接入技术的日新月异,无线计算机应用呼之即来。但是无线移动网络的高误码率和移动性等特点,常常使得通信的服务质量无法保证。如何在无
本文主要对非平稳时间序列建模问题进行研究。首先,对建模的方法进行比较,通过实验确定采用具有全局最优解和较好泛化推广能力的支持向量回归技术进行建模。 其次,提出一种面
由于网格计算的飞速发展,目前在面向服务的网格环境中存在三种不兼容的服务标准:标准的Web服务(Standard Web Service,WS)、基于OGSI(Open Grid Service Infrastructure)的网格服务
云计算凭借其海量的计算资源以及按需租用按用付费的服务模式,已经成为工业界和学术界广泛关注和讨论的热点。同时,随着工业界各大公有云平台的推出,越来越多的应用服务提供
随着计算机网络技术和图像处理技术的飞速发展,流媒体系统也越来越普及。这类系统中最主要的问题之一就是多媒体内容的传输,这里的多媒体内容主要包括屏幕数据、视频和音频等等
在计算机和互联网技术的高速发展的今天,信息的发布与共享不再受到时空限制,同时也给我们带来了“信息过载”的问题,即信息资源极大丰富,而真正有用的信息和知识却相对匮乏。作为