Two-layer的參考點生成方法

在many-objective的優化算法中,目前很多都是基於reference point的,而這些reference point大部分都是使用的Das的那個方法,也就是在一個單位截距的超平面內生成這些點,這些點的元素和加起來是1。也就是說,任意一個點的元素都是來自:

{0/H,1/H,,H/H}

其中H是在boundary的分區的數量,產生的點的個數是CHm+H1 ,其中m 是目標的個數。這個算法現在都基本被基於refernce points的技術所採用,但是有一個問題就是,如果H<m 的話生成的參考點只有在boundary上,內部沒有產生這些點,但是爲了保持diversity的特性,內部還是需要一定的參考點。一個直觀的方法就是讓H>m ,但是當m8 的時候,生成的參考點又非常多,計算代價大啊。那麼在NSGA-III中給出了一種方法就是使用two-layer的方法。

1:第一次就是使用上面說的方法。然後再在內層生成這些點。
2:內層的生成方法是這樣的:
2.1:根據設置的H先在外層生成這些點
2.2:分別用這些點和一箇中心點連起來,然後求他們連線的中心點即可。這這個中心點的全部元素值都是等於1/m ,中心點就是這個點和1/m 加起來除以2即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章