МОНЕТА-ИЛИ - COIN-OR

МОНЕТА-ИЛИ
МОНЕТА ИЛИ ЛОГОТИП.png
Интернет сайтwww.coin-или.org

Вычислительная инфраструктура для исследования операций (МОНЕТА-ИЛИ), это проект, целью которого является «создание для математических программного обеспечения что такое открытая литература по математике теория. "Открытая литература (например, исследовательский журнал) предоставляет исследование операций (ИЛИ) сообщество с процессом рецензирования и архивом. Статьи в журналах исследования операций по математической теории часто содержат подтверждающие численные результаты вычислительных исследований. Программные реализации, модели и данные, используемые для получения численных результатов, обычно не публикуются. Статус-кво мешал исследователям воспроизводить результаты вычислений, проводить справедливые сравнения и расширять существующие знания.

Успех Linux, Apache, и другие проекты популяризировали модель с открытым исходным кодом разработки и распространения программного обеспечения. Группа в IBM Исследования предложили открытый исходный код как аналогичный, но жизнеспособный способ публиковать программное обеспечение, модели и данные. COIN-OR был задуман как инициатива по продвижению открытого исходного кода в сообществе исследователей вычислительных операций и по предоставлению онлайн-ресурсов и услуг хостинга, необходимых для того, чтобы другие могли запускать свои собственные программное обеспечение с открытым исходным кодом проекты.

Веб-сайт COIN-OR был запущен в качестве эксперимента в 2000 году в связи с 17-м Международным симпозиумом по математическому программированию в Атланте, штат Джорджия. В 2007 году у COIN-OR было 25 прикладных проектов,[1] включая инструменты для линейное программирование (например., МОНЕТА-ИЛИ CLP ), нелинейное программирование (например., IPOPT ), целочисленное программирование (например, CBC, Bcp и МОНЕТА ИЛИ СИМФОНИЯ ), языки алгебраического моделирования (например., Coopr ) и больше. К 2011 году это количество выросло до 48 проектов.[2] COIN-OR размещается в Институте операционных исследований и управленческих наук, ИНФОРМАЦИЯ, и управляется образовательным некоммерческим фондом COIN-OR.

Проекты

CLP

COIN-OR LP (CLP или Clp) с открытым исходным кодом линейное программирование решатель написано в C ++. Публикуется под Общая общественная лицензия так что его можно использовать в проприетарное программное обеспечение без каких-либо ограничений Стандартная общественная лицензия GNU. CLP в первую очередь предназначен для использования в качестве вызываемой библиотеки, хотя может быть создана автономная исполняемая версия. Он разработан, чтобы быть таким же надежным, как и любой коммерческий решатель (хотя и немного медленнее), и иметь возможность решать очень большие проблемы.

CLP предназначен для решения таких задач линейного программирования, как:

свести к минимуму
  • при условии проблемы ограничения следующего вида
  • и неотрицательные переменные

с миллионами переменных и / или ограничений. Его основной алгоритм - это симплексный алгоритм.

CLP используется в других проектах COIN-OR, таких как СИМФОНИЯ, Branch and Cut (BCP), COIN-OR Branch and Cut (CBC ), и другие.

CBC

МОНЕТА-ИЛИ разделить и разрезать (CBC или Cbc) является открытым исходным кодом смешанное целочисленное программирование решатель написан на C ++. Его можно использовать как автономный исполняемый файл и как вызываемую библиотеку (через Математический язык программирования (AMPL ) [изначально], Общая система алгебраического моделирования (GAMS) [используя ссылки, предоставленные Услуги по оптимизации COIN-OR (ОС) и GAMSlinks проекты], MPL [сквозь CoinMP проект], ЦЕЛИ [сквозь Ссылки на AIMMS проект], PuLP, CMPL, OpenSolver для Excel, Прыгать, или же MiniZinc ).

СИМФОНИЯ

Одно- или многопроцессный оптимизация над сети (SYMPHONY) - это открытый исходный код разделить и разрезать рамки для решения смешанные целочисленные программы (MIP) по разнородным сетям.[3] Он может использовать CLP, CPLEX, XPRESS или другое линейное программирование решатели для решения лежащих в основе линейных программ.

SYMPHONY - это вызываемая библиотека, которая реализует как последовательные, так и параллельные версии ветвления, сокращения и цены для решения MILP. Алгоритм ветвления, сокращения и цены аналогичен ветвь и переплет алгоритм, но дополнительно включает режущие методы и алгоритмы ценообразования. Пользователь библиотеки может настраивать алгоритм любым количеством способов, предоставляя специфичные для приложения подпрограммы для чтения в пользовательских файлах данных, создания плоскостей разреза для конкретных приложений или применения пользовательских правил ветвления, что приводит к индивидуальному алгоритму ветвления и разреза. Большинство компонентов алгоритма, например, управление деревом поиска, управление решением линейного программирования, управление пулом разрезов и управление связью, являются внутренними по отношению к библиотеке, и пользователь не должен их трогать. Исполняемые файлы могут быть созданы в любом количестве конфигураций, от полностью последовательных до полностью параллельных, с независимо функционирующими генераторами вырезок, пулами вырезок и решателями LP. Распределенная версия в настоящее время работает в любой среде, поддерживаемой PVM протокол передачи сообщений. Тот же исходный код также может быть скомпилирован для архитектур с общей памятью с использованием любого OpenMP совместимый компилятор.

СИМФОНИЯ читает MPS (через считыватель COIN-OR MPS) и GNU MathProg файлы. SYMPHONY не имеет собственного LP-решателя, но может использоваться с такими решателями, как Clp, Cplex, Xpress, через интерфейс Osi. Вырезы создаются с использованием библиотеки генерации вырезок COIN: CGL. SYMPHONY также имеет специфичные для структуры реализации для таких проблем, как задача коммивояжера, проблема с маршрутизацией автомобиля, установить проблему разделения, смешанная проблема почтальона и т.д. SYMPHONY также имеет интерактивную оболочку, в которой пользователь может вводить команды для выполнения и управления программой.

PuLP

PuLP - это средство моделирования LP / IP, написанное на Python.[4] Он может генерировать MPS или файлы LP и позвоните ГЛПК, CLP /CBC, CPLEX, и Гуроби для решения линейных задач. PuLP - это инструмент оптимизации по умолчанию в SolverStudio за Excel.

СМИ

СМИ - это стохастическое программирование модельер и решатель написаны на C ++.[5] Он может читать стохастический MPS и предлагает прямые интерфейсы для построения стохастических программ. Он генерирует детерминированную эквивалентную линейную программу, решает ее и предоставляет интерфейсы для доступа к решениям сценария.

Смотрите также

  • Решатели COIN-OR доступны в ЦЕЛИ, AMPL и GAMS системы моделирования, а в FortSP решатель. Их также можно использовать изнутри Excel через OpenSolver и SolverStudio надстройки.

Рекомендации

  1. ^ Годовой отчет COIN-OR, 2007 г.
  2. ^ Годовой отчет COIN-OR, 2011 г.
  3. ^ СИМФОНИЯ
  4. ^ PuLP
  5. ^ «СМИ». Архивировано из оригинал на 2014-10-15. Получено 2014-01-03.

дальнейшее чтение

внешняя ссылка