CVXOPT VS. OpenOpt


답변:


11

CVXOPT는 (부드럽고 부드럽 지 않은) 볼록 문제 만 해결하여 최첨단 최악의 복잡한 상태를 보장하는 여러 타사 볼록 솔버에 액세스 할 수 있습니다. 선형, 볼록 2 차, 선형 반정의 및 기타 많은 볼록 유형의 구속 조건을 포즈 할 수 있습니다.

OpenOpt는 정수 제약 조건 문제를 포함하여 일반적인 (평활 및 비평 활) 비선형 프로그램을 해결합니다. CVXOPT와 달리 반정의 프로그램을 해결하기위한 소프트웨어가 없습니다. 솔버는 모두 Dmitrey Kroshko가 직접 작성했으며 오랜 역사가 없으므로 테스트가 제한적일 수 있습니다. OpenOpt 자체는 일반적인 타사 솔버와 인터페이스하지 않습니다.

그러나 IPOPT (다른 의견에서 언급하지만 매끄러운 문제는 해결할 수 없음), CVXOPT 및 Python에서 사용할 수있는 다른 솔버와 인터페이스하는``OpenOpt 프레임 워크 ''(http://openopt.org/OOFramework)가 있습니다.

이 인터페이스 이외에도이 패키지들 사이에는 관계가 없습니다. 방법은 완전히 다릅니다. 파이썬 언어와 LAPACK에 대한 액세스 만있을 수 있습니다.

볼록 문제를 들어, 나는 또한 추천하는 것처럼
프로그래밍 징계 볼록위한 matlab에 소프트웨어 : CVX를 http://cvxr.com/cvx ,
저자는 올해 전산 수학 프로그래밍에 우수 매우 유명한 빌 - 헤이즈 - 오차드 상을의 얻을 수있는 . 그러나 Matlab으로 작성되었습니다.
또한 CVXPY http://www.stanford.edu/~ttinoco/cvxpy/ 라는 Python``버전 ''이 있지만 CVXPY는 CVXOPT에 대한 매우 훌륭하고 유용한``훈련 된 ''인터페이스 일뿐입니다. 프로그램이 구문 상 올바른 경우 볼록한 최적화 문제인지 확인할 수 있습니다.


4

OpenOpt는 대부분 다른 솔버에 대한 인터페이스 일뿐입니다. CVXOPT는 OpenOpt를 기반으로하는 오픈 소스 솔버 중 하나이므로 사용하려는 상용 솔버가 없으면 CVXOPT를 설치할 수 있습니다. AFAIK, CVXOPT는 최소한 2 차 콘 프로그래밍 및 반정의 프로그래밍을위한 오픈 소스 라이브러리 중 최신 기술입니다.


1
CVXOPT가 OpenOpt의 기본 오픈 소스 솔버 라고 말하는 것이 타당하지 않다고 생각합니다 . 왜 더 , 말보다 IPOPT, 또는 다스 다른 근본적인 해법?
David Ketcheson

(?) 아마도 주요 SOCP 해결사가 더 정확하다
마크 떨고
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.