Nội dung phần này sẽ giới thiệu tổng quan và ngắn gọn về Quy hoạch DC và giải thuật DCA (DC Programming and DCA). Đây là phương pháp được sử dụng để giải các lớp bài toán tối ưu không lồi. Luận án sẽ nghiên cứu vận dụng phương pháp này vào giải các bài toán bảo mật tầng vật lý.
Quy hoạch DC (Difference of Convex functions) và giải thuật DCA (DC Alrogithm) được đề xuất từ năm 1985 bởi GS. Phạm Đình Tảo. Quy hoạch DC và giải thuật DCA sau đó được phát triển nhanh chóng bởi GS. Lê Thị Hoài An và GS. Phạm Đình Tảo kể từ năm 1993 [63], [64], [65]. Hiện nay, Quy hoạch DC và DCA đã trở thành phương pháp giải kinh điển và ngày càng được sử dụng phổ biến trong các lĩnh vực khác nhau của khoa học ứng dụng.
Trước khi đi vào trình bày chi tiết hơn về Quy hoạch DC và giải thuật DCA, phần tiếp dưới sẽ trình bày ngắn gọn và tổng quát nhất về bài toán tối ưu tổng quát và bài toán tối ưu lồi. Đây là những kiến thức quan trọng được vận dụng trong Quy hoạch DC và giải thuật DCA cũng như xuyên suốt Luận án.
1.4.1 Bài toán tối ưu tổng quát (Optimization Problems)
Dạng tổng quát của một bài toán tối ưu được biểu diễn như sau [66]:
w * = argmin f0 (w ) (P)
w
s.t. f i (w) 0, i = 1, 2, , m h j (w) = 0, j = 1, 2, , n. Trong đó:
- Véc tơ w = [w1,w2,…,wk]T được gọi là biến tối ưu; w* được gọi là nghiệm tối ưu, tại đó hàm mục tiêu đạt giá trị tối ưu;
- Hàm f0: ℝk →ℝ được gọi là hàm mục tiêu;
- Các hàm fi và hj với i= 1,2, …m, j = 1,2,…n là các hàm ràng buộc hoặc các ràng buộc (constrains), nếu m = n = 0 thì (P) trở thành bài toán không ràng buộc (unconstrained optimization problem);
Tập các điểm w thoả mãn các ràng buộc được gọi là tập chấp nhận được (feasible set), mỗi điểm trong tập chấp nhận được gọi là điểm chấp nhận được, các điểm không thuộc tập chấp nhận được gọi là điểm không chấp nhận được (infeasible point). Nếu tập chấp nhận được là tập rỗng thì bài toán trở thành không khả thi (infeasible optimization problem).
Giá trị tối ưu (Optimal value):
p* = inf {f0(w) | fi(w) ≤ 0, i =1,2,…,m; hj(w) = 0, j = 1,2, …,n} Trong đó inf là ký hiệu của hàm infimum.
Nếu w* là nghiệm tối ưu hay điểm tối ưu (optimal point) thì p* = f0(w*);
p* = +∞ nếu bài toán là infeasible và p* = -∞ nếu hàm mục tiêu không bị chặn dưới.
Phần lớn các lớp bài toán tối ưu không lồi là chưa có cách giải tổng quát, thậm chí có nhiều bài chưa có lời giải. Đa phần các phương pháp giải chưa chứng minh được nghiệm tìm được có phải là nghiệm tối ưu toàn cục hay không. Thay vào đó, nghiệm tìm được thường là nghiệm cận tối ưu, tức là các điểm tới hạn (critical points). Trong thực tế, nhiều nghiệm cận tối ưu đối với các bài khó đã được chấp nhận và đưa vào sử dụng.
1.4.2 Bài toán tối ưu lồi (Convex Optimization Problems)
Bài toán tối ưu lồi (còn được gọi là quy hoạch lồi) là dạng rất điển hình và cơ bản trong các bài toán tối ưu. Những tính chất đặc biệt của tối ưu lồi (convex optimization) về nghiệm toàn cục và nghiệm cận tối ưu khiến tối ưu lồi trở nên quan trọng và phổ biến.
Khái niệm về tập lồi và hàm lồi [66]:
x, y D, [0,1] x+(1- )y D.
Một đặc điểm đồ thị của tập lồi là nếu một đoạn thẳng nối hai điểm bất kỳ trong tập đó thì luôn nằm trọn vẹn trong tập đó. Hình 1.10 là một số ví dụ về tập lồi, trong đó hình có đường biên thể hiện tập lồi bao gồm cả biên, còn chỗ không có đường biên đậm có nghĩa là tập không tính biên. Đường thẳng, siêu phẳng và nửa không gian trong không gian n chiều đều là những tập lồi.
Hình 1.10: Ví dụ về một số tập lồi.
- Hàm lồi (convex function): Một hàm f: ℝk →ℝ được gọi là một hàm lồi nếu tập xác định D của hàm f (D = dom f) là một tập lồi và đạo hàm bậc hai của f không âm hoặc thỏa mãn
f ( x + (1− ) y)f (x) + (1− ) f ( y), x, y D,(0,1) .
Một đặc điểm đồ thị của hàm lồi là nếu nối hai điểm bất kỳ trên đồ thị của hàm số f đó luôn được một đoạn thẳng nằm về phía trên hoặc nằm trên đồ thị.
Hình 1.11: Ví dụ về một số hàm lồi một biến.
Chú ý: Tập xác định (Domain- dom f0) của bài toán tối ưu lồi cũng là một tập lồi. Do vậy, bài toán tối ưu lồi là tối thiểu một hàm mục tiêu lồi trên một tập lồi.
Một bài toán tối ưu lồi là một bài toán tối ưu có dạng:
w* = arg min f0 (w)
w
s.t . fi (w) 0, i = 1, 2, , m
aTw −b
j
Trong đó: Hàm mục tiêu f0(w) là một hàm lồi; các ràng buộc bất đẳng thức
fi(w) là các hàm lồi và ràng buộc đẳng thức là một hàm affine.
Điểm khác biệt của bài toán tối ưu lồi so với các lớp bài toán tối ưu khác là mọi phương án tối ưu cục bộ cũng là phương án tối ưu toàn cục.
1.4.3 Giới thiệu về Quy hoạch DC và giải thuật DCA
Quy hoạch DC và giải thuật DCA là những kỹ thuật được Phòng nghiên cứu Lý thuyết và Ứng dụng Khoa học máy tính LITA (Laboratoire d'Informatique Théorique et Appliquée - Theoretical and Applied Computer Science Laboratory), trường đại học Lorraine, Cộng hòa Pháp tiếp tục nghiên cứu và phát triển từ nhiều năm nay [64], [67]. Các kết quả khoa học ứng dụng Quy hoạch DC và giải thuật DCA vào giải quyết các bài toán tối ưu của Machine Learning/ Data mining đã được phòng nghiên cứu LITA công bố trên nhiều tạp chí khoa học quốc tế có uy tín [15], [65], [67]–[74].
Những công cụ này cũng đã được sử dụng trong nhiều phòng nghiên cứu, thí nghiệm nổi tiếng, ví dụ như: Princeton, Stanford, MIT, Berkeley, Cornell, Imperial College, Institut für Allgemeine Mechanik (IAM, RWTH Aachen), Mannheim, Minnesota, Iowa, Freiburg... để giải quyết các bài toán quy mô lớn trong các lĩnh vực khác nhau: vấn đề kinh tế và tài chính, giao thông vận tải - hậu cần, an ninh máy tính, machine learning, công nghệ sinh học, xử lý hình ảnh và mạng viễn thông, cơ khí… Việc ứng dụng phương pháp Quy hoạch DC và giải
thuật DCA để giải các bài toán tối ưu trong bảo mật truyền tin tầng vật lý là một hướng đi mới, hướng đến mục tiêu là nâng cao hiệu quả truyền tin mật trong hệ thống thông tin vô tuyến thông qua việc tìm nghiệm cận tối ưu tốt hơn so với các cách giải khác. Theo lý thuyết về Quy hoạch DC và giải thuật DCA thì việc tìm ra một phân tách DC tốt để cho nghiệm và tốc độ hội tụ của thuật toán tốt hơn đang là thách thức khoa học.
Bản chất và ý nghĩa quan trọng của giải thuật DCA, là cách tính toán trên hàm không lồi (nonconvex function) với cách giải quyết dựa trên các hàm DC. Giải thuật DCA được quốc tế công nhận là “the State-of-Art Technology nonconvex programming and global optimization”. Phương pháp này đã được các nhà nghiên cứu và các học giả trên toàn thế giới phân tích và áp dụng thành công trong thực tế để giải quyết các mô hình bài toán có quy mô tính toán lớn trên các hàm không lồi trong nhiều lĩnh vực ứng dụng khác nhau.
Khả năng phổ biến của phương pháp giải quy hoạch DC và giải thuật DCA là do hiệu quả của phương pháp so với các phương pháp hiện có, tính thích ứng với nhiều dạng cấu trúc bài toán và khả năng giải quyết các bài toán không lồi quy mô lớn thực tế trên thế giới.
1.4.4 Quy hoạch DC và giải thuật DCA
Quy hoạch DC và giải thuật DCA đã được nghiên cứu và trình bày trong nhiều tài liệu và công trình khác nhau. Phần này của Luận án chỉ trình bày một số nội dung cơ bản và các nội dung liên quan đến việc ứng dụng cho các phần sau của Luận án.
DCA là một phương pháp tiếp cận dựa trên xấp xỉ lồi liên tục. Nó dựa trên tính tối ưu cục bộ và tính đối ngẫu trong quy hoạch DC để giải các các bài toán quy hoạch DC chuẩn có dạng (Primal DC – Pdc):
= inf f (x ):=g (x )−h (x ): x n (Pdc )
với: g , h (n ) là các hàm lồi (convex functions) được định nghĩa trên ℝ và nhận các giá trị trong
- Hàm f được gọi là hàm DC (DC function), hiệu của hai hàm lồi,
- g - h là sự phân tách DC (DC decomposition) của f,
- Các hàm lồi g và h là các hàm thành phần DC của f.
Không gian các hàm DC, DC ( n ) = Γ g ( n )− Γh ( n ) tạo thành một lớp rất rộng bao gồm tất cả các hàm lồi và phần lớn các hàm không lồi trong thực tế thường gặp. Quy hoạch DC do đó trở thành trường hợp mở rộng của quy hoạch lồi và bao phủ hầu hết các quy hoạch không lồi trong thực tế [70], [75].
Một quy hoạch DC có ràng buộc là tập khả thi trong tập lồi C có thể biến đổi thành một quy hoạch DC không có ràng buộc bằng cách thêm hàm đặc trưng trên C, được ký hiệu bởi C với
0, nÕux C C = + ,x kh¸c Cụ thể: inff (x ):=g (x )−h (x ): x C = inf c (x )+g (x )−h (x ): x n
Chú ý rằng, đối với một hàm lồi, dưới vi phân của tại x0 dom( ), (domain – miền xác định), ký hiệu bởi (x0 ) , được định nghĩa như sau:
(x0 ):=y n: (x ) (x0 )+ x −x0 , y , x n .
dưới vi phân (x0 ) là một tập lồi đóng, và khả vi tại x0 khi và chỉ khi (x0 ) chỉ có duy nhất một phần tử là (x0 ) .
Hàm liên hợp của , ký hiệu bởi *, được định nghĩa là:
Bài toán tối ưu đối ngẫu của bài toán quy hoạch DC gốc cũng là một quy hoạch DC (Dual DC - Dcd) có cùng giá trị tối ưu và được định nghĩa như sau:
= inf h* (y )−g * (y ): y n . (Ddc )
Sự phức tạp của các quy hoạch DC nằm trong sự phân biệt giữa các nghiệm cận tối ưu và nghiệm toàn cục do nó thiếu các điều kiện có thể kiểm chứng được nghiệm tối ưu toàn cục.
Theo đó, điểm x* được gọi là điểm tới hạn của g - h nếu nó thỏa mãn điều kiện tổng quát của Karusk-Kuhn-Tucker (KKT) sau:
h (x* )g (x* ).
Điều kiện cần để bài toán quy hoạch DC chuẩn tắc có nghiệm tối ưu cục bộ là:
h (x* )g (x* ).
Điều kiện (1.33) cũng là điều kiện đủ cho nhiều lớp bài toán quy hoạch DC chuẩn tắc có nghiệm tối ưu cục bộ.
Triết lý của giải thuật DCA. Giải thuật DCA được dựa trên các điều kiện
tối ưu cục bộ và đối ngẫu trong quy hoạch DC. Ý tưởng ban đầu của DCA khá đơn giản, đó là một phép xấp xỉ của mỗi quy hoạch DC bằng một chuỗi các quy hoạch lồi: Tại mỗi lần lặp k, phần lõm của DCA (–h) được xấp xỉ thành dạng affine của nó (tương ứng với việc lấy y k h (xk )), rồi giải bài toán cực tiểu hóa các quy hoạch lồi được tạo ra.
Lược đồ DCA chuẩn tắc được mô tả cụ thể như sau:
Lược đồ DCA chuẩn tắc (DCA standard scheme)
Khởi tạo (Initialization): Chọn một điểm khởi tạo ban đầu x 0 , k 0 .
Lặp lại (Repeat)
Bước 1. Với mỗi k, biết được xk , tính
Bước 2. Tính x k +
1 arg min g (x )− h (x k )− x −x k , y k . ( pk )
Bước 3. k k +1.
Cho đến khi (Until): không có sự thay đổi đáng kể giữa xk và xk+1 hoặc giữa
f k (x) và f k +1 (x) .
Chú ý: (pk) là một bài toán tối ưu lồi và hiện nay có thể giải dễ dàng bằng các công cụ có sẵn như cplex, cvx hay cvxopt…
Tính chất hội tụ của giải thuật DCA và cơ sở lý thuyết của nó được phân tích và chứng minh đầy đủ trong [67], [69], [76]. Một số tính chất cơ bản và điển hình của DCA như sau:
- DCA là một phương pháp giảm dần mà không cần tìm kiếm tuyến tính,
nói một cách khác dãy {g(xk) – h(xk)}và {h*(yk) – g*(yk)} là dãy đơn điệu giảm.
- Nếu g(xk+1) - h(xk+1) = g(xk)- h(xk) thì xk là một điểm tới hạn của g(x) – h(x) và DCA kết thúc ở lần lặp k.
- Nếu giá trị tối ưu của quy hoạch DC là hữu hạn và các dãy vô hạn
{xk} và {yk} là bị chặn, thì mỗi điểm tới hạn x* của dãy {xk} là một điểm tới hạn của (g – h), cụ thể:g ( x* ) h( x* ) .
- DCA có tính chất hội tụ sau một số vòng lặp hữu hạn cho các quy hoạch DC đa diện.
Một điều đáng chú ý là, việc áp dụng DCA liên quan đến các thành phần g và
h chứ không phải là hàm f. Do đó, đối với một quy hoạch DC, mỗi phân tách DC
tương ứng với một phiên bản DCA khác nhau. Vì mỗi hàm DC f có thể phân tách thành hiệu của các thành phần lồi khác nhau và mỗi phân tích như vậy ảnh hưởng trực tiếp đối với các tính chất của DCA như: tốc độ hội tụ, tính mạnh, tính hiệu quả, tính toàn cục. Do đó, việc tìm kiếm một sự phân tách DC tốt là thật sự quan trọng trong mỗi bài toán và đang là một vấn đề khoa học mở.
Hai yếu tố quan trọng để giải hiệu quả một bài toán quy hoạch không lồi (Ddc) bằng Quy hoạch DC và giải thuật DCA là:
- Tìm kiếm một sự phân tách DC thích hợp của hàm mục tiêu f
- Tìm một điểm khởi tạo tốt.
Quy hoạch DC và giải thuật DCA chuẩn tắc có thể được mở rộng tới quy hoạch DC và giải thuật DCA tổng quát, ở đó cả hàm mục tiêu và ràng buộc đều không lồi [67]. Dạng của bài toán quy hoạch DC và giải thuật DCA tổng quát như sau: min f 0 x (x) (1.34) s.t.f i (x ) 0, i =1, , m x C. Trong đó, C n là một tập đóng khác rỗng; f : n → (i =0,1,..., m) là các i
hàm DC. Các cách tiếp cận để giải bài toán quy hoạch DC tổng quát vẫn dựa trên triết lý chung của DCA chuẩn tắc, đó là xấp xỉ bài toán (1.34) bởi một dãy các bài toán quy hoạch lồi.