约束编程入门

寻找技巧,教程,书籍和其他资源来开始约束编程。

一旦你进入凹槽,网上有很多优秀的材料,但下面的链接是(IMO)良好的起点(我使用的)。

约束编程:介绍 – (课程网站)
约束编程:介绍 – (Google书)
在线约束编程指南
CSP教程(4C推广计划)

约束处理规则(CHR)是开发自己的(特定问题)约束求解器的语言。 检查这个:

  • CHR主页

在那里你可以find链接

  • WebCHR在线演示 (最初在慕尼黑的LMU开发,现在在Uni Ulm进行了美化)
  • 几个Prolog (自然)和Haskell的实现 ,还有一个(不幸的是)Java原型(JCK)。

也许你可以看看萨尔大学关于约束规划的入门课程 。 他们不使用莫扎特作为dr_pepper说,但Gecode 。 Gecode是mozart的后续语言,部分由相同的人员实现。

我build议开始使用mozart 。 这是一个开源的约束编程语言,该网站有大量的文档,将帮助您入门。

这里是另一个关于约束编程课程网站的链接。

早些时候该课程使用Mozart / Oz进行拼版,但现在已被Gecode取代。

我build议你在Hankan Kjellerstrand(aka Hakank)在Hakank的主页上维护的约束编程网站

微软的Solver基金会有一些易于理解的例子。

约束规划手册是很好的想法。

在琐事, 我的四年级大学(现在是不久前)的主pipe在那里被引用。 🙂

如果你是Java程序员,我推荐使用Cream:Class Library进行约束编程