粒子群主要決策利用「自身經驗」與「其他人經驗」進行決策。
粒子每一次自身經驗都有適應值,可以衡量這次經驗的好壞,
並且有記憶性可以紀錄每次經驗的位置與適應值。
PSO流程圖
PSO表達式
Vid(t):這次粒子的速度
Pid(T):粒子所經過最好的位置(每個粒子都有一個最好位置)
Xid(t):粒子這次的位置
Gid(T):粒子群所經過最好的位置(一個粒子群只會有一個最好位置)
Pid(T):粒子所經過最好的位置(每個粒子都有一個最好位置)
Xid(t):粒子這次的位置
Gid(T):粒子群所經過最好的位置(一個粒子群只會有一個最好位置)
C1,C2:控制且避免數值太大
Xid(t+1):粒子下次的位置
演算法練習:
演算法練習:
1.主要是初始化一開始粒子群Initialization,然後依據繁延代數,進行移動ParticleMove,在這個方法裡我有利用varyVector1、varyVector2來控制,避免數值太大,最後如果數值出過-4~4間,強迫介於在這,不然變化量太大造成位置移動有問題。
2.Parameter沒有使用到封裝,如果需要再自行更改程式碼。
3. 利用JFreeChart free lib , 來畫出JFreeLineChart迭代圖。
沒有留言:
張貼留言