Jump to content

МОНЕТА-ИЛИ

(Перенаправлено с МОНЕТЫ-ИЛИ CLP )
МОНЕТА-ИЛИ
Веб-сайт www .coin-или .org

Вычислительная инфраструктура для исследования операций ( COIN-OR ) — это проект, цель которого «создать для математического программного обеспечения то же, что открытая литература для математической теории ». Открытая литература (например, исследовательский журнал) предоставляет сообществу исследователей операций (OR) процесс рецензирования и архив. Статьи в журналах по исследованию операций по математической теории часто содержат подтверждающие численные результаты вычислительных исследований. Реализации программного обеспечения, модели и данные, используемые для получения численных результатов, обычно не публикуются. Статус-кво не позволял исследователям воспроизводить результаты вычислений, проводить объективные сравнения и расширять современный уровень техники.

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

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

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

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

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

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

CLP используется в других проектах COIN-OR, таких как SYMPHONY , Branch Cut and Price (BCP), COIN-OR Branch and Cut ( CBC ) и других.

COIN-OR ветвления и разреза с открытым исходным кодом, (CBC или Cbc) — это программа смешанного целочисленного программирования написанная на C++ . Его можно использовать как автономный исполняемый файл, так и как вызываемую библиотеку (через A Mathematical Programming Language ( AMPL ) [исходно], General Algebraic Modeling System (GAMS) [с использованием ссылок, предоставляемых COIN-OR Optimization Services (OS) ) и проекты GAMSlinks ], MPL [через проект CoinMP ], AIMMS [через проект AIMMSlinks ], PuLP , CMPL, [4] OpenSolver для Excel, [5] ЮМП, [6] или МиниЦинк ). Хотя он уже много лет является популярным решением MIP с открытым исходным кодом, его производительность сейчас значительно уступает HiGHS. [7] [8]

СИМФОНИЯ

[ редактировать ]

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

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

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

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

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

См. также

[ редактировать ]
  1. ^ «Годовой отчет МОИН-ОР, 2007 г.» (PDF) . Архивировано (PDF) из оригинала 15 мая 2008 г. Проверено 28 марта 2008 г.
  2. ^ «Годовой отчет МОИН-ОР, 2011 г.» (PDF) . Архивировано (PDF) из оригинала 29 апреля 2016 г. Проверено 5 июля 2016 г.
  3. ^ «Эталон решателей Simplex LP» . Архивировано из оригинала 11 ноября 2021 г. Проверено 11 ноября 2021 г.
  4. ^ coin-or/Cmpl , COIN-OR Foundation, 20 января 2024 г., заархивировано из оригинала 13 апреля 2024 г. , получено 20 июня 2024 г.
  5. ^ «OpenSolver for Excel — программа оптимизации с открытым исходным кодом для Excel» . opensolver.org . Архивировано из оригинала 10 июня 2024 г. Проверено 20 июня 2024 г.
  6. ^ jump-dev/JuMP.jl , JuMP-dev, 19 июня 2024 г., заархивировано из оригинала 15 мая 2024 г. , получено 20 июня 2024 г.
  7. ^ «HiGHS — Высокопроизводительное программное обеспечение для параллельной линейной оптимизации» . www.highs.dev . Архивировано из оригинала 17 июня 2024 г. Проверено 20 июня 2024 г.
  8. ^ «Экземпляры тестов MIPLIB2017» . Архивировано из оригинала 30 октября 2021 г. Проверено 11 ноября 2021 г.
  9. ^ «СИМФОНИЯ» . Архивировано из оригинала 28 февраля 2014 г. Проверено 14 ноября 2013 г.
  10. ^ «ПуЛП» . Архивировано из оригинала 20 декабря 2013 г. Проверено 14 ноября 2013 г.
  11. ^ «СМИ» . Архивировано из оригинала 15 октября 2014 г. Проверено 3 января 2014 г.

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

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 3916c1e898616d4c4b5aac764604f48f__1719537000
URL1:https://arc.ask3.ru/arc/aa/39/8f/3916c1e898616d4c4b5aac764604f48f.html
Заголовок, (Title) документа по адресу, URL1:
COIN-OR - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)