Giải thuật xấp xỉ

Một phần của tài liệu Luận án tiến sĩ mạng máy tính và truyền thông dữ liệu: Đề xuất giải pháp xấp xỉ và chính xác của điều khiển lưu lượng và đảm bảo độ tin cậy cho chuỗi chức năng dịch vụ trong Ảo hóa chức năng mạng (Trang 103 - 106)

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

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

Một phần của tài liệu Luận án tiến sĩ mạng máy tính và truyền thông dữ liệu: Đề xuất giải pháp xấp xỉ và chính xác của điều khiển lưu lượng và đảm bảo độ tin cậy cho chuỗi chức năng dịch vụ trong Ảo hóa chức năng mạng (Trang 103 - 106)

Tải bản đầy đủ (PDF)

(139 trang)