利用 JMetal 实现大规模聚类问题的研究(一)JMetal配置

研究多目标优化问题,往往需要做实验来对比效果,所以需要很多多目标方面的经典代码,比如NSGA-II, SPEA, MOEA,MOEA/D, 或者PSO等等。

想亲自实现这些代码,非常浪费时间,还有可能出错,最好的方法就是找一些网上现成的开源代码。

在这里记录下我学习JMetal这个库的过程。

JMetal 代码写得非常漂亮,非常好地利用了面向对象的设计思想,可以非常方便地拓展,自定义各种问题,还有各种评价指标。所以学习这个对于以后从事启发式算法非常有帮助。

第一章 在Eclipse中配置JMetal代码

1. 下载JMetal源代码

代码包可以在官方网站下载: http://jmetal.sourceforge.net/

我这里下载的是 jmetal4.5.2.src.tar.gz 

同时下载了官方的手册 jmetal4.5.userManual.pdf

2. 创建自己的项目

 新建一个JAVA 项目,输入项目名,下一步,然后点击 Link additional source,然后把JMetal包解压出来的路径包含进去

刚导入的时候可能全部都是红色的叉叉,是一些不认识的配置文件造成的,我的处理方法是在Problems选项卡中找到所有的问题,然后全选删除。

或者直接在文件夹里面搜索 ._开头的文件 全部删除 就可以了

3. 尝试运行NSGA-II

在这个包里面:

jmetal.metaheuristics.nsgaII 找到 NSGAII_main.java 然后右键 Run As -> Java Application 输出:

 在你新建的那个目录里面,就看到了NSGAII的运行结果 其中FUN是目标函数的值,VAR是每个解

差不多到这里,整个JMetal框架就配置好了。

接下来我会用JMetal来解决一个大规模社区聚类的问题,感觉一下这个框架的好处。

原文地址:https://www.cnblogs.com/denggaoshan/p/6306640.html