CLPFD用于实数

时间:2014-07-11 07:45:14

标签: constraint-programming clpfd approximate

CLP(FD)允许用户为每个崇拜整数变量设置域,因此它能够解决方程式。
到目前为止一切都很好。

但是,您无法在CLP(R)或类似语言中执行相同的操作(您只能进行简单的推理)。并且不难理解为什么:数字的小数部分可能具有几乎无限的区域,由实施限制推迟。这意味着搜索空间太大,无法用于处理像整数一样的浮点数的求解器。因此,用户任务是在CLP(R)中编写生成器,并设置约束保护,以获取用数字实例化的变量(如果无法进行简单的推理)。

所以我的问题在这里:是否有任何类似CLP(FD)的语言而不是实物?我认为可以通过使用数字舍入,搜索和跟随增量近似来实现。

2 个答案:

答案 0 :(得分:1)

至少有一些主要的CLP(FD)求解器支持实际(决策)变量:

(前三个也支持MiniZinc中的var float。)

答案 1 :(得分:0)

你问题的回答是肯定的。基于约束的求解器专用于浮动数字。我没有解算器列表,但我知道ibex http://www.ibex-lib.org是一个允许使用浮点数的库。您还应该了解实现Real-Theory(http://smtlib.cs.uiowa.edu/solvers.shtml)的SMT-Solvers。