B àitoán MCOP đã đƣợc chứng minh thuộc lớp bài toán NP-Complete [52]. Sự phức tạp của bài toán MC(O)P đƣợc chỉ ra ở một số yếu tố [22] [39], :
Mạng: kiến trúc mạng (Power-law, Lattice..), kích thƣớc mạng (N, E), số tham số QoS (m). Khi N, E, m càng lớn th độ ì phức ạp bài toán t càng cao. B n cê ạnh đó ìm t đƣờng n c trê ấu trúc mạngmắt cáo (lattice) l àkhónhất trong c áckiểu kiếntrúc mạng.
Định lượng hoá các tham số QoS, n cếu ác thông s Q ố oS đƣợc chọn h l vợp ý à à ố l s nguyên (tr một th ng s l s thực) th bài toán s ừ ô ố à ố ì ẽ đƣa đƣợc ề ạng v d kh ng ph l ô ải àNP-Complete .
Mối quan hệ tương quan giữa các thông số QoS, nếu các tham số QoS có quan hệ ―+” với nhau thì khả năng có thể giảm bớt N, E bằng các kỹ thuật rút gọn mạng.
Các điều kiện ràng buộc, n rếu àngbuộc ất ỏng hoặc r r l ất chặt d thì ễ tìm nghiệm, bài toán trở nên rất khó khi điều kiện ràng buộc nằm trong các khoảng nhất định trong kh ng gian tìm kiếm nghiô ệm.
Bài toán MCOP đóng vai tr quan trò ọng trong định tuyến Q oS vì:
Nếu giải quyết đƣợc bài toán tổng quát này sẽ dễ dàng thích nghi với trƣờng hợp riêng, chẳng hạn bài toán thỏa mãn m-1 tham số QoS và tối ƣu theo một tham số QoS còn lại.
Bài toán MCOP còn có khả năng hƣớng đến QoS từ đầu cuối đến đầu cuối trong trƣờng hợp liên mạng bởi vì khác với bài toán ràng buộc MCP là chỉ tìm ra đƣờng thỏa mãn ràng buộc nhƣng ràng buộc cho các dịch vụ trên mạng thƣờng ám chỉ End- -To End chứ không phải của từng miền mạng (vấn đề này sẽ đƣợc đề cập rõ hơn trong chƣơng 4 của luận án).
Do sự quan trọng của bài toán MCOP nên trong thời gian vừa qua có rất nhiều nghiên cứu xoay quanh vấn đề này [12] [30] [53] [60], , , . Đặc trƣng của bài toán NP-Complete là không xác định được thời gian tìm nghiệm cho nên khi có yêu cầu tìm đƣờng đi các thiết bị mạng có thể mất rất nhiều thời gian tính toán để tìm đƣờng và khó có thể đáp ứng được khi mạng lớn, tần suất các yêu cầu định tuyến lớn và các ứng dụng đòi hỏi tính thời gian thực cao. Do vậy, mục tiêu nghiên cứu trong việc giải bài toán MCOP hiện nay là tìm ra các giải thuật có độ phức tạp không lớn có thể chấp nhận đƣợc. Một số hƣớng giải quyết bài toán MCOP và các giải pháp đã đƣợc đƣa ra nhƣ trình bày dƣới đây
1.4.3.2.1 Phương pháp tìm nghiệm gần đúng (xấp xỉ)
Khi s dử ụng phƣơng pháp này t l c ức à đã ó một thoả hiệp giữa chất lƣợng lời
giải và thời gian tìm ra lời giải. Ở đây, nghiệm tìm đƣợc không ph l ải à nghiệm t u nh ng s ối ƣ ƣ ẽ đảm ảo b thời gian tínhtoán.
Việc tìm nghiệm xấp xỉ thƣờng dựa trên phƣơng pháp lấy tỷ lệ/ làm tròn số (scaling/ rounding) và phân hoạch (partitioning). Kỹ thuật lấy tỷ lệ/ làm tròn số đơn giản hoá bài toán bằng cách làm tròn các thông số hoặc lấy tỷ lệ các thông số. Trong bƣớc khởi tạo ngƣời ta tìm ra giới hạn trên (UB) và giới hạn dƣới (LB) của nghiệm, sử dụng bƣớc lặp kiểm tra để điều chỉnh và tính UB và LB. Sau khi tính đƣợc LB, UB một thuật toán xấp xỉ đƣợc xây dựng với các thông số mới đƣợc lấy tỷ lệ và làm tròn từ các thông số ban đầu. Tiếp theo, ngƣời ta sử dụng một giải thuật đa thức thời gian để tìm nghiệm của bài toán mới này. Kỹ thuật phân hoạchmở rộng từ phƣơng pháp lấy tỷ lệ và làm tròn số trên đây và dùng kỹ thuật gọi là Interval partioning nhằm giảm nhỏ . Một s ốgiải pháp s dử ụng k thu tỹ ật ìm nghiệm g ần đúng cho b àitoán MCOP nhƣ: [7] [8] [13] [18]. , , ,
Phần lớn các giải pháp xấp xỉ áp dụng cho lớp bài toán RSP (dạng bài toán Q R voS ới 2 tham s , nghiố ệm tìm đƣợc ê y u c tho m 1 rầu ả ãn àng buộc à ối v t ƣu theo tham s còn lại). Kuipe [15] ố rs đã so sánh một số giải pháp xấp xỉ với nhau cũng nhƣ với giải pháp tìm nghiệm chính xác (các tiêu chí đánh giá là
độ chính xác của nghiệm và tốc độ tính toán). Kết quả cho thấy khi tìm nghiệm thoả mãnthì phƣơng pháp này tỏ ra khá hiệu quả nhƣng khi yêu cầu
nghiệm tối ƣu thì sự phức tạp thuật toán cũng tăng dần và tỷ lệ lũy thừa với kích thƣớc mạng.
1.4.3.2.2 Phương pháp heuristic
Cách tiếp cận heuristic để giải quyết bài toán sử dụng những tri thức tích luỹ đƣợc của con ngƣời để xây dựng giải pháp chấp nhận đƣợc nhƣng không nhất thiết là tối ƣu cho bài toán. Việc xác định thế nào là giải pháp chấp nhận đƣợc là một khái niệm không rõ ràng, tuy nhiên một cách tƣơng đối ngƣời ta định nghĩa giải pháp chấp nhận đƣợc là giải pháp có lý (gần tối ƣu) và đƣợc thực hiện trong yêu cầu ràng buộc về thời gian, tài nguyên tính toán và các ràng buộc định trƣớc. Các tri thức con ngƣời đƣợc vận dụng nhiều khi đƣa ra các giải pháp rất hữu dụng nhƣng đô khi khó chứng minh một i cách đầy đủ bằng toán học và thƣờng đƣợc dùng khi các kỹ thuật tính toán chính thống không có hoặc không đảm bảo tính kinh tế và thực tế, các lời giải heuristic thƣờng đƣợc kiểm nghiệm thông qua mô phỏng, thực nghiệm. Một số kỹ thuật heuristic sử dụng trong QoSR bao g m: ồ
Sử dụng quy hoạch động (Dynamic programing) [52] : Quy hoạch động sử dụng cách chia bài toán lớn thành một số bài toán con (cấu trúc con tối ƣu) đơn giản hơn để giải, phƣơng pháp giải này thực hiện theo quy trình ba bƣớc: (1) Chia bài toán thành các bài toán con nhỏ hơn, (2) Giải các bài toán này một cách tối ƣu bằng cách sử dụng đệ quy quy trình ba bƣớc và (3) Sử dụng các kết quả tối ƣu đó để xây dựng một lời giải tối ƣu cho bài toán ban đầu. Quy hoạch động đƣợc sử dụng trong bài toán MC(O)P ví dụ nhƣ trong việc tổ chức các stack, heap, queue lƣu thông tin về cấu trúc mạng tại bƣớc tính toán trung gian điển hình là việc sử dụng cấu trúc heap Fibonnaci. Kế thừa các giải thuật heuristic nổi tiếng: Các giải thuật nổi tiếng trên đồ thị đã đƣợc sử dụng trong cấu trúc 1 tham số nhƣ [62]: giải thuật tìm kiếm theo chiều sâu (DFS), theo chiều rộng (BFS), cây tối thiểu (MST) đặc biệt là các giải thuật tìm đƣờng ngắn nhất Dijkstra, Bellman Ford. Các giải thuật này - đƣợc sử dụng trực tiếp hay có sửa đổi cho bài toán MC(O)P chẳng hạn giải thuật Dijkstra sử dụng trực tiếp để tìm đƣờng trên tham số chung là sự kết hợp các tham số QoS lại với nhau; sử dụng Dijkstra có sửa đổi dùng trong k-
shortest path sử dụng trong [30] [60] , hay việc sử dụng DFS mở rộng cho bài toán MCP [40].
Xét độ ưu tiên của các tham số QoS: Ở đây, kỹ thuật này xem xét mức độ quan trọng khác nhau của các tham số QoS và từ đó sẽ ƣu tiên đáp ứng yêu cầu của các tham số có mức ƣu tiên cao trƣớc sau đó đến tham số có mức ƣu tiên thứ 2.. và cuối cùng sẽ tìm ra đƣờng tối ƣu nhất. Kỹ thuật này đƣợc dùng trong các giải pháp nhƣ SWP [71] hay W [75] SP .
Đơn giản hoá cấu trúc: Một trong các yếu tố làm tăng độ phức tạp của thuật toán tìm đƣờng là kích thƣớc mạng (N, E, m). Do vậy, nếu bằng cách nào đó loại bớt các giá trị này thì sẽ làm đơn giản bớt độ phức tạp của bài toán. Phép đơn giản hoá cấu trúc đơn giản nhất dựa trên tính chất min của tham số băng thông trên các tuyến. Băng thông của một đƣờng đi bất kỳ quyết định bởi băng thông của chặng có băng thông bé nhất, do vậy, dƣới yêu cầu ràng buộc về băng thông của một ứng dụng cụ thể nào đó về QoS ta có thể loại đi các tuyến có băng thông bé hơn giới hạn này [55].
Giảm không gian tìm kiếm nghiệm: Các giải thuật Dijkstra hay Belman-Ford có thể tìm ra đƣờng đi ngắn nhất trong không gian một chiều. Đối với bài toán 2 tham số QoS trở lên không gian tìm kiếm mở rộng thành 2 hay m chiều (m là số tham số QoS) và các giải thuật trên không thể sử dụng trực tiếp đƣợc. Sử dụng thuật toán vét cạn là cách đơn giản nhất để mò đƣợc các nghiệm tuy nhiên việc này tốn nhiều thời gian do phải tìm cả trong các vùng ngoài ràng buộc. Mục tiêu của kỹ thuật giảm không gian tìm kiếm nghiệm là làm sao càng giới hạn đƣợc không gian "mò" nghiệm càng sát với ràng buộc càng tốt. Thông thƣờng, ngƣời ta thƣờng sử dụng phƣơng pháp kết hợp các
tham số QoS lại thành một tham số đơn (hay sự vô hƣớng hoá) (Rn R) thông qua sử dụng các nhân tử Lagrange và sau đó sử dụng các thuật toán tƣơng tự Dijkstra để tìm đƣờng ngắn nhất (trên tham số kết hợp này).
Jaffe [79] kết hợp tuyến tính các tham số qua các hệ số thực dƣơng d: w=d1w1+d2w2 bài toán trở về một tham số l(P)=d1w1(P)+d2w2(P) và sử dụng Dijk tra để tìm đƣờng, các hệ số s d1, d2 thƣờng đƣợc chọn theo biểu thức d1/d2=L2/L1, tuy nhiên với sự kết hợp này, trong qu á trình ìm nghi t ệm b àitoán vẫn phải tìm kiếm trong một không gian thừa nh ƣ hình 1-8 .
Hình 1-8: Kết hợp tuyến tính ác c tham số
Tron [60], thay vg ì sự kết hợp tuyến tính, ngƣời ta đƣa sự kết hợp phi tuyến hai tham số theo biểu thức:
L P l L P l q q P l q 2 2 1 1 1 (1.5) trong đóq >1.
Với số tham số QoS tổng quát , m độ dài đƣờng từ đến s d khi đó biểu diễn bởi biểu thức: m i i P li q P l L q ... 1 ) ( ) ( / 1 (1.6)
Minh h s k họa ự ết ợp phi tuy nến ày trong hình 1-9, trong hình 1-9 không gian tìm nghiệm thừagiảm đ i so với trong hình 1-8 (ph b m , ần ôi àu đen)
Khi q → ∞ thì đƣờng cong sẽ chính là phần không gian giới hạn bởi Li, biểu thức (1.6) chuyển thành: L l L l L l m m P P P P l max , ,.., 2 2 1 1 (1.7)
Ý nghĩa của biểuthức ày minh n họanhƣ trong hình 1-10, độ d ài đƣờng đi P s ẽ đƣợc ính ằng độ d t b ài đƣờng đ ính i t theo tham s Q ố oS thứ i (i 1..m) c ó li(P)/Li lớn nhất.
Hình 1-10: Độ d àil(P) khi q →∞.
Nhƣ vậy, với mục u ttiê ìm đƣờng ối ƣ t u m tham s ố thay vì việc tìm đường tối ưu đa ràng buộc ban đầu người ta tìm P sao cho l(P) tính theo biểu thức trên là thấp nhất, nghĩa l tà ìm đƣờng sao cho l(P) min.
Với sự kết hợp này ngƣời ta đảm bảo sẽ tìm ra tất cả các đƣờng thoả mãn ràng buộc trƣớc khi tìm kiếm trong không gian thừa.
Sự kết hợp phi tuyến các tham số ở đây nảy sinh vấn đề là các đoạn nằm
trên đường ngắn nhất l(P) không nhất thiết là đường ngắn nhất, do vậy, khác với việc tìm đƣờng ngắn nhất với một tham số, khi tìm đƣờng qua một nút n nào đó thay vì chỉ chọn tuyến ngắn nhất nhƣ trong Dijkstra ngƣời ta phải lƣu thông tin về đƣờng ngắn nhất, ngắn thứ 2.. ngắn thứ để đảm bảo k tìm ra đƣờng tối ƣu trên toàn cục. Đây chính là yêu cầu phải sử dụng thuật toán k-đường ngắn nhất (k-shortest path) kèm theo khi sử dụng kết hợp phi tuyến các tham số [56].
Kỹ thuật đường nổi trội (dominated): Phép đơn giản hoá cấu trúc khác đƣợc
dùng đó là kỹ thuật phân biệt sự nổi trội của một đƣờng này so với một đƣờng khác. Giả sử tồn tại 2 đƣờng đi giữa và một số nút trung gian là s P1
và P2. Nếu li(P1) l< i(P2) với mọi i (1≤ i ≤m) thì bất kỳ đƣờng đi từ nguồn s đến đích nào sử dụng d P1 sẽ ngắn hơn đƣờng đi từ nguồn đến đích đó sử dụng P2, khi đó ngƣời ta nói P1 nổi trội so với P2. P2 sẽ không bao giờ là một phần thuộc đƣờng đi ngắn nhất cần tìm, vậy sẽ không cần lƣu P2 trong
các bƣớc trung gian tính toán vì P2 sẽ không đƣợc chọn trong bƣớc tiếp theo. Khi sử dụng kỹ thuật k-đường ngắn nhất có thể gặp phải trƣờng hợp bị lặp (loop) do bản chất của thuật toán này [56], do vậy, việc sử dụng kết hợp kỹ thuật đƣờng nổi trội kết hợp với k-đường ngắn nhất sẽ giảm số đƣờng k ngắn nhất phải lƣu tại mỗi nút trung gian và tránh đƣợc lặp. Với số tham số QoS càng lớn thì hiệu quả của kỹ thuật này có xu hƣớng càng giảm do thƣờng các tham số QoS không tỷ lệ với nhau mà đối nghịch làm cho ít xảy ra các đƣờng nổi trội hơn các đƣờng khác.
Tính toán trước một số thông tin trợ giúp quyết định: Trong việc tìm đƣờng, tại mỗi nút trung gian giải thuật cần phải đƣa ra các quyết định về việc đi
tiếp. Thông thƣờng trong các giải thuật tìm kiếm đã có quy tắc chung để duyệt không bị bỏ sót. Tuy nhiên, khả năng về việc đƣa ra các quyết định tối ƣu hay không thì các thuật toán chƣa chỉ ra đƣợc. Kỹ thuật tính toán trƣớc (look-ahead) sẽ tính toán một số thông tin sơ bộ trƣớc để giúp hỗ trợ việc quyết định có tính tối ƣu hơn. Chẳng hạn [30], [55] tính toán trƣớc các thông tin về các đƣờng đi ngắn nhất từ đích ngƣợc về tất cả các nút trong mạng theo từng tham số QoS, trong bƣớc tìm đƣờng chính thức từ nguồn s khi đi qua các nút trung gian sẽ sử dụng các thông tin tính trƣớc này để loại đi các nút, tuyến không phù hợp cũng nhƣ chọn đƣợc các tuyến ngắn nhất tiếp theo.
Một số kỹ thuật heuristic khác nhƣ G.Cheng [38] tăng hiệu quả tìm kiếm
nghiệm bằng cách chuyển bài toán từ một nguồn, một đích sang bài toán một nguồn nhiều đích bằng cách mở rộng các đích mới từ các đỉnh lân cận với đích cần tìm. Steenkiste [68] nhận thấy khi sử dụng thuật toán lập lịch
phát gói tƣơng tự WFQ thì các tham số QoS: trễ biến động trễ, và kích thước bộ đệm sẽ không hoàn toàn độc lập nữa mà là một hàm phụ thuộc vào
tham số băng thông. Do vậy, bài toán với nhiều tham số QoS chuyển về dạng một tham số liên quan đến băng thông và do vậy có thể tìm lời giải theo đa thức thời gian.
Phƣơng pháp sử dụng các kỹ thuật heuristic trong QoS đƣợc dùng khá phổ biến, các kỹ thuật heuristic cũng rất đa dạng và vẫn đang đƣợc tiếp tục nghiên cứu. Về ƣu điểm, với phƣơng pháp này bài toán MC(O)P đƣợc xem xét dƣới nhiều góc độ khác nhau, ở mỗi góc độ bài toán có thể phát hiện ra các đặc điểm riêng làm nảy sinh các giải pháp và nó tận dụng đƣợc các ý tƣởng từ nhỏ nhất, giải pháp tổng thể có thể đƣợc kết hợp từ một số các giải pháp cho các khía cạnh đơn lẻ. Mặt khác, với hƣớng này việc nghiên cứu có tính kế thừa cao, các phân tích trên cho thấy các giải pháp gần đây đều ít nhiều sử dụng các kỹ thuật heuristic đƣợc tìm ra trƣớc đó, điều đó tận dụng đƣợc các nghiên cứu của ngƣời đi trƣớc và việc hƣớng đến một giải pháp chung sẽ nhanh hơn.
Hạn chế của phƣơng pháp này ở chỗ các kỹ thuật heuristic có thể là các mẹo nhỏ, chúng đƣợc đƣa ra bởi rất nhiều các tác giả khác nhau, mỗi giải pháp thƣờng tối ƣu dƣới một góc độ nào đó đôi khi lời giải đƣợc đƣa ra trong các điều kiện mâu thuẫn với lời giải khác và khó tận dụng trong một kiến trúc chung, làm thế nào để tập hợp các ỹk thuật nhỏ để đƣa vào một framework chung cũng là một vấn đề.
Theo một số phân tích, so sánh [16] thì SAMCRA hiện là giải pháp tìm nghiệm bài toán MC(O)P hiệu quả nhất không chỉ cho hƣớng này mà là cho hƣớng giải bài toán MC(O)P nói chung, trong SAMCRA đã sử dụng kế thừa