Я ищу библиотеку С++, и я имею дело с выпуклыми объектами и функциями ограничения.
Какая хорошая выпуклая библиотека оптимизации?
Ответ 1
Я предполагаю, что ваша проблема нелинейна. Где я работаю, мы используем SNOPT, Ipopt и другой фирменный решатель (не для продажи). Мы также пробовали и слышали хорошие вещи о Knitro.
Пока ваша проблема выпукла, все эти решатели работают хорошо.
Все они имеют свой собственный API, но все они запрашивают одну и ту же информацию: значения, первую и вторую производные.
Ответ 2
Предполагая, что ваши проблемы нелинейны, вы можете использовать бесплатный и открытый OPT++, доступный в Sandia Lab. Я использовал его в одном проекте на С++, и он был прост в использовании и хорошо работал.
Ответ 3
Из того, что я знаю, решатель CPLEX - лучший выпуклый оптимизатор оптимизации. Его современное состояние в LP-решателях. Оптимизирует ли выпуклая оптимизация. Искав его, я вижу, что его программное обеспечение IBM сейчас. Вы можете найти его здесь: http://www-01.ibm.com/software/integration/optimization/cplex/
Ответ 4
Вы можете использовать GSL
(Научная библиотека GNU) с пакет NLopt
, который представляет собой пакет нелинейной оптимизации с неограниченными ограничениями ограниченного ограничения и общего нелинейного неравенства.