In the following, we will give instructions on how to get started with using constraint patterns. In the scheduling setting, each problem domain has a so-called **machine environment** which describes the layout of the machines (or operations if no machines exist). A pattern exists corresponding to this machine environment.

Further, several so-called **processing characteristics** may occur in a problem, which describe other constraints on the processing. A pattern exists for each common processing characteristic. Once machine environment and processing characteristics and their corresponding constraint patterns occuring in the problem have been identified, the constraint model can be assembled.

To assemble the model, one needs to decide which constraint language to use. Currently, pattern implementations are given for **MiniZinc**, which connects to a variety of different solvers, and **OPL **for the IBM CPLEX CP solver. For each pattern, a file containing constraints and potentially a file containing variables exists. The implementation of the machine environment patterns depends solely on the modelling language, while the implementation of the processing characteristic patterns also depend on the machine environment occuring in the problem.

Once the correct files containing the variables and constraints for the patterns occuring in the problem have been identified, they can easily be assembled by copying them into one of the following model templates:

Model Template for MiniZinc IDE

Model Template for OPL IBM CPLEX CP

Once this is done, one simply has to add an objective function to complete the model.