差分進化
ランダムに 3 つのエージェント a , b , c {\displaystyle \mathbf {a} ,\mathbf {b} ,\mathbf {c} } を選ぶ。ここで、 x {\displaystyle \mathbf {x} } , a {\displaystyle \mathbf {a} } , b {\displaystyle \mathbf {b} } , c {\displaystyle \mathbf {c} } は互いに異なるエージェントであるようにする。 ランダムにインデックス R ∈ { 1 , ... , n } {\displaystyle R\in \{1,\ldots ,n\}} を選ぶ( n {\displaystyle n} は最適化問題の次元数である)。 エージェントの更新位置 y = [ y 1 , ... , y n ] {\displaystyle \mathbf {y} =[y_{1},\ldots ,y_{n}]} を次のように計算する。 各 i ∈ { 1 , ... , n } {\displaystyle i\in \{1,\ldots ,n\}} ごとに、一様分布に従う乱数 r i ≡ U ( 0 , 1 ) {\displaystyle r_{i}\equiv U(0,1)} を選ぶ。