我想在 Java 的运行时解决具有动态参数的模型。我的问题是用 MiniZinc 写的。从终端我可以通过调用以下命令来解决模型:
mzn2fzn model.mzn model_data.dzn (this produces model.fzn file)
fzn-gecode model.fzn (actually solves the model)
基本上有两个步骤,首先我需要在提供数据文件的同时将 minizinc 模型编译成 flatzinc 格式,然后我需要在 flatzinc 模型上运行 gecode 本身。
当然,我可以通过调用外部进程(在 Java 中使用 ProcessBuilder 或在 python 中使用子进程'like')来完成这些步骤。但我想知道是否有更好的方法。特别是我想避免每次调用都将我的模型重新编译成 flatzinc。
我尝试调用 gecode 的方式是否有其他选择?
谢谢!