Bên cạch việc phát triển các thuật toán giao thức định tuyến, các thuật toán tối ưu hóa sử dụng năng lượng cho mạng cảm biến cũng được quan tâm nghiên cứu với cơ chế lập lịch hoạt động cho mạng cảm biến, các thuật toán tối ưu hóa lịch trình thường được sử dụng trong việc triển khai mạng cảm biến nhằm giảm năng lượng tiêu thụ, tăng tuổi thọ mạng, đồng thời đảm bảo các hoạt động của mạng thỏa mãn các ràng buộc do ứng dụng quy định. Về cơ bản, điều này đạt được dựa trên việc lập trình thời gian thực với các chế độ làm việc trong từng nút riêng lẻ để chúng hợp tác theo một cơ chế nào đó và hoàn thành các nhiệm vụ đã định. Mặc dù mục tiêu thiết kế chung là tối đa hóa tuổi thọ mạng nhưng do các giả định khác nhau được xem xét trong bối cảnh của các ứng dụng khác nhau nên các cơ chế để thực hiện cũng khác nhau và rất đa dạng [91]. Các cơ chế có thể được phân loại theo nhiều cách: tĩnh và động, tập trung và phân tán, hợp tác dựa trên giao tiếp và ít giao tiếp, phân cấp và không phân cấp, ... Tùy thuộc vào điều kiện bài toán cụ thể sẽ lựa chọn loại cơ chế phù hợp trong triển khai mạng và tiết kiệm năng lượng. Tuy nhiên, các nghiên cứu chủ yếu nhằm giải quyết vấn đề cho các bài toán cụ thể và đơn lẻ nên việc áp dụng kết quả giữa các bài toán tuy có cùng mục tiêu nhưng khác về điều kiện và ràng buộc là rất khó thậm chí không thể áp dụng được. Vì vậy cần có một giải pháp mang tính tổng thể nhằm tối ưu hóa mạng cảm biến cho các lớp bài toán ứng dụng.
Các bài toán tối ưu hóa rất phong phú và đa dạng trong nhiều lĩnh vực. Mỗi lớp bài toán tối ưu hóa có mục tiêu, điều kiện ràng buộc khác nhau nên cần có những phương pháp, kỹ thuật tối ưu hóa khác nhau được lựa chọn cho phù hợp. Các phương pháp tối ưu hóa có thể được phân loại theo các cách khác nhau dựa trên các hướng tiếp cận khác nhau. Tuy nhiên, việc phân loại có thể được chia thành ba nhóm phương pháp chính bao gồm phương pháp tiếp cận theo hướng thống kê, phương pháp xác định và phương pháp suy nghiệm (Heuristic). Mỗi phương pháp lại có nhiều kỹ thuật hoặc giải thuật tối ưu hóa khác nhau có thể được chỉ ra như trên Hình 2.16.
Tối ưu hóa mạng cảm biến là bài toán tổ hợp đa mục tiêu với nhiều ràng buộc phức tạp và có thể có nhiều giải pháp khả thi nhưng cần phải tìm ra giải pháp gần tối ưu. Việc này rất khó hoặc không thể giải quyết bằng các phương pháp thống kê hay phương pháp xác định. Phương pháp suy nghiệm với các thuật toán tiến hóa hoặc trí tuệ bầy đàn có khả năng tìm kiếm ra giải pháp gần tối ưu tương đối nhanh và hiệu quả. Các thuật toán tiến hóa được đề xuất và phát triển đã mang lại hiệu quả trong tìm kiếm giải pháp tối ưu trong miền không gian phức tạp, nổi bật là thuật toán di truyền (GAs) [92] và thuật toán tiến hóa vi phân [93]. Các thuật toán tiến hóa thể hiện khả năng đáp ứng tốt trong các bài toán tối ưu hóa toàn cục với yêu cầu đa mục tiêu và nhiều ràng buộc phức tạp. Bên cạnh đó, các thuật toán tối ưu hóa dựa trên trí tuệ bầy đàn được nghiên cứu và phát triển khá nhiều như thuật toán tối ưu hóa bầy đàn (PSO) [94], thuật toán dơi [95], thuật toán bầy sói (WPA) [96], thuật toán đàn kiến (ACO) [97], thuật toán đàn voi (EHO) [98], thuật toán bầy chim cu [99][100], thuật toán bầy đom đóm [101], …
41
Hình 2.16. Phân loại kỹ thuật tối ưu hóa
Về cơ bản, giải thuật tiến hóa và trí tuệ bầy đàn có sự tương đồng là quá trình được khởi tạo với một tập hợp giải pháp ngẫu nhiên và tìm kiếm tối ưu thông qua phương thức cập nhật các thế hệ. Tuy nhiên, giải thuật trí tuệ bầy đàn thiên về sử dụng sự tương tác giữa các cá thể trong quần thể để khám phá không gian tìm kiếm và giữa các thế hệ có rất ít thông số để điều chỉnh, trong khi giải thuật tiến hóa thiên về sự điều chỉnh thông qua đột biến và lai ghép giữa các cá thể trong quần thể để tạo ra thế hệ mới tốt hơn. Bài toán tối ưu hóa mạng cảm biến có nhiều thông số, tham số bất định nên luận án sẽ đề cập, ứng dụng giải thuật tiến hóa để thực hiện và sẽ được trình bày ở chương 4.
Phương pháp tối ưu hóa
Phương pháp thống kê Phương pháp xác suất (Monte-Carlo) Phương pháp liên tục Phương pháp xác định (Deterministic Method) Phương pháp nhánh và vùng biên Phương pháp giải tích
Phương pháp suy nghiệm (Heuristic Method)
Thuật toán bắt chước (Mimatic Algorithm)
Trí tuệ bầy đàn (Swarm Intellegence)
Thuật toán tiến hóa Thuật toán di truyền
(GA) Tiến hóa vi phân
(DE)
Thuật toán đom đóm (Firefly Algorithm) Thuật toán bầy dơi (Bat Algorithm) Thuật toán bầy sói (Wolf Pack Algorithm) Thuật toán bầy chim cu (Cuckoo Algorithm) Thuật toán đàn kiến
(ACO) Thuật toán đàn voi
(EHO) Thuật toán châu chấu
(GOA) Thuật toán giun đất
(EWA) Thuật toán bầy đàn
42