Thuật toán tối ưu bầy đàn (PSO)

Một phần của tài liệu Một số phương pháp nâng cao độ chính xác dự báo trong mô hình chuỗi thời gian mờ (Trang 42 - 45)

PSO được đề xuất bởi Kennedy và Eberhart [71] vào năm 1995 là thuật toán tìm kiếm ngẫu nhiên dựa trên việc mô phỏng hành vi và sự tương tác của bầy chim

��=1�� � () ∑𝒜𝒜=1𝒜𝒜𝒜 (𝒜)∗𝒜

Với�� � = ‖�𝒜 − 𝒜‖ là khoảng cách giữa quan sát𝒜𝒜 và tâm cụm𝒜𝒜 (Khoảng cách

hay đàn cá tìm nguồn thức ăn Mỗi con chim đại diện cho một cá thể trong quần thể gồm Pmax cá thể và được đặc trưng bởi hai thành phần là vị trí và vận tốc Mỗi cá thể đại diện cho một giải pháp tiềm năng, được đánh giá thông qua hàm mục tiêu (fitness function) Ban đầu PSO được khởi tạo với vector vị trí và vector vận tốc một cách ngẫu nhiên Sau đó trong mỗi bước lặp của thuật toán, vector vận tốc�� � = [�� �,1, 𝒜𝒜𝒜,2, … , 𝒜𝒜𝒜, ] và vị trí𝒜𝒜 = [𝒜𝒜,1, 𝒜𝒜𝒜,2, … , 𝒜𝒜𝒜,𝒜 ] của mỗi cá thể id sẽ được

cập nhật theo công thức (1 16) và (1 17) Cũng tại mỗi bước lặp (mỗi lần di chuyển trong không gian n chiều), mỗi cá thể chịu ảnh hưởng bởi hai thông tin: Thông tin thứ nhất là vị trí tốt nhất mà nó đạt được cho tới thời điểm hiện tại, gọi là���� �_𝒜𝒜 =

[ 𝒜𝒜,1, 𝒜𝒜𝒜,2, … , 𝒜𝒜𝒜, ] Thông tin thứ hai là vị trí tốt nhất trong tất cả quá trình tìm kiếm của các cá thể trong quần thể từ trước cho tới thời điểm hiện tại, gọi là𝒜𝒜𝒜𝒜

Minh họa việc cập nhật vị trí và vận tốc của mỗi cá thể theo vị trí tốt nhất của nó và của cả quần thể tính tới thời điểm hiện tại như chỉ ra trong Hình 1 11

𝒜

+1 𝒜 𝒜+1 (1 17)

�� = 𝒜��� − ( ∗ � � ��� ���_��� − 𝒜 𝒜𝒜𝒜 ) (1 18)

Hình 1 11: Đồ thị minh họa một điểm tìm kiếm bằng PSO Vị trí tốt nhất𝒜𝒜𝒜𝒜𝒜_𝒜𝒜 của mỗi cá thể id được cập nhật như sau:

𝒜+1 (𝒜) = {

𝒜+1 𝒜

𝒜+1 𝒜+1 𝒜 (1 19)

𝒜

Luận án sử dụng thuật toán tối ưu PSO được cải tiến bởi [72] bằng việc đưa thêm vào hệ số rằng buộc K gọi là tối ưu rằng buộc (Constrained Particle Swarm Optimization - CPSO) Trong thuật toán PSO cải tiến sự thay đổi vận tốc của các cá thể trong phương trình (1 16) được thay thế bởi phương trình (1 20) sau đây :

𝒜 𝒜

����+1 = 𝒜 ∗ 𝒜𝒜𝒜𝒜 + 1 ∗1( ) (∗ �����_𝒜𝒜 − 𝒜𝒜 ) + 𝒜2 ∗ 𝒜2( ) ( ∗ 𝒜𝒜𝒜𝒜 − 𝒜𝒜𝒜 ) (1 16)

��� = ��� + 𝒜𝒜

�����_�� = 𝒜𝒜𝒜𝒜_𝒜𝒜 , n u fitness(ế �� � ) > �����_𝒜𝒜

fitness(�� � ), n u fitness(ế 𝒜𝒜𝒜 ) ≤ �����_𝒜𝒜

Giá trị����� tại lần lặp thứ k là:𝒜𝒜𝒜𝒜𝒜 = min (𝒜𝒜𝒜𝒜_� � )

Hệ số K được xác định là K = 2 ; |2−𝒜−√𝒜2−4∗𝒜|

Vị trí mới của mỗi cá thể id được thay đổi bằng cách thêm vận tốc ở phương trình (1 20) vào vị trí hiện tại như sau:

𝒜+1 𝒜 𝒜+1 (1 21)

Trong đó;𝒜𝒜𝒜𝒜 và𝒜𝒜𝒜𝒜 là vị trí và vận tốc hiện tại của cá thể id tại bước lặp k; Giới hạn của vận tốc được xác định trong miền [−𝒜𝒜𝒜𝒜 , 𝒜𝒜𝒜𝒜], trong đó𝒜𝒜𝒜𝒜 là một hằng số được xác định trước bởi người dùng;

✓ ω là trọng số quán tính thay đổi theo công thức (1 18)

✓𝒜1 và𝒜2 là hai nhân tố học dùng kiểm soát mức độ ảnh hưởng của các thành phần xã hội và nhận thức và được xác định giống như công trình [72] là:𝒜1 =𝒜2=

2 05, và φ =𝒜1+𝒜2= 4 1 Khi đó giá trị của hệ số K = 0 7298

✓ R1 () và R2 () là hai hàm nhận các giá trị ngẫu nhiên trong khoảng [0, 1] Thuật toán PSO [71, 72] được tóm tắt thành các bước bằng việc giảm thiểu hàm mục tiêu f như sau:

Thuật toán 1 1: Thuật toán PSO cơ bản Đầu vào: Số lượng Pmax cá thể trong quần thể Đầu ra: Giá trị tối ưu𝒜𝒜𝒜𝒜𝒜

Thiết lập: K=0 7298,𝒜𝒜 𝒜𝒜 ,𝒜𝒜𝒜𝒜 , 𝒜𝒜𝒜𝒜 và số lần lặp tối đa𝒜𝒜𝒜𝒜_𝒜𝒜𝒜

Begin

Khởi tạo: vị trí ban đầu, vận tốc ban đầu và vị trí tốt nhất𝒜𝒜𝒜𝒜𝒜_𝒜𝒜 của mỗi cá thể

▪ Vị trí của cá thể id (id = 1,2, …, Pmax);𝒜𝒜𝒜 = [𝒜𝒜𝒜,1, 𝒜𝒜𝒜,2, … , 𝒜𝒜𝒜,n]

▪ Vận tốc của cá thể id:𝒜𝒜𝒜 = [𝒜𝒜𝒜,1, 𝒜𝒜𝒜,2, … , 𝒜𝒜𝒜,n]

▪ Ban đầu đặt𝒜𝒜𝒜𝒜𝒜_𝒜𝒜 =𝒜𝒜𝒜 = [𝒜𝒜𝒜,1, 𝒜𝒜𝒜,2, … , 𝒜𝒜𝒜,n]

while (iter iter_max) do

foreach id (1≤ 𝒜𝒜 ≤ Pmax)

▪ Tính giá trị hàm mục tiêu của mỗi cá thể id: f(𝒜𝒜𝒜 )

▪ Tính giá trị𝒜𝒜𝒜𝒜𝒜_𝒜𝒜 của mỗi cá thể id theo công thức (1 19)

End for

▪ Cập nhật𝒜𝒜𝒜𝒜𝒜 theo giá trị hàm mục tiêu

foreach id (1≤ 𝒜𝒜 ≤ Pmax)

▪ Cập nhật vận tốc của cá thể id theo công thức (1 20) ▪ Cập nhật vị trí của cá thể id theo công thức (1 21)

End for

Cập nhật𝒜𝒜 theo công thức (1 18)

End while

Return𝒜����

End

Một phần của tài liệu Một số phương pháp nâng cao độ chính xác dự báo trong mô hình chuỗi thời gian mờ (Trang 42 - 45)