minizinc中可以支持pow约束的方式(直接或间接)吗? Gecode支持带有float和int变量的pow constraint,但是Minizinc和FlatZinc不支持变量的pow。 Minizinc和Flatzinc仅支持模型参数。 任何指针可以在MiniZinc中添加对Flatzinc(mzn2fzn)解析器的支持来执行此操作。minizinc中的power-of(pow)约束
我想要有一个约束,如 - “pow(4,x)== y”,即4^x == y。
minizinc中可以支持pow约束的方式(直接或间接)吗? Gecode支持带有float和int变量的pow constraint,但是Minizinc和FlatZinc不支持变量的pow。 Minizinc和Flatzinc仅支持模型参数。 任何指针可以在MiniZinc中添加对Flatzinc(mzn2fzn)解析器的支持来执行此操作。minizinc中的power-of(pow)约束
我想要有一个约束,如 - “pow(4,x)== y”,即4^x == y。
我知道在当前版本的MiniZinc中使用pow/2和决策变量是不可能的。
也许用“存在”来模拟它就足够了?这里有一个简单的例子(在这个例子中“我”的域太大了)。
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]) ];
你知道的增加对与MiniZinc决策变量战俘支持的任何计划,因为GECODE已经支持它? – user3483760
@ user3483760我不知道有任何扩展pow函数的计划。即将推出的MiniZinc 2.0版将具有不少新功能,希望它还包含更好的工作功能。 – hakank
已经确认minizinc会包括这个,但是实际解算器的支持显然是有点缺乏。请参阅[功能请求](http://www.minizinc.org/trac/ticket/54#comment:1)。 – esl
加入之前,我看到了这个问题的错误:http://www.minizinc.org/trac/ticket/54 – esl