Combinatorial Problem Solving: Box Wrapping Problem (BWP) This combinatorial problem (NP-hard problem) is solved using the following techniques: Constraint Satisfaction Problem Linear Programming SAT Box Wrapping Problem The statement can be found here. Languages C++ (CP & LP) Haskell (SAT) Libraries Gecode (CP) CPLEX (LP) MIOS Solver (SAT)