CHƯƠNG 3 : QUÁ TRÌNH TIẾN HÀNH
3. QUÁ TRÌNH TIẾN HÀNH
3.2 Xây dựng giải thuật GWO
Tương tự như GA, thuật toán bắt chước tập tính săn mồi của bầy sói GWO cũng cần các bước là khởi tạo quần thể, tính fitness score, cập nhật lại vị trí (tương đương với bước tạo quần thể mới), và điều kiện dừng cũng là khi đạt được số vòng lặp tối đa. Để ứng dụng vào bài toán tìm góc kích tối ưu cho bộ nghịch lưu đa bậc ghép tầng (cụ thể là 5 bậc), các bước thực hiện thuật toán GWO được trình bày như sau:
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
GVHD: PGS.TS Phan Quốc Dũng
Hình 3.3: Các bước thực hiện giải thuật GWO
3.2.1 Khởi tạo
Tương tự như giải thuật GA phía trên, quần thể được lựa chọn cho GWO có kích thước 20 phần tử, số vòng lặp lớn nhất là 200, 250, 300, ma trận tọa độ được khởi tạo trong matlab như sau:
Positions=rand(SearchAgents,5).*pi/2;
3.2.2 Tính fitness score
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
GVHD: PGS.TS Phan Quốc Dũng ( . . ) = ∑ .cos( ) − . + ∑ .cos(5 ) + ∑ .cos(7 ) +
∑ .cos(11 ) + ∑ .cos(13 ) (13)
Phần tử có điểm cao nhất sau khi tính toán được gán cho alpha, phần tử cao thứ 2 là beta, phần tử cao thứ 3 là delta.
3.2.3 Cập nhật lại vị trí
B1. Để cập nhật lại vị trí, a giảm từ 2 về 0.
B2. Cho biến chạy lần lượt từng phần tử trong quần thể, lần lượt tính toán các giá trị A1, C1, A2, C2, A3,C3, D_alpha, D_beta, D_delta
B3. Các giá trị X1, X2, X3 được tính theo công thức (5), và vị trí tại vòng lặp lúc này được cập nhật lại theo công thức (6).
Giá trị của vị trí sau khi tính toán được đưa vào kiểm tra và áp dụng các điều kiện biên để không bị vượt ra khỏi không gian tìm kiếm. Các điều kiện này sẽ được lấy từ bảng tham chiếu từ hình 3 ứng với các khoảng giá trị của tỉ số điều biên m. Bài toán có điều kiện dừng là khi đạt số vòng lặp tối đa, với số vòng lặp lớn nhất được chọn là 200, 250 và 300.