一种基于Pareto多目标蚁群优化算法的软件项目调度方法技术

技术编号:14277499 阅读:99 留言:0更新日期:2016-12-24 20:17
本发明专利技术涉及软件项目调度领域,更具体地,涉及一种基于Pareto多目标蚁群优化算法的软件项目调度方法,本发明专利技术公开的基于Pareto多目标蚁群优化算法的软件项目调度方法,包括S1、将员工对于任务的投入度转化为蚂蚁的觅食路径图;S2、初始化蚂蚁的觅食路径图,设置非占优解集和初始值;S3、根据每只蚂蚁i依据觅食路径图来构造一个可行解Si,并评估可行解Si的可行性;S4、更新非占优解集PS,直到算法运行到一定的迭代次数,就终止循环并输出非占优解集即Pareto解集(PS)中的解,否则进入上述步骤3,能够在较少的时间内有效地求解软件项目调度问题,在大部分实例中获得比经典的NSGA‑II算法更优的解,且能获得具有更小的项目开发周期。

【技术实现步骤摘要】

本专利技术涉及软件项目调度领域,更具体地,涉及一种基于Pareto多目标蚁群优化算法的软件项目调度方法
技术介绍
随着软件产业迅速发展,软件项目变得越来越庞大且复杂,软件产品开发中爆发出很多问题:不完善的项目管理工作和不严谨的软件开发过程控制导致各种软件质量问题频出,此时,软件项目调度问题变得极其重要且富有挑战性。现实生活中的软件项目调度问题大多极其复杂,且难以在多项式时间内进行求解,无法利用确定性的算法进行有效求解,现有求解软件项目调度多目标优化问题的方法大多利用以下算法:单目标蚁群组合优化算法,NSGA-II,SPEA2,PAES等。单目标组合优化算法是将多目标优化问题利用数学组合策略转化为单个目标函数,再利用单目标优化算法进行求解。此方法只能求解得到一个组合最优解,但该解不一定符合软件项目管理者的需求,比如项目管理者有时候需要同时兼顾开发成本最低和工期最短这两个相互冲突的目标,Pareto解是求解多个目标同时优化问题的较合理的决策方案,它是综合考虑各个优化目标的折衷最优解。NSGA-II,SPEA2和PAES这类经典的多目标进化算法采用仿生学原理,能在一定程度上求解软件项目调度多目标优化问题,获得一组Pareto最优解,但这些结果还不能满足实际软件项目管理的需求。其主要存在以下两个问题:(1)求解时间效率较低;(2)决策支持信息不够。现有技术缺点:现有的基于经典多目标进化算法或单目标组合优化蚁群算法的软件项目调度方法主要存在求解时间效率低下,求解结果不能满足实际软件项目管理者的需求,以及决策支持信息不足的缺陷。决策支持信息不足是指,面对现有方法求解产生的一组Pareto最优解,管理者除了考虑目标值属性外,没有其他参考信息,尤其在目标值满足需求的一系列解中难以挑选,且可能挑选的解的稳定性很差,存在较大风险。因此,提出一种解决上述问题的基于Pareto多目标蚁群优化算法的软件项目调度方法实为必要。
技术实现思路
本专利技术为克服上述现有技术所述的至少一种缺陷(不足),提供一种基于Pareto多目标蚁群优化算法的软件项目调度方法。为解决上述技术问题,本专利技术的技术方案如下:一种基于Pareto多目标蚁群优化算法的软件项目调度方法,包括以下步骤;S1、将员工对于任务的投入度转化为蚂蚁的觅食路径图;S2、初始化蚂蚁的觅食路径图,设置非占优解集和初始值;S3、根据每只蚂蚁i依据觅食路径图来构造一个可行解Si,并评估可行解Si的可行性;S4、更新非占优解集;S5、如果算法运行到一定的迭代次数,就终止循环并输出Pareto解集即非占优解集(Pareto Set,PS)中的解,否则进入上述步骤3。进一步的,所述步骤S1中,包括如下步骤;S11、产生一个节点插入第0列作为开始节点;S12、构造j个节点作为第一个员工对于各个任务的候选投入度节点;S13、构造其他员工的投入度节点;S14、产生一个节点插入第E+1列作为终止节点;S15、产生连接各邻居列的节点之间的边。更进一步的,所述在构造一个解时,蚂蚁只能在每列中选择一个节点来通过,每个员工对于各个任务有且仅有一个投入度。进一步的,所述步骤S2中,包括如下步骤;S21、设置非占优解集PS=Ф;S22、将信息素的初始值设为1。更进一步的,所述步骤S3中,包括如下步骤;S31、构造解Si,通过每只蚂蚁i依据其启发式信息、信息素信息以及概率矩阵来构造一个可行解Si。S32、评估解Si,计算可行解Si的项目成本cost和项目工期duration两个目标值,并评估解的可行性。进一步的,所述步骤S4中,包括如下步骤;S41、更新PS,如果非占优解集PS中不存在任何解能占优解Si,就将可行解Si加入PS中,并从PS中移除所有被可行解Si占优的解。S42、更新信息素矩阵,对每只蚂蚁i来说,如果可行解Si在本轮中被加入了PS中,就对蚂蚁i所在群组的信息素信息进行更新。S43、更新子问题i的当前最优解xi,如果当前最优解xi被该轮中蚂蚁i的邻居产生的最优解Sx占优,则设置xi=Sx。与现有技术相比,本专利技术技术方案的有益效果是:通过基于分解的多目标蚁群优化算法对软件项目调度问题进行求解,获得一组Pareto最优解,再对这些解进行蒙特卡洛实验,分析其在数据参数“员工最大投入度”不确定或不稳定时的鲁棒性,并通过Pareto前沿面泡泡图和阈值筛选前沿面图的可视化为软件项目管理者提供更多的决策支持信息,以此对比各个Pareto解的鲁棒性。实验表明,提出的算法能在经典NSGA-II算法的大约一半时间内有效求解软件项目调度多目标优化问题,且提出的鲁棒性分析方法能为软件项目管理者提供更丰富的决策支持。本专利提出的基于Pareto的多目标蚁群优化算法,能够在较少的时间内有效地求解软件项目调度问题,在大部分实例中获得比经典的NSGA-II算法更优的解,且能获得具有更小的项目开发周期。提出的对Pareto解的鲁棒性分析方法能判断解的鲁棒性和稳定性,并将其融入到Pareto前沿面中进行可视化展示,给软件项目管理者提供除了各个优化目标值之外的决策支持信息。附图说明图1是本专利技术中软件项目调度问题模型实例;图2是本专利技术中蚁群觅食构造图;图3是本专利技术中Pareto解的鲁棒性分析流程图;图4是本专利技术中15e_10t_g10获得的PF图;图5是本专利技术中5e_10t_p5获得的PF图;图6是本专利技术中10e_20t_p7获得的PF图;图7是本专利技术中15e_30t_g10获得的PF图;图8是本专利技术中实例组G1的平均运行时间图;图9是本专利技术中实例组G2的平均运行时间图;图10是本专利技术中实例组G3的平均运行时间图;图11是本专利技术中实例组G4的平均运行时间图;图12是本专利技术中实例5e_10t_p5中24个POS*的鲁棒性指标图;图13是本专利技术中实例5e_10t_p5的鲁棒性信息的可视化图;图14是本专利技术中实例15e_30t_p7中24个POS*的鲁棒性指标图;图15是本专利技术中实例10e_10t_g5中24个POS*的鲁棒性指标图;图16是本专利技术中鲁棒性信息在Pareto前沿面的可视化图。具体实施方式附图仅用于示例性说明,不能理解为对本专利的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。在本专利技术的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以是通过中间媒介间接连接,可以说两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本专利技术的具体含义。下面结合附图和实施例对本专利技术的技术方案做进一步的说明。在本专利技术中,文中涉及的英文单词或英文缩写解释如下:Pareto:帕累托,是专业术语,由一个数学家的名字得来的。NSGA-II:英文全称为Non-dominated Sorting GeneticAlgorithm II,是对NSGA算法的改进版本。NSGA-II中文一般翻译为:快速非支配排序遗传算法。RPS:Reference Pareto Set,中文翻译为:参考本文档来自技高网
...
一种基于Pareto多目标蚁群优化算法的软件项目调度方法

【技术保护点】
一种基于Pareto多目标蚁群优化算法的软件项目调度方法,其特征在于,包括以下步骤;S1、将员工对于任务的投入度转化为蚂蚁的觅食路径图;S2、初始化蚂蚁的觅食路径图,设置非占优解集和初始值;S3、根据每只蚂蚁i依据觅食路径图来构造一个可行解Si,并评估可行解Si的可行性;S4、更新非占优解集;S5、如果算法运行到一定的迭代次数,就终止循环并输出Pareto解集即非占优解集(Pareto Set,PS)中的解,否则进入上述步骤3。

【技术特征摘要】
1.一种基于Pareto多目标蚁群优化算法的软件项目调度方法,其特征在于,包括以下步骤;S1、将员工对于任务的投入度转化为蚂蚁的觅食路径图;S2、初始化蚂蚁的觅食路径图,设置非占优解集和初始值;S3、根据每只蚂蚁i依据觅食路径图来构造一个可行解Si,并评估可行解Si的可行性;S4、更新非占优解集;S5、如果算法运行到一定的迭代次数,就终止循环并输出Pareto解集即非占优解集(Pareto Set,PS)中的解,否则进入上述步骤3。2.根据权利要求1所述的基于Pareto多目标蚁群优化算法的软件项目调度方法,其特征在于,所述步骤S1中,包括如下步骤;S11、产生一个节点插入第0列作为开始节点;S12、构造j个节点作为第一个员工对于各个任务的候选投入度节点;S13、构造其他员工的投入度节点;S14、产生一个节点插入第E+1列作为终止节点;S15、产生连接各邻居列的节点之间的边。3.根据权利要求2所述的基于Pareto多目标蚁群优化算法的软件项目调度方法,其特征在于,所述在构造一个解时,蚂蚁只能在每列中选择一个节点来通过,每个员工对于各个任务有且仅有一个投入度。4.根据权...

【专利技术属性】
技术研发人员:肖菁高美玲黄敏镁
申请(专利权)人:华南师范大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1