2

我正在寻找能够解决灵活和/或动态约束的逻辑约束求解器。有任何想法吗?

4

2 回答 2

1

看看OptaPlanner(Java、开源、ASL):

  • 动态的(随着时间的推移不断变化):OptaPlanner 约束易于维护,因为它们是面向对象的并且彼此隔离。此外,如果您使用 drools 集成,您甚至可以在决策表、guvnor Web 应用程序中定义您的约束,...
  • 灵活(并非所有约束都是硬约束):OptaPlanner 支持开箱即用的硬约束和软约束。如果需要,它支持分数加权和 3+ 分数级别(例如硬、中和软)。

还有其他几个约束满足库。

于 2013-04-23T08:23:01.670 回答
0

“通过动态我的意思是如果问题中的约束随着时间的推移而不断变化”->这在约束编程中没有意义。约束不变。只有变量的域可以改变(通过约束传播或决策)。

“灵活我的意思是如果约束不是硬的——一些约束当然可以用成本来满足;一些约束更重要。它们带有权重或等级,或者在求解器尝试的地方有一个成本函数尽量减少以解决问题。” --> 好的所以基本上你正在尝试解决 Max-CSP 和/或加权 CSP。我建议您检查支持最大和/或加权 CSP 的 CSP 竞赛之一(例如http://www.cril.univ-artois.fr/CPAI08/)。您还可以查看 Minizinc 的http://www.minizinc.org(但我不确定它是否支持最大/加权 CSP)。

你想解决什么样的问题?

于 2013-04-20T00:44:33.933 回答