This project work is about modelling and solving a combinatorial decision problem with Constraint Programming (CP), and propositional SATisfiability (SAT) or its extension to Satisfiability Modulo Theories (SMT).
In particular, the combinatorial decision problem to solve is the Present Wrapping Problem (PWP): given a wrapping paper roll of a certain dimen- sion and a list of presents, decide how to cut off pieces of paper so that all the presents can be wrapped. Consider that each present is described by the dimensions of the piece of paper needed to wrap it. Moreover, each necessary piece of paper cannot be rotated when cutting off, to respect the direction of the patterns in the paper.