Tại sao SQP tốt hơn Lagrangian Augmented cho lập trình phi tuyến?


9

Trong báo cáo kỹ thuật về Galahad [1], các tác giả nêu rõ, trong bối cảnh các vấn đề lập trình phi tuyến nói chung,

Trong tâm trí của chúng tôi, chưa bao giờ thực sự có nhiều nghi ngờ rằng các phương pháp SQP [lập trình bậc hai tuần tự] sẽ thành công hơn [so với các phương pháp Lagrangian Augmented] trong dài hạn ...

Điều gì có thể là cơ sở cho niềm tin đó? Tức là, có bất kỳ kết quả lý thuyết nào cho thấy các phương pháp SQP nên nhanh hơn / đáng tin cậy hơn các phương pháp Lagrangian Augmented?

[1] Galahad, một thư viện các gói Fortran 90 an toàn cho luồng để tối ưu hóa phi tuyến quy mô lớn, bởi Gould, Orban và Toint

Câu trả lời:


2

Các phương thức SQP yêu cầu mục tiêu có thể phân biệt hai lần (cf https://en.m.wikipedia.org/wiki/Sequential_quadratic_programming ) trong khi Lagrangian Augmented hoạt động ngay cả khi mục tiêu không thể phân biệt được (do đó sự hồi sinh gần đây của chúng trong cộng đồng xử lý hình ảnh cf ftp: //arachne.math.ucla.edu/pub/camreport/cam09-05.pdf )

Tôi không biết về phần mềm galahad, nhưng nếu được yêu cầu giải quyết các vấn đề tối ưu hóa khác biệt, nó có thể sẽ làm tốt hơn nhiều bằng cách sử dụng một phương pháp được phép phân biệt chức năng mục tiêu.


Không đúng khi SQP yêu cầu hai lần các hàm mục tiêu khác nhau. Bạn có thể chỉ cần có một phương thức có tỷ lệ hội tụ nhỏ hơn nếu hàm mục tiêu có ít sự khác biệt hơn, nhưng điều đó hoàn toàn giống với các phương thức Lagrangian tăng cường.
Wolfgang Bangerth

2

Về mặt lặp lại bên ngoài, SQP nên giành chiến thắng vì nó bao gồm thông tin phái sinh thứ hai, trong khi các phương pháp lagrangian tăng cường như ADMM thì không.

Tuy nhiên, một điều cần lưu ý là mỗi lần lặp cho các phương pháp này liên quan đến việc giải một hệ thống tuyến tính, vì vậy để so sánh công bằng, bạn phải tính đến việc các hệ thống này dễ giải quyết như thế nào.

Đối với Lagrange (xen kẽ) phương pháp tăng cường, mỗi lần lặp bạn đang giải quyết một cái gì đó như thế nào, nơi Một là một nhà điều hành chuyển tiếp thẳng từ hàm mục tiêu đó được biết đến và thường dễ dàng hơn để đối phó với hoặc điều kiện tiên quyết và ρ là tham số hình phạt. (ví dụ: vấn đề của bạn là min x | | A x - b | | 2 chịu một số ràng buộc và chính quy).

(MộtTMột+ρTôi)x= =b,
Mộtρtối thiểux||Mộtx-b||2

Đối với các phương thức SQP, bạn đang giải quyết một cái gì đó như trong đó H là Hessian (hoặc gần đúng của chúng) thường chỉ có sẵn dưới dạng hành động của nó trên các vectơ và g là độ dốc. Hessian không chỉ chứa A , mà còn là sự kết hợp của các ma trận và nghịch đảo ma trận khác đến từ việc tuyến tính hóa các ràng buộc và chính quy hóa.

Hx= =g,
HgMột

Điều kiện tiên quyết Hessians là một công việc khá khó khăn và ít được nghiên cứu hơn so với các vấn đề tiền đề. Một phương pháp tiêu chuẩn là ước tính nghịch đảo Hessian với L-BFGS, nhưng điều này có hiệu quả hạn chế khi nghịch đảo Hessian có thứ hạng cao. Một phương pháp phổ biến khác là ước tính Hessian là tổng của ma trận thứ hạng thấp cộng với ma trận dễ đảo ngược, nhưng điều này cũng có hiệu quả hạn chế đối với các vấn đề khó. Các kỹ thuật ước lượng Hessian phổ biến khác dựa trên các xấp xỉ thưa thớt, nhưng các vấn đề liên tục thường có Hessian có xấp xỉ thưa thớt kém.


MộtH

Vì vậy, có thể được áp dụng bằng cách giải hai PDE, nhưng để áp dụng H - 1, bạn cần giải 2 PDE cho mỗi lần lặp kryolv trong bộ giải của bạn. Mặt khácHH-1MộtMộtMộtMộtTMột+ρTôiH

MộtMộtMộtT

sao choAu=q- làH=A-TCTCAtối thiểuq,bạn12||Cbạn-y||2+α2||Rq||2Mộtbạn= =qH= =Một-TCTCMột-1+αRTRHH-1

Và tôi đã có ràng buộc trong tâm trí (ví dụ: SS(q)= =bạnSqbạn-(qbạn)= =f
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.