MiniZinc Software

The MiniZinc compiler and IDE

The compiler is the heart of the MiniZinc tool chain. It translates constraint models into FlatZinc, a language that is understood by a wide range of solvers. MiniZinc comes with a simple Integrated Development Environment, the MiniZinc IDE, which makes it easy to develop and run constraint models.

Both the compiler tool chain and the IDE are available as free and open source software. Have a look at our License Information page for the details. Please follow the installation instructions in the MiniZinc Handbook.

Bundled binary packages (recommended)

You can download a completely self-contained package including MiniZinc 2.8.3, the MiniZinc IDE 2.8.3, the Gecode, Chuffed, Google or-tools, COIN-BC and HiGHS solvers, and the Gurobi, CPLEX, FICO Xpress and SCIP solver interfaces.

This is the recommended way of installing MiniZinc for most users.

Source code

The source code of the compiler and the IDE is available from our GitHub project page. MiniZinc is distributed under the Mozilla Public License version 2.0. The MiniZinc IDE is developed using the Qt toolkit, which is available under several licenses including the LGPL.

Please follow the installation instructions.

Bugs

We are grateful for feedback on MiniZinc, including bug reports, feature requests and ideas for improvements.

For general discussions about MiniZinc, please go to the discussion forum.

To report an issue, please use the following issue trackers:

Solvers

The MiniZinc system contains direct interfaces to COIN-OR CBC, Gurobi and IBM ILOG CPLEX. Furthermore, the following projects have developed FlatZinc interfaces:

  • Gecode/FlatZinc. The generic constraint development environment provides a FlatZinc interface. The source code for the interface stripped of all Gecode-specific code is also available.
  • Chuffed. A C++ FD solver using lazy clause generation.
  • Choco 4. A Java FD solver.
  • ECLiPSe. The ECLiPSe Constraint Programming System provides support for evaluating FlatZinc using ECLiPSe's constraint solvers. MiniZinc models can be embedded into ECLiPSe code in order to add user-defined search and I/O facilities to the models.
  • HaifaCSP. A C++ FD solver using SAT solving algorithms.
  • JaCoP. A Java-based constraint solver with an interface to FlatZinc (from version 4.2).
  • MinisatID. An implementation of a search algorithm combining techniques from the fields of SAT, SAT Module Theories, Constraint Programming and Answer Set Programming, has an interface to FlatZinc.
  • Mistral 2.0. A C++ FD solver.
  • OR-Tools. A set of Operations Research tools developed at Google.
  • OscaR/CBLS. A FlatZinc interface to the Constraint Based Local Search component of the OscaR toolkit.
  • Picat CP/SAT.
  • SICStus Prolog. Includes a library for evaluating FlatZinc (from version 4.0.5).
  • SCIP. A framework for Constraint Integer Programming, has an interface to FlatZinc.
  • Yuck. A local search solver with an interface to FlatZinc.
MiniZinc IDE screen shot