Thuật toán BGS đã khắc phục những nhược điểm của nghiên cứu [7] bằng cách tạo ra nhiều cách lựa chọn các vị trí đặt các nút chuyển tiếp khác nhau. Tuy nhiên, việc lựa chọn n/y nút cảm biến có giá trị tổn thất truyền thông nhỏ có thể kết nối đến một nút chuyển tiếp là tham lam. Cách lựa chọn tham lam cho mỗi lời giải bộ phận chưa chắc sẽ dẫn đến lời giải tối ưu toàn cục. Do đó, phần này đề xuất cách tiếp cận sử dụng thuật toán di truyền với khởi tạo phân cụm (Maxium Flow-based Genetic Algorithm - MXFGA) để giải quyết bài toán MRP. Ý tưởng của cách tiếp cận này là nếu biết chính xác các vị trí được lựa chọn để đặt nút chuyển tiếp, chúng ta có thể tìm được cách kết nối giữa các nút chuyển tiếp và các nút cảm biến sao cho giá trị tổn thất truyền thông lớn nhất của các cặp kết nối tìm được là nhỏ nhất.
2.3.2.1 Biểu diễn cá thể
MXFGA mã hóa mỗi cá thể là một chuỗi nhị phân x= (x1, x2, ..., xm), trong đó xj = 1 nếu vị trí lj được chọn để đặt các nút chuyển tiếp, xj = 0 nếu ngược lại. Do chỉ chọn chính xác y vị trí khả thi để đặt các nút chuyển tiếp nên:
m
X
j=1
xj =y (2.16)
2.3.2.2 Khởi tạo quần thể
Thuật toán MXFGA sử dụng hai loại khởi tạo: khởi tạo ngẫu nhiên và khởi tạo sử dụng phân cụm.
trên các bộ dữ liệu thuộc tập dữ liệu lớn. Đây là loại dữ liệu mà thuật toán BMBM cải thiện so với MXFGA nhiều nhất. Có thể dự đoán được kết quả này là do các lời giải bộ phận được tạo ra bởi thuật toán BMBM thường lựa chọn các vị trí gần biên để đặt các nút chuyển tiếp do các vị trí này sẽ tạo ra các giá trị đại diện cho lời giải bộ phận có giá trị nhỏ. Trong khi, đối với thuật toán MXFGA, các cá thể ban đầu được tạo ra do sử dụng thuật toán CluRNS cũng sẽ lựa chọn các vị trí của nút chuyển tiếp gần về phía biên. Tuy nhiên, các toán tử đột biến sẽ có thể lựa chọn vị trí một nút chuyển tiếp gần tâm địa hình. Điều này dẫn đến lời giải có thể có giá trị tổn thất truyền thông cao.
(a) Tỉ lệ % cải thiện của tập dữ liệu nhỏ. (b) Tỉ lệ % cải thiện của tập dữ liệu lớn.
Hình 2.9: Tỉ lệ % các thuật toán đề xuất cải thiện so với Yuan trên kịch bản 2.
Bảng 2.9: So sánh kết quả thu được của các thuật toán trên kịch bản 2 (đơn vị dB).
Kich bản 2 Yuan BGS CLuRNS MXFGA BMBM OPT/LB
avg sd avg sd avg sd avg sd
br1-1 136.41 124.17 2.60 127.97 2.90 115.82 3.05 114.82 0.64 110.06 br1-2 131.07 112.32 1.60 126.45 8.47 107.42 0.70 105.70 0.13 105.26 br1-3 126.52 113.37 2.03 123.07 3.06 113.73 1.38 109.38 1.31 107.10 br1-4 127.72 116.13 1.45 124.52 7.49 114.61 0.00 111.54 1.54 93.52 br1-5 133.42 119.92 2.63 130.37 6.72 118.67 2.74 110.02 0.94 91.74 Trung bình 131.03 117.18 2.06 126.48 5.73 114.05 1.57 110.29 0.91 101.54 br2-1 146.33 129.37 1.50 136.25 5.6 121.6 2.25 121.08 1.11 95.75 br2-2 153.44 128.27 2.06 137.5 4.23 123.06 1.30 121.29 0.49 120.62 br2-3 165.11 127.32 1.99 138.6 5.12 124.2 0.74 122.09 1.43 95.79 br2-4 155.12 129.17 2.15 141.22 3.9 127.3 1.62 122.45 2.03 111.74 br2-5 152.98 131.13 2.10 139.91 5.3 126.86 0.42 125.19 0.28 107.88 Trung bình 154.60 129.05 1.96 138.70 4.83 124.60 1.27 122.42 1.07 106.36 Kết quả của kịch bản 3:
Loại dữ liệu này dự kiến sẽ tốt cho phương pháp phân cụm được đưa ra trong luận án. Bởi vì phân phối của các nút cảm biến gần giống với mô hình các nhóm cảm biến. Kết quả được đưa ra trong bảng 2.8 - bảng 2.13 cho thấy rằng, thuật toán BMBM cho kết quả tốt nhất trên tập dữ liệu nhỏ. Tổn thất truyền thông thu được của thuật toán BMBM là 105.29 so với tổn thất truyền thông tốt nhất trên tất cả các kịch bản dữ liệu còn lại là 105.92. Tuy nhiên, trên tập dữ liệu lớn, thuật toán MXFGA thu được kết quả tổn thất truyền thông tốt hơn là 124.31, trong khi BMBM là 126.76.
Các kết quả được đưa ra trong hình 2.10 và bảng 2.10 cũng cho thấy hiệu quả của 3 thuật toán đề xuất. Thuật toán BGS cải thiện lần lượt 17.66% và 11.95% so với Yuan trên tập dữ liệu nhỏ và trên tập dữ liệu lớn. Có thể thấy rằng thuật toán MXFGA và BMBM cho kết quả tương tự nhau trên tập dữ liệu nhỏ. Tuy nhiên, trên tập dữ liệu lớn, thuật toán MXFGA cho kết quả tốt hơn BMBM khoảng 1.97%. Điều này cho thấy rõ khả năng áp dụng của thuật toán MXFGA đối với dữ liệu dạng này.
(a) Tỉ lệ % cải thiện của tập dữ liệu nhỏ. (b) Tỉ lệ % cải thiện của tập dữ liệu lớn.
Bảng 2.10: So sánh kết quả thu được của các thuật toán trên kịch bản 3 (đơn vị dB).
Kich bản 3 Yuan BGS CLuRNS MXFGA BMBM OPT/LB
avg sd avg sd avg sd avg sd
fcr1-1 114.24 107.47 1.03 116.70 5.69 105.12 1.90 103.85 2.22 97.38 fcr1-2 142.65 107.54 0.71 125.33 10.11 107.26 0.00 107.26 0.00 107.26 fcr1-3 124.66 110.91 2.25 120.86 6.73 107.15 0.00 107.35 0.59 104.37 fcr1-4 140.30 107.32 1.62 132.67 11.31 107.09 2.34 105.89 0.65 105.69 fcr1-5 131.20 104.47 1.66 119.64 13.07 102.97 1.58 102.08 0.34 102.00 Trung bình 130.61 107.54 1.45 123.04 9.38 105.92 1.16 105.29 0.76 103.34 fcr2-1 144.99 129.11 1.73 129.96 3.19 120.97 2.31 126.42 0.74 107.07 fcr2-2 141.91 131.71 1.97 134.64 4.82 124.34 0.55 128.07 1.47 104.09 fcr2-3 140.42 128.34 1.31 134.13 3.97 121.14 0.76 123.51 1.02 94.28 fcr2-4 163.75 131.41 2.36 148.12 5.06 127.89 0.74 127.89 0.00 101.90 fcr2-5 150.47 132.32 2.30 144.61 2.26 127.2 1.97 127.92 0.79 105.47 Trung bình 148.31 130.58 1.93 138.29 3.86 124.31 1.27 126.76 0.80 102.56 Kết quả của kịch bản 4:
Trong kịch bản này, các nút cảm biến được triển khai ngẫu nhiên, trong khi các nút chuyển tiếp được triển khai thành các cụm. Từ hình 2.11 có thể thấy rằng, mức độ cải thiện của cả ba thuật toán đề xuất so với thuật toán Yuan là không nhiều. Các con số lần lượt cho BGS, MXFGA và BMBM lần lượt là 3.99%, 4.03% và 4.03% cho tập dữ liệu nhỏ; 6.32%, 6.59% và 6.54% cho tập dữ liệu lớn.
(a) Tỉ lệ % cải thiện của tập dữ liệu nhỏ. (b) Tỉ lệ % cải thiện của tập dữ liệu lớn.
Bảng 2.11: So sánh kết quả thu được của các thuật toán trên kịch bản 4 (đơn vị dB).
Kich bản 4 Yuan BGS CLuRNS MXFGA BMBM OPT/LB
avg sd avg sd avg sd avg sd
rfc1-1 124.12 113.67 0.25 114.63 1.35 113.57 0.00 113.57 0.00 113.57 rfc1-2 129.73 127.84 0.04 128.82 0.85 127.83 0.00 127.85 0.05 127.83 rfc1-3 120.42 117.52 0.40 119.02 1.58 117.38 0.00 117.38 0.00 117.38 rfc1-4 139.12 128.27 0.00 128.74 1.12 128.27 0.00 128.27 0.00 128.27 rfc1-5 140.81 140.81 0.00 140.81 0.00 140.81 0.00 140.81 0.00 140.81 Trung bình 130.84 125.62 0.14 126.40 0.98 125.57 0.00 125.58 0.01 125.57 rfc2-1 147.59 135.69 1.08 140.09 3.45 133.64 0.00 134.05 0.63 133.64 rfc2-2 163.56 144.94 0.00 144.94 0 144.94 0.00 144.94 0.00 144.94 rfc2-3 155.36 142.16 0.24 142.88 1.39 142.09 0.00 142.09 0.00 142.09 rfc2-4 159.48 159.48 0.00 159.48 0 159.48 0.00 159.48 0.00 159.48 rfc2-5 161.32 155.29 0.00 155.29 0 155.29 0.00 155.29 0.00 155.29 Trung bình 157.46 147.51 0.27 148.54 0.97 147.09 0.00 147.17 0.13 147.09 Kết quả của kịch bản 5:
Tương tự như kịch bản 3, trong kịch bản này các nút cảm biến được sinh trong 2×n/y cụm, các nút chuyển tiếp được sinh ngẫu nhiên. Kịch bản dữ liệu này là trường hợp khó cho phương pháp phân cụm, vì cách sinh dữ liệu sẽ dẫn đến các cụm thưa, chất lượng cụm thấp. Nhìn kết quả từ bảng 2.8 đến bảng 2.13 có thể thấy rằng, đây là kịch bản dữ liệu duy nhất mà thuật toán khởi tạo dựa trên phân cụm CluRNS cho kết quả tệ hơn kết quả của Yuan. Do kết quả khởi tạo phân cụm có chất lượng thấp, thuật toán MXFGA lúc này cũng phát huy được lợi thế, chất lượng lời giải cải thiện lần lượt khoảng 14.33% và 26.90% trên tập dữ liệu nhỏ và trên tập dữ liệu lớn. Ngoài ra, đối với kịch bản này, thuật toán MXFGA với khởi tạo phân cụm mặc dù vẫn tốt hơn thuật toán của Yuan trên tất cả các bộ dữ liệu, tuy nhiên, kết quả tệ hơn hai thuật toán đề xuất còn lại là BGS và BMBM. Cụ thể, thuật toán BGS và BMBM cải thiện 13.22% và 14.28%, trong khi MXFGA cải thiện được 11.80% kết quả so với thuật toán Yuan trên tập dữ liệu nhỏ. Đối với tập dữ liệu lớn, MXFGA vẫn cải thiện ít nhất là 26.97%, trong khi BGS cải thiện 29.85% và BMBM cải thiện 30.50% (xem hình 2.12). Kết quả thu được từ bảng 2.12 cho thấy rằng, đối với dữ liệu loại này, thuật toán BMBM cho kết quả khá sát với cận dưới.
(a) Tỉ lệ % cải thiện của tập dữ liệu nhỏ. (b) Tỉ lệ % cải thiện của tập dữ liệu lớn.
Hình 2.12: Tỉ lệ % các thuật toán đề xuất cải thiện so với Yuan trên kịch bản 5.
Bảng 2.12: So sánh kết quả thu được của các thuật toán trên kịch bản 5 (đơn vị dB).
Kich bản 5 Yuan BGS CLuRNS MXFGA BMBM OPT/LB
avg sd avg sd avg sd avg sd
mcr1-1 130.11 116.19 0.00 138.03 0.00 116.32 0.53 116.19 0.00 115.10 mcr1-2 128.45 111.59 2.07 130.43 0.00 114.43 2.92 109.68 0.75 109.48 mcr1-3 116.68 97.54 1.48 120.92 0.00 99.67 2.81 94.03 1.51 92.36 mcr1-4 123.68 98.99 0.10 123.68 0.00 107.02 2.21 98.97 0.00 98.97 mcr1-5 118.93 111.84 2.83 123.08 4.09 107.48 2.07 110.72 4.23 105.88 Trung bình 123.57 107.23 1.30 127.23 0.82 108.98 2.11 105.92 1.30 104.36 mcr2-1 137.40 110.51 1.68 155.47 22.9 106.56 0.00 106.56 0.00 103.20 mcr2-2 152.36 108.77 1.24 144.5 12.9 104.89 1.10 104.89 0.00 97.45 mcr2-3 161.14 109.35 1.43 146.17 14.67 100.41 1.95 100.41 0.00 92.94 mcr2-4 148.53 111.05 1.95 143.21 11.49 109.73 0.61 106.40 0.56 88.12 mcr2-5 151.59 108.74 1.37 131.43 10.24 105.25 0.00 104.16 0.00 102.25 Trung bình 150.20 109.68 1.53 144.16 14.44 105.37 0.73 104.48 0.11 96.79 Kết quả của kịch bản 6:
Dữ liệu trong kịch bản này được sinh tương tự như kịch bản 5, tuy nhiên vị trí các nút chuyển tiếp được sinh ra trong 2×y cụm và các nút cảm biến được sinh ngẫu nhiên. Kết quả từ hình 2.13 cho thấy các thuật toán đề xuất cho kết quả tốt hơn thuật toán Yuan. Kết quả tổn thất truyền thông thu được của BGS, MXFGA và BMBM trên tập dữ liệu nhỏ là: 114.71, 111.57 và 111.68, trên tập dữ liệu lớn là 135.7, 134.23, 133.73. Đối với kịch bản dữ liệu này, thuật toán BMBM có 2/5 bộ đạt tối ưu trên cả tập dữ liệu nhỏ và tập dữ liệu lớn.
(a) Tỉ lệ % cải thiện của tập dữ liệu nhỏ. (b) Tỉ lệ % cải thiện của tập dữ liệu lớn.
Hình 2.13: Tỉ lệ % các thuật toán đề xuất cải thiện so với Yuan trên kịch bản 6.
Bảng 2.13: So sánh kết quả thu được của các thuật toán trên kịch bản 6 (đơn vị dB).
Kich bản 6 Yuan BGS CLuRNS MXFGA BMBM OPT/LB
avg sd avg sd avg sd avg sd
rmc1-1 120.12 113.34 1.81 122.43 6.56 108.57 1.03 108.65 0.85 108.32 rmc1-2 120.43 117.12 0.47 118.49 1.65 116.87 0.00 116.87 0.00 116.87 rmc1-3 116.00 113.67 1.70 114.58 3.56 109.11 0.78 110.35 0.72 106.74 rmc1-4 122.14 117.79 1.57 124.04 3.23 114.85 2.10 112.89 1.20 111.31 rmc1-5 125.60 111.65 1.22 118.35 5.68 108.43 0.36 109.61 0.67 108.17 Trung bình 120.86 114.71 1.35 119.58 4.14 111.57 0.85 111.68 0.69 110.28 rmc2-1 148.45 131.61 1.05 140.15 3.16 130.26 0.00 130.26 0.00 130.26 rmc2-2 153.64 141.69 0.00 141.76 0.21 141.69 0.00 141.69 0.00 141.69 rmc2-3 158.71 136.05 1.01 136.81 3.27 131.97 0.00 132.79 0.92 131.97 rmc2-4 154.25 136.55 1.12 137.36 1.99 135.88 0.00 136.06 0.68 135.88 rmc2-5 144.08 132.61 1.08 136.31 4.14 131.37 0.14 127.83 1.00 123.23 Trung bình 151.82 135.70 0.85 138.48 2.55 134.23 0.03 133.73 0.52 132.61
Tóm tắt kết quả thu được của các thuật toán
Kết quả thu được của các thuật toán đề xuất được tóm tắt trong bảng 2.14. Thuật toán BGS cải thiện lần lượt 9.68% và 13.51% so với thuật toán Yuan trên tập dữ liệu nhỏ và tập dữ liệu lớn. Số lượng bộ dữ liệu tốt hơn đều là 29/30 bộ trên tập dữ liệu nhỏ và tập dữ liệu lớn.
Trong hầu hết các bộ dữ liệu, thuật toán khởi tạo CluRNS cho kết quả tốt hơn so với kết quả của Yuan [7]. Cụ thể, thuật toán CluRNS cải thiện so với cách kết hợp heuristic tốt nhất của Yuan trung bình khoảng 8% trên tập dữ liệu nhỏ và khoảng 13.63% trên tập dữ liệu lớn. Ngoài ra, thuật toán CluRNS tạo ra kết quả tối ưu trong lần lượt là 6/30 và 5/30 bộ trên tập dữ liệu nhỏ và trên tập dữ liệu lớn. Tuy nhiên, trong kịch bản 5, thuật toán này cho kết quả tệ hơn kết quả của Yuan. Điều này phù hợp với thực tế rằng kịch bản dữ liệu này khá khó cho phương pháp phân cụm do các cụm được phân bố thưa thớt.
Hiệu quả của thuật toán MXFGA so với khởi tạo CluRNS được trình bày thông qua ba tiêu chí: giá trị tổn thất truyền thông tốt nhất trong tất cả các lần chạy best, giá trị tổn thất truyền thông trung bình avg và độ lệch chuẩn sd. Kết quả từ bảng 2.14 và các bảng từ 2.8 đến 2.13 cho thấy MXFGA cải thiện kết quả khoảng 9% so với CluRNS. Sự cải thiện rõ nhất được thể hiện trên các bộ dữ liệu của kịch bản 2 và kịch bản 4. Như đã đề cập ở trên, các kịch bản dữ liệu này được thiết kế “khó” hơn cho phương pháp phân cụm. Điều này cho thấy MXFGA không chỉ cải thiện kết quả và tính ổn định của CluRNS mà còn làm giảm bớt ảnh hưởng của các dữ liệu đầu vào “xấu”. Nhìn vào kết quả thực nghiệm của các kịch bản 1 đến kịch bản 6, có thể rút ra kết luận, thuật toán MXFGA cho kết quả rất tốt với những kịch bản dữ liệu mà các nút cảm biến được rải ngẫu nhiên trên địa hình. Cụ thể, MXFGA cho kết quả tối ưu trên 6/10 bộ dữ liệu của kịch bản 6 và kịch bản 4 trên tập dữ liệu nhỏ. Con số này trên tập dữ liệu lớn là 9/10 bộ. Đối với kịch bản dữ liệu mà các nút cảm biến tạo thành các cụm phân bố dày (kịch bản 5), MXFGA tạo ra kết quả tối ưu ở 4/5 bộ trên tập dữ liệu lớn. Ngoài ra, độ lệch chuẩn sd thu được giữa các lần chạy của thuật toán MXFGA cũng nhỏ hơn độ lệch chuẩn của thuật toán CluRNS. Độ lệch chuẩn của MXFGA trên các tập dữ liệu lớn và tập dữ liệu nhỏ lần lượt là 1.16 và 0.66, trong khi của thuật toán CluRNS là 4.08 và 5.19. Điều này chứng tỏ thuật toán MXFGA hoạt động khá ổn định.
Từ bảng 2.8 đến bảng 2.13, có thể thấy rằng BMBM đưa ra chất lượng lời giải tốt hơn so với BGS ở 28/30 bộ trên tập dữ liệu nhỏ và 30/30 bộ trên tập dữ liệu lớn. Thuật toán BMBM sử dụng tham số c là số lượng lời giải được giữ trong mỗi lần lặp. Với c = 2m,3m,4m, BMBM hoạt động tốt hơn trung bình so với MXFGA trong hầu hết các trường hợp. Ví dụ, với c= 4m, BMBM vượt trội hơn trung bình 1.43% trên tập dữ liệu nhỏ và 1.25% trong tập dữ liệu lớn. Từ bảng 2.14, rõ ràng chất lượng lời giải được cải thiện khi tăng c. Cụ thể, với c= 4m, có 23/30 bộ dữ liệu trong tập dữ liệu nhỏ tốt hơn MXFGA và 27/30 bộ dữ liệu trong tập dữ liệu lớn tốt hơn MXFGA. c = 4m cải thiện kết quả trung bình tăng 0.34% so vớic= 2m. Sự cải thiện này có khả năng là kết quả của việc giữ nhiều lời giải hơn trong chùm tia. Đối với các giá trị lớn hơn của c, thuật toán BMBM có độ lệch chuẩn nhỏ hơn, điều này cho thấy giá trị c cũng ảnh
gian thực hiện và bộ nhớ.
Bảng 2.14: Tóm tắt kết quả đạt được của các thuật toán.Thuật toán Các độ đo Tập nhỏ Tập lớn Thuật toán Các độ đo Tập nhỏ Tập lớn
BGS
R(BGS, Yuan) 9.68% 13.51%
S (BGS, Yuan) 29 29
Số bộ đạt tối ưu của BGS 0 0