Chương 4 THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ
4.4. Tối ưu hóa các thơng số cơng nghệ
4.4.2.1 Cơ sở lựa chọn phương pháp giải bài toán tối ưu
Bài tốn tối ưu có thể được xem như bài tốn tìm kiếm giải pháp tốt nhất trong khơng gian vơ cùng lớn các giải pháp. Khi khơng gian tìm kiếm nhỏ thì các phương án tối ưu hóa truyền thống có thể thích hợp để giải (như phương pháp tính trực tiếp, phương pháp đồ thị, phương pháp Lagrange …). Tuy nhiên, các phương pháp tối ưu truyền thống thì khơng phù hợp với miền phổ rộng, khơng hiệu quả khi khoảng khảo sát quá rộng. Các thuật toán xây dựng trên cơ sở các phương pháp này không đủ mạnh với số ràng buộc và số tham số cần tối ưu quá lớn. Đã có nhiều phương án tiếp cận khác nhau nhằm giải quyết các loại bài toán này, song gần đây việc ứng dụng giải thuật tối ưu hóa bầy đàn (Particle Swarm Optimization - PSO) đã bắt đầu cho thấy được ưu điểm nổi bật [19].
Phương pháp tối ưu bầy đàn là một dạng của các thuật tốn tiến hóa quần thể đã được biết đến trước đây như thuật giải di truyền (Genetic algorithm - GA), thuật toán đàn kiến (Ant colony algorithm - ACA). Tuy vậy, PSO khác với GA ở chỗ nó thiên về sử dụng sự tương tác giữa các cá thể trong một quần thể để khám phá khơng gian tìm kiếm. PSO là kết quả của việc mơ hình hóa đàn chim bay đi tìm kiếm thức ăn nên nó thường được xếp vào loại thuật tốn có sử dụng trí tuệ bầy đàn. Thuật tốn này được giới thiệu bởi James Kennedy và Russell C. Eberhart [85] vào năm 1995 tại một hội nghị của IEEE. Thuật tốn có nhiều ứng dụng quan trọng trong tất cả các lĩnh vực ở đó địi hỏi phải giải quyết các bài tốn tối ưu hóa. Để hiểu thuật tốn PSO, hãy xét một ví dụ đơn giản về quá trình tìm kiếm thức ăn của một đàn chim. Khơng gian tìm kiếm thức ăn lúc này là tồn bộ không gian ba chiều mà chúng đang sinh sống. Tại thời điểm bắt đầu tìm kiếm, cả đàn bay theo một hướng nào đó, có thể rất ngẫu nhiên. Sau một thời gian tìm kiếm, một số cá thể trong đàn bắt đầu tìm ra nơi có thức ăn. Tùy theo số lượng thức ăn vừa tìm được mà cá thể này gửi tín hiệu đến các các cá thể khác ở vùng lân cận. Tín hiệu này được lan truyền trên tồn bộ quần thể. Dựa vào thơng tin nhận được, mỗi cá thể sẽ điều chỉnh hướng bay và vận tốc hướng về nơi có nhiều thức ăn nhất. Cơ chế truyền tin như vậy thường được xem như là một kiểu hình của trí tuệ bầy đàn. Cơ chế này giúp cả đàn chim tìm ra nơi có nhiều thức ăn nhất trên khơng gian tìm kiếm vô cùng rộng lớn [85].
Như vậy, đàn chim đã dùng trí tuệ, kiến thức và kinh nghiệm của cả đàn để nhanh chóng tìm ra nơi chứa thức ăn. Việc mơ hình hóa này thường được gọi là quá
trình phỏng sinh học. Thuật toán xây dựng dựa trên việc mơ hình hóa các q trình trong sinh học được gọi là thuật toán phỏng sinh học.
Xét bài toán tối ưu của hàm số Q trong không gian hai chiều (S, t). Mỗi vị trí trong khơng gian là một điểm có tọa độ hai chiều (S, t). Hàm Q là hàm mục tiêu xác định
trong không gian hai chiều và nhận giá trị thực. Mục đích là tìm ra điểm cực đại của hàm Q trong miền xác định nào đó của (S, t). Giả sử số lượng thức ăn tại một vị trí tỉ
89 lớn thì số lượng thức ăn càng lớn. Việc tìm vùng chứa thức ăn nhiều nhất tương tự với việc tìm vùng chứa điểm cực đại của hàm Q trong không gian tìm kiếm.
PSO được khởi tạo bằng một nhóm cá thể (nghiệm) ngẫu nhiên và sau đó tìm nghiệm tối ưu bằng cách cập nhật các thế hệ. Trong mỗi thế hệ, mỗi cá thể được cập nhật theo hai giá trị tốt nhất. Giá trị thứ nhất là vị trí tốt nhất mà nó từng đạt được cho tới thời điểm hiện tại, gọi là Pbestj. Một nghiệm tối ưu khác mà cá thể này bám theo là nghiệm tối ưu tồn cục Gbest, đó là vị trí tốt nhất mà quần thể này đạt được cho tới thời điểm hiện tại. Nói cách khác, mỗi cá thể trong quần thể cập nhật vị trí 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.
Vận tốc và vị trí của mỗi cá thể được tính như sau:
k 1 k k k j j 1 1 bestj j 2 2 best j k 1 k k 1 j j j v w.v c .rand ()(P x ) c .rand ()(G x ) x x v (4. 7) trong đó: xjk: Vị trí của cá thể thứ j tại thế hệ thứ k; vjk: Vận tốc của cá thể thứ j tại thế hệ thứ k; xjk+1: Vị trí của cá thể thứ j tại thế hệ thứ k + 1; vjk+1: Vận tốc của cá thể thứ j tại thế hệ thứ k + 1; Pbestj: Vị trí tốt nhất của cá thểthứ j; Gbest: Vị trí tốt nhất của tất cả các cá thể;
ω: trọng số quán tính (ωmin = 0,4 và ωmax = 0,9);
c1, c2: các hệ số gia tốc, nhận giá trị từ 1,5 đến 2,5;
rand1, rand2: các số ngẫu nhiên nhận giá trị trong khoảng [0, 1].
Giá trị của trọng số quán tính ω sẽ giảm tuyến tính từ 0,9 đến 0,4 tùy thuộc vào số lần lặp xác định trước.
Các nhà nghiên cứu đã tìm ra rằng giá trị ω lớn cho phép các cá thể thực hiện mở rộng phạm vi tìm kiếm, giá trị ω nhỏ làm tăng sự thay đổi để nhận được giá trị tối ưu địa phương. Bởi vậy, có thể đạt được hiệu năng tốt nhất khi sử dụng giá trị ω lớn nhất (chẳng hạn 0,9) ở thời điểm bắt đầu và sau đó giảm dần dần cho đến khi đưa ra được giá trị ω nhỏ nhất (0,4).