Find out how ICT can support biomedical and clinical researchFind out more. From Clever cars to clever farms... Embedded Systems
MiniZinc and FlatZinc
MiniZinc and FlatZinc

MiniZinc is a medium-level modelling language. It is high-level enough to express most CP problems easily, but low-level enough that it can be mapped onto existing solvers easily and consistently. It is a subset of the higher-level language Zinc. We hope it will be adapted as a standard by the CP community.

FlatZinc is a low-level solver input language that is the target language for MiniZinc. It is designed to be easy to translate into the form required by a CP solver.

This page holds various MiniZinc and FlatZinc resources that are of wide interest.

  • Converting MiniZinc to FlatZinc.  The official specification for the MiniZinc-to-FlatZinc conversion. Has some overlap with the relevant section in the MiniZinc paper, but is more detailed, especially on how built-ins are translated.

  • G12 MiniZinc distribution.  The G12 MiniZinc distribution contains executables for the G12 MiniZinc-to-FlatZinc converter and the G12 FlatZinc interpreter. It also contains the source code for the MiniZinc-to-FlatZinc converter, as well as lots of example models and documentation.
  • G12 Bugs Database.  Please report any bugs in the MiniZinc distribution here. We are using the Mantis bug-tracking system.
For sample MiniZinc code see the MiniZinc Examples page.