nsga2算法matlab代码这是基于NSGA-II的多目标进化算法(MOEA)。
最终目的是解决开源软件的发布时间和管理问题
NSGA是一种流行的基于非控制的遗传算法,用于多目标优化。
原始NSGA-II代码可在函数nsga_2(pop,gen)中找到。
该函数的输入参数是种群大小和世代数。
出于定制目的,用户可以通过修改m文件(evaluate_objective.m)来自由修改目标函数(多个决策变量的函数)。
传统上,优化的软件发布时间问题将多决策空间减少为单目标优化问题。
尽管这些表述简化了问题并降低了涉及的复杂性,但是解决方案并不能解决涉及的每个目标。
我们使用基于非控制的遗传算法来解决开源软件的发布时间问题,其原因有两个:1.要同时实现最大的可靠性和最小的成本。
2.进化算法保证了解的质量。
我们没有使用单个遗传算法找到一组最优解,而是找到了一个最优解。
众所周知,这些解决方案是帕累托最优解决方案。
在针对多目标问题的一组帕累托最优解中,在最后一个目标中,每个解决方案都必须比另一个更好。
我们考虑的目标是1.可靠性2.成本3.测试资源消耗
如何运行:
nsga_2(pop,
2021-09-11 18:57:02
139KB
系统开源
1