Jmetal 4+ 使用指南二
以NSGA-II为例
觉得有用的话,欢迎一起讨论相互学习~
- 本文以Jmetal官网文档为基础,结合自身理解
链接如下
Jmetal 4+ 使用指南一 - 如果你还不了解NSGA-II可以参考
NSGA-II入门
多目标优化拥挤距离计算
多目标优化按支配关系分层实现 - 书接上节
NSGAII.java 类
使用方法
- 直接run NSGAII的main方法不需要任何参数
并且生成四个文件,分别是目标函数值,决策变量值,log日志文件
这种方式指定的问题是写在main方法中的problem = new ZDT3("ArrayReal", 30);
- run NSGAII的main方法接上问题的名称例如
使用IDEA传入参数
- 使用IDEA–> run --> Edit Configurations --> Program arguments 写入问题的名称, 例如此处写上ZDT3,则指定问题为ZDT3
- run NSGAII的main方法接上问题的名称以及PF前沿
- 其中True PF在Jmetal 4+中没有指定,因此需要自己引入
使用IDEA传入参数
此处给出Ture PF的绝对地址,并且记住加上""
例如此时我们将PF文件存放到桌面,则
- 只要给出了真实PF, 则算法会自动计算出各种指标
- 并且各类指标也会在log文件中显示
Main 方法
设置问题类型
设置算法参数
- 设置种群大小,最大评价次数
- 设置交叉算子
- 设置变异算子
- 设置选择算子
- 添加参数设置
- 设置指标
一旦创建了要运行的算法的对象,就必须对其进行配置。 在清单3.18中包含的代码中,在第97-98行中设置了输入参数,在第101-109行中指定了交叉和变异运算符,在第113行中选择了选择运算符。一旦指定了运算符, ,将它们添加到第116-118行的算法对象中。 第121行中的语句将指标设置为输入参数。