協同優化算法

協同優化算法的原理是將一複雜的目標函數分解成簡單的子目標函數 ， 然後再將這些子目標函數進行協同優化 。 具體說來 ， 協同優化是在優化每一子目標函數同時綜合考慮其它子目標函數的結果 ， 使子目標函數之間的優化結果能夠一致 。 優化結果一致是指使每一變量的值在每一子目標函數的優化結果中能夠一致 。 一般來說 ， 可以證明 ， 如果變量的值一致則爲最優解 。 協同優化算法沒有局部最優問題同時具有非常良好的收斂特性 。 它很好地解決了許多實際中非線性優化及組合優化難題 。 如果目標函數是一n個變量的函數, 簡寫成, 協同優化算法先將它分解成n個簡單的子目標函數: . 如果單獨優化每一子目標函數, 則它們的結果很難達到一致 。 例如, 變量在包含它的子目標函數中的最優解值很難相同 。 對於, 如果我們取的最優解中的值作爲該變量的值 ， 表示成, ， 這裏 ， 是的變量集 ， 指變量集除去元素 ， 則很難爲原目標函數的最優解 。 爲了使子目標函數之間的優化結果能夠一致 ， 協同優化算法在優化每一子目標函數同時考慮其它子目標函數的結果, 。 具體做法是利用其它子目標函數的優化結果通過數值加權修正每一個子目標函數如下, ， 這裏 ， 爲加權係數 ， 滿足 。 然後對修正後的子目標函數進行優化 ， 優化結果再疊代放入修正的子目標函數中 。 協同優化算法的疊代方程如下, 協同優化結果使每一變量的值在每一子目標函數的優化結果中達到一致 。 如果一致 ， 則子目標函數的優化解既爲最優解 。