Jump to content

МиниЦинк

МиниЦинк
Парадигма Программирование ограничений / Логическое программирование
Разработчик Университет Монаша
Впервые появился 2 мая 2009 г .; 15 лет назад ( 2009-05-02 )
Стабильная версия
2.8.5 / 3 июня 2024 г .; 59 дней назад ( 03.06.2024 )
Язык реализации С++
ТЫ Linux , MacOS и Windows
Лицензия МПЛв2
Расширения имен файлов .mzn, .dzn, .fzn
Веб-сайт www .миницинк .org
Под влиянием
Цинк

МиниЦинк [1] — это язык моделирования ограничений (или язык алгебраического моделирования ) для описания и решения задач высокой сложности с использованием множества известных парадигм решения комбинаторных задач, включая программирование в ограничениях , целочисленное программирование , генерацию отложенных предложений, SAT и SMT .

Следуя парадигме программирования с ограничениями , в MiniZinc проблема определяется с точки зрения известных значений (параметров), неизвестных значений (переменных решения) и отношений (ограничений) между этими значениями. MiniZinc продвигает использование глобальных ограничений для моделирования известных структур в задачах. Эти глобальные ограничения повышают ясность модели и позволяют решателям использовать наиболее эффективный метод использования структуры. Экземпляр задачи MiniZinc транслируется (или сглаживается ) до уровня, на котором он поддерживает только ограничения, поддерживаемые целевым решателем, а затем передается решателю в предпочтительном формате. В настоящее время MiniZinc может взаимодействовать с решателем, используя собственный формат FlatZinc или .nl файлы .

Большим преимуществом MiniZinc является возможность использовать разные решатели и даже разные решатели из одного и того же экземпляра MiniZinc. MiniZinc поддерживает множество решателей, как с открытым исходным кодом , так и с коммерческим программным обеспечением , включая CBC, [2] Чоко, [3] Раздраженный, [4] CPLEX , FICO Xpress , кодированный, [5] Гуроби , IPOPT и OR-Tools .

MiniZinc совместим с другими языками, такими R. как [6]

Следующая модель MiniZinc может быть использована для решения знаменитой о n головоломки -ферзях :

include "all_different.mzn"; % Include all_different globalint: n = 8; % The number of queens. (parameter)array [1..n] of var 1..n: q; % The height of the queens on the board. (decision variable)% No queen can be in a position where it can capture another queen. (constraints)constraint all_different(q);constraint all_different(i in 1..n)(q[i] + i);constraint all_different(i in 1..n)(q[i] - i);
  1. ^ Нетеркот, Николас; Стаки, Питер Дж.; Беккет, Ральф; Бранд, Себастьян; Дак, Грегори Дж.; Тэк, Гвидо (2007). Бессьер, Кристиан (ред.). «MiniZinc: на пути к стандартному языку CP-моделирования» . Принципы и практика программирования с ограничениями – CP 2007 . Конспекты лекций по информатике. Берлин, Гейдельберг: Springer: 529–543. дои : 10.1007/978-3-540-74970-7_38 . ISBN  978-3-540-74970-7 .
  2. ^ «МОНЕТА-ИЛИ MIP-решатель ветвей и разрезов» . project.coin-or.org . Проверено 14 сентября 2020 г.
  3. ^ «Шоколадница» . Шоколадник . Проверено 14 сентября 2020 г.
  4. ^ chuffed/chuffed , Chuffed, 11 сентября 2020 г. , получено 14 сентября 2020 г.
  5. ^ «GECODE — открытый, бесплатный и эффективный набор инструментов для решения ограничений» . www.gecode.org . Проверено 14 сентября 2020 г.
  6. ^ https://cran.r-project.org/web/packages/rminizinc/vignettes/R_MiniZinc.html
[ редактировать ]


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