Các phương pháp dựa trên Newton trong tối ưu hóa so với giải các hệ phương trình phi tuyến


12

Tôi đã yêu cầu làm rõ về một câu hỏi gần đây về minpack và nhận được nhận xét sau:

Bất kỳ hệ phương trình nào cũng tương đương với một vấn đề tối ưu hóa, đó là lý do tại sao các phương pháp tối ưu hóa dựa trên Newton trông rất giống các phương pháp dựa trên Newton để giải các hệ phương trình phi tuyến.

Điều làm tôi bối rối về nhận xét này (và các ý kiến ​​tiêu cực liên quan về các bộ giải bình phương nhỏ nhất phi tuyến tính như minpack) có thể được giải thích tốt nhất trên ví dụ về phương pháp gradient liên hợp . Phương pháp này được áp dụng cho các hệ thống với một đối xứng tích cực nhất định ma trận . Nó cũng có thể được sử dụng để giải quyết vấn đề bình phương tối thiểu chung cho một ma trận tùy ý , nhưng không nên làm như vậy. Một lời giải thích tại sao chúng ta không nên làm điều này là số điều kiện của hệ thống sẽ tăng đáng kể.A phút x | | A x - b | | 2 AAx=bAminx||Axb||2Một

Nhưng nếu biến một hệ phương trình thành bài toán tối ưu hóa được coi là có vấn đề ngay cả đối với trường hợp tuyến tính, tại sao nó lại ít vấn đề hơn đối với trường hợp tổng quát? Nó dường như có liên quan đến việc sử dụng một thuật toán tối ưu hóa hiện đại, thay vì sử dụng một bộ giải bình phương nhỏ nhất phi tuyến. Nhưng không phải là các vấn đề liên quan đến việc vứt bỏ thông tin và tăng số điều kiện của hệ thống tương đối độc lập với thuật toán tối ưu hóa thực sự được sử dụng?

Câu trả lời:


10

Vì một trong những câu trả lời của tôi đã được trích dẫn, tôi sẽ cố gắng làm rõ lý do tại sao tôi đề xuất sử dụng IPOPT thay vì MINPACK.

Sự phản đối của tôi đối với việc sử dụng MINPACK không liên quan gì đến các thuật toán mà MINPACK sử dụng và mọi thứ phải làm với việc thực hiện chúng. Phản đối chính của tôi là phần mềm có từ năm 1980, và được cập nhật lần cuối vào năm 1999. Jorge Moré đã nghỉ hưu; Tôi nghi ngờ anh ta hoặc bất kỳ tác giả nào khác của phần mềm giữ các tab trên đó nữa và không có nhóm người nào tích cực hỗ trợ nó. Tài liệu duy nhất tôi có thể tìm thấy trên phần mềm là bản báo cáo kỹ thuật gốc năm 1980 của Argonne được viết bởi Jorge Moré và các tác giả MINPACK khác. (Chương 1-3 có thể được tìm thấy ở đây và Chương 4 có thể được tìm thấy ở đây.) Sau khi tìm kiếm mã nguồn MINPACK và xem qua tài liệu (các tệp PDF là hình ảnh được quét và không thể tìm kiếm), tôi không thấy bất kỳ tùy chọn nào để điều chỉnh các ràng buộc. Vì áp phích ban đầu của bài toán bình phương nhỏ nhất phi tuyến muốn giải một bài toán bình phương nhỏ nhất bị hạn chế, MINPACK thậm chí sẽ không giải quyết được vấn đề đó.

Nếu bạn xem danh sách gửi thư IPOPT, một số người dùng chỉ ra rằng hiệu suất của gói đối với các vấn đề bình phương nhỏ nhất (NLS) được trộn lẫn với các thuật toán Levenberg-Marquest và các thuật toán NLS chuyên biệt hơn (xem tại đây , tại đâytại đây ). Hiệu suất của IPOPT liên quan đến thuật toán NLS, tất nhiên, phụ thuộc vào vấn đề. Cho rằng phản hồi của người dùng, IPOPT có vẻ như là một khuyến nghị hợp lý liên quan đến các thuật toán NLS.

Tuy nhiên, bạn đưa ra một điểm tốt là các thuật toán NLS nên được nghiên cứu. Tôi đồng ý. Tôi chỉ nghĩ rằng một gói hiện đại hơn MINPACK nên được sử dụng bởi vì tôi tin rằng nó sẽ hoạt động tốt hơn, có thể sử dụng nhiều hơn và được hỗ trợ. Ceres có vẻ như là một gói ứng viên thú vị, nhưng nó không thể xử lý các vấn đề bị ràng buộc ngay bây giờ. TAOsẽ hoạt động trên các bài toán bình phương nhỏ nhất có ràng buộc hộp, mặc dù nó không thực hiện Levenberg-Marquest cổ điển, mà thay vào đó thực hiện một thuật toán không có đạo hàm. Một thuật toán không có đạo hàm có thể sẽ hoạt động tốt cho các vấn đề quy mô lớn, nhưng tôi sẽ không sử dụng nó cho các vấn đề quy mô nhỏ. Tôi không thể tìm thấy bất kỳ gói nào khác truyền cảm hứng rất tự tin vào công nghệ phần mềm của họ. Chẳng hạn, GALAHAD dường như không sử dụng kiểm soát phiên bản hoặc bất kỳ thử nghiệm tự động nào, thoạt nhìn. MINPACK dường như cũng không làm những điều đó. Nếu bạn có kinh nghiệm với MINPACK hoặc các đề xuất liên quan đến phần mềm tốt hơn, tôi sẽ nghe thấy.

Với tất cả những điều đó trong tâm trí, quay trở lại trích dẫn nhận xét của tôi:

Bất kỳ hệ phương trình nào cũng tương đương với một vấn đề tối ưu hóa, đó là lý do tại sao các phương pháp tối ưu hóa dựa trên Newton trông rất giống các phương pháp dựa trên Newton để giải các hệ phương trình phi tuyến.

Một nhận xét tốt hơn có lẽ là một cái gì đó ảnh hưởng đến:

Khi chúng ta muốn giải một hệ phương trình với ẩn , chúng ta có thể coi đây là một bài toán tối ưu hóa bình phương tối thiểu. (Diễn giải đoạn cuối của tr.102 của Lập trình phi tuyến , ấn bản 2, của Dmitri Bertsekas.)nng(x)= =0

Tuyên bố này giữ ngay cả để giải các hệ phương trình dưới các ràng buộc. Tôi không biết bất kỳ thuật toán nào được coi là "bộ giải phương trình" cho trường hợp có các ràng buộc về các biến. Cách tiếp cận phổ biến mà tôi biết, có lẽ bị vàng da bởi một số học kỳ của các khóa học tối ưu hóa và nghiên cứu trong phòng thí nghiệm tối ưu hóa, là kết hợp các ràng buộc trên hệ thống các phương trình vào một công thức tối ưu hóa. Nếu bạn đã cố gắng sử dụng các ràng buộc trong sơ đồ giống như Newton-Raphson để giải phương trình, thì có lẽ bạn sẽ kết thúc với một phương pháp gradient hoặc vùng tin cậy được chiếu, giống như các phương thức được sử dụng trong tối ưu hóa bị ràng buộc.


Tôi có kinh nghiệm với MINPACK. Nó đủ tốt như một phương pháp địa phương. Tôi thích rằng tiêu chí dừng hoạt động tốt mà không cần điều chỉnh. Tôi biết rằng điều với các ràng buộc có thể gây phiền nhiễu, đặc biệt vì nó sẽ không phải là một thay đổi lớn đối với chính thuật toán. Tôi thậm chí còn biết về các triển khai LM cung cấp giới hạn về các biến và các ràng buộc tuyến tính chung, nhưng các triển khai này không trẻ hơn nhiều so với MINPACK và tôi không bận tâm để đánh giá chúng.
Thomas Klimpel

1
Một cặp đôi: Tôi có quan điểm hoàn toàn ngược lại về các phương pháp không có đạo hàm. Công cụ phái sinh là cách "nhanh" duy nhất để khám phá một không gian thiết kế chiều cao. Nếu không gian thiết kế nhỏ, việc bỏ qua các dẫn xuất có giá cả phải chăng hơn, nhưng số lần lặp lại nhất thiết phải tăng lên khi bạn tăng kích thước. Ngoài ra, semismooth Newton, các phương thức thiết lập tích cực và multigrid đơn điệu có thể được áp dụng cho các bất đẳng thức đa dạng, bao gồm các VI không đối xứng. Cuối cùng, nếu bạn loại bỏ và thu nhỏ , bạn không còn có biện pháp cục bộ để xác định giải pháp toàn cầu. g(x)= =0g(x)2
Jed Brown

@JedBrown: Tôi nên thay đổi ngôn ngữ xung quanh. Theo quan điểm của tôi, tối ưu hóa miễn phí phái sinh (DFO) chỉ thích hợp hơn khi đánh giá chức năng rất tốn kém. Vì một số lý do, trường hợp tinh tế xuất hiện trong đầu là khi mục tiêu liên quan đến việc giải quyết PDE, đó là lý do tại sao tôi nói "quy mô lớn" (tất nhiên, đối với tôi, trong tối ưu hóa, "PDE quy mô lớn" có nghĩa khác cho bạn, người giải quyết các PDE song song một cách thường xuyên). Khi tôi nghĩ đến việc "giải phương trình với các ràng buộc", vấn đề tôi gặp phải là . (tiếp)g(x)= =0,xS,SRn,SRn
Geoff Oxberry

@JedBrown: Một cách tiêu chuẩn để giải quyết vấn đề đó là giải quyết . Có thể có những cách khác, nhưng tôi không biết cách nào. Tôi không gợi ý rằng một loại bỏ ; cực tiểu với các giá trị hàm mục tiêu khác không rõ ràng không giải được hệ phương trình đang được giải. Trong trường hợp không xác định, các phương pháp tối ưu hóa toàn cầu là cần thiết để chứng nhận sự tồn tại hoặc không tồn tại của các giải pháp. Tôi không có nhiều kinh nghiệm với sự bất bình đẳng đa dạng, vì vậy tôi không rõ ngay lập tức nơi VI đến chơi ở đây, đặc biệt là vì không nhất thiết phải là hình nón. g ( x ) = 0 Stối thiểuxSg(x)2g(x)= =0S
Geoff Oxberry

1
Vì vậy, bạn vẫn cần phải có khả năng xác định chính xác những gì bạn có nghĩa là bằng một giải pháp mà dối trá trên ranh giới của . VI, thường được viết như một công thức bổ sung, làm chính xác điều đó. Tôi có ý kiến ​​ngược lại về việc không có phái sinh, đặc biệt là khi không gian thiết kế lớn. Nếu mục tiêu liên quan đến một giải pháp PDE đắt tiền, tôi xem đó là một yêu cầu mà chúng ta có một sự điều chỉnh để chúng ta có thể sử dụng độ dốc để khám phá không gian thiết kế. Một điều chỉnh PDE chỉ tốn một bội số nhỏ của một giải quyết chuyển tiếp độc lập với kích thước của không gian. Điều này đặt thêm yêu cầu về độ mịn của mô hình. S
Jed Brown

14

Nếu một hệ thống phi tuyến nhất định là điều kiện tối ưu hóa thứ tự đầu tiên cho một vấn đề tối ưu hóa, thì chúng ta thường có thể tạo ra một thuật toán mạnh hơn bằng cách sử dụng thông tin đó. Ví dụ, hãy xem xét phương trình

Âm mưu của mục tiêu ban đầu

Điều này rõ ràng có một mức tối thiểu duy nhất và chúng tôi hy vọng phương pháp tối ưu hóa của chúng tôi sẽ tìm thấy nó bất kể điểm bắt đầu. Nhưng nếu chúng ta chỉ nhìn vào các điều kiện tối ưu hóa thứ tự đầu tiên, chúng ta đang tìm kiếm một giải pháp là [Wolfram Alpha]xf(x)= =0

dốc

trong đó có một giải pháp duy nhất, nhưng nhiều phương pháp rootfinding có thể bị kẹt ở mức tối thiểu cục bộ.

Nếu chúng tôi cải tổ một vấn đề tối ưu hóa mới để giảm thiểu định mức của bình phương độ dốc, chúng tôi đang tìm kiếm một tối thiểu toàn cầu là [Wolfram Alpha] có nhiều cực tiểu cục bộ.xf(x)2

nhập mô tả hình ảnh ở đây

Để tóm tắt, chúng tôi đã bắt đầu với một vấn đề tối ưu hóa có một giải pháp duy nhất mà chúng tôi có thể đảm bảo rằng một phương pháp sẽ tìm thấy. Chúng tôi đã điều chỉnh lại như một vấn đề tìm kiếm gốc phi tuyến có một giải pháp duy nhất mà chúng tôi có thể xác định cục bộ, nhưng một phương pháp tìm kiếm gốc (như Newton) có thể bị đình trệ trước khi tiếp cận nó. Sau đó, chúng tôi đã điều chỉnh lại vấn đề tìm kiếm gốc là một vấn đề tối ưu hóa có nhiều giải pháp cục bộ (không có biện pháp cục bộ nào có thể được sử dụng để xác định rằng chúng tôi không ở mức tối thiểu toàn cầu).

Nói chung, mỗi lần chúng tôi chuyển đổi một vấn đề từ tối ưu hóa sang rootfinding hoặc ngược lại, chúng tôi làm cho các phương thức có sẵn và sự hội tụ liên quan đảm bảo yếu hơn. Các cơ chế thực tế của các phương thức thường rất giống nhau nên có thể sử dụng lại rất nhiều mã giữa các bộ giải phi tuyến và tối ưu hóa.


Jed, những liên kết WA đó không hoàn toàn đi đến những gì bạn nói họ làm. Các dấu ngoặc đơn đang bị bỏ qua hoặc chuyển không đúng trong URL.
Bill Barth

Lạ thay, các liên kết làm việc cho tôi. Nó có thể phụ thuộc vào trình duyệt web? Bất kỳ đề xuất cho một cách khác để trình bày này?
Jed Brown

Không chắc. Việc cắt và dán liên kết được định dạng lại từ tab này sang tab tiếp theo sẽ khiến nó tự vặn WA để tự mình làm lại!
Bill Barth

Có ai khác gặp rắc rối với các liên kết? Tôi đã thử trong nhiều trình duyệt và nó hoạt động tốt trong mọi trường hợp.
Jed Brown

Đây là một câu trả lời tốt đẹp. Tuy nhiên, thay vào đó, tôi quyết định chấp nhận câu trả lời của Geoff Oxberry, bởi vì một phần của những gì tôi đang cố gắng hiểu là các vấn đề "thế giới thực" liên quan đến câu hỏi. Điều này bao gồm những người như tôi sử dụng và đề xuất MINPACK, mặc dù biết về những thiếu sót của nó và những người khác xin lời khuyên về việc giải quyết các hệ thống phi tuyến tính "nhỏ tầm thường", nhưng không quản lý để kiểm tra ngay cả một người giải quyết trong ba tháng khung thời gian.
Thomas Klimpel
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.