从 Java 调用 Minizinc 模型

Call Minizinc model from Java

如何从 Java 程序调用 Minizinc 模型并将数组作为传递参数? 是否有任何特殊命令可以执行此操作?

我经常这样做,但在 python 中。可能没有任何模块或扩展可以以任何方便的方式集成调用,但调用另一个程序非常容易。

由于我在Java中没有尝试过,所以我让另一个堆栈溢出post指导你:Execute external program in java

您可以将参数作为 -D "var_int_name=10;var_int_array=[1,2,3];" 传递,也可以提供数据文件作为调用 MiniZinc 的最后一个参数。

一个通用的技巧是让您的 MiniZinc 模型的输出非常容易识别和解析,因为许多求解器打印额外的东西而不仅仅是解决方案。例如,MiniZinc 本身是否在解决方案之间打印 ----------。用 & 或任何其他易于计算机查找和解析的符​​号将答案括起来。您可能还想验证您确实得到了解决方案。