Стабильный релиз | 0.5.6 |
---|---|
Написано в | С++ |
Операционная система | Кроссплатформенный |
Веб-сайт | github.com/coin-or/Couenne |
Convex Over and Under ENvelopes for Nonlinear Estimation ( Couenne ) — библиотека с открытым исходным кодом для решения глобальных задач оптимизации , также называемых смешанными целочисленными нелинейными задачами оптимизации. [1] Глобальная задача оптимизации требует минимизации функции , называемой целевой функцией , с учетом набора ограничений. Как целевая функция, так и ограничения могут быть нелинейными и невыпуклыми. Для решения этих задач Couenne использует процедуру переформулирования [2] и обеспечивает приближение линейного программирования любой невыпуклой задачи оптимизации. [3]
Couenne — это реализация ветвей и границ , где каждая подзадача решается путем построения релаксации линейного программирования для получения нижней границы. Ветвление может происходить как по непрерывным, так и по целочисленным переменным, что необходимо в задачах глобальной оптимизации. Он требует, чтобы входные данные были указаны в формате A Mathematical Programming Language ( AMPL ) .nl , чтобы их можно было использовать из AMPL, и записывает в качестве выходных данных файл .sol, содержащий лучшее решение, найденное до этого момента (если оптимизация прерывается) или глобальный оптимум, если она завершается без прерывания.
Разработка Couenne началась в 2006 году в рамках сотрудничества IBM и Carnegie Mellon University . Это программное обеспечение с открытым исходным кодом , которое в настоящее время выпускается под лицензией Eclipse Public License v1.0.
Исходный код доступен для загрузки в репозитории Computational Infrastructure for Operations Research COIN-OR и на GitHub. Куэнн использует другие пакеты как в COIN-OR ( CBC , CLP , COIN-OR OSI, COIN-OR Bonmin, COIN-OR Cgl, Interior Point OPTimizer ( IPOPT )), так и за его пределами ( LAPACK , Basic Linear Algebra Subprograms (BLAS), MUltifrontal Massively Parallel sparse direct Solver ( MUMPS ), Nauty, Solving Constraint Integer Programs ( SCIP ), SoPlex).