Quần thể ban đầu gồm n cỏ thể (mỗi cỏ thể là một lời giải cho bài toỏn, nhƣng chƣa tối ƣu). Mỗi cỏ thể thứ i trong quần thể đƣợc biểu diễn bởi một vector xi - m chiều (giỏ trị
m tựy thuộc vào mỗi bài toỏn khỏc nhau và cỏch xử lý khỏc nhau) và một vector vận tốc
vi(i = 1..n) . Hàm mục tiờu của bài toỏn là f :Rm đ R .
Thuật toỏn
Bƣớc 1: Khởi tạo quần thể với việc khởi tạo vector vị trớ xi và vector vận tốc vi(i = 1..n) cho cỏ thể thứ i, i = 1,.., n (cho mỗi cỏ thể Pi trong quần thể P(n))
Bƣớc 2: Khởi tạo cỏc thụng tin ban đầu về vị trớ tốt nhất của cỏc cỏ thể và cả quần thể + pbesti= xi (khởi tạo vị trớ tốt nhất của cỏ thể thứ i bằng vị trớ được khởi tạo hiện tại) + gbest = min (f(xi)), i = 1,..n (khởi tạo vị trớ tốt nhất của cả quần thể bằng vị trớ nhỏ nhất trong tất cả cỏc vị trớ của tất cả cỏc cỏ thể được khởi tạo)
Bƣớc 3: Bƣớc lặp với điều kiện lặp xỏc định trƣớc (sau một số lần lặp cho trước hoặc sau một số lần lặp mà khụng thu được kết quả tốt hơn). for i=1:n (với mỗi cỏ thể)
vik+1 = w.vik + c1.rand1.(pbesti – xik) + c2.rand2.(gbest – xik) (cập nhật lại chuyển động ở thế hệ tiếp theo theo chuyển động tốt nhất hiện tại của chớnh cỏ thể và theo chuyển động của cỏ thể tốt nhất trọng quần thể)
xik+1= xik + vik+1(cập nhật lại vị trớ theo vị trớ hiện tại và theo hướng chuyển động mới nhất) if f(xi) < f (pbesti) then pbesti = xi (cập nhật lại vị trớ tốt nhất của mỗi cỏ thể bằng việc so sỏnh với vị trớ hiện tại) if f(xi) < f (gbest) then gbest = xi (cập nhật lại vớ trớ tốt nhất của quần thể bằng việc so sỏnh với cỏ thể tốt nhất hiện tại)
+ Kiểm tra điều kiện kết thỳc bƣớc lặp, nếu thỏa món chuyển sang B4, cũn khụng tiếp tục B3
107
(4.19)
í nghĩa cỏc tham số trong thuật toỏn: + w là hằng số quỏn tớnh;
+ c1 và c2 là hệ số gia tốc, hằng số mụ tả cú bao nhiờu cỏ thể hƣớng về vị trớ tốt, đặc trƣng cho kinh nghiệm và tớnh xó hội;
+ rand1 và rand2 là hai vector ngẫu nhiờn, lấy giỏ trị trong đoạn [0,1], nú đƣợc sinh ra tại mỗi bƣớc lặp;
+ pbesti là vị trớ tốt nhất cho đến thời điểm hiện tại của cỏ thể thứ i trong quần thể; + gbest là vị trớ tốt nhất của cả quần thể tại thời điểm hiện tại
Chỳ ý: Tựy vào từng bài toỏn cụ thể mà cỏch biểu diễn cỏ thể sẽ khỏc đi, khi đú cỏch biểu
diễn hàm vận tốc và vị trớ của cỏ thể cú thể sẽ khỏc nhau.