Một số kí hiệu:
x1,x2, ...,xN là tậpN cá thể, tương ứng với N bài toán con.
z∗ = (z1∗, z∗2): Điểm tham chiếu được sử dụng trong phương trình Tcheby- cheff.
EP: Một quần thể ngoài chứa tất cả các lời giải không bị trội được tìm thấy trong suốt quá trình tìm kiếm. Quần thể này tạo thành một biên Pareto của các lời giải sau mỗi thế hệ.
Các bước tiến hành được trình bày trong thuật toán 3.2. 3.4.2.1 Mã hóa cá thể
Mỗi cá thể được mã hóa bởi một véc tơ x = (x1, x2, ..., xn), trong đó, xi =j nếu và chỉ nếu nút cảm biến si được kết nối tới nút chuyển tiếp đặt tại vị trí lj. Vì mỗi nút cảm biến chỉ gửi dữ liệu đến một nút chuyển tiếp, nên nếu biết véc tơ x có thể tìm được ma trận gán A. Ngược lại, một nút chuyển tiếp chỉ được triển khai nếu có ít nhất một cảm biến có thể kết nối được đến nó. Do đó, nếu biết véc tơ x, cũng có thể dễ dàng tìm được các vị trí của nút chuyển tiếp được sử dụng. Hình 3.6 biểu diễn một lời giải cho bài toán với 4 vị trí khả thi để đặt các nút chuyển tiếp và 6 nút cảm biến. Trong ví dụ này, 3 nút chuyển tiếp được sử dụng đó là 1, 3, 4; các kết nối của các nút chuyển tiếp với 6 nút cảm biến được mã hóa bởi một véc tơ có độ dài 6: x= (1,3,1,3,4,3). Từ véc tơ x có thể
Thuật toán 3.2: thuật toán đa mục tiêu dựa trên phân rã kết hợp với tìm kiếm cục bộ (multiobjective evolutionary algorithm based on decomposition with local search- MOEA-LS)
Input :
N: kích thước cá thể trong quần thể (số lượng bài toán con);
T: số lượng láng giềng;
N véc tơ trọng số: (λ11, λ12),(λ12, λ22), ....,(λN1 , λN2 )
Output: EP: quần thể ngoài
1 Bước 1) Khởi tạo
2 begin
3 1.1)Tìm điểm Nadir z∗ = (z1∗, z2∗);
4 1.2)Đặt EP =∅;
5 1.3)Khởi tạo N các véc tơ trọng số;
6 1.4)Xây dựng các láng giềng B: Tính khoảng cách Euclid giữa các cặp véc tơ trọng số và tìm T véc tơ gần nhất với mỗi véc tơ trọng số ;
7 1.5)Khởi tạo quần thể x1,x2, ...,xN ngẫu nhiên, trong đó, các cá thể đáp ứng ràng buộc của bài toán;
8 end
9 Bước 2) Cập nhật
10 begin
11 for i =1 to N do
12 2.1)Tạo một cá thể mới ysử dụng các phép toán di truyền;
13 2.2)Cải thiện: Từ y tạo ra y’ ;
14 2.3)Cập nhật điểm tham chiếu z∗ 15 2.4)Cập nhật các lời giải láng giềng:
16 begin 17 foreach j ∈Bi do 18 if gte(y0|λj,z∗)≤gte(xj|λj,z∗) then 19 Đặtxj =y0 20 end 21 end 22 end 23 end 24 Bước 2.5) Cập nhật EP; 25 end
Hình 3.6: Ví dụ cách mã hóa cá thể.3.4.2.2 Tìm kiếm điểm tham chiếu 3.4.2.2 Tìm kiếm điểm tham chiếu
Như đã nói ở trên, điểm Nadir là cận trên của hai mục tiêu tối ưu. Hay nói một cách khác giả sử z∗ là điểm tham chiếu, z∗ = (z1∗, z∗2). z1∗ là số lượng nút chuyển tiếp lớn nhất được sử dụng, z∗1 là năng lượng lớn nhất của các nút được tiêu thụ trong mạng. Dễ dàng thấy rằng, đối với bài toán này z1∗ = |L|= m, z2∗ được tính như sau:
z2∗ = max
i=1,...,n;j=1,...,m(etemaxi ,eremaxj ) (3.26) trong đó, etemaxi là năng lượng tiêu thụ lớn nhất của nút cảm biến. Giá trị này tìm được bằng cách cho nút cảm biến kết nối được đến nút chuyển tiếp xa nhất mà nó có thể kết nối được trong phạm vi giao tiếp, tức là:
e
etmaxi = max
j0=1,...,m;cij0=1(etij0) (3.27) Tương tự như vậy, eremaxj là năng lượng tiêu thụ lớn nhất của nút chuyển tiếp tại vị trí lj. Giá trị này được tính bằng cách chúng gán tất cả các nút cảm biến kết nối được đến lj.
3.4.2.3 Sinh các véc tơ trọng số
Theo sơ đồ của thuật toán MOEA-LS, cần tạo ra N véc tơ trọng số tương ứng với N bài toán con cần giải quyết. Mỗi bài toán con là một bài toán 2 mục tiêu, nên mỗi véc tơ trọng số sẽ có dạng λi = (λi1, λi2), trong đó, λi1+λi2 = 1. Để đơn giản, véc tơ λi được sinh như sau:
Điều này đảm bảo rằng các phần tử tương ứng của hai véc tơ liên tiếp λi và λi+1 luôn có cùng một mức sai khác N1−1. Ví dụ với N = 11, ta sẽ có các véc tơ trọng số tương ứng là:
Λ ={(0.0,1.0); (0.1,0.9); (0.2,0.8);...; (1.0,0.0)}
3.4.2.4 Khởi tạo quần thể
Quá trình tìm kiếm bắt đầu bằng cách tạo ra N cá thể ngẫu nhiên trong quần thể cho N bài toán con. Tất cả các cá thể tạo ra phải đáp ứng các ràng buộc của bài toán. Dựa vào cách mã hóa cá thể, một phương pháp khởi tạo các cá thể hợp lệ được đề xuất như sau: với mỗi nút cảm biến, chọn ngẫu nhiên 1 nút chuyển tiếp trong phạm vi truyền thông của nó. Nếu một mạng có n nút cảm biến, cách chọn này sẽ tạo ra một véc tơn chiều đáp ứng các ràng buộc kết nối.
3.4.2.5 Cập nhật điểm tham chiếu
zi∗ = min
1≤k≤N{fi(xk)}, i ∈ {1,2}
Tại mỗi lần lặp, z∗ được cập nhật khi tạo ra bất cứ một cá thể mới y nào trong quần thể, tức là:
zi∗= min{zi∗, fi(y)}, i∈ {1,2} 3.4.2.6 Các toán tử di truyền
Trong phần này luận án đề xuất toán tử lai ghép giữa hai cá thể cha mẹ khả thi x1 và x2 dựa trên việc tùy chỉnh số lượng nút chuyển tiếp. Đầu tiên, cá thể cony được tạo ra bằng cách nhân bản từ cá thể x2. Sau đó, n cảm biến sẽ được nhóm lại thành từng nhóm dựa vào nút chuyển tiếp mà các cảm biến được kết nối đến trong cá thể x1. Giả sử nút chuyển tiếp mà mỗi nhóm cảm biến được kết nối đến là lj, tất cả các cảm biến trong con lai y sẽ có cơ hội được gán lại cho lj. Toán tử lai ghép này đảm bảo y hợp lệ vì các kết nối ban đầu được kế thừa từ cá thể hợp lệ x2 và các kết nối được sửa đổi cũng nằm trong cá thể hợp lệ x1. Hơn nữa, các con lai được tạo ra hoàn toàn kế thừa các kết nối mà các nút chuyển tiếp từ cá thể cha mẹ không thay đổi (thay vì các kết nối bị đảo lộn nếu dùng lai ghép một hoặc hai điểm cắt). Điều này giúp cho các con lai có thể duy trì được các kết nối tốt.
Toán tử đột biến được áp dụng cho con lai y với xác suất pm. Nếu một kết nối (si, lj) được chọn để đột biến, ta thay thế lj bằng một nút chuyển tiếp mới lk, thỏa mãn điều kiện lk nằm trong phạm vi giao tiếp của si. Hai toán tử di truyền được minh họa như trong hình 3.7.
Hình 3.7: Ví dụ về các phép toán di truyền.
3.4.2.7 Pha cải thiện lời giải
Trong thuật toán MOEAD gốc, sau toán tử di truyền, các phép toán sửa đổi được đưa vào để tạo ra các lời giải hợp lệ. Tuy nhiên, các toán tử di truyền được đề xuất luôn tạo ra các con lai hợp lệ. Do đó, thay vì áp dụng phép toán sửa chữa, trong phần này, luận án đề xuất phương pháp tìm kiếm cục bộ để cải thiện chất lượng của cá thể được tạo ra. Trong pha này, luận án sẽ cố gắng giảm số lượng nút chuyển tiếp sử dụng và mức năng lượng tiêu thụ lớn nhất của các
vị trí nút chuyển tiếp với ít cảm biến có thể kết nối đến nó. Cụ thể, đối với mỗi vị trí lj được lựa chọn nếu có thể tìm được một vị trí lk đã được chọn khác mà sau khi gán tất cả các cảm biến từ lj đến lk mức tiêu thụ năng lượng của lk vẫn nhỏ hơn năng lượng tiêu thụ tối đa của mạng, chúng ta sẽ chuyển các kết nối của các cảm biến từ lj sang lk.
Đối với mục tiêu năng lượng, giả sử crit(y) là nút tiêu thụ năng lượng nhiều nhất được tìm thấy trong cá thể y. Từ công thức tính năng lượng, chúng ta có thể thấy rằng, các nút chuyển tiếp thường là các nút tiêu thụ năng lượng nhiều nhất do loại nút này vừa tốn năng lượng truyền và nhận dữ liệu. Do đó, trong phần này, luận án đề xuất phương pháp giảm năng lượng tiêu thụ cho nút chuyển tiếp tiêu thụ năng lượng nhiều nhất, giả sử nút này làlcrit. Trong trường hợp này, có hai cách để cải thiện năng lượng tiêu thụ của lcrit:
Cách thứ nhất là loại bỏ bớt nút cảm biến kết nối đến nó. Để làm được điều này ta sẽ tìm một nút cảm biến si được kết nối đến lcrit, và thử gán lại cảm biến si đến một nút chuyển tiếp khác. Nút chuyển tiếp thay thế lj phải là một nút chuyển tiếp đã được lựa chọn và không có năng lượng tiêu thụ nhiều hơn lcrit.
Cách thứ hai, ta có thể tìm một nút chuyển tiếp lalt, lalt được tìm từ tập các nút chuyển tiếp chưa được lựa chọn, và gán tất cả các nút cảm biến kết nối đến lcrit sang lalt. Giả sử rằng lalt tồn tại, mục tiêu năng lượng sẽ được cải thiện, trong khi số lượng các nút chuyển tiếp cần thiết không thay đổi. Minh họa cho các phép giảm năng lượng tiêu thụ được mô tả như trong hình 3.8.
Hình 3.8: Minh họa phương pháp giảm năng lượng cho các nút chuyển tiếp.
3.4.3 Thực nghiệm
3.4.3.1 Cài đặt thực nghiệm
Dữ liệu thực nghiệm, cài đặt máy tính dùng tương tự như trên phần 3.3.6. Các tham số thuật toán được đưa ra trong bảng 3.10.
Các độ đo được sử dụng để đánh giá là C −metric (δ-metric), ∆−metric,
N DS −metric, HV −metric (S-metric). Chi tiết các độ đo này được trình bày trong phần 1.3.3.
Bảng 3.10: Tham số thuật toán MOEA-LS
Tham số Giá trị
Số thế hệ tối đa 200 Kích thước quần thể 100 Số bài toán con 41 Số láng giềng 3 Xác suất lai ghép 0.9 Xác suất đột biến 0.01
3.4.3.2 Kết quả thực nghiệm
Thực nghiệm 1: Lựa chọn tham số cho thuật toán MFRPEA Tham số rmp
rmp là một tham số quan trọng trong MFRPEA. rmp giúp cân bằng giữa việc khai thác và khám phá không gian tìm kiếm. Nếu rmp nhỏ thì chỉ những cá thể giống nhau về văn hóa mới lai ghép được với nhau, nếu rmp lớn thì quá trình lai ghép có xu hướng ngẫu nhiên. Để phân tích ảnh hưởng của rmp, luận án áp dụng các giá trịrmp khác nhau từ 0.1 đến 0.9. Bảng 3.25 và bảng 3.24 minh họa kết quả của MFRPEA với các giá trị khác nhau của rmp. Những kết quả này cho thấy rằng, đối với cả RSS và RSM, các giá trị củarmp nhỏ hơn có xu hướng cho kết quả tốt hơn. Do đó, luận án chọn các kết quả khi rmp = 0.2 để so sánh MFRPEA với thuật toán khác. Giá trịrmp thấp hơn cho thấy rằng trong trường hợp MFRPEA, phép lai ghép giữa các cá thể khác nguồn gốc văn hóa không có nhiều tác động tích cực đến lời giải. Do đó, việc trao đổi thông tin giữa các nền văn hóa chỉ nên diễn ra với xác suất nhỏ.
Bảng 3.24: So sánh năng lượng tiêu thụ lớn nhất (đơn vị mJ) của các nút mạng tìm được bởi thuật toán MFRPEA với các giá trị khác nhau của rmp trên bài toán RSM. Giá trị in đậm là giá trị tốt nhất tìm được.
rmp 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 M T1s−1m 0.870 0.833 0.840 0.840 0.828 0.840 0.862 0.867 0.859 M T3s−1m 0.845 0.846 0.850 0.875 0.865 0.895 0.893 0.896 0.912 M T1s−3m 0.849 0.851 0.854 0.855 0.852 0.874 0.855 0.878 0.896 M T3s−3m 0.864 0.824 0.857 0.835 0.841 0.868 0.860 0.868 0.880 Trung bình 0.857 0.838 0.850 0.851 0.847 0.869 0.867 0.877 0.887
Bảng 3.25: So sánh năng lượng tiêu thụ lớn nhất (đơn vị mJ) của các nút mạng tìm được bởi thuật toán MFRPEA với các giá trị khác nhau củarmp trên bài toán RSS. Giá trị in đậm là giá trị tốt nhất tìm được. rmp 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 M T1s−1m 1.677 1.677 1.677 1.677 1.677 1.677 1.677 1.677 1.678 M T3s−1m 1.685 1.677 1.677 1.677 1.677 1.677 1.677 1.677 1.686 M T1s−3m 1.679 1.677 1.677 1.677 1.677 1.677 1.677 1.677 1.686 M T3s−3m 1.680 1.677 1.677 1.677 1.677 1.677 1.683 1.677 1.683 Trung bình 1.680 1.677 1.677 1.677 1.677 1.677 1.679 1.677 1.683 Số lượng tác vụ
Bảng 3.26 và 3.27 đưa ra kết quả so sánh MFRPEA với số lượng tác vụ khác nhau. Có thể thấy rằng, thuật toán đa nhân tố thường hoạt động tốt hơn khi
các tác vụ là những bài toán cùng loại. Với bài toán RSS, các giá trị của năng lượng tiêu thụ trung bình tìm được lần lượt là 1.494mJ, 1.508 mJ, 1.485 mJ và 1.494mJ. Với số lượng tác vụK = 2 (1s-1m), K = 4 (3s - 1m),K = 4 (1s-3m) và K = 6 (3s-3m), các kết quả trên bài toán RSM lần lượt là 2.736 mJ, 2.727 mJ, 2.739 mJ và 2.733 mJ. Thuật toán MFRPEA cho kết quả tốt hơn cho bài toán RSM khi trong các tác vụ được giải có nhiều tác vụ là bài toán RSM. Điều này cho thấy ảnh hưởng của loại tác vụ đến thuật toán: khi kết hợp các loại tác vụ có độ tương tự cao, thuật toán mang lại kết quả tốt hơn.
Bảng 3.26: So sánh năng lượng tiêu thụ lớn nhất (đơn vị mJ) của các nút mạng tìm được bởi thuật toán MFRPEA trên bài toán RSM với số lượng tác vụ khác nhau.
Datasets M T1s−1m M T3s−1m M T1s−3m M T3s−3m Type 1M 1.136 1.161 1.188 1.154 Type 2M 0.988 0.994 0.962 0.993 Type 3M 0.879 0.880 0.864 0.868 Type 4M 1.381 1.385 1.374 1.369 Type 5M 3.087 3.120 3.038 3.083 Trung bình 1.494 1.508 1.485 1.494
Bảng 3.27: So sánh năng lượng tiêu thụ lớn nhất (đơn vị mJ) của các nút mạng tìm được bởi thuật toán MFRPEA trên bài toán RSS với số lượng tác vụ khác nhau.
Datasets M T1s−1m M T3s−1m M T1s−3m M T3s−3m Type 1S 1.281 1.254 1.306 1.276 Type 2S 1.340 1.328 1.323 1.332 Type 3S 1.677 1.677 1.681 1.677 Type 4S 6.647 6.647 6.647 6.647 Trung bình 2.736 2.727 2.739 2.733
Thực nghiệm 2: So sánh thuật toán MFRPEA với các thuật toán khác
Trong thực nghiệm này, thuật toán đề xuất MFRPEA sẽ được so sánh với các thuật toán GA, PSO, DE. Các tham số cho thuật toán MFRPEA sẽ được sử dụng lại của các thực nghiệm trên, cụ thể rmp = 0.2, K = 6.
So sánh trên các bộ dữ liệu với các phân phối khác nhau của các nút
trị mục tiêu trung bình so với GA, PSO và DE trên các bộ dữ liệu của cả ba phân phối là 6.18%, 3.25% và 3.99%. Trên phân phối Gamma, thuật toán đề xuất cho kết quả tốt nhất, cải thiện 14.91% so với GA, 9.16% so với PSO và 11.14% so với DE.
Các kết quả cho bài toán RSM cũng tương tự như bài toán RSS. Thuật toán MFRPEA cho kết quả tốt nhất trên các bộ dữ liệu mà các nút tuân theo phân phối Gamma. Cụ thể, trên phân phối này, thuật toán đề xuất cải thiện 9.57% so với GA, 16.22% so với PSO và 15.06% so với DE. Kết quả trung bình trên các loại phân phối khác nhau, MFRPEA cải thiện so với GA, PSO, DE lần lượt là 8.33%, 14.23% và 10.7%. Điều này cho thấy thuật toán đề xuất cho kết quả tốt trên các bộ dữ liệu với các phân phối khác nhau của các nút.
So sánh trên các bộ dữ liệu với các nút có bán kính truyền thông khác nhau Trong thực nghiệm này, sự ảnh hưởng của bán kính truyền thông đến chất lượng của lời giải được đánh giá. Đối với bài toán RSS, MFRPEA cải thiện giá trị hàm mục tiêu khoảng 3.38% trong các bộ dữ liệu no25_xs và 11.78% trong các bộ no50_xs. Có thể thấy từ bảng 3.28, đối với bài toán RSM, thuật toán MFRPEA cải thiện đáng kể đối với các bộ dữ liệu mà các nút có bán kính truyền thông lớn. Điều này có thể lý giải rằng đối với các mạng dày (do bán kính lớn, đồ thị