CPFloat Vars for Gecode - GonzaloHernandez/cpfloat-gecode GitHub Wiki

Gecode.org Constraint Programming with Float Vars over Gecode Toolkit. www.gecode.org

Welcome to the CPFloat-Gecode

This project aim improve the scope of problems to solver with the Constraint Toolkit of Gecode. CPFloat provide to Gecode a module useful for solve problems related with Continuous Domains.

Problems as such Bronstein, Bellido, Collins, Caprasse, etc. [1] can bean solve with this module.

CPFloat-Gecode use a good manipulation of floating variables and it's rounded problems by means of use of T.Hickey Arithmetic Intervals [2]. This package is a module implemented in g++ over Unix Platform using ArchLinux distribution. Is for future deployment, complete this functionality to Windows Platforms.

Requirements

For compile this package, is needed:

  • Operative Sistem: Linux (Regular Distribution)
  • Compiler: gcc/g++
  • Others packages: qt, qmake, BOOST libraries, doxygen, MPFR library

Installation

  1. Download Gecode Source Packages www.gecode.org/download
  2. Compile Gecode with CPFloatVar module:
    • Checkout this project $ mkdir ~/programming $ cd ~/programming $ git clone [email protected]:GonzaloHernandez/cpfloat-gecode.git
    • Decompress Source Package $ tar -xvzf gecode-3.7.3.tar.gz -C /tmp $ cd /tmp/gecode-3.7.3
    • Compile Source Code $ CXXFLAGS=-DGECODE_HAS_VAR_DISPOSE CFLAGS=-DGECODE_HAS_VAR_DISPOSE ./configure --with-vis="~/programming/cpfloat-gecode/cpfloat/cpfloat.vis" --with-architectures= --disable-examples --prefix=/usr/local
    • Install Gecode (Included CPFloat-Gecode) $ sudo make install

Use

Is recommended use QtCreator IDE to work with this package. CPFloat-Gecode provide a CMakeLists.txt file for compile with cmake.

The parameter for compile any example con cmake is: -DCMAKE_PREFIX_PATH=/usr/local

More help

For more support, this project provide a video showing all process.

[1] Principles and Practice of Constraint Programming--CP 2007: 13th International Conference, CP 2007, Proceedings. Christian Bessiere (Ed)

[2] Interval Arithmetic: from Principles to Implementation. T. Hickey, Q. Ju, Department of Computer Science, Brandeis University, USA