利用 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來解決一個大規模社區聚類的問題,感覺一下這個框架的好處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM