Bài toán bảo vệ trong mạng là một trong những bài toán trung tâm của thiết kế mạng quang và thuộc lớp bài toán NP khó. Bài toán càng trở nên phức tạp hơn trên mạng quang thế hệ mới hiện nay – mạng quang lưới bước sóng linh hoạt EON (Elastic Optical Network). Trong mạng quang EON, bài toán bảo vệ phải xét thêm các yếu tố như sức tiêu thụ điện năng, yêu cầu phân bổ phổ và phân bố các định dạng điều chế. Đa số các nghiên cứu trước đây tập trung vào việc đề xuất các lời giải gần đúng cho bài toán. Trong khóa luận này, tôi đề xuất phương pháp chính xác sinh cột (CGColumn Generation) để tìm lời giải tối ưu cho bài toán bảo vệ mạng EON hiệu quả điện năng chống lại lỗi liên kết đơn dựa trên chu trình cấu hình trước (pcycle). Kết quả thực nghiệm trên mạng thực tế NSFNET đã chỉ ra hiệu năng của giải pháp đề xuất.
ĐẠI HỌC SƯ PHẠM HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN - - NGUYỄN KHẮC ÂN THUẬT TOÁN TỐI ƯU GIẢI BÀI TOÁN BẢO VỆ TRONG MẠNG QUANG EON KHÓA LUẬN TỐT NGHIỆP Ngành: KHOA HỌC MÁY TÍNH HÀ NỘI, 04-2021 ĐẠI HỌC SƯ PHẠM HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN - - NGUYỄN KHẮC ÂN THUẬT TOÁN TỐI ƯU GIẢI BÀI TOÁN BẢO VỆ TRONG MẠNG QUANG EON KHÓA LUẬN TỐT NGHIỆP Ngành: KHOA HỌC MÁY TÍNH Cán hướng dẫn: TS ĐỖ TRUNG KIÊN HÀ NỘI, 04-2021 NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN Hà Nội, ngày tháng năm 2021 Giảng viên hướng dẫn (Ký ghi rõ họ tên) NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN Hà Nội, ngày tháng năm 2021 Giảng viên phản biện (Ký ghi rõ họ tên) LỜI CAM ĐOAN Tơi xin cam đoan khóa luận kết nghiên cứu cá nhân tơi Các số liệu tài liệu trích dẫn khóa luận trung thực Kết nghiên cứu khơng trùng với cơng trình cơng bố trước Tơi chịu trách nhiệm với lời cam đoan Hà Nội, ngày tháng năm 2021 Sinh viên Nguyễn Khắc Ân LỜI CẢM ƠN Để hồn thành khóa luận này, em nhận giúp đỡ thầy cô, bạn bè, anh chị khóa người thân gia đình Em xin bày tỏ lòng biết ơn sâu sắc đến: Thầy giáo hướng dẫn TS Đỗ Trung Kiên, người thầy mà em vơ ngưỡng mộ Thầy tận tình hướng dẫn, động viên, trang bị kiến thức tài liệu quý giá, tạo điều kiện thuận lợi giúp đỡ em suốt trình nghiên cứu hồn thành khóa luận Các thầy giáo khoa Công nghệ thông tin, trường Đại học Sư Phạm Hà Nội trực tiếp giảng dạy em suốt năm học vừa qua góp ý, giúp đỡ em để em hồn thành tốt khóa luận Sau em xin gửi lời biết ơn sâu sắc tới gia đình người thân bạn bè ln động viên, khích lệ em hồn thành khóa luận Mặc dù có nhiều cố gắng để thực đề tài cách hoàn chỉnh nhất, song buổi đầu làm quen với công tác nghiên cứu khoa học, hạn chế kiến thức kinh nghiệm nên khơng thể tránh khỏi thiếu sót Em mong nhận góp ý quý thầy để khóa luận hồn chỉnh Em xin chân thành cảm ơn! Hà Nội, ngày tháng năm 2021 Sinh viên Nguyễn Khắc Ân MỤC LỤC MỞ ĐẦU CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Tổng quan mạng quang 1.1.1 Mạng quang lưới cố định WDM 1.1.2 Mạng quang lưới bước sóng linh hoạt EON 10 1.2 Các công nghệ then chốt EON 15 1.2.1 Đường cấp quang linh hoạt 16 1.2.2 Công nghệ phần cứng 17 1.3 Phương pháp bảo vệ mạng quang 19 1.3.1 Bảo vệ khôi phục 20 1.3.2 Bảo vệ mạng quang WDM 22 1.3.3 Các kĩ thuật bảo vệ mạng quang WDM 23 1.3.4 Những thách thức việc bảo vệ mạng quang hệ 28 1.3.5 Thuật toán sinh cột 31 CHƯƠNG 2: THUẬT TOÁN SINH CỘT GIẢI BÀI TOÁN BẢO VỆ TRONG MẠNG EON 35 2.1 Bài toán bảo vệ mạng quang EON 35 2.2 Thuật tốn xác giải tốn bảo vệ mạng EON 37 2.2.1 Bài tốn 37 2.2.2 Bài toán 42 2.2.3 Thuật tốn tìm lời giải tối ưu cho toán 44 CHƯƠNG 3: CÀI ĐẶT VÀ ĐÁNH GIÁ THỰC NGHIỆM 45 3.1 Cài đặt chương trình 45 3.1.1 Giới thiệu ngôn ngữ OPL 45 3.1.2 Ví dụ cụ thể 47 3.1.3 Cài đặt số thủ tục 51 3.2 Mô tả liệu thực nghiệm 54 3.3 Đánh giá thực nghiệm 54 TÀI LIỆU THAM KHẢO 57 DANH MỤC HÌNH ẢNH Hình 1.1: Sự phát triển cơng nghệ truyền dẫn quang Hình 1.2: Cisco dự báo lưu lượng IP toàn cầu, 2016- 2021 Hình 1.3: Lưới cố định ITU-T Hình 1.4: Lưới SRL-WDM Hình 1.5: Lưới MLR WDM Hình 1.6: Phân bổ phổ tần mạng WDM thơng thường 11 Hình 1.7: Mạng quang lưới bước sóng linh hoạt 12 Hình 1.8: Minh họa việc sử dụng phổ tần WDM EON 13 Hình 1.9: Đường cấp quang linh hoạt [7] 16 Hình 1.10: Bộ biến đổi băng thông (BVT) 17 Hình 1.11: Bộ kết nối chéo biến đổi băng thơng BV-OXC [9] 19 Hình 1.12: Mạng bảo vệ/ khôi phục mạng 20 Hình 1.13: Bảo vệ đường cấu hình Mesh 21 Hình 1.14: So sánh hiệu suất chương trình bảo vệ khác 22 Hình 1.15: Bảo vệ chống lại lỗi liên kết đơn 24 Hình 1.16: Bảo vệ đường 25 Hình 1.17: Bảo vệ sử dụng p-cycle 26 Hình 1.18: Bảo vệ p-cycle vơ hướng p-cycle có hướng 27 Hình 1.19: Những thách thức việc bảo vệ mạng quang hệ 28 Hình 1.20: Sơ đồ thuật toán sinh cột 33 Hình 2.2: Phân bố FSs cho chu trình p có hướng khác 41 Hình 2.3: Sơ đồ thuật tốn 44 Hình 3.1: Mạng NSFNET 54 DANH MỤC BẢNG BIỂU Bảng 1.1: Tốc độ truyền, mức tiêu thụ lượng phạm vi truyền BVT với FS (12,5 GHz) định dạng điều chế khác 18 Bảng 2.1: Các tham số biến toán 38 Bảng 3.1: Kết thực nghiệm 55 DANH MỤC NHỮNG CHỮ VIẾT TẮT STT Chữ viết tắt Tiếng Anh Tiếng Việt 8-QAM 8-Quadrature Amplitude Modulation Điều chế biên độ vng góc 16-QAM 16-Quadrature Amplitude Modulation Điều chế biên độ vuông góc 16 ADC Analog to Digital Converter Chuyển đổi tín hiệu tương tự sang tín hiệu số BPSK Binary Phase-Shift Keying Điều chế pha nhị phân BVT Bandwidth-Variable Transponder Bộ biến đổi băng thông BV-OXC Bandwidth - Variable Optical cross - Connects Kết nối chéo biến đổi băng thông BV-WSS Bandwidth-Variable Wavelength Selective Switches Công tắc chọn lọc bước sóng băng thơng kết nối ngầm với CAGR Compound Annual Growth Rate Tốc độ tăng trưởng năm kép BPSK Binary Phase-Shift Keying Điều chế pha nhị phân 10 CO-OFDM Coherent Optical Orthogonal FrequencyDivision Multiplexing Ghép kênh phân chia theo tần số quang học kết hợp 11 CoWDM Coherent WavelengthDivision Multiplexing Ghép kênh phân chia theo bước sóng 12 DAC Digital to Analog Converter Chuyển đổi tín hiệu số sang tín hiệu tương tự 13 DEBPP Dedicated End-to-content Back-up Path Protection Bảo vệ đường dành riêng 14 DFB Distributed Feedback Laze phản hồi phân tán 15 DSP Digital Signal Processing Xử lý tín hiệu số 16 DWDM Dense Wavelength Division Ghép kênh phân chia bước Multiplexing sóng lớn 17 EDFA Erbium-Doped Fiber Amplifier Khuếch đại quang có pha tạp Erbium 18 EON Elastic Optical Network Mạng quang lưới bước sóng linh hoạt 19 FEC Forward Error Correction Kĩ thuật sửa lỗi trước 20 FIPP Failure-Independent Path Protection Đường dẫn độc lập 21 FS Frequency Slot Khe tần số 22 GB Guard Band Khe bảo vệ 23 ILP Integer Linear Programming Mơ hình lập trình tuyến tính ngun 24 ITU-T International Telecommunication Union - Telecommunication Standardization Sector Tiêu chuẩn viễn thông - thuộc Tổ chức Viễn thông quốc tế 25 MILP Mixed Integer Linear Mơ hình lập trình tuyến tính Programming nguyên hỗn hợp 26 MLR Mixed-Line-Rate Tốc độ đường truyền hỗn hợp 27 NFSNET National Science Foundation Network Mạng lưới Quỹ Khoa học Quốc gia 28 O/E/O Optical-Electrical-Optical Sự chuyển đổi quang sang điện điện sang quang 29 OAs Optical Amplifiers Bộ khuếch đại quang học 30 OAWG Optical Arbitrary Waveform Generation Tạo sóng quang học 31 OFDM Orthogonal FrequencyDivision Multiplexing Ghép kênh theo tần số trực giao 32 OOK On/Off Key Khóa bật/tắt 33 OPL Optimization Programming Language Ngơn ngữ lập trình tối ưu hóa 34 OXC Optical cross-connect Bộ kết nối chéo quang 35 P-cycle Pre-configured cycle Chu trình cấu hình trước 36 QAM Quadrature Amplitude Modulation Điều chế biên độ vng góc 37 QPSK Quadrature Phase Shift Keying Điều chế pha vng góc 38 RSA Routing and Spectrum Assignment Định tuyến gán phổ 2.2.3 Thuật tốn tìm lời giải tối ưu cho tốn Hình 2.3 sơ đồ khối mơ tả việc sử dụng phương pháp sinh cột (CG) để giải tốn Đầu tiên giải tốn MP_EON với tập cấu hình Sau giải xong toán này, ta thu giá trị đối ngẫu ràng buộc, giá trị hỗ trợ cho toán PP_EON tìm cấu hình khả thi Ta giải toán PP_EON_1, PP_EON_2, …, PP_EON_n với giá trị đối ngẫu vừa tìm Các cấu hình khả thi thêm vào MP_EON làm tăng giá trị hàm mục tiêu Hình 22: Sơ đồ thuật tốn Quá trình lặp lặp lại khơng thể tìm cấu hình khả thi tập cấu hình tốn tối ưu nhất, lời ∗ giải nới lỏng tuyến tính tối ưu thuật tốn (kí hiệu 𝑍𝐿𝑃 ) Bước chúng ∗ ta sử dụng thuật tốn sinh cột tìm lời giải tối ưu 𝑍𝐿𝑃 cho tốn nới lỏng tuyến tính sau tìm lời giải tối ưu ngun 𝑍̃𝐼𝐿𝑃 cho tập cấu hình xây ∗ dựng bước Khi 𝑍𝐿𝑃 cận toán 𝑍̃𝐼𝐿𝑃 lời giải tối ưu thuật toán; độ lệch tối ưu thuật toán 𝐺𝐴𝑃 = ∗ (𝑍̃𝐼𝐿𝑃 − 𝑍𝐿𝑃 ) ⁄ ∗ 𝑍𝐿𝑃 44 CHƯƠNG 3: CÀI ĐẶT VÀ ĐÁNH GIÁ THỰC NGHIỆM Chương trình bày cách thức cài đặt đánh giá thực nghiệm giải pháp đưa Mục 3.1 giới thiệu ngơn ngữ lập trình số cài đặt chương trình Mục 3.2 mơ tả liệu thực nghiệm Đánh giá thực nghiệm mơ hình đưa mục 3.3 3.1 Cài đặt chương trình Chương trình viết ngơn ngữ lập trình tối ưu OPL (Optimization Programming Language) sử dụng thư viện CPLEX 12.6.2 3.1.1 Giới thiệu ngôn ngữ OPL OPL ngơn ngữ lập trình mơ hình hóa để giải tốn tối ưu Có hai lý chúng tơi sử dụng OPL để mơ hình hóa tốn tối ưu là: − Ngơn ngữ sử dụng cú pháp gần với cơng thức tốn học, làm cho việc chuyển đổi từ cơng thức tốn học thành chương trình thực máy tính trở nên dễ dàng − Ngơn ngữ cho phép có tách biệt rõ ràng mơ hình liệu Do đó, với mơ hình giải với liệu đầu vào khác mà không cần nhiều thay đổi OPL ngơn ngữ mơ hình hóa Một số ngơn ngữ khác bao gồm AMPL, Mosel GAMS Những ngôn ngữ thường sử dụng cho tốn tối ưu quy hoạch tuyến tính quy hoạch tuyến tính nguyên Cấu trúc mơ hình OPL bao gồm bốn phần a) Khai báo liệu Phần khai báo tham số liệu sử dụng mơ hình, thơng thường hệ số số cho biến định Các thơng số liệu đơn lẻ khai báo cách đưa kiểu tên chúng, Ví dụ 45 int a = Một tập biến kiểu khai báo cách để kiểu liệu dấu ngoặc móc Ví dụ {int} I = {2, 4, 6, 8} Các tập sử dụng để tạo mảng với số cho phần tử tập Ví dụ Float A[I] = [0, 2, 6, 5] b) Các biến định Chúng khai báo với từ khóa dvar, ví dụ: dvar float +x; x biến thực không âm Tương tự với liệu, tạo mảng biến số định cho tập cụ thể c) Hàm mục tiêu Hàm mục tiêu định nghĩa với từ khóa minimize maximize phụ thuộc vào tốn tối ưu tìm cực tiểu hay cực đại Ví dụ Maximize 10*x; d) Ràng buộc Các ràng buộc khai báo với từ khóa subject to Đoạn khai báo hai bất đẳng thức tuyến tính hai biến định x y Ví dụ Subject to { * x + * y = 5; } Lưu ý tất câu lệnh tệp mơ hình kết thúc dấu chấm phẩy 46 Ngồi từ khóa sử dụng để mơ tả mơ hình tối ưu hố, OPL cung cấp ngơn ngữ kịch cho mục đích ngồi tối ưu hóa Ngơn ngữ kịch sử dụng để hiển thị thông tin giải, để tương tác với mơ hình thay đổi nó, chạy nhiều lần mơ hình Ngơn ngữ kịch có cú pháp khác so với cú pháp phần mơ hình hóa bao bọc cụm execute Ví dụ execute { writeln (‘x =’, x) } in giá trị biến x 3.1.2 Ví dụ cụ thể a) Ví dụ Giả sử có tốn tối ưu hóa quy hoạch tuyến tính: Tìm giá trị nhỏ 4x – 2y Thỏa mãn điều kiện x – y ≥ 1; x ≥ 0; Mơ hình OPL cài đặt sau sau: example.mod 𝑑𝑣𝑎𝑟 𝑓𝑙𝑜𝑎𝑡 𝑥; 𝑑𝑣𝑎𝑟 𝑓𝑙𝑜𝑎𝑡 𝑦; 𝑚𝑖𝑛𝑖𝑚𝑖𝑧𝑒 ∗ 𝑥 − ∗ 𝑦; 𝑆𝑢𝑏𝑗𝑒𝑐𝑡 𝑡𝑜 { 47 𝑥 − 𝑦 > = 1; 𝑥 > = 0; } Phần điều kiện dòng loại bỏ thay khai báo đặc biệt cho biến x theo kiểu float+, nghĩa khai báo biến x có kiểu số thực dương b) Ví dụ Ví dụ cách để giải toán quy hoạch tuyến tính tổng qt ngơn ngữ OPL, minh họa cách kết hợp với đoạn ngôn ngữ kịch để hiển thị kết thu thập chi tiết lời giải Bài toán muốn giải viết dạng ma trận sau Tìm cực đại 𝑐𝑇 𝑥 Thỏa mãn 𝐴𝑥 = Mơ hình OPL sau: lp.mod int m = ; int n = ; range Rows = m; range Cols = n; float A[Rows][Cols] = ; float b[Rows] = ; float c[Cols] = ; 48 dvar float+ x[Cols]; maximize sum (j in Cols) c[j] * x[j]; subject to { forall (i in Rows) ct: sum (j in Cols) A[i][j] * x[j]