JMetal使用小记

来源:互联网 发布:northwind数据库下载 编辑:程序博客网 时间:2024/04/30 11:03

为了接下来在做MOEA算法对比的时候更加遍历,使用一个集成的可以更方便的评价算法的平台是非常有必要的,要么自己去写,要么用现成的,各有各的好处,如今我选择了JMetal,选择他主要基于我对Java比较熟悉,能够看懂和修改代码,其实这个玩意很简单,仔细一看他的结构就知道,并且还给了足够的manual来阐述如何使用,非常方便。如果只是跑一个实验,比如跑NSGAII在3个目标的DTLZ1问题上,那么这个就更简单了,今天我想说的是,比如我想使用NSGAII来跑DTLZ1的3,4,5,10,20等这些目标的结果,那么怎么办?其实在NSGAIIStudy的例子中可以看出来了,能够修改一下就可以用,主要修改的地方在:
algorithm[i] = new NSGAII_Settings(problemName).configure(parameters[i]);

这个代码的地方,是生成一个NSGAII_Settings的类,然后调用configure的方法返回一个algorithm。其实在初始化NSGAII_Setting的时候,就包含了对problem的定义,这个时候只传入了problem的名字,比如我传入的是DTLZ1,那么就使用DTLZ1,而目标数量是用的默认的3,那么如果我想改怎么办?很easy,打开这个NSGAII_Setting方法,加入一个构造函数,就好了
public NSGAII_Settings(String problem, int numberOfVariables, int numberOfObjectives)

以上就可以了。。

0 0
原创粉丝点击