Tham số Địa hình nhỏ Địa hình lớn Diện tích 200m×200m 500m×500m
Số lượng nút cảm biến 100 200
Số lượng vị trí nút chuyển tiếp 100 200
Trên địa hình nhỏ, năm loại dữ liệu được tạo ra từ (Type 1s đếnType 5s). Trên địa hình lớn, các loại dữ liệu từ Type 1l đến Type 5l được tạo ra. Chi tiết các loại dữ liệu như sau:
Type 1s (ga25s_1 - ga25s_10) và Type 1l (ga25l_1 - ga25l_10): Các nút cảm biến và nút chuyển tiếp được tạo ra trên địa hình nhỏ và địa hình lớn từ T1 đến T10 theo phân phối Gamma. Bán kính cảm biến được đặt là 25m.
Type 2s (no25s_1 - no25s_10) và Type 2l (no25l_1 - no25l_10): Các nút cảm biến và nút chuyển tiếp được tạo ra trên địa hình nhỏ và địa hình lớn từ T1 đến T10 theo phân phối Gaussian. Bán kính cảm biến được đặt là 25m.
Uniform.
Type 4s (uu30s_1 - uu30s_10) vàType 4l(uu30l_1 - uu30l_10): Tương tự như Type 3, tuy nhiên bán kính của các nút cảm biến là 35m.
Type 5s (uu45s_1 - uu45s_10) vàType 5l(uu45l_1 - uu45l_10): Tương tự như Type 3 và Type 4, tuy nhiên bán kính của các nút cảm biến là 45m.
3.3.6.2 Các cài đặt thực nghiệm
Thuật toán được cài đặt bằng ngôn ngữ Python và thư viện NumPy. Các thực nghiệm được thực hiện trên máy tính với CPU Intel Core i5 3.4 GHz, RAM 8GB chạy trên hệ điều hành Ubuntu 16.04. Các tiêu chí đánh giá chất lượng thuật toán được đưa ra trong bảng 3.3.
Bảng 3.3: Tiêu chí đánh giá.Tiêu chí Mô tả Tiêu chí Mô tả
avg Năng lượng trung bình trên tất cả các lần chạy
best Giá trị năng lượng tiêu thụ tốt nhất tìm được trên tất cả các lần chạy
sd Độ lệch chuẩn tìm được trong tất cả các lần chạy
3.3.6.3 Kết quả thực nghiệm
Để đánh giá hiệu quả của thuật toán đề xuất cho bài toán ORP3D, những thử nghiệm sau được cài đặt:
Đánh giá hiệu quả của phương pháp khởi tạo trong thuật toán đề xuất.
Đánh giá hiệu quả của thuật toán đề xuất khi áp dụng đầu vào là các phân phối khác nhau.
Đánh giá hiệu quả của thuật toán đề xuất với các bán kính khác nhau. Thực nghiệm 1: đánh giá hiệu quả của thuật toán với các phương pháp khởi tạo khác nhau
Thực nghiệm này so sánh hiệu của của phương pháp khởi tạo MBFS và khởi tạo ngẫu nhiên. Trong thực nghiệm này, tất cả các nút cảm biến và các nút chuyển tiếp có cùng bán kính truyền thông là25m. Các nút được sinh theo phân phối Uniform. Chi tiết kết quả thực nghiệm được đưa ra trong bảng 3.4 và 3.5. Phương pháp khởi tạo MBFS tốt hơn khởi tạo ngẫu nhiên trên bộ dữ liệu nhỏ khoảng11.8% và trên bộ dữ liệu lớn khoảng1.5%. Lý do cho kết quả này là, khởi tạo dùng luồng sẽ tạo ra cá thể tốt trong lần đầu tiên. Cách khởi tạo này có thể
dễ dẫn đến tối ưu cục bộ. Tuy nhiên, do trong thuật toán đề xuất sử dụng ba phép dịch chuyển nên sẽ giúp vượt qua được nhược điểm này.
Bảng 3.4:So sánh kết quả khởi tạo của thuật toán MBFS và khởi tạo ngẫu nhiên trên Type 3s.
.
Khởi tạo MBFS Khởi tạo ngẫu nhiên Cận dưới
Địa hình avg best sd avg best sd
uu25s_1 0.187 0.183 0.006 0.217 0.195 0.015 0.165 uu25s_2 0.198 0.191 0.004 0.215 0.206 0.007 0.177 uu25s_3 0.196 0.187 0.008 0.213 0.205 0.006 0.164 uu25s_4 0.194 0.188 0.006 0.211 0.192 0.011 0.169 uu25s_5 0.248 0.246 0.004 0.257 0.239 0.010 0.227 uu25s_6 0.179 0.175 0.004 0.200 0.184 0.011 0.170 uu25s_7 0.188 0.177 0.004 0.197 0.185 0.012 0.170 uu25s_8 0.182 0.164 0.007 0.188 0.177 0.006 0.159 uu25s_9 0.164 0.164 0.000 0.222 0.214 0.009 0.159 uu25s_10 0.169 0.164 0.006 0.239 0.214 0.018 0.159 Trung bình 0.190 0.184 0.005 0.216 0.201 0.011 0.172
Bảng 3.5:So sánh kết quả khởi tạo của thuật toán MBFS và khởi tạo ngẫu nhiên trên Type 3l.
Khởi tạo MBFS Khởi tạo ngẫu nhiên Cận dưới
Địa hình avg best sd avg best sd
uu25l_1 0.362 0.362 0.000 0.362 0.362 0.006 0.332 uu25l_2 0.535 0.526 0.007 0.545 0.541 0.015 0.521 uu25l_3 0.504 0.504 0.007 0.510 0.504 0.015 0.489 uu25l_4 0.571 0.563 0.003 0.575 0.568 0.005 0.548 uu25l_5 0.367 0.357 0.005 0.380 0.372 0.005 0.357 uu25l_6 0.441 0.427 0.007 0.442 0.437 0.007 0.417 uu25l_7 0.582 0.570 0.007 0.586 0.580 0.006 0.565 uu25l_8 0.511 0.497 0.008 0.526 0.517 0.006 0.496 uu25l_9 0.509 0.495 0.006 0.499 0.495 0.005 0.470 uu25l_10 0.715 0.704 0.007 0.712 0.709 0.005 0.689 Trung bình 0.511 0.501 0.006 0.514 0.509 0.008 0.488
Thực nghiệm 2: đánh giá hiệu quả của thuật toán với các phân phối khác nhau
và bảng 3.7 cho thấy thuật toán FCLS cho kết quả tốt với cả 3 phân phối của các nút cảm biến. Các kết quả thu được khá gần so với cận. Ví dụ, trên bộ dữ liệu nhỏ, kết quả thu được là 0.172 cho phân phối Gaussian, trong khi cận dưới là 0.160. Các kết quả thu được đối với phân phối Gamma và Uniform là 0.171 và 0.184. Trong khi đó, các kết quả của hai phân phối này thu được khi giải quy hoạch nguyên lần lượt là 0.162 và 0.172. Trên bộ dữ liệu lớn, kết quả trên ba phân phối Gaussian, Gamma và Uniform lần lượt là 0.34, 0.454 và 0.498. Cận dưới trên bộ dữ liệu lớn của 3 phân phối này là 0.316, 0.431 và 0.386. Điều này cho thấy rằng, thuật toán đề xuất cho kết quả khá tốt trên các phân phối khác nhau.
Trên bộ dữ liệu lớn, thuật toán FCLS cho kết quả khá tốt với phân phối Gaussian. Điều này có thể do trong thực tế, các nút trong phân phối này có xu hướng phân cụm với nhau, dẫn đến đồ thị dày hơn, cho phép thuật toán FCLS có nhiều phương án lựa chọn tối ưu hơn.
Bảng 3.6: So sánh kết quả thu được trên các tập dữ liệu Type 1s, Type 2s, Type 3s.
Type 2s Type 1s Type 3s
Địa hình avg best sd cận dưới avg best sd cận dưới avg best sd cận dưới
T1 0.165 0.165 0.002 0.153 0.140 0.138 0.002 0.137 0.187 0.183 0.006 0.165 T2 0.192 0.187 0.004 0.164 0.176 0.176 0.000 0.172 0.198 0.191 0.004 0.177 T3 0.180 0.176 0.002 0.167 0.168 0.166 0.004 0.163 0.196 0.187 0.008 0.164 T4 0.181 0.180 0.002 0.158 0.177 0.175 0.004 0.163 0.194 0.188 0.006 0.169 T5 0.168 0.164 0.005 0.159 0.178 0.175 0.006 0.167 0.248 0.246 0.004 0.227 T6 0.172 0.169 0.004 0.160 0.176 0.164 0.008 0.163 0.179 0.175 0.004 0.170 T7 0.185 0.170 0.015 0.161 0.174 0.171 0.002 0.170 0.188 0.177 0.004 0.170 T8 0.179 0.170 0.003 0.157 0.182 0.182 0.000 0.169 0.182 0.164 0.007 0.159 T9 0.177 0.177 0.000 0.159 0.176 0.176 0.000 0.160 0.164 0.164 0.000 0.159 T10 0.164 0.164 0.000 0.159 0.163 0.163 0.000 0.159 0.169 0.164 0.006 0.159 Trung bình 0.176 0.172 0.004 0.160 0.171 0.169 0.003 0.162 0.190 0.184 0.005 0.172
Bảng 3.7: So sánh kết quả thu được trên các tập dữ liệu Type 1l, Type 2l, Type 3l. Type 2l Type 1l Type 3l
Địa hình avg best sd cận dưới avg best sd cận dưới avg best sd cận dưới
T1 0.498 0.485 0.006 0.475 0.372 0.360 0.006 0.345 0.362 0.362 0.000 0.332 T2 0.423 0.412 0.005 0.397 0.341 0.332 0.009 0.327 0.535 0.526 0.007 0.521 T3 0.240 0.230 0.008 0.220 0.509 0.495 0.006 0.485 0.446 0.433 0.006 0.489 T4 0.166 0.154 0.008 0.139 0.410 0.398 0.006 0.378 0.514 0.504 0.007 0.548 T5 0.172 0.158 0.006 0.143 0.556 0.547 0.005 0.537 0.367 0.357 0.005 0.357 T6 0.535 0.523 0.008 0.513 0.502 0.490 0.008 0.475 0.441 0.427 0.007 0.417 T7 0.183 0.169 0.012 0.154 0.227 0.221 0.004 0.206 0.582 0.570 0.007 0.007 T8 0.307 0.297 0.010 0.281 0.393 0.382 0.006 0.367 0.511 0.497 0.008 0.496 T9 0.461 0.448 0.009 0.443 0.528 0.516 0.007 0.506 0.509 0.509 0.495 0.006 T10 0.411 0.402 0.007 0.392 0.701 0.693 0.006 0.683 0.715 0.704 0.007 0.689 Trung bình 0.340 0.328 0.008 0.316 0.454 0.443 0.006 0.431 0.498 0.489 0.006 0.435
Thực nghiệm 3: đánh giá hiệu quả của thuật toán với các bán kính khác nhau
Thực nghiệm này đánh giá hiệu quả của thuật toán khi áp dụng trên ba loại bán kính truyền thông khác nhau của các nút cảm biến: 25m, 30m và 45m. Chi tiết kết quả được đưa ra trong bảng 3.8 và bảng 3.9.
Bảng 3.8 cho thấy rằng kết quả trung bình của thuật toán với bán kính 25m là 0.190 trên bộ dữ liệu nhỏ. Khi bán kính tăng lên, đồ thị sẽ dày đặc hơn, do đó có nhiều lựa chọn hơn cho lời giải tối ưu. Do đó, giá trị của hàm mục tiêu giảm xuống còn 0.180 và 0.178 với bán kính 30m và 45m. Kết quả ở hình 3.4 và 3.5 cũng chỉ ra rằng, khi bán kính truyền thông tăng lên, năng lượng tiêu thụ cũng tăng nhưng số lượng các nút chuyển tiếp sử dụng giảm khá nhanh.
Bảng 3.8: So sánh kết quả thu được trên các tập dữ liệu Type 3s, Type 4s, Type 5s. Type 3s (R=25) Type 4s (R=30) Type 5s (R=45) Địa hình avg best sd cận dưới avg best sd cận dưới avg best sd cận dưới
T1 0.187 0.183 0.006 0.165 0.184 0.183 0.002 0.162 0.155 0.154 0.003 0.151 T2 0.198 0.191 0.004 0.177 0.181 0.181 0.000 0.164 0.150 0.148 0.002 0.147 T3 0.196 0.187 0.008 0.164 0.152 0.150 0.003 0.151 0.152 0.150 0.003 0.146 T4 0.194 0.188 0.006 0.169 0.177 0.170 0.006 0.163 0.149 0.147 0.004 0.146 T5 0.248 0.246 0.004 0.227 0.222 0.222 0.000 0.208 0.152 0.149 0.001 0.146 T6 0.179 0.175 0.004 0.170 0.174 0.171 0.003 0.165 0.156 0.155 0.001 0.148 T7 0.188 0.177 0.004 0.170 0.178 0.176 0.001 0.163 0.156 0.154 0.002 0.152 T8 0.182 0.164 0.007 0.159 0.166 0.157 0.004 0.152 0.150 0.149 0.002 0.148 T9 0.164 0.164 0.000 0.159 0.189 0.178 0.004 0.161 0.152 0.151 0.002 0.145 T10 0.169 0.164 0.006 0.159 0.174 0.164 0.007 0.160 0.403 0.400 0.004 0.396 Trung bình 0.190 0.184 0.005 0.172 0.180 0.175 0.003 0.165 0.178 0.176 0.002 0.173
Bảng 3.9: So sánh kết quả thu được trên các tập dữ liệu Type 3l, Type 4l, Type 5l. Type 3l (R=25) Type 4l (R=30) Type 5l (R=45) Địa hình avg best sd cận dưới avg best sd cận dưới avg best sd cận dưới
T1 0.362 0.362 0.000 0.332 0.404 0.392 0.007 - 0.344 0.331 0.008 - T2 0.535 0.526 0.007 0.521 0.320 0.311 0.003 - 0.446 0.433 0.006 - T3 0.514 0.504 0.007 0.489 0.337 0.327 0.007 - 0.223 0.209 0.009 - T4 0.571 0.563 0.003 0.548 0.344 0.329 0.008 - 0.248 0.234 0.010 - T5 0.367 0.357 0.005 0.357 0.568 0.557 0.005 - 0.406 0.392 0.007 - T6 0.441 0.427 0.007 0.417 0.400 0.389 0.008 - 0.474 0.461 0.006 - T7 0.582 0.570 0.007 0.565 0.618 0.605 0.005 - 0.451 0.437 0.010 - T8 0.511 0.497 0.008 0.496 0.490 0.479 0.007 - 0.282 0.275 0.005 - T9 0.509 0.006 0.495 0.470 0.517 0.508 0.007 - 0.509 0.496 0.007 - T10 0.715 0.704 0.007 0.689 0.676 0.676 0.000 - 0.493 0.480 0.005 - Trung bình 0.511 0.501 0.006 0.488 0.467 0.457 0.006 - 0.388 0.375 0.007 -
(a) Số lượng các nút chuyển tiếp sử dụng. (b) Năng lượng tiêu thụ.
Hình 3.4: So sánh số lượng nút chuyển tiếp và năng lượng tiêu thụ (J) trên các tậpdữ liệu Type 3s, Type 4s, Type 5s. dữ liệu Type 3s, Type 4s, Type 5s.
(a) Số lượng các nút chuyển tiếp sử dụng. (b) Năng lượng tiêu thụ.
Hình 3.5: So sánh số lượng nút chuyển tiếp và năng lượng tiêu thụ (J) trên các tậpdữ liệu Type 3l, Type 4l, Type 5l. dữ liệu Type 3l, Type 4l, Type 5l.
3.4 Thuật toán tối ưu đa mục tiêu dựa trên phân
rã
Ở phần trước, luận án đã giải quyết bài toán tối ưu hóa đa mục tiêu bằng cách đưa về bài toán tối ưu hóa đơn mục tiêu. Theo đó, mỗi mục tiêu sẽ được gán một trọng số thể hiện tính quan trọng của mục tiêu đó. Tuy nhiên, cách tiếp cận đơn mục tiêu chịu ảnh hưởng khá nhiều bởi cách chọn véc tơ trọng số. Trong phần này, luận án sẽ trình bày thuật toán tiến hóa dựa trên biên Pareto để giải quyết bài toán được đưa ra trong phần 3.2.3. Cách tiếp cận dựa trên thuật toán tiến hóa sẽ giải quyết bài toán tối ưu đa mục tiêu bằng cách duy trì một tập các lời giải không bị trội của bài toán. Người quyết định (decision maker) có thể lựa chọn lời giải phù hợp với nhu cầu của họ.
3.4.1 Chuẩn hóa các hàm mục tiêu
Đối với các bài toán có hàm mục tiêu khoảng giá trị khác nhau, việc chuẩn hóa hàm mục tiêu là cần thiết. Phần này trình bày một phương pháp chuẩn hóa đơn giản biến đổi các mục tiêu có phạm vi khác nhau.
fi(x) = fi(x)
tnadi (3.25)
trong đó, tnadi =max{fi(x)} là cận trên của mục tiêu thứ i. Ngoài ra, tất cả các giá trị tnadi được kết hợp trong một điểm duy nhất gọi là điểm Nadir. Phương pháp để tính điểm Nadir sẽ được trình bày chi tiết trong phần sau. Như vậy, sau khi chuẩn hóa, giá trị các hàm mục tiêu sẽ bị giới hạn trong cùng một khoảng
0≤fi(x)≤1, i= 1,2.
3.4.2 Thuật toán đa mục tiêu dựa trên phân rã các mục tiêu
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à: