Chương 2 Các nghiên cứu liên quan
2.4. Các nghiên cứu về tối ưu hóa sử dụng năng lượng cho mạng cảm biến
mạng cảm biến
Trong khi các giải pháp năng lượng ở cấp độ nút cơ bản đề cập đến giải pháp thu thập năng lượng từ môi trường để bổ sung năng lượng cho nút hoặc phát triển kiến trúc, thiết kế phần cứng tối giản kết hợp sử dụng linh kiện điện tử công suất thấp và các kỹ thuật lập trình cho nút làm việc linh hoạt với các chế độ nhằm tiết kiệm năng lượng cho nút cảm biến, thì các giải pháp năng lượng ở cấp độ mạng thường hướng đến phát triển các thuật toán liên quan đến tổ chức mạng, giao thức định tuyến truyền thông, 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, ... nhằm nỗ lực giảm mức năng lượng tiêu thụ, nâng cao tuổi thọ của nút và toàn mạng. Thực tế, năng lượng tiêu hao cho truyền thông chiếm phần lớn tổng năng lượng tiêu hao của nút, nên các nghiên cứu về vấn đề năng lượng, tuổi thọ cũng như tối ưu hóa mạng cảm biến thường nhắm tới các vấn đề liên quan đến truyền thông như các thuật toán giao thức truyền thông.
2.4.1.Các nghiên cứu phát triển về thuật toán giao thức định tuyến
Các nghiên cứu nhằm giảm mức tiêu hao năng lượng cấp độ mạng tập trung vào vấn đề định tuyến truyền thông. Quá trình thiết lập các đường truyền tin dẫn từ nguồn đến đích thông qua một hoặc nhiều nút trung gian vì vậy sẽ tiêu hao đáng kể năng lượng của các nút mạng. Việc định tuyến sẽ không phức tạp đối với mạng cảm biến có dây truyền thống. Tuy nhiên, trong mạng cảm biến không dây, các nút có thể thay đổi về vị trí trong môi trường làm việc, các nút có thể bị hết năng lượng và bị loại khỏi mạng hoặc các lý do khác khiến cấu trúc hay quy mô mạng thay đổi thì việc định tuyến sẽ trở nên phức tạp hơn, đòi hỏi mạng phải tự cấu hình và định tuyến lại bất kỳ lúc nào. Điều này sẽ làm tiêu tốn năng lượng của mạng do các nút mạng phải tự quảng bá và tìm cách hợp tác với các nút lân cận để tìm đường trong tác vụ truyền thông. Năng lượng của mạng sẽ bị tổn thất rất nhiều khi thuật toán giao thức định tuyến không tốt. Giao thức định tuyến có nhiều cách phân loại, có thể phân loại dựa trên tổ chức mạng, hoạt động của giao thức và phát hiện đường [83].
Tổ chức mạng và giao thức định tuyến có liên quan và ảnh hưởng trực tiếp đến nhau, các giao thức định tuyến dựa trên tổ chức mạng cơ bản có ba loại là giao thức định tuyến phẳng xem xét các nút trong mạng có cùng vai trò, giao thức định tuyến phân cấp với các nút có vai trò khác nhau trong mạng về mặt truyền thông, trong mạng có thể chia thành nhiều nhóm và có những nút đóng vai trò trưởng nhóm giao tiếp với các nhóm khác trong mạng còn các nút thành viên của nhóm thì chỉ giao tiếp với trưởng nhóm. Giao thức định tuyến vị trí được thực hiện dựa trên thông tin về vị trí của các nút để đưa ra các quyết định về định tuyến.
Sự hoạt động của giao thức dựa trên mục tiêu yêu cầu của mạng để đưa ra thuật toán định tuyến phù hợp. Nhóm giao thức định tuyến này bao gồm nhiều loại khác nhau như giao thức định tuyến đàm phán sử dụng sự trao đổi các thông điệp giữa các nút lân cận trước khi thực hiện truyền dữ liệu nhằm tránh việc truyền dữ liệu không cần thiết. Giao thức định tuyến đa đường sử dụng nhiều tuyến đường truyền đồng thời để nâng cao hiệu năng mạng. Giao thức định tuyến truy vấn được thực hiện theo nguyên tắc khi một nút muốn có dữ liệu sẽ gửi đi thông điệp yêu cầu và các nút khác trong mạng khi nhận được thông điệp yêu cầu dữ liệu đó sẽ thực hiện gửi dữ liệu để đáp ứng yêu cầu của nút cần nhận. Ngoài ra, còn có các giao thức quan tâm đến chất lượng dịch vụ và giao thức dựa trên tính nhất quán.
Dựa theo cách thức phát hiện tuyến đường truyền thông có thể phân loại bao gồm giao thức định tuyến phản ứng sẽ khám phá và thiết lập tuyến đường truyền khi có yêu cầu, điều này có thể gây ra chậm trễ trong truyền thông. Giao thức định tuyến chủ động thiết lập tuyến đường truyền trước khi cần sẽ khắc phục việc mất thời gian tìm đường trước khi truyền nhưng một giao dịch có thể được thiết lập quá nhiều tuyến đường mà có thể không dùng đến, điều này sẽ gây lãng phí thời gian thiết lập đường truyền và tài nguyên. Ngoài ra, một số giao thức định tuyến lai được kết hợp giữa hai giao thức phản ứng và chủ động.
Trong số các loại giao thức định tuyến kể trên, các giao thức định tuyến phân cấp thể hiện được nhiều ưu điểm, đặc biệt là trong mạng cảm biến không đồng nhất. Các giao thức định tuyến phân cấp thực hiện phân chia mạng cảm biến thành các
nhóm, mỗi nhóm sẽ có một nút đóng vai trò là trưởng nhóm. Các nút trong nhóm chỉ giao tiếp với trưởng nhóm, còn việc truyền thông tin giữa các cảm biến trong nhóm đến đích ở các nhóm khác sẽ do nút trưởng nhóm đảm nhiệm. Phương thức này sẽ làm giảm tần suất truyền thông của các nút nên giảm đáng kể sự tiêu tốn năng lượng của các nút cảm biến thành viên. Tuy nhiên, các nút trưởng nhóm sẽ phải gánh nặng hơn trong công việc truyền thông và năng lượng cho nút trưởng nhóm lại là vấn đề cần xem xét, vì nếu các nút trưởng nhóm nhanh chóng hết năng lượng do phải làm việc nhiều sẽ ảnh hưởng đến hiệu năng của mạng cũng như tuổi thọ mạng. Vì vậy, các nghiên cứu, phát triển về các giao thức định tuyến cho mạng cảm biến không dây đã xem xét đến việc phân nhóm sao cho hợp lý như quan tâm đến số lượng nhóm cũng như thực hiện tái phân nhóm và trưởng nhóm, thay phiên nhau làm trưởng nhóm, … nhằm mục đích không để một nút làm trưởng nhóm trong một khoảng thời gian dài gây sớm hết năng lượng. Tuy nhiên, việc tái phân nhóm cũng như phải cấu hình lại mạng thường xuyên cũng gây tổn hao nhiều năng lượng cho các nút cảm biến và toàn mạng.
Trên thực tế, đã có nhiều giao thức định tuyến dựa trên các thuật toán phân nhóm nhằm giảm tiêu hao năng lượng và tăng hiệu năng mạng cảm biến như giao thức phân cấp theo nhóm thích ứng năng lượng thấp LEACH (Low Energy Adaptive Clustering Hierarchy) [84]. Giao thức này với phương thức tập trung dữ liệu để giảm lượng bản tin truyền trong mạng nhằm mục tiêu giảm mức tiêu thụ năng lượng của từng nút và kéo dài thời gian sống của toàn mạng. Việc phân nhóm và lựa chọn trưởng nhóm được thực hiện theo chu kỳ, các nút sẽ không được chọn làm trưởng nhóm trong hai chu kỳ liên tiếp để giảm tải cho nút trưởng nhóm. Tuy nhiên, giao thức LEACH gặp phải vấn đề là việc giả sử tất cả các nút trưởng nhóm đều truyền thông đến trạm gốc thông qua một bước truyền là phi thực tế vì liên quan đến năng lượng dự trữ và khả năng, khoảng cách thay đổi khi lựa chọn lại trưởng nhóm. Thêm nữa, việc tổ chức lại nhóm sẽ làm tiêu tốn năng lượng vì vậy nếu chu kỳ phân nhóm ngắn sẽ tiêu tốn nhiều năng lượng cho việc tái tổ chức nhóm, còn nếu để chu kỳ dài thì nút trưởng nhóm sẽ nhanh chóng hết năng lượng. Chính vì lý do đó, có nhiều giao thức được đề xuất cải tiến giao thức LEACH [85] nhằm cải thiện hơn mục tiêu của giao thức này. Một số nghiên cứu phát triển cùng ý tưởng như giao thức DEEC (Distributed Energy Efficient Clustering) [86], giao thức SEP (Stable Election Protocol) [87][88], giao thức DDEEC (Developed Distributed Energy Efficient Clustering) [89]. Các giao thức định tuyến này xoay quanh phát triển cải tiến thuật toán LEACH với sự ước lượng về mức năng lượng của các nút trong quá trình lựa chọn trưởng nhóm [90], nghiên cứu bổ sung thêm thành phần ước lượng năng lượng còn lại và ước lượng khoảng cách vào trong quá trình phân nhóm và xác suất lựa chọn trưởng nhóm. Một nhóm sẽ được chia làm các nhóm nhỏ theo mức năng lượng, các nút có mức năng lượng cao sẽ có tỉ lệ được lựa chọn làm trưởng nhóm cao hơn các nút có mức năng lượng thấp. Mục đích của các thuật toán này không nhằm tiết kiệm năng lượng cho nút cụ thể mà ưu tiên sử dụng các nút có mức năng lượng cao và sẽ hạn chế việc một nút trong các nhóm bị cạn kiệt năng lượng nhanh chóng và hết năng lượng sớm so với các nút khác, điều này có thể làm cho năng lượng cũng như thời gian sống còn lại của các nút trong mạng tương đối đồng đều nên mạng có thể được ổn định lâu dài hơn.
2.4.2.Các phương pháp tối ưu hóa
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], …
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.