Code Monkey home page Code Monkey logo

box-wrapping's Introduction

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.

box-wrapping's People

Contributors

lluisalemanypuig avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.