有没有办法将 Minizinc 求解器的所有解决方案绑定到 python 变量通过单元魔术在 jupyter notebook 中使用时?

问题描述

我希望使用 minizinc 来解决优化问题。我通过 cell magic 在 Jupyter notebook 上使用它,如下所示。

对于下面的简单二次方程,当我单独使用 -a 标志时,我会根据需要在输出中获得 x 的所有可能解。

%load_ext iminizinc
a=1
b=4
c=0
%%minizinc -a

include "gecode.mzn";
var -100..100: x;
int: a; int: b; int: c;
constraint a*(x*x) + b*x = c;
solve satisfy;

[Out]: [{'x': -4},{'x': 0}]

但是,当我尝试将所有可能的解决方案绑定到一个 python 变量时,它只绑定了一个解决方案,而不是全部:

%%minizinc -a -m bind

include "gecode.mzn";
var -100..100: x;
int: a; int: b; int: c;
constraint a*(x*x) + b*x = c;
solve satisfy;
x

[Out]:0

同样,当我只使用 -m 绑定标志而不使用 -a 标志时,它也只将一个解绑定到变量:

%%minizinc -m bind
x

[Out]:-4

如果有办法将所有可能的解决方案绑定到 python 变量,请告诉我。 (我需要声明一个不同数据类型的变量吗?)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)