2015-12-28 7 views
2

Я новичок в CP. До сих пор я играл с MiniZinc, и я нахожу это очень весело.Constraint Набор инструментов для программирования с самым активным сообществом и ресурсами

Перед тем, как совершить слишком много, я хочу, чтобы выяснить, какой язык CP & решатель лучше всего начать с точки зрения наиболее активного сообщества, активно разрабатываются и используются в научных исследованиях, а также лучшие учебные ресурсы (примеры & учебники).

Возможные варианты: MiniZinc, ECLiPSe и/или инструменты.

Спасибо,

+3

Я предлагаю вам продолжить изучение CP с помощью MiniZinc и в то же время проверить другие системы, например. подписываясь на список рассылки/форумы и т. д., чтобы получить представление о сообществах. А также создайте (и прочитайте) как можно больше моделей, чтобы привыкнуть к мышлению. – hakank

ответ

3

MiniZinc является свободно отправной точкой. Если вас интересует больше языков, я предлагаю изучить Choco и JaCoP, оба могут быть использованы как библиотеки Java, и у обоих есть очень активные сообщества.

1

Также обратите внимание на OptaPlanner (Java, с открытым исходным кодом, Apache License):

  • daily commits
  • активные сообщества участников, которые send in Pull Requests
  • ежемесячных бета-релизов и 2 финальные релизы в год
  • 350+, а также javadocced
  • модульные испытания, интеграционные испытания и стресс-тесты
  • поддержки предпринимательства на Red Hat
1

За последние несколько месяцев я играл с, как вы еще упоминались, язык ECLiPSe программирования для решения всевозможных проблем, начиная от проблем планирования арифметики и логических головоломок и I «Я был просто поражен простотой и силой этого языка. Он основан на языке Prolog, поэтому, если у вас есть базовые знания Prolog, будет довольно легко и быстро адаптироваться к языку и его синтаксису. Бонус (imo) для языка - это интегрированные логические петли, которые очень удобны для доступа к определенным данным. Кроме того, на веб-сайте представлены очень четкие documentation и code tutorials для всех его функциональных возможностей, а также страница с реализациями для множества известных существующих проблем предоставляется here. Особенно это было полезно для меня, изучая язык.