나는 어떤 유형의 (연속적) 수학적 프로그램 (MP)이 효율적으로 해결 될 수 있고 어떤 것이 불가능한 지에 대한 지속적인 최적화 문헌과 TCS 문헌에 혼란을 느낀다. 지속적인 최적화 커뮤니티는 모든 볼록한 프로그램이 효율적으로 해결 될 수 있다고 주장하는 것 같지만, "효율적"에 대한 그들의 정의는 TCS 정의와 일치하지 않는다고 생각합니다.
이 질문은 지난 몇 년 동안 저를 크게 귀찮게 해 왔으며 그것에 대한 명확한 대답을 찾지 못하는 것 같습니다. 다항식 시간에 어떤 종류의 MP를 정확하게, 어떤 수단으로 해결할 수 있는지; 그리고 다항식 시간으로 정확하게 해결할 수없는 MP의 최적 솔루션을 근사화하는 것에 대해 알려진 것은 무엇입니까?
아래에서는이 질문에 대한 불완전한 답변을 제공하며 일부 지역에서는 올바르지 않을 수도 있으므로 잘못된 지점에서 나를 확인하고 수정할 수 있기를 바랍니다. 또한 대답 할 수없는 몇 가지 질문이 있습니다.
우리는 선형 프로그래밍이 타원체 방법 또는 내부 점 방법을 실행 한 다음 일부 반올림 절차를 실행하여 다항식 시간으로 정확하게 해결할 수 있음을 알고 있습니다. 선형 프로그래밍은 "분리 오라클"을 제공 할 수있는 한 매우 많은 양의 선형 제약 조건을 갖는 LP 계열에 직면 할 때 변수의 수의 다항식으로도 해결 될 수 있습니다. , 해당 포인트가 실행 가능한지 여부를 결정하거나 해당 포인트를 실행 가능한 포인트의 다면체에서 분리하는 초평면을 출력합니다. 마찬가지로, 이러한 LP의 이중에 대해 분리 알고리즘을 제공하는 경우, 매우 많은 양의 변수를 갖는 LP 계열에 직면 할 때 제약 조건의 수에서 다항식의 선형 프로그래밍.
타원체 방법은 목적 함수의 행렬이 양수 (세미?) 인 경우 다항식 시간에 이차 프로그램을 풀 수 있습니다. 분리 오라클 트릭을 사용하면 엄청나게 많은 제약 조건을 처리하는 경우에도이를 수행 할 수 있다고 생각합니다. 그게 사실입니까?
최근 반 정규 프로그래밍 (SDP)은 TCS 커뮤니티에서 많은 인기를 얻었습니다. 내부 포인트 방법 또는 타원체 방법을 사용하여 임의의 정밀도로 문제를 해결할 수 있습니다. 제곱근을 정확하게 계산할 수 없다는 문제 때문에 SDP를 정확하게 해결할 수 없다고 생각합니다. (?) SDP에 대한 FPTAS가 있다고 말하면 맞습니까? 나는 그것이 어디에서나 언급 된 것을 보지 못했기 때문에 아마 옳지 않습니다. 그런데 왜?
LP 및 SDP를 임의의 정밀도로 정확하게 해결할 수 있습니다. 다른 클래스의 원뿔형 프로그램은 어떻습니까? 타원체 방법을 사용하여 2 차 원뿔 프로그램을 임의의 정밀도로 풀 수 있습니까? 모르겠어요
어떤 MP 클래스에서 타원체 방법을 사용할 수 있습니까? MP가 임의의 정밀도로 답할 수 있도록 MP는 어떤 속성을 만족시켜야하며, 다항식 시간에 정확한 해를 구하기 위해서는 어떤 추가 속성이 필요합니까? 내부 포인트 방법에 대한 동일한 질문.
그리고 마지막으로 연속 옵티마이 저가 볼록한 프로그램을 효율적으로 해결할 수 있다고 말하는 이유는 무엇입니까? 볼록한 프로그램에 대한 임의의 정확한 답을 다항식 시간에 찾을 수 있다는 것이 사실입니까? 나는 "효율적인"에 대한 그들의 정의가 우리와 어떤 측면에서 다른가?
모든 기여에 감사드립니다! 미리 감사드립니다.