我有一个minizinc模型,我想找到所有的解决方案(我用gecode)然后打印统计,这是很容易:MiniZinc,Gecode去除溶液分离
mzn-gecode -as foo.mzn
但这种模式会产生数以千计的解决方案和隔板打印每个溶液:
----------
----------
----------
----------
==========
我需要删除这些分离器和仅打印统计数据。有没有办法?
== ==更新
我能够通过改变Gecode源
gecode/flatzinc/flatzinc.cpp
解决这个地方我删除
out << "----------" << std::endl;
也许有更好的解决方案,但这对我很好。
谢谢您的回答,但我只想要打印的统计数据。我已经将输出注释掉,即使输出[];空的分隔符被打印。 有这么多的解决方案,需要很长时间才能打印出来。但是我只能通过更改Gecode源代码来解决它(删除分隔符打印)。我会更新我的问题。 – finlir
一年前Gecode/fz有一个选项--print-last(或类似的东西),它只打印最后一个解决方案。这有时非常方便,但后来由于某种原因被删除(可能符合MiniZinc挑战标志)。 – hakank
'-a'打印找到的所有解决方案,因此破折号(空解输出)重复。 – orange