目錄
構造性合作協同演化
編輯構造性合作協同演化算法(又稱C3)是人工智能中的一種全局優化算法,基于貪婪的隨機適應性搜索程序(GRASP)的多起點結構。它結合了現有的合作共進化算法(CC)。所考慮的問題被分解為子問題。這些子問題被分別優化,同時交換信息,以解決完整的問題。一個優化算法,通常但不一定是進化算法,被嵌入到C3中以優化這些子問題。嵌入的優化算法的性質決定了C3的行為是確定性的還是隨機性的。C3優化算法最初是為基于模擬的優化而設計的,但它也可用于一般的全局優化問題。與其他優化算法,特別是合作協同進化算法相比,它的優勢在于能夠更好地處理不可分割的優化問題。后來又提出了一個改進的版本,稱為改進的建設性合作協同進化差分進化(C3iDE),它消除了前一個版本的一些限制。C3iDE的一個新元素是子種群的高級初始化。C3iDE最初以部分共同適應的方式對子種群進行優化。在一個子種群的初始優化過程中,只有其他子組件的一個子集被考慮用于共同適應。這個子集逐步增加,直到所有的子組件都被考慮。這使得C3iDE與合作協同進化算法(CC)和差分進化算法相比,在大規模全局優化問題上非常有效(多達1000維)。改進后的算法已經適用于多目標優化。
構造性合作協同演化的算法
編輯如下面的偽代碼所示,C3的迭代存在兩個階段。在xxx階段,即構造階段,整個問題的可行方案以逐步的方式被構建。每一步都考慮到不同的子問題。在最后一步之后,所有的子問題都被考慮到了,一個完整問題的解決方案被構建出來。這個構建的解決方案然后被用作第二階段的初始解決方案,即局部改進階段。CC算法被用來進一步優化構建的解決方案。第二階段的一個周期包括分別優化子問題,同時將其他子問題的參數固定在一個中央黑板的解決方案上。當對每個子問題進行優化后,找到的解決方案在協作步驟中被結合起來,產生的組合中xxx的一個成為下一個周期的黑板解決方案。在下一個周期中,同樣的情況被重復。第二階段,也就是當前的迭代,在CC算法的搜索停滯不前,沒有發現明顯更好的解決方案時,就會終止。
然后,開始下一次迭代。在下一次迭xxx始時,利用在前一次迭代的xxx階段中發現的解決方案,構建一個新的可行的解決方案。然后,這個構建的解決方案被用作第二階段的初始解決方案,方法與xxx次迭代相同。
多目標優化
編輯C3算法的多目標版本是一種基于帕累托的算法,它采用的是與單目標C3優化算法相同的分而治之的策略。該算法再次從子種群的高級建設性初始優化開始,考慮越來越多的子問題的子集。該子集不斷增加,直到包括所有子問題的整個集合。在這些初始優化過程中,最新包括的子問題的子群是由多目標進化算法進化的。對于子種群成員的適配性計算,它們與先前優化的每個子種群中的合作者解決方案相結合。一旦所有子問題的子種群被初步優化,多目標C3優化算法繼續以循環方式優化每個子問題,但現在來自所有其他子問題的子種群的合作者解決方案與正在評估的子種群的成員相結合。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/163689/