Implements the workflow for solving a CSP problem encoded with MiniZinc.
Flatten a MiniZinc model into a FlatZinc one.
Status of the solution stream.
Solution stream returned by the
Generic error raised by the PyMzn functions.
PyMzn provides an interface to the
minizinc executable to compile a MiniZinc
model into a FlatZinc one, solve a given problem and get back the resulting
solutions directly as Python objects.
The main function that PyMzn provides is the
pymzn.minizinc function, which
executes the entire workflow for solving a constranint program encoded in
MiniZinc, just like using the
minizinc executable from command line. As
added benefit, the
pymzn.minizinc function takes care of adding
solver-dependent parameters and converts the solutions into Python dictionaries
by default. Solving a MiniZinc problem with PyMzn is as simple as:
pymzn.minizinc function is probably the way to go for most of the
problems, but the
pymzn.solns2out functions are also
included in the library to allow for maximum flexibility. The latter two
functions are wrappers of the two homonym MiniZinc tools for, respectively,
converting a MiniZinc model into a FlatZinc one and getting custom output from
the solution stream of a solver.