Полагаю, ваша проблема нелинейна. Там, где я работаю, мы используем SNOPT, Ipopt и другой проприетарный решатель (не для продажи). Мы также пробовали и слышали хорошие вещи о Knitro.
Пока ваша проблема выпуклая, все эти решатели работают хорошо.
У них у всех есть свой API, но все они просят одну и ту же информацию: значения, первая и вторая производные.
.Из того, что я знаю, растворитель CPLEX является лучшим выпуклым растворителем для оптимизации. Это самое современное решение в LP solver. Оптимизация выпуклости действительно хороша. Исследуя его, я вижу, что теперь его программное обеспечение IBM. Вы можете найти его здесь: http://www-01.ibm.com/software/integration/optimization/cplex/
Предположив, что ваши проблемы нелинейны, вы можете использовать бесплатные и открытые OPT++, доступные в Sandia Lab. Я использовал его в одном проекте на C++, и он был прост в использовании и работал хорошо.
.