是否有任何方式(直接或间接)可以在minizinc中支持pow限制。 Gecode支持带有float和int变量的pow constraint,但Minizinc和FlatZinc不支持变量的pow。 Minizinc和Flatzinc仅支持模型参数的pow。 任何关于在MiniZinc中添加支持到Flatzinc(mzn2fzn)解析器的指针都可以做到这一点。
我希望有一个约束,例如 - “pow(4,x)== y”,即4 ^ x == y。
答案 0 :(得分:2)
我所知道的当前版本的MiniZinc不可能将pow / 2与决策变量一起使用。
或许用#34;存在"来模仿它就足够了?这是一个简单的例子(在这个例子中," i"的域名太大了。)
var 0..10000: x;
var 0..10000: y;
solve satisfy;
constraint
exists(i in lb(x)..ub(x)) (
i = x /\
pow(4,i) = y
)
;
output [ show([x,y]) ];