TNU Journal of Science and Technology 227(11) 247 255 http //jst tnu edu vn 247 Email jst@tnu edu vn SOME COMPUTING RESULTS FOR NEWTON METHOD AND QUASI NEWTON METHOD FOR UNCONSTRAINED OPTIMIZATION PRO[.]
TNU Journal of Science and Technology 227(11): 247 - 255 SOME COMPUTING RESULTS FOR NEWTON METHOD AND QUASI - NEWTON METHOD FOR UNCONSTRAINED OPTIMIZATION PROBLEM Nguyen Dinh Dung * TNU - University of Information and Communication Technology ARTICLE INFO Received: 22/8/2022 Revised: 31/8/2022 Published: 31/8/2022 KEYWORDS Convex optimization Newton Quansi-Newton Hessen Matrix Global optimization ABSTRACT The optimization problem has many effective and widespread applications in resource planning, machine design, automatic control, business administration, urban architecture that creating decision support systems in management and development of large systems Nowadays, there are many effective algorithms published to solve optimization problems, including iterative algorithms such as Gradient algorithm, Newton’s algorithm and variations of this algorithm that are applied in learning machine, deep learning, regression, In this paper, we introduce an algorithm based on Newton method and Quansi Newton method, they are effective methods of finding solutions for optimal problems when the objective function is a convex, then we give some computing results for the algorithm to illustrate the convergence of the method MỘT SỐ KẾT QUẢ TÍNH TỐN ĐỐI VỚI THUẬT TỐN NEWTON VÀ TỰA NEWTON CHO BÀI TỐN TỐI ƯU KHƠNG RÀNG BUỘC Nguyễn Đình Dũng Trường Đại học Cơng nghệ thơng tin Truyền thơng - ĐH Thái Ngun THƠNG TIN BÀI BÁO Ngày nhận bài: 22/8/2022 Ngày hoàn thiện: 31/8/2022 Ngày đăng: 31/8/2022 TỪ KHÓA Tối ưu lồi Newton Tựa newton Ma trận Hessen Tối ưu tồn cục TĨM TẮT Bài tốn tối ưu có nhiều ứng dụng hiệu rộng rãi quy hoạch tài nguyên, thiết kế chế tạo máy, điều khiển tự động, quản trị kinh doanh, kiến trúc đô thị, việc tạo nên hệ hỗ trợ định quản lý phát triển hệ thống lớn Hiện nay, có nhiều thuật tốn hữu hiệu cơng bố nhằm giải tốn tối ưu, kể đến thuật toán lặp thuật toán Gradient, thuật toán Newton biến thể thuật toán ứng dụng học máy, học sâu, hồi quy, Trong phạm vi báo này, giới thiệu thuật toán dựa phương pháp Newton tựa Newton, phương pháp hiệu tìm nghiệm cho toán tối ưu hàm mục tiêu phiếm hàm lồi đưa số kết tính tốn thuật tốn để minh họa hội tụ phương pháp DOI: https://doi.org/10.34238/tnu-jst.6386 Email: nddung@ictu.edu.vn http://jst.tnu.edu.vn 247 Email: jst@tnu.edu.vn TNU Journal of Science and Technology 227(11): 247-255 Giới thiệu Xét toán tối ưu không ràng buộc f (x) x∈Rn (1) Trong đó, f (x) phiếm hàm lồi có đạo hàm bậc hai Rn Bài toán tối ưu (1) toán dẫn từ nhiều toán thuộc lĩnh vực khác kinh tế, kỹ thuật Để giải Bài tốn (1) có nhiều phương pháp giải khác tuỳ thuộc vào hàm mục tiêu Một phương pháp đơn giản phương pháp đường dốc hay gọi phương pháp Gradient descent [1], phương pháp đơn giản áp dụng cho lớp rộng hàm mục tiêu, nội dung phương pháp đưa dãy lặp x(k+1) = x(k) − λk ∇f (x(k) ), λk > 0, λk độ dài bước xác định theo quy tắc Armijo, phương pháp có nhược điểm tốc độ hội tụ tuyến tính Để tăng tốc độ hội tụ thuật tốn phương pháp Newton lựa chọn tốt ([2] - [5]) Hiện nay, phương pháp mở rộng để tìm lời giải tối ưu cho hàm nhiều biến sở khai triển Taylor, −1 nghiệm toán tối ưu thực theo dãy lặp x(k+1) = x(k) − ∇2 f (x(k) ) ∇f (x(k) ), hàm mục tiêu khơng có dạng tồn phương dãy lặp phân kỳ hội tụ cực tiểu địa phương hay hội tụ điểm yên ngựa Một biến thể phương pháp Newton giới thiệu [6] phương pháp Newton suy rộng, nghiệm tốn tối ưu tính tốn theo −1 dãy lặp x(k+1) = x(k) − λk ∇2 f (x(k) ) ∇f (x(k) ), λk gọi độ dài bước xác −1 định nhờ phương pháp tìm kiếm chiều theo hướng − ∇2 f (x(k) ) ∇f (x(k) ) Tuy nhiên số toán thực tiễn dẫn tốn tối ưu mà hàm mục tiêu khơng tồn đạo hàm cấp 2, việc áp dụng phương pháp Newton không khả thi Để khắc phục hạn chế này, gần số kết [7] [8] đề xuất thuật toán tựa Newton tìm lời giải cho tốn tối ưu phi tuyến cho thấy tính hiệu phương pháp Trong báo này, chúng tơi xây dựng thuật tốn lặp dựa tư tưởng phương pháp Newton tựa Newton tìm nghiệm bước lặp, có kế thừa thơng tin nghiệm thành phần tính lần lặp thay sử dụng nghiệm tính lần lặp trước Các kết tính tốn minh hoạ cho thuật tốn đưa để khẳng định cho hội tụ thuật toán 2.1 Phương pháp Phương pháp Newton Gọi x∗ điểm cực tiểu phiếm hàm điều kiện cần lặp, ta sử dụng khai triển Taylor cho f (x), ta có ∂f ∗ ∂xi (x ) f (x) = f (x(k) ) + ∇fk (x − x(k) ) + (x − x(k) )2 Jk , = Để xác định dãy (2) đó, ∇f (x) = ∂f ∂f ∂f , , , ∂x1 ∂x2 ∂xn , Jk ma trận Hessen xác định ∇2 f (x) = ∂2f ∂xi ∂xj i=1, ,n;j=1, ,n Từ (2) ta có ∇f = ∇fk + (x − x(k) )Jk http://jst.tnu.edu.vn 248 (3) Email: jst@tnu.edu.vn TNU Journal of Science and Technology 227(11): 247-255 Vậy ta có dãy lặp x(k+1) = x(k) − (Jk )−1 ∇fk , k = 1, 2, 3, , n (4) Công thức (4) gọi cơng thức lặp Newton có tốc độ hội tụ cấp Thuật toán thực sau: Thuật toán function x=newton(x(1) , ε); k=1; while(k∇fk k > ε) d(k) = −(Jk )−1 ∇fk ; x(k+1) = x(k) + d(k) ; k = k + 1; end; x = x(k+1) ; Theo thuật tốn này, bước tính d(k) = −(Jk )−1 ∇fk x(k+1) = x(k) + d(k) thực (k+1) (k+1) kế thừa thành phần phần xi tính để tính xj , j = i + 1, , n Vậy (4) thay (k+1) công thức xi (k) = xi (k) + di , (k) d1 = − n X (k) (Jk )−1 i,j ∇f (xj ), j=1 (k) di − =− i−1 P j=1 (Jk )−1 (k+1) i,j ∇f (xj ) n P (k) (Jk )−1 i,j ∇f (xj ), i = 2, , n (5) j=i+1 Vậy từ thuật tốn Newton cập nhật sau: Thuật toán function x=newton(x(1) , ε); k=1; n=length(x(0) ); while(k∇fk k > ε) d(k) = 0; for j=1:n (k) (k) (k) d1 = d1 − (Jk )−1 1,j ∇f (xj ); end; (k+1) (k) (k) x1 = x1 + d1 ; for i=2:n for j=1:i-1 (k) (k) (k+1) di = di − (Jk )−1 i,j ∇f (xj ); end; for j=i:n (k) (k) (k) di = di − (Jk )−1 i,j ∇f (xj ); end; (k+1) (k) (k) xi = xi + di ; end; k = k + 1; end; x = x(k+1) ; Trong trường hợp hàm mục tiêu không khả vi bậc 2, thay sử dụng phương pháp Newton ta sử dụng phương pháp tựa Newton http://jst.tnu.edu.vn 249 Email: jst@tnu.edu.vn 227(11): 247-255 TNU Journal of Science and Technology 2.2 Phương pháp tựa Newton Ý tưởng phương pháp tựa Newton [8] xuất phát từ công thức (4), ta xấp xỉ ma trận Hessen [Jk ] ma trận [Bk ] Vậy từ (2) ta có dãy lặp −1 x(k+1) = x(k) − λk [Bk ] ∇fk , k = n, (6) −1 đó, λk độ dài bước xác định theo hướng Sk = − [Bk ] thay đổi bước lặp thoả mãn điều kiện Wolfe [8], ∇fk , đại lượng f (x(k) + λk Sk ) ≤ f (x(k) ) + c1 λk STk ∇f (x(k) ), −STk ∇f (x(k) + λk Sk ) ≤ −c2 STk ∇f (x(k) ), < c1 < c2 < (7) Thuật toán λk xác định sau: Thuật toán function λk =LineSearch(f, x(k) , Sk ); Khởi tạo số c1 , c2 , β thỏa mãn < c1 < c2 < 1; < β < 1; λ = λ0 ; while(λ chưa thỏa mãn (7)) λ = βλ; end; λk = λ; Trong trường hợp hàm mục tiêu hàm lồi điểm tối ưu thu nghiệm tối ưu tồn cục Bài toán (1) Dễ thấy (6), [Bk ] = I cơng thức lặp (6) phương pháp đường dốc công bố [9] Bk ma trận xấp xỉ cho ma trận Hessen thỏa mãn điều kiện ∇f (x(k) ) = ∇f (x(k−1) ) − [Bk ] (x(k) − x(k−1) ) (8) ∇f (x(k+1) ) = ∇f (x(k) ) − [Bk+1 ] (x(k+1) − x(k) ), (9) [Bk+1 ] dk = gk , (10) Tại điểm x(k+1) , ta có hay viết dk = x(k+1) − x(k) , gk = ∇fk+1 − ∇fk Cơng thức (10) viết lại sau: −1 dk = [Bk+1 ] gk , (11) đây, Bk+1 ma trận đối xứng xác định dương cập nhật theo công thức [Bk+1 ] = [Bk ] + CZZT (12) Từ (10), ta có CZ = gk − [Bk ] dk ZT d k Chọn Z = gk − [Bk ] dk , T [Bk+1 ] = [Bk ] + http://jst.tnu.edu.vn (gk − [Bk ] dk ) (gk − [Bk ] dk ) T (gk − [Bk ] dk ) dk 250 (13) Email: jst@tnu.edu.vn 227(11): 247-255 TNU Journal of Science and Technology Ngoài cách tiếp cận theo (12), ta sử dụng cách tính [Bk+1 ] = [Bk ] + C1 Z1 ZT1 + C2 Z2 ZT2 Theo cách tiếp cận này, việc cập nhật ma trận Bk+1 dẫn công thức lặp T [Bk+1 ] = [Bk ] + gk gTk ([Bk ] dk ) ([Bk ] dk ) − gTk dk dTk [Bk ] dk (14) Như vậy, thuật tốn tìm nghiệm Bài tốn (1) thực sau: Thuật toán function x=QNewton(x(1) , ε); k=1; [Bk ] = I; while(k∇fk k > ε) −1 Sk = − [Bk ] ∇fk ; λk = LineSearch(f, x(k) , Sk ); x(k+1) = x(k) + λk Sk ; dk = x(k+1) − x(k) ; gk = ∇fk+1 − ∇fk ; Cập nhật [Bk+1 ] theo (13) (14); k = k + 1; end; x = x(k+1) ; Theo thuật toán này, xuất phát từ điểm x(1) , dãy lặp (14) hội tụ điểm tối ưu cục x∗ thoả mãn f (x(1) ) ≥ ≥ f (x(k) ) ≥ ≥ f (x∗ ) Trong trường hợp hàm mục tiêu hàm lồi điểm tối ưu thu nghiệm tối ưu tồn cục Bài tốn (1) Minh hoạ cho kết lý thuyết, sau số kết tính tốn thử nghiệm thuật tốn Một số kết tính tốn Trong mục này, chúng tơi thực số tính tốn thử nghiệm để kiểm tra lý thuyết hội tụ thuật toán trình bày mục Sau số kiện cho trước để thực thuật toán: Hàm mục tiêu f (x) = 10 X (xi − 1)4 (15) i=1 Xấp xỉ đầu: x(1) = (0, 0, , 0) Dễ thấy nghiệm Bài toán (1) x∗ = (1, 1, , 1), f (x∗ ) = Hàm mục tiêu (15) khả vi cấp nên tồn ma trận Hessen, ta hoàn toàn áp dụng thuật tốn Newton để giải Bài toán (1) Đặt err = x(k) − x∗ , ta có kết tính tốn minh hoạ cho hội tụ thuật toán Newton cho Bảng Kết tính tốn Bảng cho thấy nghiệm xấp xỉ tìm hội tụ nghiệm tốn theo số lần lặp Đồ thị Hình 1, Hình minh hoạ cho hội tụ thuật tốn Từ Hình Hình 2, cho thấy hàm sai số hàm mục tiêu hàm đơn điệu giảm theo số lần lặp, cho thấy nghiệm xấp xỉ hội tụ nghiệm Bài toán (1) http://jst.tnu.edu.vn 251 Email: jst@tnu.edu.vn 227(11): 247-255 TNU Journal of Science and Technology Bảng Nghiệm xấp xỉ Bài toán (1) thu từ Thuật toán x(k) k=5 k=10 k=15 k=20 (k) x1 (k) x2 (k) x3 (k) x4 (k) x5 (k) x6 (k) x7 (k) x8 (k) x9 (k) x10 0,8025 0,8025 0,8025 0,8025 0,8025 0,8025 0,8025 0,8025 0,8025 0,8025 0,6246 0,9740 0,9740 0,9740 0,9740 0,9740 0,9740 0,9740 0,9740 0,9740 0,9740 0,0823 0,9966 0,9966 0,9966 0,9966 0,9966 0,9966 0,9966 0,9966 0,9966 0,9966 0,0108 0,9995 0,9995 0,9995 0,9995 0,9995 0,9995 0,9995 0,9995 0,9995 0,9995 0,0014 err Hình Đồ thị sai số theo số lần lặp với số lần lặp k=1,2, ,20 thu từ Thuật toán http://jst.tnu.edu.vn 252 Email: jst@tnu.edu.vn TNU Journal of Science and Technology 227(11): 247-255 Hình Đồ thị hàm mục tiêu theo số lần lặp (số lần lặp k=1,2, ,20) thu từ Thuật toán Bây giờ, ta xét hàm mục tiêu sau: f (x) = 10 P (xi − 1)4 i=1 10 P √ (xi − 1) xi − ∃xi < (16) ∀xi ≥ i=1 Hàm mục tiêu không tồn đạo hàm cấp x∗ = (1, 1, , 1) Vậy để tìm nghiệm cho Bài toán (1) với hàm mục tiêu (16), ta thực Thuật toán với ma trận xấp xỉ ma trận Hessen cập nhật theo công thức (14) Các kết tính tốn cho Bảng Bảng Nghiệm xấp xỉ Bài toán (1) thu từ Thuật toán x(k) k=5 k=10 k=15 k=20 (k) x1 (k) x2 (k) x3 (k) x4 (k) x5 (k) x6 (k) x7 (k) x8 (k) x9 (k) x10 2,2566 2,2566 2,2566 2,2566 2,2566 2,2566 2,2566 2,2566 2,2566 2,2566 3,9737 0,5028 0,5028 0,5028 0,5028 0,5028 0,5028 0,5028 0,5028 0,5028 0,5028 1,5722 0.9292 0.9292 0.9292 0.9292 0.9292 0.9292 0.9292 0.9292 0.9292 0.9292 0.2238 0,9826 0,9826 0,9826 0,9826 0,9826 0,9826 0,9826 0,9826 0,9826 0,9826 0,0550 err http://jst.tnu.edu.vn 253 Email: jst@tnu.edu.vn ... dụng thuật toán Newton để giải Bài toán (1) Đặt err = x(k) − x∗ , ta có kết tính toán minh hoạ cho hội tụ thuật toán Newton cho Bảng Kết tính tốn Bảng cho thấy nghiệm xấp xỉ tìm hội tụ nghiệm toán. .. tối ưu thu nghiệm tối ưu tồn cục Bài toán (1) Minh hoạ cho kết lý thuyết, sau số kết tính tốn thử nghiệm thuật tốn Một số kết tính tốn Trong mục này, chúng tơi thực số tính toán thử nghiệm để kiểm... nghiệm cho Bài tốn (1) với hàm mục tiêu (16), ta thực Thuật toán với ma trận xấp xỉ ma trận Hessen cập nhật theo cơng thức (14) Các kết tính toán cho Bảng Bảng Nghiệm xấp xỉ Bài toán (1) thu từ Thuật