NSGA2学习(1)——与遗传算法的比较

说明

本文旨在对NSGA2和遗传算法GA的内容进行对比分析来加深对NSGA2算法的了解,里面的内容可能有部分错误,没有具体的代码只有一些分析来理解NSGA2的算法过程

初始种群的对比

相同点

  1. 都需要种群数量NP,维度D以及变量的取值范围即Xmax和Xmin

不同点

  1. NSGA2是解决多目标的算法,GA是单目标的算法
  2. NSGA2的种群f的维度不仅仅包括了变量X,还有目标函数的值以及目标函数的评价(支配关系和拥挤度),GA的种群只有变量X

对种群个体的评价的对比

相同点

  1. 都是计算目标函数的值来评价种群个体的优劣

不同点

  1. NSGA2计算得到的目标函数值储存在种群f中,GA算法计算得到的目标函数值一般储存在适应度fitness中
  2. NSGA2对种群个体的支配关系以及拥挤度进行比较来评价个体,GA是直接比较适应度来评价个体

交叉和变异操作的的对比

相同点

  1. 都采用了交叉和变异操作

不同点

  1. NSGA2种群个体中交叉和变异有且仅有一个发生,GA种群个体交叉和变异都可以发生也可以都不发生
  2. NSGA2在一个个体交叉和变异后会直接计算目标函数值,GA则是在种群完成后再计算或者合并后计算

选择操作的对比

相同点

  1. 都是选择优秀个体进行下一代的操作

不同点

  1. 选择方法不同: NSGA2大多使用竞标赛,GA大多使用轮盘赌或者择优随机选择

输出图像的对比

相同点

没有相同点

不同点

  1. NSGA2输出的是最后一代种群的多个目标函数值的关系,GA则是适应度迭代图

总结

NSGA2是通过对多个目标函数值进行比较来得到一系列最优的解,GA则是得到准确的一个最优的解.

你可能感兴趣的:(算法)