Skip to content

lluisalemanypuig/box-wrapping

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Box Wrapping Problem (BWP)

This repository contains 3 different approaches to solve the Box Wrapping Problem:

The complete specification of the problem (input and output format, exact goals, ..) can be found in this pdf file, which could be downloaded from the course's webpage during the second semester of academic year 2017-2018. A report explaining the contents of this repository can be found here.

Constraint programming (CP)

The Constraint Programming approach consists on implementing a mathematical model using Gecode (v. 6.0.0).

Linear Programming (LP)

The Linear Programming approach consists on implementing a mathematical model using Cplex (v. 12.7.0).

Satisfiability (SAT)

The Satisfiablity approach consists on generating a Boolean formula in conjunctive normal form (CNF) so that a SAT solver can solve it. The SAT solver used is lingeling.

Dependencies

Apart from the tools and libraries mentioned above, this project has other dependencies that have to be taken into account.

In order to compile each part of the project, one needs to have the make tool installed. It is mandatory to have a compiler that supports C++11. Also, for the Satisfiability part, a bash interpreter is needed to run the scripts.

Tools

Compiling the box-wrapper interface requires the use of either the qmake tool, or the Qt creator IDE.

Libraries

The interface box-wrapper needs the Qt library. Bear in mind that, since it uses OpenGL, it is also needed to have installed the corresponding modules of the Qt library.

Context

This repository contains the Combinatorial Problem Solving course project, carried out during the second semester of the academic year 2017-2018. The course is part of the Master in Innovation and Research in Informatics (MIRI) curriculum.