Какая хорошая выпуклая библиотека оптимизации?

Я ищу библиотеку С++, и я имею дело с выпуклыми объектами и функциями ограничения.

4 ответа

Я предполагаю, что ваша проблема нелинейна. Где я работаю, мы используем SNOPT, Ipopt и другой фирменный решатель (не для продажи). Мы также пробовали и слышали хорошие вещи о Knitro.

Пока ваша проблема выпукла, все эти решатели работают хорошо.

Все они имеют свой собственный API, но все они запрашивают одну и ту же информацию: значения, первую и вторую производные.


Предполагая, что ваши проблемы нелинейны, вы можете использовать бесплатный и открытый OPT++, доступный в Sandia Lab. Я использовал его в одном проекте на С++, и он был прост в использовании и хорошо работал.


Из того, что я знаю, решатель CPLEX - лучший выпуклый оптимизатор оптимизации. Его современное состояние в LP-решателях. Оптимизирует ли выпуклая оптимизация. Искав его, я вижу, что его программное обеспечение IBM сейчас. Вы можете найти его здесь: http://www-01.ibm.com/software/integration/optimization/cplex/


Вы можете использовать GSL (Научная библиотека GNU) с пакет NLopt, который представляет собой пакет нелинейной оптимизации с неограниченными ограничениями ограниченного ограничения и общего нелинейного неравенства.

licensed under cc by-sa 3.0 with attribution.