CHƯƠNG 3 : THUẬT TOÁN ĐỀ NGHỊ
3.2. Giới thiệu giải thuật
3.2.3. Tìm kiếm con mồi (exploration phase
Cách tiếp cận tương tự dựa trên sự biến thiên của vector 𝐴 có thể sử dụng để tìm kiếm con mồi (exploration). Thực tế, cá voi lưng gù tìm kiếm ngẫu nhiên theo vị trí của mỗi cá thể khác. Vì vậy, chúng ta sử dụng vector 𝐴 với giá trị ngẫu nhiên lớn hơn 1 và nhỏ hơn -1 để buộc các cá thể tìm kiếm di chuyển ra xa khỏi con cá voi làm chuẩn. Ngược lại với giai đoạn tấn công, chúng ta cập nhật vị trí của một cá thể tìm kiếm trong giai đoạn tiềm kiếm theo một cá thể tìm kiếm được chọn ngẫu nhiên thay cho cá thể tìm kiếm tốt nhất tìm được đến hiện tại. Cơ chế này và
|𝐴 | > 1 nhấn mạnh cơ chế tìm kiếm và cho phép thuật tốn cá voi thực hiện tìm
kiếm tồn cục. Mơ hình tốn như sau:
𝐷⃗⃗ = |𝐶 . 𝑋⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ − 𝑋 | (3.11) 𝑟𝑎𝑛𝑑
𝑋 (𝑡 + 1) = 𝑋⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ − 𝐴 . 𝐷𝑟𝑎𝑛𝑑 ⃗⃗ (3.12)
Trong đó: 𝑋⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ 𝑟𝑎𝑛𝑑 là vector vị trí ngẫu nhiên (một con cá voi ngẫu nhiên) được chọn
Hình 3.7 Cơ chế tìm kiếm (X* là cá thể tìm kiếm được chọn ngẫu nhiên).
Thuật toán WOA bắt đầu với một tập hợp các giải pháp ngẫu nhiên. Tại mỗi vòng lặp, các cá thể tìm kiếm cập nhật vị trí của chúng về cá thể tìm kiếm được chọn ngẫu nhiên hoặc giải pháp tốt nhất thu được đến hiện tại. Thông số 𝑎 được giảm từ 2 về 0 để thực hiện tìm kiếm và tấn cơng con mồi tương ứng. Một cá thể tìm kiếm ngẫu nhiên được chọn khi |𝐴 | > 1, trong khi đó giải pháp tốt nhất được
chọn khi |𝐴 | < 1 để cập nhật vị trí của các cá thể tìm kiếm. Phụ thuộc vào giá trị
của 𝑝, WOA có thể chuyển đổi giữa cách di chuyển theo hình xoắn ốc hoặc di
chuyển theo đường trịn. Cuối cùng, thuật tốn WOA được kết thúc bằng việc thỏa mãn các tiêu chí.
Hình 3.8 Code giải thuật WOA
Khởi tạo quần thể cá voi Xi (i = 1, 2, …, n) Tính tốn sự phù hợp của mỗi cá thể tìm kiếm X* = cá thể tìm kiếm tốt nhất
While (t < số vòng lặp tối đa) for mỗi cá thể tìm kiếm
Cập nhật các thơng số a, A, C, l, và p
if1 (p < 0,5)
if2 ( |A| < 1)
Cập nhật vị trí của cá thể tìm kiếm hiện tại bằng pt (3.5)
Else if2 (|A| ≥ 1)
Chọn một cá thể tìm kiếm ngẫu nhiên (Xrand)
Cập nhật vị trí của cá thể tìm kiếm hiện tại bằng pt (3.12)
End if2 Else if1 (p ≥ 0,5)
Cập nhật ví trí của cá thể tìm kiếm hiện tại bằng pt (3.9)
End if1 End for
Kiểm tra nếu có bất kì cá thể tìm kiếm vượt ra khỏi khơng gian tìm kiếm và sửa nó
Tính tốn sự phù hợp của mỗi cá thể tìm kiếm Cập nhật X* nếu có một giải pháp tốt hơn t = t + 1
end while
Bắt đầu
Tính tốn hàm thích nghi của mỗi cá thể tìm kiếm và thu được cá thể tìm kiếm tốt nhất ban đầu
Dữ liệu đầu vào
Nếu p<0,5
Nếu A<1
Cập nhật vị trí của cá thể tìm kiếm hiện tại theo cơng thức
(3.9)
Cập nhật vị trí của cá thể tìm kiếm hiện tại theo cơng thức
(3.12)
Cập nhật vị trí của cá thể tìm kiếm hiện tại theo cơng thức (3.5) Nếu t<tmax In kết quả Kết thúc t = t+1 Sai Sai Sai Đúng
Các bước thực hiện WOA trong bài toán tái cấu trúc lưới điện:
- Bước 1: Nhập các thông số lưới điện (tổng trở đường dây, thơng số phụ tải, khóa điện).
- Bước 2: Xác định khơng gian tìm kiếm, bao gồm số lượng khóa mở, khơng gian tìm kiếm của mỗi khóa mở và các thơng số của giải thuật.
- Bước 3: Khởi tạo quần thể ban đầu ngẫu nhiên với n cá thể cá voi (cấu hình lưới có thể có).
- Bước 4: Giải bài tốn phân bố cơng suất bằng phương pháp Newton-Raphson với mỗi cá thể cá voi, tính tốn tổn thất cơng suất.
- Bước 5: Chọn ra kết quả tốt nhất X* hoặc Xrand
- Bước 6: Cập nhật các giá trị a, A, C, l, p cho mỗi cá thể cá voi.
- Bước 7: Cập nhật vị trí của các cá thể cá voi khác theo giá trị X* hoặc Xrand. - Bước 8: Giải bài tốn phân bố cơng suất và cập nhật giá trị X* hoặc Xrand. - Bước 9: Lặp lại bước 6 cho đến khi thỏa điều kiện ngừng lặp.
Bắt đầu
Xác định khơng gian tìm kiếm, bao gồm số lượng khóa mở, khơng gian tìm kiếm của mỗi khóa mở và các thơng số của giải thuật.
Nhập thông số lưới điện
Chọn ra kết quả tốt nhất X* hoặc Xrand
Giải bài tốn phân bố cơng suất và cập nhật giá trị X* hoặc Xrand.
Sai Đúng
Khởi tạo quần thể ban đầu ngẫu nhiên với n cá thể cá voi (cấu hình lưới có thể có).
Giải bài tốn phân bố cơng suất bằng phương pháp
Newton-Raphson với mỗi cá thể cá voi tính tốn tổn thất cơng suất.
Cập nhật vị trí của các cá thể cá voi khác theo giá trị X* hoặc Xrand.
Nếu t<tmax
Cập nhật các giá trị a, A, C, l, p cho mỗi cá thể cá voi.