- Nghiên cứu cũng đã thực hiện mô phỏng một mạng với các hoạt động của các nút mạng gắn liền với hoạt động thu năng lượng từ mặt trời và đưa ra các kết
Chương 4 Tối ưu hóa lịch trình mạng cảm biến
4.5. Tối ưu hóa lịch trình mạng sử dụng thuật toán di truyền với nhiễm sắc thể có chiều dài thay đổ
với nhiễm sắc thể có chiều dài thay đổi
Trên nền tảng học thuyết tiến hóa. Một cách tiếp cận khác, giải thuật di truyền có chiều dài nhiễm sắc thể thay đổi (Variable Length Chromosome Genetic Algorithm - VLC-GA) [157] được phát triển và ứng dụng thể hiện các ưu điểm. Độ dài của nhiễm sắc thể có thể thay đổi rất linh hoạt nên tiết kiệm tài nguyên và thời
gian, yêu cầu bộ nhớ tối thiểu. Nhiễm sắc thể hoàn toàn được phát triển với độ dài cần thiết phù hợp với yêu cầu cụ thể trong quá trình giải bài toán tối ưu hóa [158].
Thực tế đã có các nghiên cứu và ứng dụng thuật toán di truyền có độ dài nhiễm sắc thể thay đổi mang lại kết quả khả quan như sử dụng trong bài toán điều phối giao thông hỗn hợp đa luồng [159], tối ưu hóa cho mạng cảm biến không dây với mục tiêu tối đa hóa vùng phủ sóng và tối thiểu hóa chi phí triển khai mạng [160], tối ưu hóa việc thu thập dữ liệu trong mạng cảm biến không dây [161]. Đây cũng là cơ sở để luận án lựa chọn và phát triển thuật toán di truyền có độ dài nhiễm sắc thể thay đổi cho bài toán tối ưu hóa lịch trình mạng cho lớp bài toán ứng dụng.
4.5.1.Mô hình hóa bài toán tối ưu hóa lịch trình mạng cảm biến sử dụng thuật toán di truyền với nhiễm sắc thể có chiều dài thay đổi
Đối với bài toán tối ưu hóa lịch trình mạng, cũng giống như trong thuật toán di truyền có nhiễm sắc thể chiều dài cố định, nhiễm sắc thể cần mã hóa lịch trình mạng
ˆ
S biểu diễn là và được định nghĩa như biểu thức 4.9.
1 12 2 2 2 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 1 1 2 2 1 1 2 2 , , , , ,..., , , , , , , ,..., , , ..., , , , , ,..., n, n . s s s s n n n n n n n s s C s m t m t m t s m t m t m t s m t m t m t = (4.9) Số gen của nút là (2 i 1) s + và của toàn mạng là 1 2 n i i s n = + ÷ ∑ . Vì si thay đổi nên độ dài của cũng thay đổi. Điều quan trọng cần lưu ý là trong VLC-GA, hàm mục tiêu không phải là một hàm toán học theo cách hiểu thông thường, mà là một hàm lập trình, lấy nhiễm sắc thể làm đầu vào và trả về giá trị hàm mục tiêu làm đầu ra sau một quá trình thực thi. Ngược lại với các nhiễm sắc thể có chiều dài cố định nơi các gen nằm ở vị trí cố định, trong nhiễm sắc thể có chiều dài thay đổi, chúng không như vậy. Vì lý do này, si được đưa vào để các chương trình máy tính có thể diễn giải các gen một cách chính xác, nếu không sẽ không thể biết thông tin lịch trình cho mỗi nút bắt đầu và kết thúc ở đâu.
Về cơ bản, vì khác nhau giữa các cá thể (ở đây một cá thể tương ứng với một cấu hình lịch trình mạng) và từ thế hệ này sang thế hệ khác, do đó để biểu thị sự phụ thuộc của nó vào cá thể, nên trong luận án dùng kí hiệu qC k( ) để biểu thị nhiễm
sắc thể của cá thể trong thế hệ . Tương tự, tất cả các biến phụ thuộc cá thể khác cũng tuân theo quy ước ký hiệu này. Ví dụ, q i ( )
j m k
là trạng thái của nút của cá thể trong thế hệ . Khi đó, nhiễm sắc thể của cá thể sẽ được biểu diễn như biểu thức 4.10.
(4.10) Ngoài ra, biểu thị qCi là đoạn gen trong qC tương ứng với lịch trình của nút và được biểu diễn bằng biểu thức 4.11.
1, 1, 2, 2,..., q i, q i .
q i q i q i q i q i q i q i
s s
C = m t m t m t (4.11)
Trong đó, độ dài của qCi là 2q is , và qC sẽ được đơn giản hóa thành biểu thức 4.12.
1, 1, 2, 2,..., , .
qC = qs Cq qs qC q n qs Cn
(4.12) Để dễ hình dung, có thể được minh họa bằng đồ thị như trong Hình 4.8. Các sự kiện chuyển đổi chế độ được thực hiện bởi nút được điều chỉnh theo trục thời gian, trong đó các phân đoạn ở mức cao hơn tương ứng với các giai đoạn khi nút ở chế độ làm việc, và các phân đoạn mức thấp hơn biểu diễn khoảng thời gian nút ở chế độ ngủ.
Hình 4.8. Biểu đồ biểu diễn lịch trình của một nút cảm biến
Để triển khai thuật toán VLC-GA, bây giờ cần phải điều chỉnh các hoạt động tạo thế hệ mới. Rõ ràng, hoạt động “Lựa chọn” không cần bất kỳ sửa đổi nào để thích ứng, chỉ có hai thao tác còn lại là “Lai ghép” và “Đột biến” cần được thực hiện và thay đổi trong quá trình tiến hóa.
Hoạt động lai ghép: về nguyên tắc, mỗi nút cảm biến trong mạng có thể thực hiện một vai trò khác nhau, việc lai ghép hai nút khác nhau có rất ít sự liên quan nhưng sẽ làm tăng rất cao độ phức tạp của thuật toán. Do đó, trong nghiên cứu này, việc lai ghép được thực hiện trên nút cơ sở. Tức là, phép toán lai ghép được áp dụng cho các đoạn gen từ cùng một nút ở hai cá thể, chứ không phải các đoạn gen thuộc hai nút khác nhau. Trong các ứng dụng khác, người ta có thể dễ dàng tiến xa hơn với lai ghép giữa các nút như phần mở rộng, nếu đặc biệt quan tâm. Tại thời điểm này, hoạt động lai ghép trên các cá thể được chia nhỏ thành hoạt động trên các nút tương ứng.
Nguyên tắc của phép toán “Lai ghép” được minh họa bằng ví dụ trong Hình 4.9, trong đó q1C ki( )
và q2C ki( )
là đoạn gen của nhiễm sắc thể mẹ của cùng một nút i nhưng từ hai cá thể q1 và q2 khác nhau trong thế hệ k , và q3C ki( +1) là đoạn gen
được sinh ra thuộc nhiễm sắc thể con, kết quả của cùng một nút trong thế hệ tiếp theo (k+1).
Hình 4.9. Hoạt động lai ghép giữa hai đoạn gen
Để thực hiện thao tác này, đầu tiên các thời điểm được sắp xếp theo thứ tự tăng dần và loại trừ các thời điểm thừa, để có thể chia nhỏ thời gian chạy [ ]0,T thành
các khoảng. Đối với ví dụ trên, kết quả các khoảng thời gian là q1 1i,q2 2i
t t 2 1 2, 2 q ti qti 1 1 2, 3 qti qti 1 2 3, 3 qti q ti
, v.v… Sau đó, đối với mỗi khoảng thời gian, chế độ cho nút con được xác định bằng cách chọn ngẫu nhiên một chế độ tại cùng một khoảng thời gian từ một trong hai nút mẹ. Trong hình, các khoảng màu tím ở
( )
3 1
qC ki + đại diện cho những khoảng được thừa hưởng từ q1C ki( )
, trong khi những khoảng màu xanh lá cây tương ứng với những khoảng được thừa hưởng từ
( )
2
qC ki . Để ưu tiên các gen từ bố mẹ ưu tú, xác suất cao hơn có thể được liên kết
với các chế độ từ bố mẹ có giá trị hàm mục tiêu tốt hơn trong lựa chọn chế độ và ngược lại.
Cuối cùng, trong nhiễm sắc thể kết quả, nếu hai hoặc nhiều khoảng cách liên tiếp có cùng chế độ, chúng sẽ được kết hợp để đơn giản hóa. Đó là q1 3i,q2 3i
t t 2 2 3, 4 qti qti 2 1 4, 4 q ti qti
trong ví dụ này đều ở chế độ ngủ và được đơn giản hóa thành 1 1 3, 4 q i q i t t .
Đối với hoạt động đột biến, nguyên tắc được minh họa bằng ví dụ biểu diễn trong Hình 4.10. Bắt đầu từ đoạn gen mẹ C ki( )
, đối với mỗi khoảng, người ta chọn ngẫu nhiên một trong bốn phép toán sau được thực hiện để tạo ra đoạn gen mới ở thế hệ tiếp theo C ki( +1) như sau:
- Sao chép: khoảng con được sao chép khoảng mẹ, chẳng hạn giống như khoảng
1i, 2i
t t
và t t8i, 9i
- Chèn: một khoảng mới với chế độ nghịch đảo được chèn theo cách mà thời gian bắt đầu và kết thúc của nó được tạo ngẫu nhiên nhưng nằm trong ranh giới của khoảng thời gian chính, như trong trường hợp của khoảng 2i, 3i
t t
trong ví dụ. - Loại bỏ: một khoảng ở mẹ bị loại bỏ và không được kế thừa bởi nút con, như trường hợp của khoảng 5i, 6i
t t
trong ví dụ.
- Dịch chuyển: các ranh giới của khoảng con được thực hiện bằng cách di chuyển các khoảng thời gian của mẹ về phía sau hoặc về phía trước trong trục thời gian, như trong trường hợp của khoảng t t3i, 4i
và t t7i, 8i
trong ví dụ.
Các hoạt động sao chép (Copy), chèn (Insertion), loại bỏ (Removal), dịch chuyển (Shift) được thực hiện với xác suất cho trước tương ứng là ρMC , I
Mρ , R ρ , R M ρ , S M ρ và ở đây C I R S 1 M M M M ρ +ρ +ρ +ρ = .
Hình 4.10. Hoạt động đột biến gen của nhiễm sắc thể
Cơ chế chọn lọc, trao đổi chéo và đột biến như đã trình bày ở trên giúp thuật toán khám phá bất kỳ khả năng nào của lịch trình mạng bằng cách đa dạng hóa thế hệ gen khi các cá thể tiến hóa, đồng thời ưu tiên các gen tốt tạo nên các cá thể tương ứng vượt trội. Hơn nữa, các phần tử sitrong không phải chịu các phép toán lai ghép và đột biến, nhưng sau các phép toán này thì độ dài của Cicó thể thay đổi nên nó được cập nhật do việc áp dụng các phép toán này trên các phần tử Ci tương ứng trong .
4.5.2.Giải bài toán tối ưu hóa lịch trình mạng
Đối với bất kỳ phương pháp tối ưu hóa nào, một yêu cầu bắt buộc là với bất kỳ giá trị biến nào x∈X , có thể đánh giá hàm mục tiêu f ( )x
. Bài toán tối ưu hóa lịch trình mạng cảm biến, về nguyên tắc để đánh giá hàm mục tiêu, cần phải chạy mạng trong các điều kiện yêu cầu và đo các thông số cần thiết. Sau đó có thể phải điều chỉnh để hướng đến sự phù hợp. Việc này sẽ khó khăn, phức tạp và mất rất nhiều thời gian thậm chí không thể thực hiện được bài toán với đa mục tiêu, nhiều ràng buộc và số lượng nút mạng lớn. Hơn nữa, các phương pháp suy nghiệm như GAs thường cần phải đánh giá hàm mục tiêu rất nhiều lần. Do đó cách đánh giá mục tiêu ở trên không thực tế. Để giải quyết vấn đề, luận án đã thực hiện một nền tảng mô
phỏng mạng cảm biến có khả năng tính toán và giám sát về năng lượng nhằm hỗ trợ việc đánh giá hàm mục tiêu như đã trình bày trong chương 3 của luận án.
Quy trình làm việc để tối ưu hóa lịch trình với sự trợ giúp của nền tảng mô phỏng tính đến yếu tố năng lượng được mô tả trong Hình 4.11. Đối với các nút cảm biến vật lý đã cho, cơ chế hoạt động của chúng cũng như các đặc tính tiêu thụ điện năng được tái tạo bởi các nút mô phỏng trong nền tảng. Mô hình tiêu thụ điện năng ở mỗi chế độ của các nút cảm biến được giả định là có thể dự đoán được. Khi trình mô phỏng được thiết lập, thuật toán VLC-GA được đề xuất sẽ có thể gọi nó cho bất kỳ lịch trình nào và nhận lại kết quả cần thiết để đánh giá hàm mục tiêu. Khi kết thúc thuật toán di truyền, kết quả lịch trình tối ưu được đưa ra và triển khai vào các nút vật lý, cũng là kết thúc công việc giải bài toán tối ưu hóa lịch trình mạng cảm biến cho ứng dụng.
Hình 4.11. Quy trình thực hiện tối ưu hóa lịch trình mạng
Trong nghiên cứu của luận án, nhằm chứng minh VLC-GA được đề xuất, luận án đã thực hiện giải bài toán tối ưu hóa lịch trình mạng cảm biến được thử nghiệm với hai kịch bản là trường hợp thực hiện bài toán đơn giản với lịch trình của một nút cảm biến và với nhiều nút cảm biến.
4.5.3.Kết quả thử nghiệm với một nút cảm biến
Mục đích của thử nghiệm nhằm tối ưu hóa lịch trình theo thuật toán di truyền sử dụng nhiễm sắc thể có chiều dài thay đổi (VLC-GA), đồng thời so sánh với kết quả khi chạy với thuật toán di truyền với nhiễm sắc thể có chiều dài cố định (FLC-GA). Để thử nghiệm được đơn giản hóa, mạng được tối giản với chỉ một nút theo dõi thông số môi trường trong khoảng thời gian 3 ngày. Chu kỳ lịch trình theo ngày, tức là lịch trình cho mỗi ngày không thay đổi.
Bài toán vẫn giống như trong bài toán giải bằng thuật toán di truyền với nhiễm sắc thể có độ dài cố định. Mục tiêu là tối ưu hóa lịch trình mạng với mục tiêu tối đa
hóa số lượng giá trị đo lường và thời gian giữa 2 lần đo liên tiếp càng nhỏ càng tốt đồng thời đảm bảo duy trì hoạt động của các nút mạng. Ngoài ra, nút hoạt động với các điều kiện tương tự giữa các ngày và mức thu thập năng lượng mặt trời của nút trong các ngày được giả sử là ổn định và giống nhau. Vì vậy, mức pin tại thời điểm cuối cùng trong ngày được kỳ vọng không thấp hơn mức pin ban đầu được cài đặt. Điều kiện này được thêm vào như một ràng buộc để tăng tính đảm bảo khả năng kéo dài tuổi thọ cho nút cảm biến hoạt động ổn định lâu dài.
Lịch trình hoạt động tối ưu cho nút cảm biến được tìm kiếm dựa trên cơ sở hàm mục tiêu của bài toán tối ưu hóa () được xác định với bốn thành phần:
(4.12) trong đó Φ1 đại diện cho thuật ngữ liên quan đến số lượng phép đo muốn tối đa
hóa. Φ2 đại diện thuật ngữ được sử dụng để xử phạt lịch trình nếu nút hết pin trước
khi kết thúc mô phỏng. Φ3 đại diện thuật ngữ sử dụng để phạt khi các khoảng thời
gian dài không có phép đo nào được thực hiện. đại diện thuật ngữ được sử dụng để phạt lịch trình nếu mức pin cuối ngày thấp hơn mức pin cài đặt ban đầu. Các thành phần này được biểu diễn cụ thể theo các biểu thức lần lượt từ 4.13 đến 4.16.
1 kηη Φ = − (4.13) ( ) ( )2 2 kT1 T T kT2 T T Φ = − %+ − % (4.14) 2 3 1 2 1 i i i k k η τ τ τ τ = Φ =∑ ∆ + ∆ (4.15) ( ) ( )2 1 2 4 khi 0 khi L e s L e s e s e s k L L k L L L L L L − + − < Φ = ≥ (4.16) Trong đó: η : tổng số phép đo
T% : thời gian khi pin cạn kiệt, hoặc bằng T nếu điều này không xảy ra (h)
i
τ
∆ : chênh lệch thời gian giữa hai lần đo liên tiếp (h)
s
L
và Le
: lần lượt là mức pin ban đầu và mức pin cuối cùng trong ngày
kη, kT1, kT2, kτ1, kτ2, kL1, kL2 : các trọng số không đổi.
Các hàm bậc hai được sử dụng trong các thành phần Φ2, Φ3 và để giúp thuật toán hội tụ nhanh hơn.
Trong kịch bản này, nút cảm biến được quan tâm đến khía cạnh năng lượng như đã trình bày trong mục (4.2), nên nút được xem xét với hai chế độ Hoạt động và Ngủ. Trong chế độ Ngủ, nút không đo lường cũng như gửi bất kỳ dữ liệu nào và chỉ tiêu thụ năng lượng ở mức tối thiểu. Mặt khác, khi ở chế độ Hoạt động, nút thường xuyên đo các thông số môi trường được giám sát, và gửi thông tin đến trạm. Tất cả
các hoạt động đo lường và truyền thông cũng như các công việc được lập trình ở chế độ Hoạt động đều tiêu tốn năng lượng.
Nút cảm biến có thể sử dụng năng lượng mặt trời được thu thập bởi tấm pin mặt trời với nguyên lý như đã được trình bày trong chương 2 của luận án. Năng lượng thu thập có thể được tích lũy vào một pin để lưu trữ. Tỷ lệ bức xạ mặt trời thay đổi