天天看點

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

粒子群優化算法的思路

粒子群算法是一種群體智能算法,是基于種群群體提出的進化算法,如鳥群或者魚群等覓食的行為,鳥群中個每隻鳥往四周覓食,有些鳥飛過的地方食物多,有些地方食物少。它們的最終目标是尋找到食物最多的地方,在這個種群中每個個體都有自我認知和共享社會資訊的能力,自我認知的能力指每隻鳥能夠記錄自己尋找到的食物最多的地方,社會共享能力指種群直接按可以互相共享資訊以找到整個種群找到的食物最多的地方。是以粒子群優化算法需要記錄兩類資訊,一是個體找到的最佳位置

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

,二是種群找到的最佳位置

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

。然後需要用到這兩個資訊更新自己的飛行方向和速度。更新公式如下:

速度更新公式:

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

位置更新公式:

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

其中

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

表示是上一次疊代的資料,

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

表示本次疊代。

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

表示次元(決策變量的個數)。

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

表示種群中的第

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

個元素。

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

記錄種群中的個體

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

的經曆過的最優解

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

記錄整個種群周遊出的最優解

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

慣性因子

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

自身認知項的學習因子,

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

時表示種群沒有自我認知能力而隻有社會資訊。

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

群體認知項的學習因子,

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

時表示種群沒有社會資訊而隻有自我認知能力。

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法
多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

之間的随機數。

種群中個體在疊代更新速度與位置時,應該保證不能超出速度的最大及最小值和位置的最大及最小值。位置的最大及最小值就是決策變量的取值範圍,而速度範圍的選取即不可太大又不能太小,太大會導緻粒子可能偏離最優解,而太小則可能導緻陷入局部最優。同樣的慣性因子

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

也面臨着這種問題,這裡主要關心兩個數的選取:

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法
問題1:
多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法
的取值

[1]

w的選取一種是取固定值,一般在(0.5,0.8)範圍内,還有一種是動态政策,目前使用最多的是線性遞減權值政策。

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法
多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

最大疊代次數

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

初始慣性權重

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

疊代值最大進化代數時的慣性權重

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法
問題2:
多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法
的範圍

一般的當種群的位置範圍設為

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

時,速度的範圍設為

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

,其中:

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

,

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

matlab代碼實作

[2]:

這裡依然以單目标遺傳算法的例子為例,求解

多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法
function
           
多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法
多目标粒子群優化算法matlab_進化算法(3)--粒子群優化算法

參考

  1. ^https://www.jianshu.com/p/7e097bfb6390
  2. ^https://blog.csdn.net/nightmare_dimple/article/details/74331679

繼續閱讀