CVXOPT VS. OpenOpt


Yanıtlar:


11

CVXOPT sadece konveks problemleri çözer (pürüzsüz ve düzensiz), en son durum karmaşıklığı garanti edilen birçok üçüncü taraf dışbükey çözücüye erişim sağlar. Doğrusal, dışbükey kuadratik, doğrusal semidefinit ve diğer birçok dışbükey kısıtlama türü oluşturabilirsiniz.

OpenOpt, tamsayı kısıtlamalarıyla ilgili sorunlar da dahil olmak üzere genel (düzgün ve düz olmayan) doğrusal olmayan programları çözer. CVXOPT'den farklı olarak, yarı-bit programların çözümü için herhangi bir yazılıma sahip değildir. Çözücülerin hepsi Dmitrey Kroshko tarafından yazıldı ve uzun bir geçmişi yok, bu yüzden test muhtemelen sınırlıydı. OpenOpt kendisi genel üçüncü taraf çözücülerle _not- arabirimine sahip değildir.

Bununla birlikte, IPOPT ile arayüz oluşturan (başka bir yorumda bahsedildiği gibi; sorunsuz problemleri çözemez), CVXOPT ve Python'da bulunan diğer bazı çözücüler '' OpenOpt Çerçevesi '' (http://openopt.org/OOFramework) vardır.

Bu arayüz dışında, bu paketler arasında bir ilişki yoktur. Yöntemler tamamen farklıdır; yaygın olan tek şey Python dili ve LAPACK'e erişim olabilir.

Dışbükey problemler için,
CVX: Disiplinli Dışbükey Programlama için Matlab Yazılımı http://cvxr.com/cvx'i de tavsiye etmek isterim ,
bu yazarlar bu yılki çok prestijli Beale-Hays-Orchard Hesaplamalı Matematiksel Programlama Mükemmellik Ödülü'nü aldı . Yine de Matlab'da yazılmıştır.
Ayrıca CVXPY http://www.stanford.edu/~ttinoco/cvxpy/ olarak adlandırılan bir Python '' sürümü '' var , ancak CVXPY, CVXOPT için sadece çok güzel ve kullanışlı bir '' disiplinli '' arayüz. bir program sözdizimsel olarak doğru olduğunda dışbükey bir optimizasyon sorunu olduğundan emin olabilirsiniz.


4

OpenOpt, çoğunlukla, diğer çözücüler için sadece bir arayüzdür. CVXOPT, OpenOpt'un altında yatan açık kaynak çözücülerinden biridir, bu nedenle kullanmak istediğiniz ticari bir çözücünüz yoksa, muhtemelen her durumda CVXOPT'u yüklemek isteyeceksiniz. AFAIK, CVXOPT, en azından ikinci dereceden koni programlama ve yarı tanımlı programlama için açık kaynak kütüphaneleri arasında en son teknolojidir.


1
CVXOPT'un OpenOpt'un altında yatan ana açık kaynak çözücü olduğunu söylemenin mantıklı olduğunu düşünmüyorum. Neden IPOPT veya bir düzine başka temel çözücüden daha ana ?
David Ketcheson

belki ana SOCP çözücü daha doğrudur (?)
Marc Shivers
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.