Dịch vụ thành lập Thay đổi Giấy phép kinh doanh cty Việt Nam cty vốn FDI Tuyển Cộng tác viên (CK 15% gói Dịch vụ) 0899315716 MỤC LỤC DANH MỤC THUẬT NGỮ VÀ TỪ VIẾT TÁT vi DANH MỤC BẢNG BIÊU vii DANH MỤC HÌNH ẢNH x GIỚI THIÊU 1 Chương 1 Cơ SỞ LÝ THUYẾT 8 1.1 Bài toán tối ưu 8 1.1.1 Bài toán tối ưu đơn mục tiêu 8 1.1.2 Bài toán tối ưu đa mục tiêu 9 1.2 Một số thuật toán giải bài toán tối ưu đơn mục tiêu 15 1.2.1 Thuật toán di truyền 15 1.2.2 Thuật toán tiến hóa đa nhân tố 19 1.3 Một số thuật toán giải bài toán tối ưu đa mục tiêu 24 1.3.1 Thuật toán di truyền sắp xếp không trội 25 1.3.2 Thuật toán tiến hóa đa mục tiêu dựa trên phân rã 31 1.3.3 Các độ đo đa mục tiêu 36 1.4 Bài toán tối ưu thời gian sống của mạng cảm biến không dây ... 38 1.4.1 Định nghĩa thời gian sống của mạng 38 1.4.2 Bài toán tối ưu thời gian sống cho mạng cảm biến không dây ngầm 39 1.4.3 Bài toán tối ưu thời gian sống cho mạng cảm biến không dây địa hình ba chiều 44 1.5 Kết luận chương 47 Chương 2 TỐI ƯU HÓA THỜI GIAN SốNG CỦA MẠNG CẢM BIẾN KHÔNG DÂY DựA TRÊN MÔ HÌNH TỔN THẤT TRUYỀN THÔNG 48 2.1 Đặt vấn đề 48 2.2 Phát biểu bài toán 49 2.2.1 Mô hình hóa bài toán 50 2.2.2 Mô hình quy hoạch nguyên 51 2.3 Thuật toán đề xuất 53 2.3.1 Thuật toán tìm kiếm chùm tia với hàm Genitor 53 2.3.2 Thuật toán di truyền với khởi tạo dựa trên phâm cụm ... 57 2.3.3 Thuật toán tìm kiếm chùm tia và cặp ghép trong đồ thị . . 64 2.4 Thực nghiệm 69 2.4.1 Dữ liệu thực nghiệm 70 2.4.2 Cài đặt thực nghiệm 71 2.4.3 Tiêu chí đánh giá 72 2.4.4 So sánh và đánh giá kết quả thực nghiệm 73 2.4.5 Đánh giá độ phức tạp thuật toán 85 2.5 Kết luận chương 87 Chương 3 TỐI ƯU HÓA THỜI GIAN SốNG CỦA MẠNG CẢM BIẾN KHÔNG DÂY DựA TRÊN MÔ HÌNH SUY HAO NĂNG LƯỢNG 88 3.1 Đặt vấn đề 88 3.2 Mô hình bài toán trong địa hình ba chiều 89 3.2.1 Dữ liệu độ cao số 89 3.2.2 Mô hình bài toán 90 3.2.3 Mô hình quy hoạch nguyên 93 3.3 Thuật toán tìm kiếm cục bộ 94 3.3.1 Biểu diễn lời giải 94 3.3.2 Lượng giá lời giải 95 3.3.3 Tìm kiếm các láng giềng 97 3.3.4 Khởi tạo lời giải 98 3.3.5 Thuật toán leo đồi ngẫu nhiên 98 3.3.6 Thực nghiệm 99 3.4 Thuật toán tối ưu đa mục tiêu dựa trên phân rã 105 3.4.1 Chuẩn hóa các hàm mục tiêu 106 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 ………… 106 3.4.3 Thực nghiệm 112 3.4.4 Đánh giá độ phức tạp thuật toán 119 3.5 Thuật toán tiến hóa đa nhân tố giải bài toán tối ưu trên các loại mạng khác nhau 121 3.5.1 Biểu diễn lời giải 125 3.5.2 Thuật toán tiến hóa đa nhân tố giải bài toán tối ưu thời gian sống cho hai loại mạng 127 3.5.3 Thực nghiệm 130 3.6 Kết luận chương 137 Chương 4 KẾT LUẬN 139 DANH MỤC CÔNG TRÌNH CÔNG Bố 141 TÀI LIÊU THAM KHẢO 143 DANH MỤC THUẬT NGỮ VÀ TỪ VIẾT TẮT STT Từ viết tắt Tên đầy đủ 1 BGS Beam Genitor Search 2 BMBM Beam Boltzmann Search and Maximum Bipartite Matching Sensor Nodes Reassignment 3 BS Beam Search 4 CluRNS Clusteringbased heuristic for Relay Node Selection 5 FCLS Flow Capacity Local Search 6 LBSNA Load Balanced Sensor Node Assignment 7 LURNS Load Unrestricted Relay Node Selection 8 MBFS Maxium Flow Binary Search 9 MBMRS Maximum Bipartite Matching Sensor Nodes Reassignment 10 MFEA Multifactorial Evolutionary Algorithm 11 MOEAs Multiobjective Evolutionary Algorithms 12 MOEAD Multiobjective Evolutionary Algorithm based on Decomposition 13 MRP MinMax Relay Placement 14 MXFBS Maxium Flow Binary Search 15 MXFMC Maxium Flow with Minmax Cost 16 MXFGA Maxium Flowbased Genetic Algorithm 17 NSGAII Nondominated Sorting Genetic Algorithm II 18 ORP3D Optimal Relay Node Placement in 3D terrains 19 OSA3D Optimal Sensor Assignment in 3D terrains 20 WSNs Wireless Sensor Networks 21 WUSNs Wireless Underground Sensor Networks 22 RNs Relay Nodes 23 SNs Sensor Nodes DANH MỤC BẢNG BIỂU 1.1 Giá trị cp và Dp được tính từ ma trận trội ………………………………… 27 1.2 Giá trị của các tham số truyền thông trong mạng 45 2.1 Các tham số về địa hình 70 2.2 Các tham số bài toán 70 2.3 Các tham số của thuật toán 72 2.4 Tiêu chí đánh giá 72 2.5 Giá trị tổn thất truyền thông trung bình với kích thước chùm tia khác nhau 75 2.6 So sánh thời gian thực hiện thuật toán BMBM với kích thước chùm tia khác nhau 75 2.7 Giá trị tổn thất truyền thông trung bình với các giá trị tt khác nhau. 76 2.8 So sánh kết quả thu được của các thuật toán trên kịch bản 1. . . . 77 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. . . . 78 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 . . . 80 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 . . . 81 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 . . . 82 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 . . . 83 2.14 Tóm tắt kết quả đạt được của các thuật toán 85 2.15 So sánh độ phức tạp của các thuật toán 86 3.1 Mô tả tóm tắt các hình thái địa hình 99 3.2 Tham số cho các địa hình 100 3.3 Tiêu chí đánh giá 101 3.4 Kết quả khởi tạo MBFS và khởi tạo ngẫu nhiên trên tập dữ liệu Type 3s 102 3.5 Kết quả khởi tạo MBFS và khởi tạo ngẫu nhiên trên tập dữ liệu Type 3l 102 3.6 Kết quả thu được trên các tập dữ liệu Type 1s, Type 2s, Type 3s. 103 3.7 Kết quả thu được trên các tập dữ liệu Type 1l, Type 2l, Type 3l. . 103 3.8 Kết quả thu được trên các tập dữ liệu Type 3s, Type 4s, Type 5s. 104 3.9 Kết quả thu được trên các tập dữ liệu Type 3l, Type 4l, Type 5l. . 104 3.10 Tham số thuật toán MOEALS 112 3.11 So sánh thuật toán MOEALS và các thuật toán tiến hóa đa mục tiêu dựa trên độ đo ỏ 114 3.12 So sánh các thuật toán tiến hóa đa mục tiêu dựa trên độ đo A. . . 114 3.13 So sánh các thuật toán tiến hóa đa mục tiêu khác dựa trên độ đo S.115 3.14 So sánh các thuật toán tiến hóa đa mục tiêu khác dựa trên độ đo NDS 115 3.15 So sánh số lượng bộ dữ liệu mà thuật toán MOEALS tốt hơn thuật toán tiến hóa đa mục tiêu khác 116 3.16 So sánh năng lượng tiêu thụ của các thuật toán khác nhau (đơn vị mJ) 118 3.17 So sánh thuật toán MOEALS và thuật toán FCLS dựa trên độ đo S 119 3.18 Độ phức tạp của các thuật toán đa mục tiêu 121 3.19 Tham số cho bài toán RSS và RSM 131 3.20 Các bộ dữ liệu cho bài toán RSM 131 3.21 Các bộ dữ liệu cho bài toán RSS 131 3.22 Các tiêu chí đánh giá 131 3.23 Tham số cho các thuật toán 132 3.24 So sánh năng lượng tiêu thụ tìm được trên bài toán RSM với các giá trị rmp khác nhau 133 3.25 So sánh năng lượng tiêu thụ tìm được trên bài toán RSS với các giá trị rmp khác nhau 133 3.26 So sánh năng lượng tiêu thụ trên bài toán RSM với số lượng tác vụ khác nhau 134 3.27 So sánh năng lượng tiêu thụ trên bài toán RSS với số lượng tác vụ khác nhau 134 3.28 Đánh giá hiệu quả của thuật toán trên bài toán RSM với bán kính khác nhau 137 3.29 Đánh giá hiệu quả của thuật toán trên bài toán RSS với bán kính khác nhau. 137 DANH MỤC HÌNH ẢNH 1.1 Minh họa hai hàm mục tiêu fi; f2 trong không gian thiết kế 10 1.2 Minh họa không gian thiết kế và không gian mục tiêu 12 1.3 Ví dụ về tối ưu Pareto và tối ưu Pareto yếu 15 1.4 Sơ đồ khối của thuật toán di truyền 17 1.5 Minh họa việc sắp xếp không trội 26 1.6 Ma trận trội 27 1.7 Minh họa khoảng cách quy tụ 29 1.8 Minh họa việc lựa chọn các cá thể để đưa vào quần thể Pt+1. ... 31 1.9 Minh họa cách tiếp cận dựa trên biên 33 1.10 Minh họa độ đo HV cho bài toán tối ưu hai mục tiêu 37 1.11 Truyền thông trong mạng cảm biến không dây ngầm 41 2.1 Minh họa cho hàm Genitor với bias = 2 56 2.2 Minh họa thuật toán BGS 56 2.3 Biểu diễn cá thể 59 2.4 Ví dụ của đồ thị G với khả năng thông qua 61 2.5 Minh họa toán tử lai ghép của thuật toán MXFGA 63 2.6 Minh họa toán tử đột biến của thuật toán MXFGA 63 2.7 Đánh giá ảnh hưởng của tỉ lệ khởi tạo 74 2.8 Tỉ lệ % các thuật toán đề xuất cải thiện so với Yuan trên kịch bản 1. 77 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. 78 2.10 Tỉ lệ % các thuật toán đề xuất cải thiện so với Yuan trên kịch bản 3. 79 2.11 Tỉ lệ % các thuật toán đề xuất cải thiện so với Yuan trên kịch bản 4. 80 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. 82 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. 83 3.1 Ví dụ về đồ thị luồng được xây dựng từ các nút chuyển tiếp và các nút cảm biến 96 3.2 Ví dụ về các phép dịch chuyển 97 3.3 Minh họa một số địa hình 100 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ập dữ liệu Type 3s, Type 4s, Type 5s 105 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ập dữ liệu Type 3l, Type 4l, Type 5l. 105 3.6 Ví dụ cách mã hóa cá thể 108 3.7 Ví dụ về các phép toán di truyền 110 3.8 Minh họa phương pháp giảm năng lượng cho các nút chuyển tiếp. 112 3.9 Số lượng nút chuyển tiếp sử dụng trong kịch bản 1 117 3.10 Số lượng nút chuyển tiếp sử dụng trong kịch bản 2 117 3.11 So sánh độ đo HV giữa thuật toán đề xuất và thuật toán đơn mục tiêu. 119 3.12 Ví dụ cho bài toán RSS 123 3.13 Ví dụ cho bài toán RSM 124 3.14 Biểu diễn lời giải với mã hóa netkeys 125 3.15 Quá trình xây dựng cây 126 3.16 Giải mã cá thể cho từng tác vụ 128 3.17 Ví dụ về phép lai ghép 129 3.18 Ví dụ minh họa phép đột biến 130 3.19 Sự cải thiện kết quả của thuật toán MFRPEA so với các thuật toán khác trên bài toán RSS và bài toán RSM 136 MỞ ĐẦU Trong những năm gần đây, cùng với sự phát triển nhanh chóng của khoa học công nghệ, mạng cảm biến không dây (wireless sensor networks WSNs) đã được nhiều nhà khoa học quan tâm nghiên cứu. WSNs là mạng liên kết các nút cảm biến (sensor nodes) với nhau nhờ các liên kết không dây như sóng vô tuyến, hồng ngoại 1. Mỗi nút cảm biến có chức năng cảm nhận, thu thập, xử lý và truyền dữ liệu. Các nút này thường là các thiết bị đơn giản, nhỏ gọn, giá thành thấp được phân bố trên một phạm vi rộng lớn thường gọi là các khu vực cảm biến (sensor fields). Trong mạng cảm biến, dữ liệu sau khi được thu thập bởi các nút cảm biến sẽ được định tuyến đến các trạm cơ sở (base stations). Các trạm cơ sở sẽ gửi dữ liệu đến người dùng thông qua Internet hay vệ tinh. Các đặc tính như triển khai nhanh chóng, khả năng tự tổ chức và chịu lỗi đã cho thấy mạng cảm biến không dây là một công nghệ đầy triển vọng. Ngày nay, mạng cảm biến không dây được áp dụng trong các lĩnh vực khác của đời sống, từ các ứng dụng trong dân sự như: nông nghiệp, môi trường đến những ứng dụng trong quân sự như giám sát chiến trường, phát hiện vũ khí hóa học 2. Một trong những đặc trưng riêng biệt của mạng cảm biến không dây chính là hạn chế về khả năng tính toán và năng lượng của các nút cảm biến, do các nút này sử dụng nguồn năng lượng pin hoặc ắc quy để tồn tại. Sau khi triển khai mạng, việc tiếp thêm năng lượng cho các nút cảm biến là không khả thi trong trường hợp mạng được triển khai trong những địa hình khắc nghiệt. Do đó, năng lượng của các cảm biến đóng một vai trò quan trọng, quyết định thời gian sống (thời gian tồn tại) của mạng. Trong nghiên cứu 3, các tác giả đưa ra nhiều định nghĩa khác nhau để tính thời gian sống của mạng dựa vào số lượng các nút còn hoạt động (còn sống) trong mạng. Trong đó, cách định nghĩa thời gian sống của mạng là thời gian từ khi khởi tạo mạng cho đến khi nút đầu tiên trong mạng hết năng lượng được nhiều tác giả sử dụng. Cách định nghĩa này phù hợp đối với các mạng mà vai trò của các nút cảm biến là như nhau, nếu một nút hết năng lượng thì việc phân tích dữ liệu thu thập được sẽ không còn chính xác. Hầu hết các nghiên cứu đã có đều tập trung vào việc tối ưu thời gian sống cho mạng cảm biến không dây trong địa hình hai chiều. Giả định này hợp lý đối với các ứng dụng mà các nút cảm biến được triển khai trên một địa hình tương đối đồng đều, độ cao của các nút không đáng kể so với bán kính truyền thông. Tuy nhiên, trong nhiều ứng dụng thực tế, khi triển khai mạng cần xem xét đến độ cao và độ sâu các nút mạng. Vì vậy, trong luận án này, tác giả tập trung nghiên cứu bài toán tối ưu thời gian sống cho hai loại mạng: mạng cảm biến không dây ngầm (wireless underground sensor networks WUSNs) với các nút cảm biến được đặt dưới đất và mạng cảm biến không dây trong địa hình ba chiều (wireless sensor networks in three dimensional terrains WSN3D) với các nút cảm biến được đặt trong địa hình ba chiều. Nhiều bài toán tối ưu thời gian sống cho mạng WUSNs và mạng WSN3D là bài toán NPhard. Có hai cách tiếp cận để giải bài toán dạng này: sử dụng thuật toán chính xác và sử dụng thuật toán xấp xỉ. Các thuật toán chính xác đảm bảo tìm được lời giải chính xác cho các bài toán tối ưu thời gian sống của mạng. Tuy nhiên, đối với những bài toán có kích thước dữ liệu lớn, phương pháp này là không khả thi. Việc áp dụng các thuật toán xấp xỉ được ưu tiên sử dụng. Mặc dù các thuật toán xấp xỉ chỉ tìm được lời giải gần đúng, nhưng thời gian thực hiện thuật toán là chấp nhận được cho mọi bộ dữ liệu. Mục tiêu nghiên cứu của luận án Trên cơ sở phân tích ở trên, tác giả chọn đề tài “ Tối ưu hóa thời gian sống của một lớp mạng cảm biến không dây theo hướng tiếp cận xấp xỉ ” làm đề tài nghiên cứu cho luận án Tiến sĩ. Luận án hướng đến việc sử dụng các thuật toán metaheuristic (một lớp các thuật toán xấp xỉ) để giải quyết bài toán tối ưu thời gian sống cho hai loại mạng: mạng WUSNs và mạng WSN3D. Các mục tiêu cụ thể trong luận án bao gồm: • Mục tiêu thứ nhất của luận án là nghiên cứu về mạng cảm biến không dây, vấn đề tối ưu thời gian sống trong mạng cảm biến không dây. Đặc biệt, luận án đi sâu vào giải quyết vấn đề tối ưu thời gian sống của hai lớp mạng cảm biến không dây: WUSNs và WSN3D bằng việc sử dụng các nút chuyển tiếp. • Mục tiêu thứ hai của luận án là nghiên cứu các kỹ thuật để giải quyết bài toán tối ưu thời gian sống cho hai lớp mạng ở trên. Bởi vì các bài toán được nghiên cứu trong luận án đều là các bài toán NPhard nên tác giả tiếp cận các giải thuật gần đúng để giải quyết các bài toán này. • Mục tiêu thứ ba của luận án là nghiên cứu các phương pháp xây dựng kịch bản mạng, xây dựng các bộ dữ liệu, xây dựng các kịch bản thực nghiệm để đánh giá được hiệu quả của các thuật toán đề xuất. Phạm vi nghiên cứu Trong mạng cảm biến không dây, các nút cảm biến gần nút nguồntrạm cơ sở có khả năng bị cạn kiệt nguồn năng lượng nhanh hơn do chúng phải định tuyến dữ liệu nhiều hơn. Phương pháp định tuyến truyền thống được sử dụng là phương pháp phân cụm. Trong phương pháp này, các cảm biến sẽ được phân thành các cụm, trong mỗi cụm sẽ có một nút đóng vai trò là cụm đầu. Dữ liệu từ các cảm biến thay vì được gửi trực tiếp đến trạm cơ sở hoặc các nút nguồn sẽ được gửi thông qua các cụm đầu. Cụm đầu chịu trách nhiệm điều hướng hoạt động của các thành viên trong cụm và giao tiếp với các cụm đầu khác hoặc trạm cơ sở. Tuy nhiên, cụm đầu phải chuyển tiếp dữ liệu của tất cả các nút trong cụm sẽ dẫn đến tiêu hao năng lượng nhanh hơn các nút khác. Gần đây, các phương pháp sử dụng các nút chuyển tiếp (relay nodes) để kéo dài thời gian sống của mạng đã được các nhà nghiên cứu quan tâm. Ý tưởng của phương pháp này là sử dụng nút chuyển tiếp để giảm khoảng cách truyền thông từ các nút cảm biến đến trạm cơ sở, từ đó có thể giảm năng lượng tiêu thụ. Các nút chuyển tiếp có nguồn năng lượng giới hạn nên cần cân bằng tải giữa chúng để đảm bảo không có nút nào bị quá tải. Trong các nghiên cứu trước đó, vấn đề này bị bỏ qua, các nút cảm biến được tự động gán cho các nút chuyển tiếp có khoảng cách ngắn nhất hoặc sự suy hao trong quá trình truyền dẫn là ít nhất. Điều này dẫn đến sự phân bố không đồng đều của các nút. Một vài nút chuyển tiếp sẽ phải xử lý nhiều do ở gần nhiều nút cảm biến hơn. Trong khi đó, một vài nút chuyển tiếp khác có thể không có bất kì các nút cảm biến nào được kết nối đến. Cân bằng tải là cách tiếp cận tốt nhất để tăng thông lượng và làm giảm tắc nghẽn trong mạng. Ý tưởng cân bằng tải là chỉ định một khối lượng công việc như nhau cho tất cả các nút chuyển tiếp. Hai cách cân bằng tải cho nút chuyển tiếp có thể có là cân bằng tải về số lượng và cân bằng tải về năng lượng. Trong cách cân bằng tải về số lượng, mỗi nút chuyển tiếp sẽ thực hiện việc tập hợp dữ liệu của một số các nút cảm biến như nhau. Trong cách cân bằng tải về năng lượng, các nút chuyển tiếp sẽ tiêu thụ một lượng năng lượng như nhau. Các nghiên cứu liên quan đến việc triển khai nút chuyển tiếp để kéo dài thời gian sống của mạng có thể chia thành hai loại: có ràng buộc và không có ràng buộc. Các bài toán không có ràng buộc là bài toán triển khai các nút chuyển tiếp tại các vị trí bất kỳ trên địa hình. Ngược lại, trong bài toán triển khai có ràng buộc, các nút chuyển tiếp chỉ được triển khai tại các vị trí xác định trước trên địa hình. Các vị trí này không nằm trong các lỗ hổng vật lý của mạng như sông, suối, ao, hồ,... Từ khía cạnh cấu trúc định tuyến, việc triển khai nút chuyển tiếp theo cách này được phân thành hai loại: kiến trúc đơn tầng (singletiered) và kiến trúc hai tầng (twotiered). Trong kiến trúc đơn tầng, cả nút cảm biến (SNs) và nút chuyển tiếp (RNs) đều có thể gửi gói tin. Trong khi đó, đối với kiến trúc hai tầng chỉ RNs chuyển tiếp gói tin và SNs chỉ có vai trò thu thập dữ liệu và truyền dữ liệu đến RNs (hoặc BS nếu chúng có thể kết nối trực tiếp đến BS). Luận án tập trung vào giải quyết bài toán có ràng buộc theo cả hai loại kiến trúc mạng. Chi tiết về phạm vi nghiên cứu của luận án được đưa ra như sau: Tối ưu hóa thời gian sống của mạng WUSNs: luận án nghiên cứu bài toán tối ưu thời gian sống của mạng WUSNs với kiến trúc mạng hai tầng dựa trên mô hình tổn thất truyền thông. Mô hình này thường được sử dụng trong các loại mạng cảm biến không dây ngầm. Việc tối ưu thời gian sống của mạng cảm biến không dây dựa trên mô hình tổn thất truyền thông được nhiều các nhà nghiên cứu quan tâm 4, 5, 6, 7. Lý do cho việc sử dụng mô hình này là do năng lượng tiêu thụ của các nút cảm biến tỉ lệ thuận với tổn thất truyền thông. Việc tối ưu tổn thất truyền thông sẽ dẫn đến tối ưu năng lượng tiêu thụ của các nút, nhờ đó kéo dài thời gian sống của mạng. Đối với với các mạng cảm biến không dây ngầm, việc truyền tín hiệu trong đa môi trường sẽ dẫn đến sự suy giảm của tín hiệu do sự hấp thụ của nhiều yếu tố trong đất và sự phản xạ, khúc xạ ở bền mặt. Sự suy giảm trong môi trường đất phụ thuộc vào một số yếu tố như thành phần của đất, mật độ, hàm lượng nước và thể tích. Ngoài ra, các đặc tính lan truyền của sóng điện từ ở trong đất cũng khác biệt khá nhiều so với trong không khí. Sóng điện từ sẽ bị suy hao do ảnh hưởng của khoảng cách truyền thông. Tối ưu hóa thời gian sống của mạng WSN3D: luận án nghiên cứu bài toán tối ưu hóa thời gian sống của mạng WSN3D theo cả hai loại kiến trúc mạng: đơn tầng và hai tầng dựa trên mô hình suy hao năng lượng. Năng lượng của một nút cảm biến tiêu thụ chủ yếu cho các nhiệm vụ: truyền thông, xử lý dữ liệu, cảm biến dữ liệu 8. Có nhiều mô hình suy hao năng lượng đã được đề xuất, trong đó mô hình suy hao năng lượng dựa vào khoảng cách đã được nhiều nhà nghiên cứu sử dụng 9, 10, 11, 12. Trong mô hình này, năng lượng tiêu thụ chủ yếu được tính dựa vào sự suy hao năng lượng khi truyền dữ liệu trong một khoảng cách nhất định. Mô hình này dùng cho các mạng cảm biến được triển khai ở phía trên mặt đất trong địa hình ba chiều. Ngoài ra, trong giao tiếp không dây, hai nút có thể không kết nối được với nhau do hai nguyên nhân chính. Lý do thứ nhất là khoảng cách giao tiếp quá lớn. Lý do thứ hai là đường tầm nhìn (lineofsight) giữa hai nút có nhiều vật cản. Luận án tuân theo giả định đầu tiên, có nghĩa là, hai nút trong mạng có thể kết nối được với nhau nếu khoảng cách giữa chúng không quá lớn (khoảng cách giữa hai nút nhỏ hơn bán kính truyền thông). Các đóng góp chính của luận án Bài toán 1: tối ưu hóa việc triển khai các nút chuyển tiếp để kéo dài thời gian sống của mạng cảm biến không dây ngầm (WUSNs) dựa trên mô hình tổn thất truyền thông (bài toán MRP). Bài toán này sẽ xem xét ràng buộc cân bằng tải về số lượng cho các nút chuyển tiếp. Trong nghiên cứu 7, các tác giả đề xuất cách tiếp cận hai pha với sáu thuật toán heuristic để giải quyết bài toán MRP. Nhược điểm của các thuật toán đề xuất là chia bài toán thành hai pha riêng biệt, các nút chuyển tiếp đã được lựa chọn trong pha thứ nhất sẽ không thể được thay đổi trong pha thứ hai. Điều này dẫn đến việc, nếu chọn các vị trí không tốt để đặt các nút chuyển tiếp sẽ dẫn đến một lời giải có chất lượng không tốt. Do đó, luận án đề xuất các thuật toán để khắc phục nhược điểm của 6 thuật toán đã có: • Đề xuất thuật toán tham lam dựa trên tìm kiếm chùm tia với hàm Genitor (BGS) để tạo ra nhiều lời giải cho bài toán MRP. Tuy nhiên, thuật toán BGS có hạn chế là cách lựa chọn các nút cảm biến để kết nối đến nút chuyển tiếp trong mỗi bước là tham lam. Cách lựa chọn tham lam này chưa chắc đã dẫn đến một lời giải tối ưu toàn cục. • Từ hạn chế của thuật toán BGS, luận án đề xuất thuật toán di truyền với khởi tạo phân cụm (MXFGA) để giải quyết bài toán. Ý 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. Thuật toán MXFGA có hạn chế là thời gian chạy khá lâu do độ phức tạp của khởi tạo phân cụm và thuật toán di truyền. Ngoài ra, các toán tử lai ghép và đột biến cũng làm thay đổi khá nhiều cấu trúc cụm ban đầu. • Để khắc phục hạn chế của BGS và MXFGA, luận án đề xuất thuật toán BMBM dựa trên sự kết hợp của thuật toán tìm kiếm chùm tia với hàm phân phối Boltzmann để tạo ra các phương án khả thi cho bài toán tối ưu hóa thời gian sống của mạng. Các cặp kết nối giữa các nút cảm biến và các nút chuyển tiếp sẽ được tìm chính xác bằng cách đưa về bài toán tìm cặp ghép trên đồ thị. Bài toán 2: tối ưu hóa đa mục tiêu việc triển khai các nút chuyển tiếp để kéo dài thời gian sống của mạng cảm biến không dây địa hình ba chiều (bài toán ORP3D) dựa trên mô hình suy hao năng lượng. Bài toán này sẽ xem xét việc cân bằng tải về năng lượng cho các nút chuyển tiếp. Hai cách tiếp cận được đề xuất để giải quyết bài toán này: • Đề xuất phương pháp dựa trên tổng trọng số để đưa bài toán đa mục tiêu ORP3D về bài toán tối ưu hóa đơn mục tiêu (OSA3D). Luận án đề xuất mô hình quy hoạch nguyên để tìm được cận dưới của lời giải. Cuối cùng, thuật toán tìm kiếm cục bộ dựa trên luồng cực đại được đề xuất để giải bài toán OSA3D. • Đề xuất thuật toán tiến hóa đa mục tiêu dựa trên phân rã để tìm biên Pareto xấp xỉ biên tối ưu. Bài toán 3: tối ưu hóa thời gian sống cho các loại mạng cảm biến không dây trong địa hình ba chiều với các cấu trúc mạng khác nhau. Luận án đề xuất thuật toán tiến hóa đa nhân tố với cách mã hóa Netkeys để giải quyết bài toán. Cấu trúc của luận án Ngoài phần mở đầu và phần kết luận, nội dung luận án được trình bày trong ba chương như sau: Chương 1: cơ sở lý thuyết. Chương này trình bày cơ sở lý thuyết của bài toán tối ưu, các phương pháp giải bài toán tối ưu đơn mục tiêu và đa mục tiêu. Ngoài ra, các nghiên cứu liên quan đến bài toán tối ưu hóa thời gian sống của mạng cảm biến không dây cũng được trình bày. Chương 2: tối ưu hóa thời gian sống của mạng cảm biến không dây dựa trên mô hình tổn thất truyền thông. Trong chương này, luận án nghiên cứu bài toán triển khai các nút chuyển tiếp để tối ưu thời gian sống của mạng cảm biến không dây ngầm dựa trên mô hình tổn thất truyền thông nhằm đảm bảo ràng buộc cân bằng tải về số lượng giữa các nút chuyển tiếp. Luận án đề xuất ba cách tiếp cận để giải quyết bài toán. So sánh các cách tiếp cận đề xuất với các nghiên cứu trước đó về: giá trị của hàm mục tiêu, độ phức tạp của thuật toán và thời gian thực hiện. Chương 3: tối ưu hóa thời gian sống của mạng cảm biến không dây dựa trên mô hình suy hao năng lương. Trong chương này, luận án nghiên cứu hai bài toán. Bài toán thứ nhất là bài toán đa mục tiêu triển khai các nút chuyển tiếp để tối ưu hóa thời gian sống của mạng trong địa hình ba chiều. Bài toán này có hai mục tiêu chính: tối thiểu số lượng các nút chuyển tiếp được sử dụng và tối thiểu giá trị tiêu thụ năng lượng tối đa của các nút trong mạng. Để giải quyết bài toán này, hai cách tiếp cận được đề xuất. Cách tiếp cận đầu tiên dựa trên tổng trọng số. Ý tưởng của cách tiếp cận này là đưa bài toán đa mục tiêu về bài toán đơn mục tiêu bằng cách thêm trọng số cho các hàm mục tiêu. Thuật toán tìm kiếm cục bộ dựa trên luồng cực đại được đề xuất để giải quyết bài toán đơn mục tiêu này. Cách tiếp cận thứ hai dựa trên các thuật toán tối ưu đa mục tiêu để tìm một biên Pareto xấp xỉ cho bài toán. B ài toán thứ hai là bài toán tối ưu thời gian sống của các mạng có cấu trúc khác nhau: mạng đơn tầng và mạng hai tầng. Luận án đề xuất thuật toán tiến hóa đa nhân tố để giải quyết bài toán này. Chương 1 Cơ SỞ LÝ THUYẾT Chương này trình bày các kiến thức cơ sở về bài toán tối ưu, các phương pháp giải bài toán tối ưu đơn mục tiêu và đa mục tiêu. Ngoài ra, các nghiên cứu liên quan đến bài toán tối ưu thời gian sống của mạng cảm biến không dây cũng được trình bày. 1.1 Bài toán tối ưu Trong thực tế, chúng ta thường gặp những vấn đề có nhiều cách giải quyết khác nhau. Một cách tự nhiên, những cách làm “tốt nhất” (hay còn gọi là cách làm tối ưu nhất) thường được lựa chọn, ví dụ như: nhanh nhất, chi phí rẻ nhất hoặc tốn ít nhân công nhất,... Trong khoa học máy tính, việc tìm lời giải “tốt nhất” trong một tập các lời giải khả thi cho một vấn đề nào đó được gọi là tối ưu hóa 13. Trong nghiên cứu 13, các tác giả đã đưa ra một số cách phân loại bài toán tối ưu, một trong số đó là phân loại dựa vào số lượng mục tiêu. Theo cách phân loại này, bài toán tối ưu được phân thành hai loại: bài toán tối ưu đơn mục tiêu và bài toán tối ưu đa mục tiêu. 1.1.1 Bài toán tối ưu đơn mục tiêu Bài toán tối ưu đơn mục tiêu được định nghĩa như sau: Định nghĩa 1.1 (Bài toán tối ưu đơn mục tiêu (single objective optimization problem SOOP)13). MinimizeMaximize: f (x) Ràng buộc: gi(x) < 0 h (x) = 0 x G Q. trong đó: • x = (x1,x2, ...,xn) với xk là các biến liên tục hoặc rời rạc, k =1,2,..., n. • f (x): Rn R là hàm mục tiêu của bài toán. • gi(x) < 0 là các ràng buộc bất đẳng thức, q là số ràng buộc bất đẳng thức. • hj (x) = 0 là các ràng buộc đẳng thức, p là số ràng buộc đẳng thức. 1.1.2 Bài toán tối ưu đa mục tiêu Tối ưu đa mục tiêu (tối ưu Pareto) là tìm lời giải cho bài toán liên quan đến nhiều hơn một mục tiêu (tiêu chí) tối ưu. Các mục tiêu trong một bài toán được gọi là không xung đột nếu việc tối ưu một mục tiêu sẽ không ảnh hưởng đến các mục tiêu còn lại. Do đó, tập lời giải của bài toán tối ưu dạng này chỉ gồm một lời giải. Những bài toán tối ưu với các mục tiêu như vậy, người ta gọi là tối ưu đa mục tiêu tầm thường. Ngược lại, nếu bài toán tối ưu với các mục tiêu xung đột nhau được gọi là tối ưu đa mục tiêu không tầm thường. Các mục tiêu được gọi là xung đột nếu việc tối ưu một mục tiêu sẽ làm giảm tính tối ưu của các mục tiêu khác. Tập lời giải của bài toán đa mục tiêu không tầm thường sẽ bao gồm nhiều lời giải khác nhau. Tùy vào mục đích, người quyết định có thể lựa chọn lời giải phù hợp. Phần này sẽ trình bày tổng quan về bài toán tối ưu đa mục tiêu, các khái niệm trong tối ưu đa mục tiêu và các phương pháp thường được dùng để giải quyết bài toán tối ưu đa mục tiêu không tầm thường. Không mất tính tổng quát, giả sử rằng tất cả mục tiêu của bài toán tối ưu đa mục tiêu đều được cực tiểu hóa. Bài toán tối ưu m mục tiêu được định nghĩa như sau: Định nghĩa 1.2 (Bài toán tối ưu đa mục tiêu (multiobjective optimization problem MOO) 14). Minimize: F(x) = (fi(x), f2(x),..., fm(x)) (1.5) trong đó, • F(x) = (f1(x), f2(x),..., fm(x)) là véc tơ hàm mục tiêu. • x = (x1,x2, ...,xn) là véc tơ lời giải. Giá trị xlk là cận dưới và xk là cận trên. • gi(x) < 0 là các ràng buộc bất đẳng thức, q là số ràng buộc bất đẳng thức • hj (x) = 0 là các ràng buộc đẳng thức, p là số ràng buộc đẳng thức. 1.1.2.1 Không gian thiết kế và không gian mục tiêu Định nghĩa 1.3 (Không gian thiết kế (design space)14). Không gian thiết kế Q 2 Rn của bài toán MOO là tập các véc tơ x thỏa mẫn các ràng buộc 1.6, 1.7, 1.8 của bài toán. Ví dụ 1. Minimize: 1 (x1;X2) = X2 + x2. (1.9) 2(xi,x2) = (xi 2)2 + x2. (1.10) Rang buộc: X1 > 0;X2 > 0. (1.11) Hình 1.1: Minh họa hai hàm mục tiêu 1; 2 trong không gian thiết kế 14. Đường biểu diễn hai hàm mục tiêu lần lượt là các đường tròn có tâm tại (0, 0) và (2, 0). Không gian thiết kế của bài toán này là: Q = {x 2 R2|x1 > 0; x2 > 0g. Đây chính là góc phần tư thứ nhất trong hình 1.1. Hàm 1 đạt cực tiểu tại điểm O(0, 0), hàm 2 đạt cực tiểu tại điểm B(2; 0). Tuy nhiên, 2(O) = 4 và 1(B) = 4 không phải là điểm cực tiểu. Như vậy, không có một điểm nào làm cho 1 và 2 cùng đạt cực tiểu. Điểm A(1; 0) được coi là lời giải “thỏa hiệp” của hai hàm, tại điểm này 1 (A) = 2(A) = 1. Có thể thấy rằng bất cứ một điểm nào nằm ngoài đường thẳng nối giữa hai điểm O và B (có nghĩa là x2 = 0 và X1 2 (0; 2)) đều không thể làm giảm giá trị cả hai hàm mục tiêu một cách đồng thời. Ví dụ, tại điểm C(3; 0), 1(C) = 9 và 2(C) = 1. Ngược lại, bất cứ một lời giải nào nằm giữa hai điểm O và B đều được coi là chấp nhận được vì không thể thực hiện việc giảm giá trị một hàm mục tiêu mà không làm tăng giá trị của hàm mục tiêu còn lại. Do đó, lời giải tối ưu của bài toán là Sp = {x 2 R2|0 < X1 < 2;X2 = 0g. Đối với một bài toán đơn giản như trong ví dụ 1, tập lời giải tối ưu có thể được tìm thấy dễ ràng trong không gian thiết kế. Tuy nhiên, đối với nhiều bài toán khó, việc tìm tập lời giải tối ưu không hề đơn giản. Việc sử dụng không gian thiết kế là không đủ để tìm ra tập lời giải tối ưu. Để hiểu khái niệm bài toán đa mục tiêu và các kỹ thuật giải, bài toán sẽ phải được chuyển sang một không gian mới gọi là không gian mục tiêu (criterion space objective space). Định nghĩa về không gian mục tiêu được đưa ra như sau: Định nghĩa 1.4 (Không gian mục tiêu (objective space) 14). Không gian mục tiêu được định nghĩa là tập của các giá trị hàm mục tiêu tương ứng với các điểm trong không gian thiết kế. Z = {F(x)|x 2 Q}. Bài toán đa mục tiêu trong ví dụ 1 có thể được biểu diễn trong không gian mục tiêu như trong hình 1.2(b) với các trục là các hàm mục tiêu. Các ràng buộc ban đầu của bài toán được chuyển sang không gian mục tiêu bằng cách giải x1 và x2 theo f1 và f2 như trong phương trình (1.12). xi(i,2) = 0.25 X (fi f2) + 1 > 0. (1.12) x2(f1;f2) = q f1 xi = pf1 (0.25 X (f1 f2) + 1)2 > 0. Không gian mục tiêu Z của bài toán này được định nghĩa trong phương trình (1.13) là tập các giá trị các hàm mục tiêu tương ứng với các điểm khả thi trong không gian thiết kế: Z = {F(x)|x 2 Q}. (1.13) Như trong hình 1.2(a), các điểm O,A,B trong không gian thiết kế sẽ được ánh xạ thành các điểm o,a,b trong không gian mục tiêu. Tập các lời giải tối ưu trong không gian thiết kế là Sp, được chuyển thành đường cong Zp trong không gian mục tiêu, Zp = {F = (f1, f2) 2 R210 < f1 < 4; 0 < f2 < 4; pf1 xị = ỵf1 (0.25 X (f1 f2) + 1)2 = 0}. Đường cong Zp trong không gian mục tiêu biểu diễn các lời giải tối ưu của bài toán tối ưu đa mục tiêu. Từ không gian mục tiêu trong hình 1.2(b), chúng ta có thể dễ dàng thấy rằng giá trị nhỏ nhất của hàm f1 = 0 tại điểm o(0; 4), giá trị nhỏ nhất của hàm f2 = 0 tại điểm b(4; 0). Hơn nữa, mỗi một mục tiêu f1, f2 không thể giảm hơn nữa mà không làm tăng giá trị của hàm mục tiêu còn lại tại bất cứ một điểm nào trên đường cong Zp. Đối với mỗi điểm không thuộc đường cong Zp, ví dụ như điểm d(4; 4), có thể giảm đồng thời giá trị của hai hàm mục tiêu bằng cách di chuyển điểm đó gần về phía đuờng cong này. Cần lưu ý rằng, mỗi điểm trong không gian thiết kế có thể ánh xạ tói một điểm trong không gian mục tiêu. Tuy nhiên, điều ngược lại có thể không đúng; nghĩa là mọi điểm trong không gian mục tiêu không nhất thiết phải tương ứng vói các điểm hoặc một điểm duy nhất trong không gian thiết kế. Ví dụ hình 1.2, điểm e(0,0) trong không gian mục tiêu không ánh xạ đến bất cứ một điểm nào trong không gian thiết kế. Điểm d(4,4) trong không gian mục tiêu ánh xạ đến 2 điểm D1 (1, Ự3) và D2 (1, — 3) trong không gian thiết kế, D1 2 Q và D2 2 Q. 1.1.2.2 Tối ưu Pareto Việc xác định các lời giải cho bài toán MOO được gọi là tối ưu Pareto. Một điểm x trong không gian thiết kế Q được gọi là tối ưu Pareto (Pareto optimal) nếu không có điểm nào khác trong Q làm giảm tại ít nhất một mục tiêu mà không làm tăng các mục tiêu khác. Tối ưu Pareto được định nghĩa một cách tường minh như sau: Định nghĩa 1.5 (Tối ưu Pareto 14). Một điểm x 2 Q được gọi là tối ưu Pareto nếu và chỉ nếu không tồn tại một điểm x trong không gian thiết kế Q mà fi(x) < fi(x) với mọi i và fi(x) < fi(x) với ít nhất một mục tiêu i, i = 1, ...,m. Đe minh họa cho định nghĩa 1.5, giả sử rằng x = (3,0) được gọi là tối ưu Pareto (đây chính là điểm C trong hình 1.2(a) và chúng ta biết rằng điểm này không phải là điểm tối ưu Pareto). Tại điểm này, fi(x) = 9 và f2 (x) = 1. Có nhiều điểm x thỏa mân điều kiện F(x) < F(x) và fi(x) < fi(x) với ít nhất một mục tiêu i. Ví dụ, điểm A, có x = (1; 0) và fi(x) = f2(x) = 0. Do đó F(x) < F(x) và f1 (x) = 1 < f1(x) = 9. Do đó từ định nghĩa 1.5, điểm x = (3; 0) không là tối ưu Pareto. Mặt khác, nếu chọn x = (1; 0) (điểm A), f1(x) = 1 và f2(x) = 1, không tồn tại bất cứ một điểm nào mà f1 và f2 nhỏ hơn hoặc bằng giá trị của nó tại điểm (1, 0). Do đó, x = (1; 0) được gọi là tối ưu Pareto. Định nghĩa 1.6 (Trội (dominated) và không trội (nondominated) 14). Một véc tơ của các mục tiêu F = F(x) 2 Z là không bị trội nếu và chỉ nếu không tồn tại một véc tơ F 2 Z mà fi (x) < fi (x) 8i và fi (x) < fi (x) với ít nhất một i. Ngược lại, F là bị trội. Kí hiệu F(x) F(x): véc tơ F(x) bị trội bởi véc tơ F(x). Nói một cách khác, một nghiệm x được gọi là trội so với nghiệm x, nếu hai điều kiện sau đây được thỏa mân: • Nghiệm x không xấu hơn nghiệm x trong tất cả các giá trị của hàm mục tiêu, tức là fi(x) < fi(x) với mọi i = 1; 2,...,m. • Nghiệm x tốt hơn nghiệm x trên ít nhất một mục tiêu, tức là fi (x) < fi(x) trên ít nhất một i. Nếu hai điều kiện trên bị vi phạm, ta nói nghiệm x không trội so với nghiệm x. Định nghĩa 1.7 (Tập tối ưu Pareto (Pareto optimal set 14)). Là tập bao gồm tất cả các lời giải không bị trội bởi bất cứ một lời giải nào P = {x 2 Q|:3xz 2 Q,F(x0) z F(x)g (1.14) Với tập tối ưu Pareto đâ cho, các giá trị hàm mục tiêu tương ứng trong không gian mục tiêu được gọi là biên Pareto (Pareto front). Định nghĩa biên Pareto được đưa ra một cách tường minh như sau: Định nghĩa 1.8 (Biên Pareto (Pareto front 14)). PF = {u = F(x)|x 2 Pg (1.15) Mục tiêu của các thuật toán tối ưu đa mục tiêu là xác định các lời giải trong tập tối ưu Pareto. Thực tế, việc tìm tất cả các lời giải tối ưu thường không khả thi về mặt tính toán. Vì vậy, một cách tiếp cận thường được sử dụng để giải các bài toán tối ưu đa mục tiêu là tìm kiếm các tập lời giải thể hiện tốt nhất có thể của tập tối ưu Pareto. Tập các lời giải như vậy thường được gọi là bestknown Pareto. Một khái niệm liên quan chặt chẽ tới tối ưu Pareto là tối ưu Pareto yếu. Tại các điểm tối ưu Pareto yếu, một số mục tiêu có thể được cải thiện mà không vi phạm đến các mục tiêu khác. Định nghĩa về tối ưu Pareto yếu được đưa ra như sau: Định nghĩa 1.9 (Tối ưu Pareto yếu 14). Một điểm x 2 Q được gọi là tối ưu Pareto yếu nếu và chỉ nếu không tồn tại một điểm x 2 Q mà fi(x) < fi(x) Vi = 1,..., m. Nói một cách khác, một điểm được gọi là tối ưu Pareto yếu nếu không tồn tại một điểm khác có thể cải thiện các hàm mục tiêu một cách đồng thời. Tuy nhiên, có thể có các điểm cải thiện một vài mục tiêu mà vẫn giữ cho các mục tiêu khác không thay đổi. Ví dụ minh họa cho định nghĩa này được đưa ra trong hình 1.3. Mục tiêu là cực tiểu hai hàm f1 và f2. ở đây, các đoạn thẳng AB và BC là biên của không gian mục tiêu khả thi Z. Trong trường hợp này, tất cả các điểm A,B, C đều là các điểm tối ưu Pareto yếu. Tuy nhiên, chỉ các điểm A và C là điểm tối ưu Pareto. Nếu lấy bất cứ một điểm nào trên đường thẳng AB (không bao gồm A), ví dụ lấy điểm E, ta không thể tìm bất cứ một điểm x nào trong không gian mục tiêu khả thi để f1 (x) < f1(xE) và f2(x) < f2(xE). Do đó, điểm E được gọi là điểm Pareto yếu. Tương tự như vậy, tất cả các điểm trên đường thẳng BC (không bao gồm điểm C) đều là các điểm tối ưu Pareto yếu nhưng không phải là điểm tối ưu Pareto. Như vậy, tối ưu Pareto là tối ưu Pareto yếu, nhưng tối ưu Pareto yếu không nhất thiết là tối ưu Pareto. Định nghĩa 1.10 (Điểm Utopia 14). Một điểm F0 = {f0, f0,..., fm} trong không gian mục tiêu được gọi là điểm Utopia nếu fi = min{fi(x)|x 2 Q} Vi = 1,..., m. Điểm Utopia tìm được bằng cách giải quyết từng mục tiêu riêng rẽ mà không quan tâm đến các mục tiêu khác. Nhìn chung, rất hiếm khi tất cả các mục tiêu khi tối thiểu đều kết thúc tại cùng một điểm trong không gian. Do đó, điểm Utopia chỉ tồn tại trong không gian mục tiêu và khó có thể tìm được. Hình 1.3: Ví dụ về tối ưu Pareto và tối ưu Pareto yếu. 1.2 Một số thuật toán giải bài toán tối ưu đơn mục tiêu Với khả năng hiện nay, máy tính đã giúp con người giải quyết được rất nhiều bài toán khó. Tuy nhiên, có những bài toán có ứng dụng trong thực tiễn vẫn chưa tìm được thuật toán hợp lý để giải quyết. Các bài toán này đòi hỏi tìm kiếm lời giải tốt nhất trong không gian các lời giải vô cùng lớn. Khi không gian tìm kiếm nhỏ, các phương pháp cổ điển như vét cạn cũng đủ để giải quyết, nhưng khi không gian tìm kiếm lớn hơn cần phải dùng đến những kỹ thuật của trí tuệ nhân tạo đặc biệt, ví dụ như giải thuật tiến hóa (Evolutionary Algorithms EAs). EAs sử dụng các kỹ thuật bắt nguồn từ các cơ chế tiến hóa hữu cơ (organic evolution) chẳng hạn như biến dị, tái tổ hợp và chọn lọc tự nhiên để tìm lời giải tối ưu cho một bài toán với các ràng buộc cụ thể. Phần này trình bày một cách tổng quan về thuật toán di truyền và thuật toán tiến hóa đa nhân tố. Đây là những thuật toán mà tác giả sử dụng để giải quyết các bài toán trong khuôn khổ của luận án. 1.2.1 Thuật toán di truyền 1.2.1.1 Giới thiệu Trong những năm đầu của thế kỉ 19, khoa học về sinh học đã trải qua một cuộc cách mạng khi Charles Darwin phát hiện ra quá trình lựa chọn và tối ưu hóa trong tự nhiên cũng phù hợp với quá trình tiến hóa diễn ra trong cuộc sống của con người 15. Sự ra đời mạnh mẽ của máy tính và các hệ thống tính toán thời kì đó đã cho phép áp dụng các quá trình tối ưu hóa trong tự nhiên dưới hình thức của thuật toán di truyền (Genetic Algorithms GAs). Tuy nhiên, J. H. Holland là người đầu tiên triển khai ý tưởng và phương thức giải quyết vấn đề dựa quy luật tiến hóa trong tự nhiên. “ Adaptation in natural and artificial systems” xuất bản năm 1975 là tập sách đầu tiên đề cập đến lĩnh vực này, J. H. Holland được xem là cha đẻ của thuật toán di truyền. Ong và các đồng nghiệp đã không ngừng phát triển tạo nên cơ sở lý thuyết vững chắc cho thuật toán di truyền. Thuật toán di truyền được ứng dụng trong nhiều lĩnh vực khác nhau của cuộc sống. Thuật toán di truyền được xây dựng dựa trên quy luật tiến hóa sinh học của một quần thể sống. Các cá thể trải qua một quá trình phát triển và sinh sản để tạo ra những cá thể mới cho thế hệ tiếp theo. Trong quá trình sinh trưởng và phát triển, những cá thể xấu tức là những cá thể không thích nghi được với môi trường sẽ bị đào thải. Ngược lại, những cá thể tốt sẽ được giữ lại (đây chính là quá trình chọn lọc) và được lai ghép để tạo ra những cá thể mới cho thế hệ sau. Những cá thể mới được sinh ra mang những tính trạng của cá thể chamẹ (còn gọi là hiện tượng di truyền). Những cá thể được giữ lại có độ thích nghi khác nhau và quá trình lai ghép được thực hiện hoàn toàn ngẫu nhiên giữa các cá thể trong quần thể. Các cá thể được tạo ra trong quá trình lai ghép có thể sẽ xảy ra hiện tượng đột biến và tạo ra những cá thể khác với cá thể chamẹ. Cá thể này có thể tốt hơn hoặc xấu hơn cá thể chamẹ. Lai ghép và đột biến là hai cơ chế có vai trò như nhau trong quá trình tiến hóa, mặc dù cơ chế đột biến xảy ra với xác suất nhỏ hơn nhiều so với xác suất của cơ chế lai ghép. Quá trình lai ghép và chọn lọc là hai quá trình cơ bản xuyên suốt quá trình tiến hóa tự nhiên. Thuật toán di truyền cũng như các thuật toán tiến hóa nói chung được hình thành trên quan niệm cho rằng, quá trình tiến hóa là quá trình hoàn hảo nhất vì tự nó đã mang tính tối ưu 16. Thể hiện ở chỗ, cá thể sau được sinh ra sẽ tốt hơn, hoàn hảo hơn cá thể cha mẹ, chúng có khả năng thích nghi với sự thay đổi của môi trường cao hơn cá thể cha mẹ. Tuy nhiên, không phải là tất cả, vẫn có một hoặc một số cá thể của thế hệ trước tốt hơn các cá thể ở thế hệ tiếp theo. Vì vậy, trong khi sử dụng thuật toán di truyền, những cá thể tốt nhất của mỗi thế hệ cần được lưu giữ. Trải qua một số thế hệ (lần lặp) nhất định, các cá thể tốt của mỗi thế hệ sẽ được so sánh với nhau và chọn ra một cá thể tốt nhất trong số đó. 1.2.1.2 Sơ đồ của thuật toán di truyền Các nhà nghiên cứu đã đề xuất nhiều biến thể khác nhau của GAs. Để minh họa chức năng cơ bản của GAs, phần này sử dụng thuật toán di truyền truyền thống được minh họa bởi Goldberg 17. Loại GAs này sử dụng lai ghép như là toán tử chính và đột biến chỉ đóng vai trò là nhiễu nền. Các bước cơ bản của thuật toán GAs truyền thống được mô tả như trong hình 1.4. Hình 1.4: Sơ đồ khối của thuật toán di truyền. Biểu diễn cá thể Cá thể (chromosome): một cá thể trong thuật toán di truyền biểu diễn một lời giải của bài toán. Có nhiều cách biểu diễn cá thể khác nhau. Tùy thuộc vào từng bài toán mà chúng ta lựa chọn cách biểu diễn phù hợp. Một số biểu diễn thường gặp là: biểu diễn nhị phân, biểu diễn nguyên, biểu diễn thực, biểu diễn theo hoán vị, biểu diễn trộn,... 18. Khởi tạo quần thể Quần thể (population) là tập hợp của các cá thể (lời giải) của môi trường (bài toán) đang xét. Khởi tạo quần thể ban đầu là bước đầu tiên trong thuật toán di truyền. Thông thường để khởi tạo quần thể trong bài toán tối ưu, ta tạo ra một cách ngẫu nhiên các lời giải có thể (thường là các lời giải đã thỏa mãn ràng buộc của bài toán nhưng chưa biết đã tối ưu hay chưa). Tùy vào từng bài toán cụ thể ta có những phương pháp khởi tạo khác nhau. Chất lượng của quần thể ban đầu càng cao thì lời giải mà thuật toán di truyền đưa ra càng tốt. Do đó, trong nhiều thuật toán di truyền thường sử dụng các thuật toán đã có để giải bài toán mà cho kết quả khá tốt để khởi tạo quần thể ban đầu. Kích thước quần thể cho biết có bao nhiêu cá thể của quần thể trong một thế hệ. Qua các nghiên cứu cũng như các thử nghiệm đã cho thấy kích thước quần thể không nên quá bé cũng như không quá lớn. Nếu có quá ít cá thể thì ít có khả năng thực hiện lai ghép và chỉ một phần nhỏ không gian tìm kiếm được dùng. Điều này sẽ dễ xảy ra trường hợp bỏ qua các lời giải tốt. Tuy nhiên, quá nhiều cá thể trong quần thể cũng không tốt vì GAs sẽ chạy chậm đi, ảnh hưởng đến hiệu quả của thuật toán. Đánh giá độ thích nghi Độ thích nghi (fitness) là khả năng phù hợp của mỗi cá thể (lời giải) đối với môi trường (bài toán). Việc xây dựng độ thích nghi cũng là một bước quan trọng trong thuật toán di truyền. Để đánh giá được độ thích nghi của các cá thể, thuật toán di truyền sử dụng một hàm đo gọi là hàm đánh giá độ thích nghi (fitness function). Hàm đánh giá độ thích nghi cho một cá thể có đầu vào là biểu diễn của cá thể đó và đầu ra là một số thực. Tùy theo giá trị của số thực này mà ta biết độ tốt của cá thể đó (chẳng hạn với bài toán tìm cực đại thì giá trị trả ra càng lớn thì cá thể càng tốt, và ngược lại, với bài toán tìm cực tiểu thì giá trị trả ra càng nhỏ thì cá thể càng tốt). Lai ghép Lai ghép là quá trình tạo ra con lai từ các cá thể cha mẹ ban đầu. Các phép lai ghép được sử dụng phổ biến nhất là lai ghép một điểm cắt (one point crossover), lai ghép hai điểm cắt (two point crossover),... 18. Đột biến Nếu như phép lai ghép tạo ra các cá thể mới có thể kế thừa được những gen tốt của cha mẹ thì phép đột biến sẽ giúp duy trì tính đa dạng của quần thể bằng cách thêm vào các gen mới một cách ngẫu nhiên. Điều này có thể giúp cho quần thể tránh mắc kẹt tại một cá thể tối ưu cục bộ. Phép đột biến thường xảy ra với một xác suất nhỏ vì nếu xác suất đột biến lớn thì thuật toán di truyền sẽ trở thành quá trình tìm kiếm ngẫu nhiên. Một số phép đột biến thường gặp là: đột biến đảo bít (bit flip mutation), đột biến hoán vị (swap mutation), đột biến trộn (scramble mutation),.... 18. Chọn lọc Chọn lọc là quá trình chọn những cá thể từ quần thể hiện tại để tạo ra thế hệ sau. Theo thuyết tiến hóa của Darwin, những cá thể xấu sẽ bị đào thải những cá thể tốt sẽ được giữ lại. Như vậy, độ thích nghi của các cá thể trong quần thể sẽ hoàn thiện hơn sau nhiều thế hệ. Có nhiều phương pháp để chọn lọc cá thể, ví dụ: chọn lọc theo cách quay bánh xe Ru lét (roulette wheel), chọn lọc xếp hạng (rank selection), chọn lọc tranh đấu (tournament selection),... Điều kiện dừng Thuật toán di truyền là một quá trình ngẫu nhiên, nên không thể đảm bảo chắc chắn thuật toán sẽ dừng sau hữu hạn bước. Vì vậy, để đảm bảo thuật toán di truyền sẽ kết thúc, chúng ta thường định nghĩa điều kiện dừng cho thuật toán. Một vài trường hợp dừng thông thường như sau: • Kết thúc theo kết quả: một khi đạt đến mức giá trị yêu cầu thì kết thúc kết quả thực hiện. • Kết thúc dựa vào số thế hệ: chọn số thế hệ, quá trình sẽ dừng đúng ngay số thế hệ đã qui định trước, không cần biết kết quả như thế nào. • Tính theo thời gian: không cần biết qua bao nhiêu thế hệ hay kết quả như thế nào, chỉ dựa vào thời gian qui định kết thúc. • Kết hợp: dùng nhiều phương pháp khác nhau cho vấn đề chẳng hạn như: chạy theo số thế hệ, tiếp đến đánh giá theo kết quả hoặc ngược lại. 1.2.2 Thuật toán tiến hóa đa nhân tố Các thuật toán tiến hóa đã được áp dụng thành công để giải quyết nhiều bài toán tối ưu trong khoa học, nghiên cứu, và các bài toán thực tiễn trong cuộc sống. GAs cũng như các thuật toán tiến hóa khác chỉ tập trung vào việc tìm lời giải tối ưu cho một bài toán (nhiệm vụ) tại một thời điểm. Mặc dù vậy, trong thực tế, có nhiều bài toán cần được giải quyết đồng thời. Ví dụ là các dịch vụ điện toán đám mây cần phải đối mặt với nhiều yêu cầu từ người dùng. Mỗi yêu cầu có thể được xem như một nhiệm vụ tối ưu cần được giải quyết. Những nhiệm vụ này có thể có những tính chất tương tự hoặc hoàn toàn khác nhau. Để giải quyết vấn đề này, Gupta và các cộng sự 19 đã giới thiệu mô hình tiến hóa mới được gọi là tiến hóa đa nhân tố. Đây là mô hình tiến hóa đa nhiệm được đặc trưng bởi sự tồn tại đồng thời của nhiều không gian tìm kiếm tương ứng với các nhiệm vụ khác nhau (có thể có hoặc không phụ thuộc lẫn nhau). Mô hình này được lấy cảm hứng từ quan sát: mỗi nhiệm vụ tiến hóa sẽ đóng góp một nhân tố duy nhất ảnh hưởng đến quá trình tiến hóa của quần thể. 1.2.2.1 Tiến hóa đa nhân tố Giả sử, cần phải giải quyết K nhiệm vụ tối ưu hóa đồng thời. Không mất tính tổng quát, giả sử rằng tất cả các nhiệm vụ đều là bài toán tối thiểu hóa (minimization problem). Tác vụ thứ jth ký hiệu là Tj có không gian tìm kiếm Xj với hàm mục tiêu là fj : Xj R. Mỗi nhiệm vụ có thể bị ràng buộc bởi các phương trình hoặc bất phương trình nào đó. Trong bối cảnh như vậy, người ta định nghĩa tiến hóa đa nhân tố là một chiến lược tiến hóa đa nhiệm được xây dựng trên sự song song hóa hoàn toàn của việc tìm kiếm dựa vào quần thể với mục đích tìm: {xi, X2,..., XK 1, XK } = argmin{fi (x), f2(x),..., fKi (x),fK (x)}, trong đó Xj là một lời giải khả thi trong Xj. Nguyên tắc cơ bản trong thiết kế thuật toán tiến hóa đa nhân tố là dựa trên nguyên tắc chọn lọc tự nhiên của Darwin, do đó, cần xây dựng một kĩ thuật để đánh giá các cá thể trong một môi trường đa nhiệm. Dựa theo đó, ta sẽ xác định một tập hợp các thuộc tính của mỗi cá thể pi riêng lẻ, trong đó i 2 {1, 2,..., P|}, trong một quần thể P. Các cá thể được mã hóa trong một không gian tìm kiếm hợp nhất bao gồm X1, X2,..., Xk, và có thể được giải mã thành lời giải riêng cho mỗi nhiệm vụ. Dạng giải mã của cá thể pi có thể được ii i i i i viết như là {Xi, X2,..., XK}, trong đó Xi 2 Xi, X2 2 7X2,..., XK 2 XK . Định nghĩa 1.11 (nhân tố chi phí (factorial cost) 19). Chi phí Tj của cá thể pi đối với nhiệm vụ Tj là Tj = x.ôj + fj; trong đó A là một hằng số phạt lớn, fj và ôj là giá trị mục tiêu và tổng số sự vi phạm ràng buộc tương ứng của pi đối với nhiệm vụ Tj. Do vậy, nếu pi là cá thể hợp lệ đối với nhiệm vụ Tj (sự vi phạm ràng buộc bằng 0) thì Tj = fi. Định nghĩa 1.12 (hạng của cá thể với từng tác vụ (factorial rank) 19). Hạng rj của cá thểpi đối với nhiệm vụ Tj là thứ hạng của pi trong quần thể P sau khi được sắp sếp theo thứ tự tăng dần hoặc giảm dần của Tj. Định nghĩa 1.13 (hàm thích nghi vô hướng (scalar fitness) 19). Danh sách các xếp hạng của một cá thểpi trên K nhiệm vụ {ri ,r2,... ,rK} có thể được biến đổi sang một hình thức đơn giản hơn là giá trị hàm thích nghi vô hướng i. Giá trị này được tính dựa trên thứ tự xếp hạng tốt nhất của pi trên tất cả các nhiệm vụ, nghĩa là i = 1 min {rị}. je{i,2,...,K} j Định nghĩa 1.14 (chỉ số kỹ năng phù hợp nhất (skill factor) 19). Nhân tố kỹ năng Ti của cá thểpi là nhiệm vụ mà cá thểpi thực hiện hiệu quả nhất, nghĩa là Ti = arg min {ri} • i ỜJ2{1,C.,KỶ jJ Cá thể pa được xem là tốt hơn pb trong ngữ cảnh đa nhân tố nếu a > b. Nếu hai cá thể có cùng chỉ số kỹ năng phù hợp nhất Ta = Tb = j (phù hợp với nhiệm vụ thứ jth nhất), gán nhân chúng là giống nhau mạnh (strong counterparts). Định nghĩa 1.15 (tối ưu đa nhân tố (multifactorial optimality) 19). Một cá thểp, với một danh sách các giá trị mục tiêu {f1,f2,:::,fKg, được xem là tối ưu hóa trong ngữ cảnh đa nhân tố nếu và chỉ nếu 9j 2 {1;2;:::;Kg sao cho fj < fj (xj) đối với mọi Xj khả thi trong Xj. 1.2.2.2 Thuật toán tiến hóa đa nhân tố Thuật toán tiến hóa đa nhân tố (multifactorial evolutionary algorithm MFEA) được lấy cảm hứng từ mô hình văn hóa sinh học của kế thừa đa nhân tố. Thuật toán làm việc dựa trên chuyển giao vật liệu di truyền và văn hóa từ cha mẹ đến con cái của họ. Cụ thể việc chuyển giao văn hóa được kết hợp thông qua hai đặc tính của kế thừa đa nhân tố là giao phối hợp nhất (assortative mating) và truyền văn hóa theo chiều dọc (vertical cultural transmission). Chi tiết về MFEA được đưa ra trong thuật toán 1.1. Thuật toán 1.1: Cấu trúc cơ bản của MFEA Khởi tạo quần thể currentpop (P) ban đầu ; Đánh giá các cá thể trên các nhiệm vụ ; Tính chỉ số kỹ năng phù hợp nhất (T) cho mỗi cá thể ; while điều kiện dừng chưa được thỏa mãn do Ắp dụng các phép toán di truyền lên quần thể currentpop để tạo ra một quần thể con offspringpop (C); . Xem Thuật toán 1.3.; Đánh giá các cá thể trong quần thể offspringpop (C) chỉ đối với các nhiệm vụ được lựa chọn ; Gộp offspringpop và currentpop để tạo ra quần thể trung gian intermediatepop (P u C) ; Cập nhật hàm thích nghi vô hướng () và chỉ số kỹ năng phù hợp nhất (T) của các cá thể trong intermediatepop ; Lựa chọn các cá thể trong intermediatepop để hình thành currentpop cho thế hệ tiếp theo; end Khởi tạo quần thể Giả sử rằng K nhiệm vụ tối ưu đ
Trang 1BỘ GIÁO DỤC ĐÀO TẠOTRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Trang 2BỘ GIÁO DỤC ĐÀO TẠOTRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
LUẬN ÁN TIẾN SĨ KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC:
1 PGS.TS Huỳnh Thị Thanh Bình
2 PGS.TS Lê Trọng Vĩnh
Hà Nội - 2021
Trang 3Lời cam đoan
Nghiên cứu sinh cam đoan luận án này là công trình nghiên cứu của nghiêncứu sinh dưới sự hướng dẫn của tập thể cán bộ hướng dẫn Luận án có sử dụngnhững thông tin được trích dẫn từ nhiều nguồn tham khảo khác nhau và cácthông tin trích dẫn được ghi rõ nguồn gốc Các số liệu, kết quả trong luận án
là trung thực và chưa được công bố trong các công trình nghiên cứu của bất kỳtác giả nào khác
Hà Nội, ngày 08 tháng 06 năm 2021
PGS.TS Lê Trọng Vĩnh
Trang 4Tôi xin chân thành cảm ơn Ban lãnh đạo Phòng thí nghiệm Khoa học Dữliệu và Bộ môn Tin học, Khoa Toán - Cơ - Tin học, Trường Đại học Khoa học
Tự nhiên, Đại học quốc gia Hà Nội đã tạo điều kiện, động viên, khuyến khích
để tôi có thể hoàn thành được luận án này
Cuối cùng, tôi muốn gửi lời cảm ơn sâu sắc đến gia đình và bạn bè đã lànhững điểm tựa vững chắc và đồng hành cùng tôi trong suốt những năm họctập vừa qua
Hà Nội, ngày 08 tháng 06 năm 2021Nghiên cứu sinh
Nguyễn Thị Tâm
Trang 5MỤC LỤC
1.1 Bài toán tối ưu 8
1.1.1 Bài toán tối ưu đơn mục tiêu 8
1.1.2 Bài toán tối ưu đa mục tiêu 9
1.2 Một số thuật toán giải bài toán tối ưu đơn mục tiêu 15
1.2.1 Thuật toán di truyền 15
1.2.2 Thuật toán tiến hóa đa nhân tố 19
1.3 Một số thuật toán giải bài toán tối ưu đa mục tiêu 24
1.3.1 Thuật toán di truyền sắp xếp không trội 25
1.3.2 Thuật toán tiến hóa đa mục tiêu dựa trên phân rã 31
1.3.3 Các độ đo đa mục tiêu 36
1.4 Bài toán tối ưu thời gian sống của mạng cảm biến không dây 38
1.4.1 Định nghĩa thời gian sống của mạng 38
1.4.2 Bài toán tối ưu thời gian sống cho mạng cảm biến không dây ngầm 39
1.4.3 Bài toán tối ưu thời gian sống cho mạng cảm biến không dây địa hình ba chiều 44
1.5 Kết luận chương 47
Chương 2 TỐI ƯU HÓA THỜI GIAN SỐNG CỦA MẠNG CẢM BIẾN KHÔNG DÂY DỰA TRÊN MÔ HÌNH TỔN THẤT TRUYỀN THÔNG 48 2.1 Đặt vấn đề 48
2.2 Phát biểu bài toán 49
2.2.1 Mô hình hóa bài toán 50
Trang 62.3 Thuật toán đề xuất 53
2.3.1 Thuật toán tìm kiếm chùm tia với hàm Genitor 53
2.3.2 Thuật toán di truyền với khởi tạo dựa trên phâm cụm 57
2.3.3 Thuật toán tìm kiếm chùm tia và cặp ghép trong đồ thị 64
2.4 Thực nghiệm 69
2.4.1 Dữ liệu thực nghiệm 70
2.4.2 Cài đặt thực nghiệm 71
2.4.3 Tiêu chí đánh giá 72
2.4.4 So sánh và đánh giá kết quả thực nghiệm 73
2.4.5 Đánh giá độ phức tạp thuật toán 85
2.5 Kết luận chương 87
Chương 3 TỐI ƯU HÓA THỜI GIAN SỐNG CỦA MẠNG CẢM BIẾN KHÔNG DÂY DỰA TRÊN MÔ HÌNH SUY HAO NĂNG LƯỢNG 88 3.1 Đặt vấn đề 88
3.2 Mô hình bài toán trong địa hình ba chiều 89
3.2.1 Dữ liệu độ cao số 89
3.2.2 Mô hình bài toán 90
3.2.3 Mô hình quy hoạch nguyên 93
3.3 Thuật toán tìm kiếm cục bộ 94
3.3.1 Biểu diễn lời giải 94
3.3.2 Lượng giá lời giải 95
3.3.3 Tìm kiếm các láng giềng 97
3.3.4 Khởi tạo lời giải 98
3.3.5 Thuật toán leo đồi ngẫu nhiên 98
3.3.6 Thực nghiệm 99
3.4 Thuật toán tối ưu đa mục tiêu dựa trên phân rã 105
3.4.1 Chuẩn hóa các hàm mục tiêu 106
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 106
3.4.3 Thực nghiệm 112
3.4.4 Đánh giá độ phức tạp thuật toán 119
3.5 Thuật toán tiến hóa đa nhân tố giải bài toán tối ưu trên các loại mạng khác nhau 121
Trang 73.5.1 Biểu diễn lời giải 1253.5.2 Thuật toán tiến hóa đa nhân tố giải bài toán tối ưu thời
gian sống cho hai loại mạng 1273.5.3 Thực nghiệm 1303.6 Kết luận chương 137
Trang 8DANH MỤC THUẬT NGỮ VÀ TỪ VIẾT TẮT
STT Từ viết tắt Tên đầy đủ
2 BMBM Beam Boltzmann Search and Maximum Bipartite Matching
Sensor Nodes Reassignment
4 CluRNS Clustering-based heuristic for Relay Node Selection
5 FCLS Flow Capacity Local Search
6 LBSNA Load Balanced Sensor Node Assignment
7 LURNS Load Unrestricted Relay Node Selection
9 MBM-RS Maximum Bipartite Matching Sensor Nodes Reassignment
10 MFEA Multif actorial Evolutionary Algorithm
11 MOEAs Multiobjective Evolutionary Algorithms
12 MOEAD Multiobjective Evolutionary Algorithm based on
Decomposition
14 MXFBS Maxium Flow Binary Search
15 MXF-MC Maxium Flow with Min-max Cost
16 MXFGA Maxium Flow-based Genetic Algorithm
17 NSGA-II Non-dominated Sorting Genetic Algorithm II
18 ORP3D Optimal Relay Node Placement in 3D terrains
19 OSA3D Optimal Sensor Assignment in 3D terrains
20 WSNs Wireless Sensor Networks
21 WUSNs Wireless Underground Sensor Networks
Trang 9DANH MỤC BẢNG BIỂU
1.1 Giá trị cp và Dp được tính từ ma trận trội 27
1.2 Giá trị của các tham số truyền thông trong mạng 45
2.1 Các tham số về địa hình 70
2.2 Các tham số bài toán 70
2.3 Các tham số của thuật toán 72
2.4 Tiêu chí đánh giá 72
2.5 Giá trị tổn thất truyền thông trung bình với kích thước chùm tia khác nhau 75
2.6 So sánh thời gian thực hiện thuật toán BMBM với kích thước chùm tia khác nhau 75
2.7 Giá trị tổn thất truyền thông trung bình với các giá trịttkhác nhau 76 2.8 So sánh kết quả thu được của các thuật toán trên kịch bản 1 77
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 78
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 80
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 81
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 82
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 83
2.14 Tóm tắt kết quả đạt được của các thuật toán 85
2.15 So sánh độ phức tạp của các thuật toán 86
3.1 Mô tả tóm tắt các hình thái địa hình 99
3.2 Tham số cho các địa hình 100
3.3 Tiêu chí đánh giá 101
3.4 Kết quả khởi tạo MBFS và khởi tạo ngẫu nhiên trên tập dữ liệu Type 3s 102
Trang 103.5 Kết quả khởi tạo MBFS và khởi tạo ngẫu nhiên trên tập dữ liệu
Type 3l 102
3.6 Kết quả thu được trên các tập dữ liệu Type 1s, Type 2s, Type 3s 103 3.7 Kết quả thu được trên các tập dữ liệu Type 1l, Type 2l, Type 3l 103
3.8 Kết quả thu được trên các tập dữ liệu Type 3s, Type 4s, Type 5s 104 3.9 Kết quả thu được trên các tập dữ liệu Type 3l, Type 4l, Type 5l 104
3.10 Tham số thuật toán MOEA-LS 112
3.11 So sánh thuật toán MOEA-LS và các thuật toán tiến hóa đa mục tiêu dựa trên độ đo δ 114
3.12 So sánh các thuật toán tiến hóa đa mục tiêu dựa trên độ đo ∆ 114
3.13 So sánh các thuật toán tiến hóa đa mục tiêu khác dựa trên độ đo S.115 3.14 So sánh các thuật toán tiến hóa đa mục tiêu khác dựa trên độ đo N DS 115
3.15 So sánh số lượng bộ dữ liệu mà thuật toán MOEA-LS tốt hơn thuật toán tiến hóa đa mục tiêu khác 116
3.16 So sánh năng lượng tiêu thụ của các thuật toán khác nhau (đơn vị mJ) 118
3.17 So sánh thuật toán MOEA-LS và thuật toán FCLS dựa trên độ đo S 119
3.18 Độ phức tạp của các thuật toán đa mục tiêu 121
3.19 Tham số cho bài toán RSS và RSM 131
3.20 Các bộ dữ liệu cho bài toán RSM 131
3.21 Các bộ dữ liệu cho bài toán RSS 131
3.22 Các tiêu chí đánh giá 131
3.23 Tham số cho các thuật toán 132
3.24 So sánh năng lượng tiêu thụ tìm được trên bài toán RSM với các giá trị rmp khác nhau 133
3.25 So sánh năng lượng tiêu thụ tìm được trên bài toán RSS với các giá trị rmp khác nhau 133
3.26 So sánh năng lượng tiêu thụ trên bài toán RSM với số lượng tác vụ khác nhau 134
3.27 So sánh năng lượng tiêu thụ trên bài toán RSS với số lượng tác vụ khác nhau 134
Trang 113.28 Đánh giá hiệu quả của thuật toán trên bài toán RSM với bán kínhkhác nhau 1373.29 Đánh giá hiệu quả của thuật toán trên bài toán RSS với bán kínhkhác nhau 137
Trang 12DANH MỤC HÌNH ẢNH
1.1 Minh họa hai hàm mục tiêu f1, f2 trong không gian thiết kế 10
1.2 Minh họa không gian thiết kế và không gian mục tiêu 12
1.3 Ví dụ về tối ưu Pareto và tối ưu Pareto yếu 15
1.4 Sơ đồ khối của thuật toán di truyền 17
1.5 Minh họa việc sắp xếp không trội 26
1.6 Ma trận trội 27
1.7 Minh họa khoảng cách quy tụ 29
1.8 Minh họa việc lựa chọn các cá thể để đưa vào quần thể P t+1 31
1.9 Minh họa cách tiếp cận dựa trên biên 33
1.10 Minh họa độ đo HV cho bài toán tối ưu hai mục tiêu 37
1.11 Truyền thông trong mạng cảm biến không dây ngầm 41
2.1 Minh họa cho hàm Genitor với bias = 2 56
2.2 Minh họa thuật toán BGS 56
2.3 Biểu diễn cá thể 59
2.4 Ví dụ của đồ thị G với khả năng thông qua 61
2.5 Minh họa toán tử lai ghép của thuật toán MXFGA 63
2.6 Minh họa toán tử đột biến của thuật toán MXFGA 63
2.7 Đánh giá ảnh hưởng của tỉ lệ khởi tạo 74 2.8 Tỉ lệ % các thuật toán đề xuất cải thiện so với Yuan trên kịch bản 1 77 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 78 2.10 Tỉ lệ % các thuật toán đề xuất cải thiện so với Yuan trên kịch bản 3 79 2.11 Tỉ lệ % các thuật toán đề xuất cải thiện so với Yuan trên kịch bản 4 80 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 82 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 83
Trang 133.1 Ví dụ về đồ thị luồng được xây dựng từ các nút chuyển tiếp và
các nút cảm biến 96
3.2 Ví dụ về các phép dịch chuyển 97
3.3 Minh họa một số địa hình 100
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ập dữ liệu Type 3s, Type 4s, Type 5s 105
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ập dữ liệu Type 3l, Type 4l, Type 5l 105
3.6 Ví dụ cách mã hóa cá thể 108
3.7 Ví dụ về các phép toán di truyền 110
3.8 Minh họa phương pháp giảm năng lượng cho các nút chuyển tiếp 112 3.9 Số lượng nút chuyển tiếp sử dụng trong kịch bản 1 117
3.10 Số lượng nút chuyển tiếp sử dụng trong kịch bản 2 117
3.11 So sánh độ đoHV giữa thuật toán đề xuất và thuật toán đơn mục tiêu 119
3.12 Ví dụ cho bài toán RSS 123
3.13 Ví dụ cho bài toán RSM 124
3.14 Biểu diễn lời giải với mã hóa netkeys 125
3.15 Quá trình xây dựng cây 126
3.16 Giải mã cá thể cho từng tác vụ 128
3.17 Ví dụ về phép lai ghép 129
3.18 Ví dụ minh họa phép đột biến 130
3.19 Sự cải thiện kết quả của thuật toán MFRPEA so với các thuật toán khác trên bài toán RSS và bài toán RSM 136
Trang 14lý và truyền dữ liệu Các nút này thường là các thiết bị đơn giản, nhỏ gọn, giáthành thấp được phân bố trên một phạm vi rộng lớn thường gọi là các khu vựccảm biến (sensor fields) Trong mạng cảm biến, dữ liệu sau khi được thu thậpbởi các nút cảm biến sẽ được định tuyến đến các trạm cơ sở (base stations) Cáctrạm cơ sở sẽ gửi dữ liệu đến người dùng thông qua Internet hay vệ tinh.Các đặc tính như triển khai nhanh chóng, khả năng tự tổ chức và chịu lỗi
đã cho thấy mạng cảm biến không dây là một công nghệ đầy triển vọng Ngàynay, mạng cảm biến không dây được áp dụng trong các lĩnh vực khác của đờisống, từ các ứng dụng trong dân sự như: nông nghiệp, môi trường đến nhữngứng dụng trong quân sự như giám sát chiến trường, phát hiện vũ khí hóa học[2]
Một trong những đặc trưng riêng biệt của mạng cảm biến không dây chính
là hạn chế về khả năng tính toán và năng lượng của các nút cảm biến, do cácnút này sử dụng nguồn năng lượng pin hoặc ắc quy để tồn tại Sau khi triểnkhai mạng, việc tiếp thêm năng lượng cho các nút cảm biến là không khả thitrong trường hợp mạng được triển khai trong những địa hình khắc nghiệt Do
đó, năng lượng của các cảm biến đóng một vai trò quan trọng, quyết định thờigian sống (thời gian tồn tại) của mạng Trong nghiên cứu [3], các tác giả đưa ranhiều định nghĩa khác nhau để tính thời gian sống của mạng dựa vào số lượngcác nút còn hoạt động (còn sống) trong mạng Trong đó, cách định nghĩa thờigian sống của mạng là thời gian từ khi khởi tạo mạng cho đến khi nút đầu tiêntrong mạng hết năng lượng được nhiều tác giả sử dụng Cách định nghĩa nàyphù hợp đối với các mạng mà vai trò của các nút cảm biến là như nhau, nếumột nút hết năng lượng thì việc phân tích dữ liệu thu thập được sẽ không cònchính xác
Hầu hết các nghiên cứu đã có đều tập trung vào việc tối ưu thời gian sốngcho mạng cảm biến không dây trong địa hình hai chiều Giả định này hợp lý
Trang 15đối với các ứng dụng mà các nút cảm biến được triển khai trên một địa hìnhtương đối đồng đều, độ cao của các nút không đáng kể so với bán kính truyềnthông Tuy nhiên, trong nhiều ứng dụng thực tế, khi triển khai mạng cần xemxét đến độ cao và độ sâu các nút mạng Vì vậy, trong luận án này, tác giả tậptrung nghiên cứu bài toán tối ưu thời gian sống cho hai loại mạng: mạng cảmbiến không dây ngầm (wireless underground sensor networks - WUSNs) với cácnút cảm biến được đặt dưới đất và mạng cảm biến không dây trong địa hình bachiều (wireless sensor networks in three dimensional terrains - WSN3D ) với cácnút cảm biến được đặt trong địa hình ba chiều.
Nhiều bài toán tối ưu thời gian sống cho mạng WUSNs và mạng WSN3D
là bài toán NP-hard Có hai cách tiếp cận để giải bài toán dạng này: sử dụngthuật toán chính xác và sử dụng thuật toán xấp xỉ Các thuật toán chính xácđảm bảo tìm được lời giải chính xác cho các bài toán tối ưu thời gian sống củamạng Tuy nhiên, đối với những bài toán có kích thước dữ liệu lớn, phương phápnày là không khả thi Việc áp dụng các thuật toán xấp xỉ được ưu tiên sử dụng.Mặc dù các thuật toán xấp xỉ chỉ tìm được lời giải gần đúng, nhưng thời gianthực hiện thuật toán là chấp nhận được cho mọi bộ dữ liệu
Mục tiêu nghiên cứu của luận án
Trên cơ sở phân tích ở trên, tác giả chọn đề tài “Tối ưu hóa thời gian sốngcủa một lớp mạng cảm biến không dây theo hướng tiếp cận xấp xỉ ” làm đề tàinghiên cứu cho luận án Tiến sĩ Luận án hướng đến việc sử dụng các thuật toánmeta-heuristic (một lớp các thuật toán xấp xỉ) để giải quyết bài toán tối ưu thờigian sống cho hai loại mạng: mạng WUSNs và mạng WSN3D Các mục tiêu cụthể trong luận án bao gồm:
Mục tiêu thứ nhất của luận án là nghiên cứu về mạng cảm biến khôngdây, vấn đề tối ưu thời gian sống trong mạng cảm biến không dây Đặcbiệt, luận án đi sâu vào giải quyết vấn đề tối ưu thời gian sống của hai lớpmạng cảm biến không dây: WUSNs và WSN3D bằng việc sử dụng các nútchuyển tiếp
Mục tiêu thứ hai của luận án là nghiên cứu các kỹ thuật để giải quyết bàitoán tối ưu thời gian sống cho hai lớp mạng ở trên Bởi vì các bài toán
Trang 16 Mục tiêu thứ ba của luận án là nghiên cứu các phương pháp xây dựng kịchbản mạng, xây dựng các bộ dữ liệu, xây dựng các kịch bản thực nghiệm
để đánh giá được hiệu quả của các thuật toán đề xuất
Phạm vi nghiên cứu
Trong mạng cảm biến không dây, các nút cảm biến gần nút nguồn/trạm cơ
sở có khả năng bị cạn kiệt nguồn năng lượng nhanh hơn do chúng phải địnhtuyến dữ liệu nhiều hơn Phương pháp định tuyến truyền thống được sử dụng
là phương pháp phân cụm Trong phương pháp này, các cảm biến sẽ được phânthành các cụm, trong mỗi cụm sẽ có một nút đóng vai trò là cụm đầu Dữ liệu
từ các cảm biến thay vì được gửi trực tiếp đến trạm cơ sở hoặc các nút nguồn sẽđược gửi thông qua các cụm đầu Cụm đầu chịu trách nhiệm điều hướng hoạtđộng của các thành viên trong cụm và giao tiếp với các cụm đầu khác hoặc trạm
cơ sở Tuy nhiên, cụm đầu phải chuyển tiếp dữ liệu của tất cả các nút trong cụm
sẽ dẫn đến tiêu hao năng lượng nhanh hơn các nút khác Gần đây, các phươngpháp sử dụng các nút chuyển tiếp (relay nodes) để kéo dài thời gian sống củamạng đã được các nhà nghiên cứu quan tâm Ý tưởng của phương pháp này là
sử dụng nút chuyển tiếp để giảm khoảng cách truyền thông từ các nút cảm biếnđến trạm cơ sở, từ đó có thể giảm năng lượng tiêu thụ Các nút chuyển tiếp cónguồn năng lượng giới hạn nên cần cân bằng tải giữa chúng để đảm bảo không
có nút nào bị quá tải Trong các nghiên cứu trước đó, vấn đề này bị bỏ qua, cácnút cảm biến được tự động gán cho các nút chuyển tiếp có khoảng cách ngắnnhất hoặc sự suy hao trong quá trình truyền dẫn là ít nhất Điều này dẫn đến
sự phân bố không đồng đều của các nút Một vài nút chuyển tiếp sẽ phải xử
lý nhiều do ở gần nhiều nút cảm biến hơn Trong khi đó, một vài nút chuyểntiếp khác có thể không có bất kì các nút cảm biến nào được kết nối đến Cânbằng tải là cách tiếp cận tốt nhất để tăng thông lượng và làm giảm tắc nghẽntrong mạng Ý tưởng cân bằng tải là chỉ định một khối lượng công việc nhưnhau cho tất cả các nút chuyển tiếp Hai cách cân bằng tải cho nút chuyển tiếp
có thể có là cân bằng tải về số lượng và cân bằng tải về năng lượng Trong cáchcân bằng tải về số lượng, mỗi nút chuyển tiếp sẽ thực hiện việc tập hợp dữ liệucủa một số các nút cảm biến như nhau Trong cách cân bằng tải về năng lượng,các nút chuyển tiếp sẽ tiêu thụ một lượng năng lượng như nhau Các nghiêncứu liên quan đến việc triển khai nút chuyển tiếp để kéo dài thời gian sống của
Trang 17mạng có thể chia thành hai loại: có ràng buộc và không có ràng buộc Các bàitoán không có ràng buộc là bài toán triển khai các nút chuyển tiếp tại các vịtrí bất kỳ trên địa hình Ngược lại, trong bài toán triển khai có ràng buộc, cácnút chuyển tiếp chỉ được triển khai tại các vị trí xác định trước trên địa hình.Các vị trí này không nằm trong các lỗ hổng vật lý của mạng như sông, suối, ao,hồ, Từ khía cạnh cấu trúc định tuyến, việc triển khai nút chuyển tiếp theocách này được phân thành hai loại: kiến trúc đơn tầng (single-tiered ) và kiếntrúc hai tầng (two-tiered ) Trong kiến trúc đơn tầng, cả nút cảm biến (SNs) vànút chuyển tiếp (RNs) đều có thể gửi gói tin Trong khi đó, đối với kiến trúchai tầng chỉ RNs chuyển tiếp gói tin và SNs chỉ có vai trò thu thập dữ liệu vàtruyền dữ liệu đến RNs (hoặc BS nếu chúng có thể kết nối trực tiếp đến BS).Luận án tập trung vào giải quyết bài toán có ràng buộc theo cả hai loại kiếntrúc mạng Chi tiết về phạm vi nghiên cứu của luận án được đưa ra như sau:Tối ưu hóa thời gian sống của mạng WUSNs: luận án nghiên cứu bàitoán tối ưu thời gian sống của mạng WUSNs với kiến trúc mạng hai tầng dựatrên mô hình tổn thất truyền thông Mô hình này thường được sử dụng trongcác loại mạng cảm biến không dây ngầm Việc tối ưu thời gian sống của mạngcảm biến không dây dựa trên mô hình tổn thất truyền thông được nhiều cácnhà nghiên cứu quan tâm [4, 5, 6, 7] Lý do cho việc sử dụng mô hình này là
do năng lượng tiêu thụ của các nút cảm biến tỉ lệ thuận với tổn thất truyềnthông Việc tối ưu tổn thất truyền thông sẽ dẫn đến tối ưu năng lượng tiêu thụcủa các nút, nhờ đó kéo dài thời gian sống của mạng Đối với với các mạng cảmbiến không dây ngầm, việc truyền tín hiệu trong đa môi trường sẽ dẫn đến sựsuy giảm của tín hiệu do sự hấp thụ của nhiều yếu tố trong đất và sự phản xạ,khúc xạ ở bền mặt Sự suy giảm trong môi trường đất phụ thuộc vào một sốyếu tố như thành phần của đất, mật độ, hàm lượng nước và thể tích Ngoài ra,các đặc tính lan truyền của sóng điện từ ở trong đất cũng khác biệt khá nhiều
so với trong không khí Sóng điện từ sẽ bị suy hao do ảnh hưởng của khoảngcách truyền thông
Tối ưu hóa thời gian sống của mạng WSN3D: luận án nghiên cứu bàitoán tối ưu hóa thời gian sống của mạng WSN3D theo cả hai loại kiến trúcmạng: đơn tầng và hai tầng dựa trên mô hình suy hao năng lượng Năng lượng
Trang 18đề xuất, trong đó mô hình suy hao năng lượng dựa vào khoảng cách đã đượcnhiều nhà nghiên cứu sử dụng [9, 10, 11, 12] Trong mô hình này, năng lượngtiêu thụ chủ yếu được tính dựa vào sự suy hao năng lượng khi truyền dữ liệutrong một khoảng cách nhất định Mô hình này dùng cho các mạng cảm biếnđược triển khai ở phía trên mặt đất trong địa hình ba chiều Ngoài ra, tronggiao tiếp không dây, hai nút có thể không kết nối được với nhau do hai nguyênnhân chính Lý do thứ nhất là khoảng cách giao tiếp quá lớn Lý do thứ hai làđường tầm nhìn (line-of-sight ) giữa hai nút có nhiều vật cản Luận án tuân theogiả định đầu tiên, có nghĩa là, hai nút trong mạng có thể kết nối được với nhaunếu khoảng cách giữa chúng không quá lớn (khoảng cách giữa hai nút nhỏ hơnbán kính truyền thông).
Các đóng góp chính của luận án
Bài toán 1: tối ưu hóa việc triển khai các nút chuyển tiếp để kéo dài thờigian sống của mạng cảm biến không dây ngầm (WUSNs) dựa trên mô hình tổnthất truyền thông (bài toán MRP) Bài toán này sẽ xem xét ràng buộc cân bằngtải về số lượng cho các nút chuyển tiếp Trong nghiên cứu [7], các tác giả đềxuất cách tiếp cận hai pha với sáu thuật toán heuristic để giải quyết bài toánMRP Nhược điểm của các thuật toán đề xuất là chia bài toán thành hai phariêng biệt, các nút chuyển tiếp đã được lựa chọn trong pha thứ nhất sẽ khôngthể được thay đổi trong pha thứ hai Điều này dẫn đến việc, nếu chọn các vịtrí không tốt để đặt các nút chuyển tiếp sẽ dẫn đến một lời giải có chất lượngkhông tốt Do đó, luận án đề xuất các thuật toán để khắc phục nhược điểm của
6 thuật toán đã có:
Đề xuất thuật toán tham lam dựa trên tìm kiếm chùm tia với hàm Genitor(BGS) để tạo ra nhiều lời giải cho bài toán MRP Tuy nhiên, thuật toánBGS có hạn chế là cách lựa chọn các nút cảm biến để kết nối đến nútchuyển tiếp trong mỗi bước là tham lam Cách lựa chọn tham lam nàychưa chắc đã dẫn đến một lời giải tối ưu toàn cục
Từ hạn chế của thuật toán BGS, luận án đề xuất thuật toán di truyền vớikhởi tạo phân cụm (MXFGA) để giải quyết bài toán Ý tưởng của cách tiếpcậ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ểntiế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
Trang 19cặp kết nối tìm được là nhỏ nhất Thuật toán MXFGA có hạn chế là thờigian chạy khá lâu do độ phức tạp của khởi tạo phân cụm và thuật toán ditruyền Ngoài ra, các toán tử lai ghép và đột biến cũng làm thay đổi khánhiều cấu trúc cụm ban đầu.
Để khắc phục hạn chế của BGS và MXFGA, luận án đề xuất thuật toánBMBM dựa trên sự kết hợp của thuật toán tìm kiếm chùm tia với hàmphân phối Boltzmann để tạo ra các phương án khả thi cho bài toán tối ưuhóa thời gian sống của mạng Các cặp kết nối giữa các nút cảm biến và cácnút chuyển tiếp sẽ được tìm chính xác bằng cách đưa về bài toán tìm cặpghép trên đồ thị
Bài toán 2: tối ưu hóa đa mục tiêu việc triển khai các nút chuyển tiếp để kéodài thời gian sống của mạng cảm biến không dây địa hình ba chiều (bài toánORP3D) dựa trên mô hình suy hao năng lượng Bài toán này sẽ xem xét việccân bằng tải về năng lượng cho các nút chuyển tiếp Hai cách tiếp cận được đềxuất để giải quyết bài toán này:
Đề xuất phương pháp dựa trên tổng trọng số để đưa bài toán đa mục tiêuORP3D về bài toán tối ưu hóa đơn mục tiêu (OSA3D) Luận án đề xuất
mô hình quy hoạch nguyên để tìm được cận dưới của lời giải Cuối cùng,thuật toán tìm kiếm cục bộ dựa trên luồng cực đại được đề xuất để giảibài toán OSA3D
Đề xuất thuật toán tiến hóa đa mục tiêu dựa trên phân rã để tìm biênPareto xấp xỉ biên tối ưu
Bài toán 3: tối ưu hóa thời gian sống cho các loại mạng cảm biến không dâytrong địa hình ba chiều với các cấu trúc mạng khác nhau Luận án đề xuất thuậttoán tiến hóa đa nhân tố với cách mã hóa Netkeys để giải quyết bài toán
Cấu trúc của luận án
Ngoài phần mở đầu và phần kết luận, nội dung luận án được trình bày trong
ba chương như sau:
Chương 1: cơ sở lý thuyết Chương này trình bày cơ sở lý thuyết của bàitoán tối ưu, các phương pháp giải bài toán tối ưu đơn mục tiêu và đa mục tiêu.Ngoài ra, các nghiên cứu liên quan đến bài toán tối ưu hóa thời gian sống củamạng cảm biến không dây cũng được trình bày
Trang 20nghiên cứu bài toán triển khai các nút chuyển tiếp để tối ưu thời gian sống củamạng cảm biến không dây ngầm dựa trên mô hình tổn thất truyền thông nhằmđảm bảo ràng buộc cân bằng tải về số lượng giữa các nút chuyển tiếp Luận án
đề xuất ba cách tiếp cận để giải quyết bài toán So sánh các cách tiếp cận đềxuất với các nghiên cứu trước đó về: giá trị của hàm mục tiêu, độ phức tạp củathuật toán và thời gian thực hiện
Chương 3: tối ưu hóa thời gian sống của mạng cảm biến không dâydựa trên mô hình suy hao năng lượng Trong chương này, luận án nghiêncứu hai bài toán Bài toán thứ nhất là bài toán đa mục tiêu triển khai các nútchuyển tiếp để tối ưu hóa thời gian sống của mạng trong địa hình ba chiều Bàitoán này có hai mục tiêu chính: tối thiểu số lượng các nút chuyển tiếp được sửdụng và tối thiểu giá trị tiêu thụ năng lượng tối đa của các nút trong mạng Đểgiải quyết bài toán này, hai cách tiếp cận được đề xuất Cách tiếp cận đầu tiêndựa trên tổng trọng số Ý tưởng của cách tiếp cận này là đưa bài toán đa mụctiêu về bài toán đơn mục tiêu bằng cách thêm trọng số cho các hàm mục tiêu.Thuật toán tìm kiếm cục bộ dựa trên luồng cực đại được đề xuất để giải quyếtbài toán đơn mục tiêu này Cách tiếp cận thứ hai dựa trên các thuật toán tối
ưu đa mục tiêu để tìm một biên Pareto xấp xỉ cho bài toán Bài toán thứ hai làbài toán tối ưu thời gian sống của các mạng có cấu trúc khác nhau: mạng đơntầng và mạng hai tầng Luận án đề xuất thuật toán tiến hóa đa nhân tố để giảiquyết bài toán này
Trang 21Chương 1
CƠ SỞ LÝ THUYẾT
Chương này trình bày các kiến thức cơ sở về bài toán tối ưu, các phươngpháp giải bài toán tối ưu đơn mục tiêu và đa mục tiêu Ngoài ra, các nghiêncứu liên quan đến bài toán tối ưu thời gian sống của mạng cảm biến không dâycũng được trình bày
Trong thực tế, chúng ta thường gặp những vấn đề có nhiều cách giải quyếtkhác nhau Một cách tự nhiên, những cách làm “tốt nhất” (hay còn gọi là cáchlàm tối ưu nhất) thường được lựa chọn, ví dụ như: nhanh nhất, chi phí rẻ nhấthoặc tốn ít nhân công nhất, Trong khoa học máy tính, việc tìm lời giải “tốtnhất” trong một tập các lời giải khả thi cho một vấn đề nào đó được gọi là tối
ưu hóa [13] Trong nghiên cứu [13], các tác giả đã đưa ra một số cách phân loạibài toán tối ưu, một trong số đó là phân loại dựa vào số lượng mục tiêu Theocách phân loại này, bài toán tối ưu được phân thành hai loại: bài toán tối ưuđơn mục tiêu và bài toán tối ưu đa mục tiêu
1.1.1 Bài toán tối ưu đơn mục tiêu
Bài toán tối ưu đơn mục tiêu được định nghĩa như sau:
Định nghĩa 1.1 (Bài toán tối ưu đơn mục tiêu (single objective optimizationproblem - SOOP )[13])
x = (x 1 , x2, , xn) với xk là các biến liên tục hoặc rời rạc, k = 1, 2, , n
f(x): Rn →R là hàm mục tiêu của bài toán.
Trang 221.1.2 Bài toán tối ưu đa mục tiêu
Tối ưu đa mục tiêu (tối ưu Pareto) là tìm lời giải cho bài toán liên quan đếnnhiều hơn một mục tiêu (tiêu chí) tối ưu Các mục tiêu trong một bài toán đượcgọi là không xung đột nếu việc tối ưu một mục tiêu sẽ không ảnh hưởng đến cácmục tiêu còn lại Do đó, tập lời giải của bài toán tối ưu dạng này chỉ gồm mộtlời giải Những bài toán tối ưu với các mục tiêu như vậy, người ta gọi là tối ưu
đa mục tiêu tầm thường Ngược lại, nếu bài toán tối ưu với các mục tiêu xungđột nhau được gọi là tối ưu đa mục tiêu không tầm thường Các mục tiêu đượcgọi là xung đột nếu việc tối ưu một mục tiêu sẽ làm giảm tính tối ưu của cácmục tiêu khác Tập lời giải của bài toán đa mục tiêu không tầm thường sẽ baogồm nhiều lời giải khác nhau Tùy vào mục đích, người quyết định có thể lựachọn lời giải phù hợp Phần này sẽ trình bày tổng quan về bài toán tối ưu đamục tiêu, các khái niệm trong tối ưu đa mục tiêu và các phương pháp thườngđược dùng để giải quyết bài toán tối ưu đa mục tiêu không tầm thường Khôngmất tính tổng quát, giả sử rằng tất cả mục tiêu của bài toán tối ưu đa mục tiêuđều được cực tiểu hóa Bài toán tối ưum mục tiêu được định nghĩa như sau:Định nghĩa 1.2 (Bài toán tối ưu đa mục tiêu (multiobjective optimizationproblem - MOO ) [14])
1.1.2.1 Không gian thiết kế và không gian mục tiêu
Định nghĩa 1.3 (Không gian thiết kế (design space)[14]) Không gian thiết kế
Ω ∈Rn của bài toán MOO là tập các véc tơ x thỏa mãn các ràng buộc 1.6, 1.7,1.8 của bài toán
Trang 23Ví dụ 1.
Minimize: f1(x1, x2) = x21+ x22. (1.9)
f2(x1, x2) = (x1− 2)2+ x22. (1.10)
Hình 1.1: Minh họa hai hàm mục tiêu f1, f2 trong không gian thiết kế [14].
Đường biểu diễn hai hàm mục tiêu lần lượt là các đường tròn có tâm tại (0,0) và (2, 0) Không gian thiết kế của bài toán này là:Ω = {x ∈R2|x1≥ 0, x2 ≥ 0}.Đây chính là góc phần tư thứ nhất trong hình 1.1 Hàmf 1 đạt cực tiểu tại điểm
O(0, 0), hàm f2 đạt cực tiểu tại điểm B(2, 0) Tuy nhiên, f2(O) = 4 và f1(B) = 4
không phải là điểm cực tiểu Như vậy, không có một điểm nào làm cho f1 và f2
cùng đạt cực tiểu Điểm A(1, 0) được coi là lời giải “thỏa hiệp” của hai hàm, tạiđiểm này f1(A) = f2(A) = 1 Có thể thấy rằng bất cứ một điểm nào nằm ngoàiđường thẳng nối giữa hai điểm O và B (có nghĩa là x2 = 0 và x1 ∈ (0, 2) / ) đềukhông thể làm giảm giá trị cả hai hàm mục tiêu một cách đồng thời Ví dụ, tạiđiểmC(3, 0), f1(C) = 9 và f2(C) = 1 Ngược lại, bất cứ một lời giải nào nằm giữahai điểm O và B đều được coi là chấp nhận được vì không thể thực hiện việcgiảm giá trị một hàm mục tiêu mà không làm tăng giá trị của hàm mục tiêu cònlại Do đó, lời giải tối ưu của bài toán là Sp = {x ∈R2|0 ≤ x1≤ 2, x2= 0}
Trang 24toán khó, việc tìm tập lời giải tối ưu không hề đơn giản Việc sử dụng khônggian thiết kế là không đủ để tìm ra tập lời giải tối ưu Để hiểu khái niệm bàitoán đa mục tiêu và các kỹ thuật giải, bài toán sẽ phải được chuyển sang mộtkhông gian mới gọi là không gian mục tiêu (criterion space/ objective space).Định nghĩa về không gian mục tiêu được đưa ra như sau:
Định nghĩa 1.4 (Không gian mục tiêu (objective space) [14]) Không gian mụctiêu được định nghĩa là tập của các giá trị hàm mục tiêu tương ứng với các điểmtrong không gian thiết kế
Z = {F(x)|x ∈ Ω}.
Bài toán đa mục tiêu trong ví dụ 1 có thể được biểu diễn trong không gianmục tiêu như trong hình 1.2(b) với các trục là các hàm mục tiêu Các ràng buộcban đầu của bài toán được chuyển sang không gian mục tiêu bằng cách giải x 1
và x2 theo f1 và f2 như trong phương trình (1.12)
Trang 25đồng thời giá trị của hai hàm mục tiêu bằng cách di chuyển điểm đó gần về phíađường cong này.
Cần lưu ý rằng, mỗi điểm trong không gian thiết kế có thể ánh xạ tới mộtđiểm trong không gian mục tiêu Tuy nhiên, điều ngược lại có thể không đúng;nghĩa là mọi điểm trong không gian mục tiêu không nhất thiết phải tương ứngvới các điểm hoặc một điểm duy nhất trong không gian thiết kế Ví dụ hình 1.2,điểm e(0, 0) trong không gian mục tiêu không ánh xạ đến bất cứ một điểm nàotrong không gian thiết kế Điểm d(4, 4) trong không gian mục tiêu ánh xạ đến 2điểm D1(1, √
3) và D2(1, − √
3) trong không gian thiết kế, D1 ∈ Ω và D2 ∈ Ω /
(a) Không gian thiết kế (b) Không gian mục tiêu
Hình 1.2: Minh họa không gian thiết kế và không gian mục tiêu [14].
1.1.2.2 Tối ưu Pareto
Việc xác định các lời giải cho bài toán MOO được gọi là tối ưu Pareto Mộtđiểm x∗ trong không gian thiết kế Ωđược gọi là tối ưu Pareto (Pareto optimal )nếu không có điểm nào khác trong Ω làm giảm tại ít nhất một mục tiêu màkhông làm tăng các mục tiêu khác Tối ưu Pareto được định nghĩa một cáchtường minh như sau:
Định nghĩa 1.5 (Tối ưu Pareto [14]) Một điểm x∗ ∈ Ω được gọi là tối ưuPareto nếu và chỉ nếu không tồn tại một điểmx trong không gian thiết kế Ω mà
f i (x) ≤ f i (x∗) với mọi i và f i (x) < f i (x∗) với ít nhất một mục tiêu i, i = 1, , m
Để minh họa cho định nghĩa 1.5, giả sử rằng x∗ = (3, 0) được gọi là tối ưu
Trang 26nhiều điểm xthỏa mãn điều kiện F(x) ≤ F(x∗) và fi(x) < fi(x∗) với ít nhất mộtmục tiêui Ví dụ, điểm A, có x = (1, 0) và f1(x) = f2(x) = 0 Do đó F(x) ≤ F(x∗)
và f 1 (x) = 1 < f 1 (x∗) = 9 Do đó từ định nghĩa 1.5, điểm x∗ = (3, 0) không là tối
ưu Pareto Mặt khác, nếu chọn x∗ = (1, 0) (điểm A), f1(x∗) = 1 và f2(x∗) = 1,không tồn tại bất cứ một điểm nào mà f1 và f2 nhỏ hơn hoặc bằng giá trị của
nó tại điểm (1, 0) Do đó, x∗= (1, 0) được gọi là tối ưu Pareto
Định nghĩa 1.6 (Trội (dominated ) và không trội (non-dominated ) [14]) Mộtvéc tơ của các mục tiêu F∗ = F(x∗) ∈ Z là không bị trội nếu và chỉ nếu khôngtồn tại một véc tơ F ∈ Z mà fi(x) ≤ fi(x∗) ∀i và fi(x) < fi(x∗) với ít nhất một i.Ngược lại, F∗ là bị trội
Kí hiệuF(x∗) F(x): véc tơ F(x)bị trội bởi véc tơF(x∗) Nói một cách khác,một nghiệmx∗ được gọi là trội so với nghiệmx, nếu hai điều kiện sau đây đượcthỏa mãn:
Nghiệm x∗ không xấu hơn nghiệm x trong tất cả các giá trị của hàm mụctiêu, tức là fi(x∗) ≤ fi(x) với mọi i = 1, 2, , m
Nghiệmx∗ tốt hơn nghiệmxtrên ít nhất một mục tiêu, tức làfi(x∗) < fi(x)
Định nghĩa 1.8 (Biên Pareto (Pareto front [14]))
Mục tiêu của các thuật toán tối ưu đa mục tiêu là xác định các lời giải trongtập tối ưu Pareto Thực tế, việc tìm tất cả các lời giải tối ưu thường không khả
Trang 27thi về mặt tính toán Vì vậy, một cách tiếp cận thường được sử dụng để giải cácbài toán tối ưu đa mục tiêu là tìm kiếm các tập lời giải thể hiện tốt nhất có thểcủa tập tối ưu Pareto Tập các lời giải như vậy thường được gọi là best-knownPareto.
Một khái niệm liên quan chặt chẽ tới tối ưu Pareto là tối ưu Pareto yếu Tạicác điểm tối ưu Pareto yếu, một số mục tiêu có thể được cải thiện mà không viphạm đến các mục tiêu khác Định nghĩa về tối ưu Pareto yếu được đưa ra nhưsau:
Định nghĩa 1.9 (Tối ưu Pareto yếu [14]) Một điểm x∗ ∈ Ω được gọi là tối
ưu Pareto yếu nếu và chỉ nếu không tồn tại một điểm x ∈ Ω mà fi(x) < fi(x∗)
∀i = 1, , m
Nói một cách khác, một điểm được gọi là tối ưu Pareto yếu nếu không tồntại một điểm khác có thể cải thiện các hàm mục tiêu một cách đồng thời Tuynhiên, có thể có các điểm cải thiện một vài mục tiêu mà vẫn giữ cho các mụctiêu khác không thay đổi Ví dụ minh họa cho định nghĩa này được đưa ra tronghình 1.3 Mục tiêu là cực tiểu hai hàm f1 và f2 Ở đây, các đoạn thẳng AB và
BC là biên của không gian mục tiêu khả thi Z Trong trường hợp này, tất cảcác điểm A, B, C đều là các điểm tối ưu Pareto yếu Tuy nhiên, chỉ các điểm A
và C là điểm tối ưu Pareto Nếu lấy bất cứ một điểm nào trên đường thẳng AB
(không bao gồm A), ví dụ lấy điểm E, ta không thể tìm bất cứ một điểm x nàotrong không gian mục tiêu khả thi để f1(x) < f1(xE) và f2(x) < f2(xE) Do đó,điểm E được gọi là điểm Pareto yếu Tương tự như vậy, tất cả các điểm trênđường thẳng BC (không bao gồm điểm C) đều là các điểm tối ưu Pareto yếunhưng không phải là điểm tối ưu Pareto Như vậy, tối ưu Pareto là tối ưu Paretoyếu, nhưng tối ưu Pareto yếu không nhất thiết là tối ưu Pareto
Định nghĩa 1.10 (Điểm Utopia [14]) Một điểm F0 = {f10, f20, , fm0} trongkhông gian mục tiêu được gọi là điểm Utopia nếu fi0 = min{fi(x)|x ∈ Ω} ∀i =
1, , m
Điểm Utopia tìm được bằng cách giải quyết từng mục tiêu riêng rẽ mà khôngquan tâm đến các mục tiêu khác Nhìn chung, rất hiếm khi tất cả các mục tiêu
Trang 28Hình 1.3: Ví dụ về tối ưu Pareto và tối ưu Pareto yếu.
tiêu
Với khả năng hiện nay, máy tính đã giúp con người giải quyết được rất nhiềubài toán khó Tuy nhiên, có những bài toán có ứng dụng trong thực tiễn vẫnchưa tìm được thuật toán hợp lý để giải quyết Các bài toán này đòi hỏi tìm kiếmlời giải tốt nhất trong không gian các lời giải vô cùng lớn Khi không gian tìmkiếm nhỏ, các phương pháp cổ điển như vét cạn cũng đủ để giải quyết, nhưngkhi không gian tìm kiếm lớn hơn cần phải dùng đến những kỹ thuật của trítuệ nhân tạo đặc biệt, ví dụ như giải thuật tiến hóa (Evolutionary Algorithms
- EAs) EAs sử dụng các kỹ thuật bắt nguồn từ các cơ chế tiến hóa hữu cơ(organic evolution) chẳng hạn như biến dị, tái tổ hợp và chọn lọc tự nhiên đểtìm lời giải tối ưu cho một bài toán với các ràng buộc cụ thể Phần này trìnhbày một cách tổng quan về thuật toán di truyền và thuật toán tiến hóa đa nhân
tố Đây là những thuật toán mà tác giả sử dụng để giải quyết các bài toán trongkhuôn khổ của luận án
1.2.1 Thuật toán di truyền
1.2.1.1 Giới thiệu
Trong những năm đầu của thế kỉ 19, khoa học về sinh học đã trải qua mộtcuộc cách mạng khi Charles Darwin phát hiện ra quá trình lựa chọn và tối ưuhóa trong tự nhiên cũng phù hợp với quá trình tiến hóa diễn ra trong cuộc sốngcủa con người [15] Sự ra đời mạnh mẽ của máy tính và các hệ thống tính toánthời kì đó đã cho phép áp dụng các quá trình tối ưu hóa trong tự nhiên dưới
Trang 29hình thức của thuật toán di truyền (Genetic Algorithms - GAs) Tuy nhiên, J.
H Holland là người đầu tiên triển khai ý tưởng và phương thức giải quyết vấn
đề dựa quy luật tiến hóa trong tự nhiên “Adaptation in natural and artificialsystems” xuất bản năm 1975 là tập sách đầu tiên đề cập đến lĩnh vực này, J H.Holland được xem là cha đẻ của thuật toán di truyền Ông và các đồng nghiệp
đã không ngừng phát triển tạo nên cơ sở lý thuyết vững chắc cho thuật toán
di truyền Thuật toán di truyền được ứng dụng trong nhiều lĩnh vực khác nhaucủa cuộc sống
Thuật toán di truyền được xây dựng dựa trên quy luật tiến hóa sinh học củamột quần thể sống Các cá thể trải qua một quá trình phát triển và sinh sản đểtạo ra những cá thể mới cho thế hệ tiếp theo Trong quá trình sinh trưởng vàphát triển, những cá thể xấu tức là những cá thể không thích nghi được với môitrường sẽ bị đào thải Ngược lại, những cá thể tốt sẽ được giữ lại (đây chính làquá trình chọn lọc) và được lai ghép để tạo ra những cá thể mới cho thế hệ sau.Những cá thể mới được sinh ra mang những tính trạng của cá thể cha-mẹ (còngọi là hiện tượng di truyền) Những cá thể được giữ lại có độ thích nghi khácnhau và quá trình lai ghép được thực hiện hoàn toàn ngẫu nhiên giữa các cá thểtrong quần thể Các cá thể được tạo ra trong quá trình lai ghép có thể sẽ xảy rahiện tượng đột biến và tạo ra những cá thể khác với cá thể cha-mẹ Cá thể này
có thể tốt hơn hoặc xấu hơn cá thể cha-mẹ Lai ghép và đột biến là hai cơ chế
có vai trò như nhau trong quá trình tiến hóa, mặc dù cơ chế đột biến xảy ra vớixác suất nhỏ hơn nhiều so với xác suất của cơ chế lai ghép Quá trình lai ghép
và chọn lọc là hai quá trình cơ bản xuyên suốt quá trình tiến hóa tự nhiên.Thuật toán di truyền cũng như các thuật toán tiến hóa nói chung được hìnhthành trên quan niệm cho rằng, quá trình tiến hóa là quá trình hoàn hảo nhất
vì tự nó đã mang tính tối ưu [16] Thể hiện ở chỗ, cá thể sau được sinh ra sẽ tốthơn, hoàn hảo hơn cá thể cha - mẹ, chúng có khả năng thích nghi với sự thayđổi của môi trường cao hơn cá thể cha - mẹ Tuy nhiên, không phải là tất cả,vẫn có một hoặc một số cá thể của thế hệ trước tốt hơn các cá thể ở thế hệ tiếptheo Vì vậy, trong khi sử dụng thuật toán di truyền, những cá thể tốt nhất củamỗi thế hệ cần được lưu giữ Trải qua một số thế hệ (lần lặp) nhất định, các cáthể tốt của mỗi thế hệ sẽ được so sánh với nhau và chọn ra một cá thể tốt nhất
Trang 301.2.1.2 Sơ đồ của thuật toán di truyền
Các nhà nghiên cứu đã đề xuất nhiều biến thể khác nhau của GAs Để minhhọa chức năng cơ bản của GAs, phần này sử dụng thuật toán di truyền truyềnthống được minh họa bởi Goldberg [17] Loại GAs này sử dụng lai ghép như làtoán tử chính và đột biến chỉ đóng vai trò là nhiễu nền Các bước cơ bản củathuật toán GAs truyền thống được mô tả như trong hình 1.4
Hình 1.4: Sơ đồ khối của thuật toán di truyền.
Biểu diễn cá thể
Cá thể (chromosome): một cá thể trong thuật toán di truyền biểu diễn mộtlời giải của bài toán Có nhiều cách biểu diễn cá thể khác nhau Tùy thuộc vàotừng bài toán mà chúng ta lựa chọn cách biểu diễn phù hợp Một số biểu diễnthường gặp là: biểu diễn nhị phân, biểu diễn nguyên, biểu diễn thực, biểu diễntheo hoán vị, biểu diễn trộn, [18]
Khởi tạo quần thể
Quần thể (population) là tập hợp của các cá thể (lời giải) của môi trường(bài toán) đang xét Khởi tạo quần thể ban đầu là bước đầu tiên trong thuậttoán di truyền Thông thường để khởi tạo quần thể trong bài toán tối ưu, ta tạo
ra một cách ngẫu nhiên các lời giải có thể (thường là các lời giải đã thỏa mãnràng buộc của bài toán nhưng chưa biết đã tối ưu hay chưa) Tùy vào từng bàitoán cụ thể ta có những phương pháp khởi tạo khác nhau Chất lượng của quần
Trang 31thể ban đầu càng cao thì lời giải mà thuật toán di truyền đưa ra càng tốt Do
đó, trong nhiều thuật toán di truyền thường sử dụng các thuật toán đã có đểgiải bài toán mà cho kết quả khá tốt để khởi tạo quần thể ban đầu
Kích thước quần thể cho biết có bao nhiêu cá thể của quần thể trong mộtthế hệ Qua các nghiên cứu cũng như các thử nghiệm đã cho thấy kích thướcquần thể không nên quá bé cũng như không quá lớn Nếu có quá ít cá thể thì ít
có khả năng thực hiện lai ghép và chỉ một phần nhỏ không gian tìm kiếm đượcdùng Điều này sẽ dễ xảy ra trường hợp bỏ qua các lời giải tốt Tuy nhiên, quánhiều cá thể trong quần thể cũng không tốt vì GAs sẽ chạy chậm đi, ảnh hưởngđến hiệu quả của thuật toán
Đánh giá độ thích nghi
Độ thích nghi (fitness) là khả năng phù hợp của mỗi cá thể (lời giải) đốivới môi trường (bài toán) Việc xây dựng độ thích nghi cũng là một bước quantrọng trong thuật toán di truyền Để đánh giá được độ thích nghi của các cáthể, thuật toán di truyền sử dụng một hàm đo gọi là hàm đánh giá độ thíchnghi (fitness function) Hàm đánh giá độ thích nghi cho một cá thể có đầu vào
là biểu diễn của cá thể đó và đầu ra là một số thực Tùy theo giá trị của số thựcnày mà ta biết độ tốt của cá thể đó (chẳng hạn với bài toán tìm cực đại thì giátrị trả ra càng lớn thì cá thể càng tốt, và ngược lại, với bài toán tìm cực tiểu thìgiá trị trả ra càng nhỏ thì cá thể càng tốt)
Lai ghép
Lai ghép là quá trình tạo ra con lai từ các cá thể cha mẹ ban đầu Cácphép lai ghép được sử dụng phổ biến nhất là lai ghép một điểm cắt (one pointcrossover ), lai ghép hai điểm cắt (two point crossover ), [18]
Đột biến
Nếu như phép lai ghép tạo ra các cá thể mới có thể kế thừa được những gentốt của cha mẹ thì phép đột biến sẽ giúp duy trì tính đa dạng của quần thểbằng cách thêm vào các gen mới một cách ngẫu nhiên Điều này có thể giúp choquần thể tránh mắc kẹt tại một cá thể tối ưu cục bộ Phép đột biến thường xảy
ra với một xác suất nhỏ vì nếu xác suất đột biến lớn thì thuật toán di truyền sẽtrở thành quá trình tìm kiếm ngẫu nhiên Một số phép đột biến thường gặp là:đột biến đảo bít (bit flip mutation), đột biến hoán vị (swap mutation), đột biến
Trang 32Chọn lọc là quá trình chọn những cá thể từ quần thể hiện tại để tạo ra thế
hệ sau Theo thuyết tiến hóa của Darwin, những cá thể xấu sẽ bị đào thải những
cá thể tốt sẽ được giữ lại Như vậy, độ thích nghi của các cá thể trong quần thể
sẽ hoàn thiện hơn sau nhiều thế hệ Có nhiều phương pháp để chọn lọc cá thể,
ví dụ: chọn lọc theo cách quay bánh xe Ru lét (roulette wheel ), chọn lọc xếphạng (rank selection), chọn lọc tranh đấu (tournament selection),
Kết thúc dựa vào số thế hệ: chọn số thế hệ, quá trình sẽ dừng đúng ngay
số thế hệ đã qui định trước, không cần biết kết quả như thế nào
Tính theo thời gian: không cần biết qua bao nhiêu thế hệ hay kết quả nhưthế nào, chỉ dựa vào thời gian qui định kết thúc
Kết hợp: dùng nhiều phương pháp khác nhau cho vấn đề chẳng hạn như:chạy theo số thế hệ, tiếp đến đánh giá theo kết quả hoặc ngược lại
1.2.2 Thuật toán tiến hóa đa nhân tố
Các thuật toán tiến hóa đã được áp dụng thành công để giải quyết nhiều bàitoán tối ưu trong khoa học, nghiên cứu, và các bài toán thực tiễn trong cuộcsống GAs cũng như các thuật toán tiến hóa khác chỉ tập trung vào việc tìm lờigiải tối ưu cho một bài toán (nhiệm vụ) tại một thời điểm Mặc dù vậy, trongthực tế, có nhiều bài toán cần được giải quyết đồng thời Ví dụ là các dịch vụđiện toán đám mây cần phải đối mặt với nhiều yêu cầu từ người dùng Mỗiyêu cầu có thể được xem như một nhiệm vụ tối ưu cần được giải quyết Nhữngnhiệm vụ này có thể có những tính chất tương tự hoặc hoàn toàn khác nhau Đểgiải quyết vấn đề này, Gupta và các cộng sự [19] đã giới thiệu mô hình tiến hóamới được gọi là tiến hóa đa nhân tố Đây là mô hình tiến hóa đa nhiệm đượcđặc trưng bởi sự tồn tại đồng thời của nhiều không gian tìm kiếm tương ứng vớicác nhiệm vụ khác nhau (có thể có hoặc không phụ thuộc lẫn nhau) Mô hìnhnày được lấy cảm hứng từ quan sát: mỗi nhiệm vụ tiến hóa sẽ đóng góp mộtnhân tố duy nhất ảnh hưởng đến quá trình tiến hóa của quần thể
Trang 331.2.2.1 Tiến hóa đa nhân tố
Giả sử, cần phải giải quyết K nhiệm vụ tối ưu hóa đồng thời Không mấttính tổng quát, giả sử rằng tất cả các nhiệm vụ đều là bài toán tối thiểu hóa(minimization problem) Tác vụ thứ jth ký hiệu là Tj có không gian tìm kiếm
Xj với hàm mục tiêu là f j : Xj →R Mỗi nhiệm vụ có thể bị ràng buộc bởi các
phương trình hoặc bất phương trình nào đó
Trong bối cảnh như vậy, người ta định nghĩa tiến hóa đa nhân tố là mộtchiến lược tiến hóa đa nhiệm được xây dựng trên sự song song hóa hoàn toàncủa việc tìm kiếm dựa vào quần thể với mục đích tìm:
{x1 ,x2 , ,xK−1,xK} = argmin{f 1 (x), f 2 (x), , fK−1(x), fK(x)}, trong đó xj
là một lời giải khả thi trong Xj
Nguyên tắc cơ bản trong thiết kế thuật toán tiến hóa đa nhân tố là dựatrên nguyên tắc chọn lọc tự nhiên của Darwin, do đó, cần xây dựng một kĩthuật để đánh giá các cá thể trong một môi trường đa nhiệm Dựa theo đó, ta
sẽ xác định một tập hợp các thuộc tính của mỗi cá thể pi riêng lẻ, trong đó
i ∈ {1, 2, , |P |}, trong một quần thể P Các cá thể được mã hóa trong mộtkhông gian tìm kiếm hợp nhất bao gồm X1,X2, ,Xk, và có thể được giải mãthành lời giải riêng cho mỗi nhiệm vụ Dạng giải mã của cá thể p i có thể đượcviết như là {xi
p i đối với nhiệm vụ T j là Ψij = λ.δji+ fji; trong đó λ là một hằng số phạt lớn, fji
và δji là giá trị mục tiêu và tổng số sự vi phạm ràng buộc tương ứng của pi đốivới nhiệm vụTj Do vậy, nếu pi là cá thể hợp lệ đối với nhiệm vụ Tj (sự vi phạmràng buộc bằng 0) thì Ψij = fji
Định nghĩa 1.12 (hạng của cá thể với từng tác vụ (factorial rank ) [19]) Hạng
rji của cá thể p i đối với nhiệm vụ T j là thứ hạng của p i trong quần thể P sau khiđược sắp sếp theo thứ tự tăng dần hoặc giảm dần của Ψij
Định nghĩa 1.13 (hàm thích nghi vô hướng (scalar fitness) [19]) Danh sáchcác xếp hạng của một cá thể p i trên K nhiệm vụ {r1i, ri2, , rKi } có thể được biếnđổi sang một hình thức đơn giản hơn là giá trị hàm thích nghi vô hướng ϕi Giá
Trang 34Định nghĩa 1.14 (chỉ số kỹ năng phù hợp nhất (skill factor ) [19]) Nhân tố kỹnăng τi của cá thể pi là nhiệm vụ mà cá thể pi thực hiện hiệu quả nhất, nghĩa là
ưu hóa trong ngữ cảnh đa nhân tố nếu và chỉ nếu ∃j ∈ {1, 2, , K} sao cho
fj∗ ≤ fj(xj) đối với mọi xj khả thi trong Xj
1.2.2.2 Thuật toán tiến hóa đa nhân tố
Thuật toán tiến hóa đa nhân tố (multifactorial evolutionary algorithm MFEA) được lấy cảm hứng từ mô hình văn hóa sinh học của kế thừa đa nhân tố.Thuật toán làm việc dựa trên chuyển giao vật liệu di truyền và văn hóa từ cha
-mẹ đến con cái của họ Cụ thể việc chuyển giao văn hóa được kết hợp thông quahai đặc tính của kế thừa đa nhân tố là giao phối hợp nhất (assortative mating)
và truyền văn hóa theo chiều dọc (vertical cultural transmission) Chi tiết vềMFEA được đưa ra trong thuật toán 1.1
Thuật toán 1.1: Cấu trúc cơ bản của MFEA
1 Khởi tạo quần thể current-pop (P) ban đầu ;
2 Đánh giá các cá thể trên các nhiệm vụ ;
3 Tính chỉ số kỹ năng phù hợp nhất (τ ) cho mỗi cá thể ;
4 while điều kiện dừng chưa được thỏa mãn do
5 Áp dụng các phép toán di truyền lên quần thể current-pop để tạo ra một
quần thể con offspring-pop (C); Xem Thuật toán 1.3.;
6 Đánh giá các cá thể trong quần thể offspring-pop (C) chỉ đối với các nhiệm
vụ được lựa chọn ;
7 Gộp offspring-pop và current-pop để tạo ra quần thể trung gian
intermediate-pop (P ∪ C) ;
8 Cập nhật hàm thích nghi vô hướng (ϕ) và chỉ số kỹ năng phù hợp nhất (τ )
của các cá thể trong intermediate-pop ;
9 Lựa chọn các cá thể trong intermediate-pop để hình thành current-pop cho
thế hệ tiếp theo;
10 end
Khởi tạo quần thể
Trang 35Giả sử rằng K nhiệm vụ tối ưu được thực hiện một cách đồng thời, số chiềucủa nhiệm vụ thứ j là Dj Theo đó, một không gian hợp nhất với số chiều
Dmutitask được hình thành, với Dmultitask = max j {D j } Trong bước khởi tạo quầnthể, mọi cá thể đều có số chiều là Dmutitask Các cá thể này có các alen là cácbiến ngẫu nhiên (có giá trị trong đoạn [0,1]) Chiều thứi trong không gian hợpnhất được biểu diễn bởi một khóa ngẫu nhiên yi Khi giải quyết nhiệm vụ Tj,đơn giản chỉ cần sử dụng Dj giá trị đầu tiên của cá thể Cách mã hóa này kháhiệu quả hơn so với việc ghép số chiều của từng nhiệm vụ để tạo thành một cáthể có chiều dài lớn D1+ D2+ + DK Khi xử lý nhiều nhiệm vụ, các vật liệu
di truyền sẽ được khuyến khích khám phá và chuyển giao từ nhiệm vụ này sangnhiệm vụ khác theo một cách hiệu quả Hơn nữa, một cá thể trong quần thể cóthể thừa hưởng các đoạn gen tương ứng với nhiều nhiệm vụ tối ưu hóa Do đó,việc kế thừa đa nhân tố trở nên có ý nghĩa hơn
đi các yếu tố di truyền tốt và đa dạng có sẵn từ các nền văn hóa khác Ngượclại, khi giá trị rmp lớn (dần về 1) thì sẽ xảy ra các biến thể di truyền được tạo rabởi đột biến (xảy ra khi các cha mẹ có nhân tố kỹ năng khác nhau) Điều nàytạo điều kiện thuận lợi cho việc khám phá các vùng giới hạn của không gian tìmkiếm, nhờ đó có thể thoát khỏi tối ưu cục bộ
Trang 36thành một cá thể phù hợp trên nhiệm vụ Tj Đối với bài toán tối ưu hóa liêntục, điều này được thực hiện một cách đơn giản Ví dụ, xem xét biến thứi (xi),phạm vi của biến này là [L i , U i ] Nếu giá trị trên cá thể trong không gian chung
làyi, khi ánh xạ sang không gian của bài toán thì xi = Li+ (Ui− Li) ∗ yi Ngượclại, đối với bài toán tối ưu rời rạc, việc giải mã cá thể thường phụ thuộc vào từngbài toán cụ thể Các tác giả trong [19] đã quan sát rằng, một cá thể được tạo
ra trong MFEA dường như không “tốt” trên tất cả các nhiệm vụ Do đó, một
cá thể chỉ được đánh giá trên các nhiệm vụ mà nó thực hiện tốt nhất Để kếthợp đặc tính này vào MFEA một cách đơn giản, các tác giả đã sử dụng phép ditruyền văn hóa theo chiều dọc Trong kế thừa đa nhân tố, việc truyền văn hóatheo chiều dọc là một phương thức kế thừa song song với kế thừa sinh học saocho các con cái kế thừa được kiểu hình của bố mẹ Quan sát trên được thực hiệntrong MFEA bằng cách cho phép con cái bắt chước (imitate) yếu tố kỹ năng(đặc điểm văn hóa) của cha hoặc mẹ chúng Điều này được coi như là một sự bắtchước có chọn lọc (selective imitation) Chi tiết được thực hiện trong thuật toán1.2 Do đó, thay vì đánh giá cá thể cho hai nhiệm vụ, chỉ cần đánh giá cá thể nàycho một nhiệm vụ Sự kết hợp này làm giảm đáng kể số lần đánh giá cần thiết
Trang 37Thuật toán 1.2: Cơ chế đánh giá cá thể
1 Các thể c sẽ có hai cha mẹ (p a và pb) hoặc có một cha mẹ (p a hoặc pb) .
Xem thuật toán 1.3;
2 if c có hai cha mẹ then
3 Sinh ngẫu nhiên một số thực rand trong khoảng 0 đến 1;
12 c bắt chước cá thể cha/mẹ của nó → con lai được đánh giá chỉ cho
nhiệm vụ đó với chỉ số kỹ năng phù hợp nhất là của cha mẹ nó;
13 end
14 nhân tố chi phí của c được gán là ∞ cho các nhiệm vụ mà nó không
được đánh giá;
Thuật toán 1.3: giao phối hợp nhất
1 Lựa chọn hai cá thể p a và p b ngẫu nhiên từ quần thể current-pop;
2 Sinh ngẫu nhiên một số thực rand trong khoảng 0 đến 1;
3 if τa= τb or rand < rmp then
4 Lai ghép hai cha mẹ pa và pb để sinh ra hai cá thể con ca và cb;
5 end
6 else
7 Đột biến pa để tạo ra con ca;
8 Đột biến pb để tạo ra con cb;
Trang 38tiêu Cách tiếp cận thứ hai dựa trên thuật toán tiến hóa Trong cách tiếp cậnnày, chúng ta sẽ tối ưu đồng thời các mục tiêu Biên Pareto được xấp xỉ bằngcách lặp đi lặp lại quá trình giải bài toán với các tham số được cập nhật quatừng bước.
Các thuật toán tiến hóa đa mục tiêu (multiobjective evolutionary algorithms
- MOEAs) là hướng tiếp cận dựa trên quần thể phù hợp để giải quyết các bàitoán tối ưu đa mục tiêu vì các thuật toán này duy trì đồng thời một tập cáclời giải khả thi của quần thể Điều này cho phép tìm một số phần tử của tậpPareto tối ưu trong một lần chạy thuật toán, thay vì phải thực hiện các bàitoán riêng biệt với các trọng số của các mục tiêu khác nhau Tuy nhiên, tháchthức lớn của các thuật toán tiến hóa là làm sao để định hướng quá trình tìmkiếm về tập Pareto tối ưu và duy trì tính đa dạng của quần thể để ngăn việchội tụ sớm Phần tiếp theo sẽ trình bày một số thuật toán MOEAs dựa trênPareto gồm: thuật toán di truyền sắp xếp không trội (non-dominated sortinggenetic algorithm II - NSGA-II ) và thuật toán đa mục tiêu dựa trên phân rã(multiobjective evolutionary algorithm based on decomposition- MOEAD ) Cácthuật toán này sẽ được sử dụng ở chương sau
1.3.1 Thuật toán di truyền sắp xếp không trội
Đối với các thuật toán tiến hóa đơn mục tiêu, việc chọn lọc các cá thể diễn
ra khá dễ dàng nhờ vào việc so sánh độ thích nghi của các cá thể Ví dụ như,đối với bài toán cực tiểu hóa, những cá thể nào có độ thích nghi nhỏ thì tốt hơncác cá thể có độ thích nghi lớn Tuy nhiên, đối với các thuật toán tiến hóa đamục tiêu, việc so sánh các cá thể trong quần thể khá phức tạp Để biết một cáthể có phải là tốt nhất trong quần thể hay không, chúng ta cần phải kiểm tra
cá thể đó có bị trội bởi các cá thể khác trong quần thể không (khái niệm trội,
bị trội được đưa ra trong định nghĩa 1.6) Ý tưởng của NSGA-II dựa trên việcsắp xếp các cá thể thành các tập không trội (xem định nghĩa 1.7) và tính toándựa trên việc phân bố của các cá thể để tiến hành quá trình chọn lọc tự nhiên
1.3.1.1 Sắp xếp không trội
Một thách thức lớn khi thực hiện sắp xếp các cá thể không trội liên quanđến việc so sánh các cá thể Mỗi cá thể có thể được so sánh với mọi cá thể kháctrong quần thể để xem nó có trội hay không? Điều này yêu cầu m × (N − 1)
phép so sánh Ở đây m là số lượng mục tiêu và N là kích thước quần thể Do
Trang 39Hình 1.5: Minh họa việc sắp xếp không trội
đó, trong lần sắp xếp đầu tiên cần PN −1
i=1 m ∗ (N − i)) = 12m ∗ N ∗ (N − 1) phép
so sánh Kết quả của quá trình sắp xếp thường được lưu trữ trong một ma trận
donM at kích thước N × N, trong đó mỗi phần tử của ma trận cho biết mối quan
hệ trội giữa hai cá thể trong quần thể Các trường hợp có thể xảy ra với hai cáthể x và y
Nếu x và y là những lời giải khả thi và x y thì donM at(y, x) = 1; ngượclại, nếu y x thì donM at(y, x) = −1;
Nếu x và y là những lời giải khả thi và không so sánh được với nhau (cónghĩa là không biết cá thể nào trội hơn cá thể nào) thì donM at(y, x) = 0;
Nếuxlà một lời giải khả thi,ykhông phải là lời giải khả thi thìdonM at(y, x) =
donM at(y, x) = 1; ngược lại donM at(y, x) = −1;
Để minh họa ý tưởng này, chúng ta sẽ sử dụng ví dụ của một quần thể với kíchthước N = 10 được đưa ra trong hình 1.5 Giả sử rằng, bài toán đang được xemxét là bài toán tối ưu không có ràng buộc Ma trận trội trong hình 1.6 có thểtìm được bằng việc so sánh các cá thể trong quần thể Ví dụ, khi so sánh cá thể
1 và cá thể 10, thấy rằng 1 10, nên donM at(1, 10) = −1 và donM at(10, 1) = 1.Nhược điểm của cách sắp xếp này là chúng ta độ phức tạp lớn do mỗi cá thể
Trang 40Hình 1.6: Ma trận trội cho ví dụ được đưa ra trong hình 1.5
Với mỗi cá thểp, tính toán hai giá trị : (1) số trộinp hay số lượng các cá thể mà
p bị trội, p = 1, 2, , N, (2) tập Dp các cá thể mà p trội Các cá thể trong biênkhông trội đầu tiên sẽ có np = 0 Từ bảng 1.1, các cá thể trong biên không trộiđầu tiên được kí hiệu là P F 1 = {1, 2, 4, 8} Với mỗi cá thể thứ i trong biên đầutiên, phần tử trong tập Di sẽ được duyệt và giảm số trội của các cá thể này đi
1 Ví dụ, xét cá thể thứ hai của tập P F1, có D2= {3, 5, 6, 7, 9, 10} Giá trị này sẽđược tính lại n 3 = 3 − 1 = 2, n 5 = 1, n 7 = 4, n 9 = 2 và n 10 = 6 Sau quá trình này,
sẽ tìm được tập P F2 là tập các cá thể có các giá trị np thấp nhất Trong ví dụnày, các cá thể 5 và 6 sẽ thuộc biên P F2 Quá trình lặp lại chúng ta sẽ tìm được
P F3= {7} Có một vài cá thể sẽ không được xem xét trong quá trình này, ví dụnhư các cá thể 3, 7 và 10, do các cá thể này bị trội
Bảng 1.1: Giá trị cp và Dp được tính từ ma trận trội.