MẠNG AO TRONG ĐIỆN TOÁN BIEN
3.3.2. Giải thuật xấp xỉ
Trong phần trước, luận án đề xuất mô hình MILP nhằm tìm lời giải tối ưu
cho bài toán tối ưu hóa vị trí triển khai VNI và triển khai dự phòng VNFs
trong hệ thống NIoT. Tuy nhiên, các công cụ giải MILP thường that bại khi giải bài toán với quy mô hàng trăm yêu cầu dịch vụ và các nút tầng biên. Hơn
nữa rất khó để tìm ra các giải pháp tối ưu, đặc biệt là trong mạng quy mô lớn do đặc điểm NP-khó của việc đặt vị trí VNF [8]. Do đó, trong phan này luận án
Sĩ
Thuật toán 3.1 Giải thuật tim vị trí tối ưu cho triển khai các VNFs và triển khai dự phòng VNFs Input: Hệ thống NIoT biểu diễn bởi đồ thị G = (V, E), tập các yêu cầu dịch vụ D, tập các chức
năng mạng ảo F
Output: Vị trí tối wu cho triển khai các VNFs Y và triển khai dự phòng VNFs B
1: (Y,B) + GREEDY(G, D, F) 2: (A,U) + CACULATE(Y, B)
3: Abest - A, Ubest ô+U 4: Q — Q,
5: while Q > 1 do 6: z0
7: while i < L do
8: (r ,B ) + NEIGHBORGENERATION(Y, B) 9: (4.1) © CACULATE(Y’, B’)
0: AAC©A—A,AU©U -U,
1: if AA >0 and AU >0 then
2: (Y,B)© (r.z)
3: if U' > Usest then
4: Abest cA dest -U
5: end if 6: else
7: if random(0,1) < e ^U/9 then
8: (Y,B) (r.ứ)
9: end if 20: end if
21: I man!
22: end while
23: Q + ReduceTemperature(Q)
24: end while
đề xuất giải thuật xấp xỉ (được trình bay trong Thuật toán 3.1) cho hệ thống
NIoT với quy mô lớn nhằm đạt được tong chi phí triển khai nhỏ nhất cho bài toán tối ưu hóa vị trí triển khai VNI và triển khai dự phòng VNFs.
Ý tưởng chính của giải thuật là dựa trên giải thuật mô phỏng luyện kim
(Simulated Annealing (SA) [41]) với chiến lược lựa chọn các lời giải lân cận,
trong đó lời giải đại diện cho giải pháp đặt vị trí tối ưu cho việc triển khai các VNFs và triển khai dự phòng cho các VNI đó trong hệ thống. SA là một hướng
tiếp cận xấp xỉ nhằm tìm lời giải tối ưu toàn cục cho bài toán tối wu trong một
tập các lời giải khả thi mà có thể chứa một vài lời giải tối wu cục bộ. Để vượt
qua các lời giải tối ưu cục bộ, trong một số trường hợp cần chọn lời giải tồi hơn
với một xác suất nào đó. Bằng cách đó, giải thuật có thể vượt qua lời giải tối
ưu cục bộ một cách đơn giản và hiệu quả.
Ban đầu giải thuật đề xuất sử dụng hàm GREEDY (được trình bày trong
Thuật toán 3.2) để tìm một lời giải khả thi cho bài toán tối ưu hóa vị trí triển
88
khai các VNFs và triển khai các dự phòng VNI tương ứng. Giải thuật sẽ tiến
hành tìm lời giải tối ưu thông qua thực hiện hai vòng lặp với chiến lược lựa chọn
lời giải lân cận. Cu thể, với hai vòng lặp luận án sử dung Qo (dòng 4) và L (dòng 7) như là hai tham số để thiết lập nhiệt độ ban đầu và số lần lặp trong mỗi
vòng lặp bên trong. Giải thuật sử dung hàm NeighborGeneration (được trình
bày trong Thuật toán 3.3) để sinh ra một lời giải lân cận mới (dòng 8). Tiếp theo, dựa trên lời giải lân cận mới, giải thuật đánh giá giá trị hàm mục tiêu U’
theo công thức (3.14). Các dòng 11 và 12 thể hiện rằng lời giải lân cận mới là tốt hơn lời giải hiện tại khi và chỉ khi giá tri của hàm mục tiêu Uˆ không tồi hơn và số lượng các SFCs A được triển khai dự phòng là không giảm. Quá trình tối
ưu cập nhật lời giải lân cận mới làm lời giải hiện tại khi lời giải lân cận mới tốt
hơn lời giải hiện tại hoặc với xác suất e~44/@ khi lời giải lan cận không tốt hơn lời giải hiện tại để vượt qua tối ưu cục bộ. Cuối cùng, giải thuật sẽ đạt được lời
giải tối ưu cho bài toán.
Hàm GREEDY được thiết kế để tìm một lời giải khả thi cho bài toán tối ưu hóa vị trí triển khai VNFs và triển khai dự phòng VNI với các mục tiêu sau
đây. Mục tiêu đầu tiên mà lời giải cần đạt được là tất cả các primary VNFs và full-backup VNFs tương ứng được đặt trên các nút khác nhau nhằm đáp ứng với lỗi xảy ra lại bất kỳ nút nào trong hệ thống. Mục tiêu thứ hai nhằm tăng giá tri
nhỏ nhất của độ tin cậy của các SFCs lên cao nhất có thể. Ý tưởng chính của
giải thuật là gan các SFC có độ tin cậy cần đạt được lớn nhất cho các nút biên có độ tin cậy cao nhất. Chi tiết các bước thực hiện của hàm GREEDY được trình bày trong Thuật toán 3.2. Đầu tiên, tất cả các yêu cầu dịch vụ được sắp xếp giảm dần theo độ tin cậy cần dat được và lưu lượng di liệu (dòng 2). Tiếp theo, tất cả các nút biên được sắp xếp trước tiên theo độ tin cậy giảm dần và
sau đó sắp xếp tăng dan theo chi phí triển khai chức năng mạng ảo để xử lý
mỗi đơn vị dữ liệu (dòng 3). Tập các nút biên sau khi sắp xếp được gọi là Vy.
Sau đó với mỗi chuỗi dịch vụ, giải thuật sẽ tìm nút biên thích hợp để triển khai
các primary VNFs của chuỗi dịch vụ đó (dòng 4 đến 14) và tìm một nút biên
thích hợp khác để triển khai các full-backup VNFs tương ứng (dòng 15 đến 25).
Cu thể, giải thuật sẽ tim nút đầu tiên trong tap các nút biên Vie ma con đủ tai
89
Thuật toán 3.2 Giải thuật tham lam tìm lời giải khả thi cho vị trí tối ưu cho triển khai các VNFs và triển khai dự phòng VNFs
Input: Hệ thống NIoT biểu diễn bởi đồ thị G = (V, E), tập các yêu cầu dịch vụ D, tập các chức
năng mạng ảo F
Output: Vị trí triển khai các VNFs Y và triển khai dự phòng VNEs B
1: function GREEDY(G,D,F)
2: Sắp xếp các yêu cầu dịch vụ trong tập yêu cầu dịch vụ D theo độ tin cậy cần đạt và tổng lưu
lượng di liệu giảm dần
3: Vie © Sắp xếp V+ với độ tin cậy r„„ giảm dan và chi phí triển khai chức năng mang ảo để xử
lý mỗi đơn vị dữ liệu ¢, tăng dần
4: for d, c D do