Tôi khá bối rối bởi tài liệu tối ưu hóa liên tục và tài liệu TCS về loại chương trình toán học (MP) (liên tục) nào có thể được giải quyết một cách hiệu quả, và loại nào không thể. Cộng đồng tối ưu hóa liên tục dường như tuyên bố rằng tất cả các chương trình lồi có thể được giải quyết một cách hiệu quả, nhưng tôi tin rằng định nghĩa "hiệu quả" của chúng không trùng với định nghĩa của TCS.
Câu hỏi này đã làm phiền tôi rất nhiều trong vài năm qua và dường như tôi không thể tìm thấy câu trả lời rõ ràng cho nó. Tôi hy vọng bạn có thể giúp tôi giải quyết vấn đề này một lần và mãi mãi: Những lớp MP nào có thể được giải quyết chính xác trong thời gian đa thức, và bằng cách nào; và những gì được biết về xấp xỉ giải pháp tối ưu của MP mà chúng ta không thể giải quyết chính xác trong thời gian đa thức?
Dưới đây, tôi đưa ra một câu trả lời không đầy đủ cho câu hỏi này cũng có thể không chính xác ở một số nơi, vì vậy tôi hy vọng bạn có thể xác minh và sửa lỗi cho tôi tại những điểm mà tôi sai. Nó cũng nêu một số câu hỏi mà tôi không thể trả lời.
Chúng ta đều biết rằng lập trình tuyến tính có thể được giải quyết chính xác trong thời gian đa thức, bằng cách chạy phương pháp ellipsoid hoặc phương pháp điểm bên trong và sau đó chạy một số thủ tục làm tròn. Lập trình tuyến tính thậm chí có thể được giải quyết theo đa thức thời gian về số lượng biến khi đối mặt với một họ LP với bất kỳ ràng buộc tuyến tính siêu lớn nào, miễn là người ta có thể cung cấp một "tiên đề tách" cho nó: một thuật toán phân tách, cho một điểm , hoặc xác định xem điểm đó có khả thi hay không hoặc đưa ra một siêu phẳng tách điểm đó khỏi khối đa diện của các điểm khả thi. Tương tự, lập trình tuyến tính theo đa thức thời gian về số lượng các ràng buộc khi đối mặt với một họ LP với bất kỳ số lượng biến cực lớn nào, nếu một thuật toán cung cấp một thuật toán phân tách cho các nhị phân của các LP này.
Phương pháp ellipsoid cũng có thể giải các chương trình bậc hai trong thời gian đa thức, trong trường hợp ma trận trong hàm mục tiêu là dương (bán?) Xác định. Tôi nghi ngờ rằng, bằng cách sử dụng thủ thuật tách biệt, trong một số trường hợp, chúng ta cũng có thể làm điều này nếu chúng ta đang phải đối phó với một số lượng hạn chế đáng kinh ngạc. Điều đó có đúng không?
Gần đây, lập trình semidefinite (SDP) đã trở nên phổ biến trong cộng đồng TCS. Người ta có thể giải quyết chúng đến độ chính xác tùy ý bằng cách sử dụng các phương pháp điểm bên trong, hoặc phương pháp ellipsoid. Tôi nghĩ rằng, SDP không thể được giải quyết chính xác do vấn đề mà căn bậc hai không thể được tính toán chính xác. (?) Sau đó có đúng không nếu tôi nói có FPTAS cho SDP? Tôi chưa thấy điều đó được nêu ở bất cứ đâu, vì vậy điều đó có lẽ không đúng. Nhưng tại sao?
Chúng tôi có thể giải quyết LP chính xác và SDP cho đến độ chính xác tùy ý. Còn các lớp khác của chương trình conic thì sao? Chúng ta có thể giải các chương trình hình nón bậc hai với độ chính xác tùy ý, sử dụng phương pháp ellipsoid không? Tôi không biết.
Chúng ta có thể sử dụng phương thức ellipsoid nào trên các lớp MP? MP cần những tính chất nào để thỏa mãn sao cho câu trả lời có thể được đưa ra với độ chính xác tùy ý và chúng ta cần những thuộc tính bổ sung nào để có thể có được một giải pháp chính xác trong thời gian đa thức? Câu hỏi tương tự cho các phương pháp điểm nội thất.
Ồ, và cuối cùng, điều gì khiến các trình tối ưu hóa liên tục nói rằng các chương trình lồi có thể được giải quyết hiệu quả? Có đúng là một câu trả lời chính xác tùy ý cho một chương trình lồi có thể được tìm thấy trong thời gian đa thức? Tôi tin là không, vậy định nghĩa "hiệu quả" của họ khác với chúng ta ở khía cạnh nào?
Bất kỳ đóng góp được đánh giá cao! Cảm ơn trước.