利用 JMetal 实现大规模聚类问题的研究(二) JMetal代码总览

之前完成了导入JMetal到自己的工程这一步。

在开始我们研究的问题之前,我们先对JMetal的源代码一个全局的认识。


JMetal很好地利用了面向对象的特性,对所有的优化问题做了高度的抽象,建议有空认真阅读源代码。

core 中的类是整个JMetal的基础类,非常重要。比如,所有的算法都继承于的Algorithm类。

encodings 是编码的方法,就是启发式算法中的各种解的表示方法。

experiments 这里面给出利用JMetal做实验的一些示例代码。

metaheuristics里面包含了各种最新的优化算法的实现,可以非常方便地做对照实验。

operators 是优化算法里面的各种操作,比如遗传算法需要交叉、变异、选择,也可以自定义操作。

problems 包括多目标的一些经典的问题,广泛应用于各种多目标论文中对照实验,比如WFG,DTLZ还收录了CEC2009的测试集。

qualityIndicator 里面是对各种解的一些质量评估的方法。包括Spread, Epsilon, HyperVolume这些经典的指标。

最后的util类,包含很多实用的算法类,比如求解向量的距离,排序等等,如果能够用上可以节约很多时间。

 

以后用到再更新。

posted @ 2017-01-19 19:44  折射  阅读(1133)  评论(1编辑  收藏  举报