The 19th International Conference on
Principles and Practice of
Constraint Programming
Uppsala, Sweden
September 16-20, 2013

Workshop "CPSOLVERS-2013" - Abstracts

The workshop "CP Solvers: Modeling, Applications, Integration, and Standardization" will be held at the 19th International Conference on the Principles and Practice of Constraint Programming (http://cp2013.a4cp.org/) in Uppsala, Sweden on Monday September 16, 2013.

ABSTRACTS and PRESENTATIONS Main Schedule CP Catalogue Schedule LP Catalogue

  • CP Solvers/Learning Constraint Programming Hakan Kjellerstrand
    In this talk I give my view on learning Constraint Programming after testing about 25 different CP systems, some comments on the role of CP Solver developers as well as a subjective comparison matrix of these tested solvers.
    Presentation
  • *

  • Gecode -- an open constraint solving library. Christian Schulte and Guido Tack
    Gecode is a widely used toolkit for developing constraint-­based systems and applications. Gecode provides a constraint solver with state­-of-­the­art performance while being modular and extensible. Gecode is: open (documented interfaces support tasks from modeling to implementing new variables, constraints, search engines, ...), free (MIT license), portable (standard C++), accessible (extensive tutorial and reference documentation, efficient (excel­lent performance, has won the 2008­-2012 MiniZinc challenges in all categories), and parallel (exploits today's multi­ core hardware)
    Presentation
  • *

  • Choco3: an Open Source Java Constraint Programming Library. Charles Prud'Homme, Jean-Guillaume Fages, Xavier Lorca and Narendra Jussien
    Choco3 is a java library for constraint satisfaction problems (CSP) and constraint programming (CP). It is built on a event-based propagation mechanism with backtrackable structures. Choco3 is an open-source software, hosted by Github.com and distributed under a BSD license. Choco3 is mainly developed by people at Ecole des Mines de Nantes (France)
    Presentation
  • *

  • JaCoP - Java Constraint Programming Solver. Krzysztof Kuchcinski and Radoslaw Szymanek
    This paper introduces JaCoP solver implemented entirely in Java. The solver offers a rich set of primitive, logical, conditional and global constraints as well as configurable search methods. The solver ecan be used directly from Java or through one of its front-end, Minizinc front-end or Scala DSL. The solver got three silver medals on Minizinc Challenge in the period 2010-2012
    Presentation
  • *

  • Xpress-Kalis: A CP solver integrated in the FICO Xpress Optimization Suite. Sylvain Mouret, Alexandre Marié and Susanne Heipcke
    This talk will highlight the main modeling and solving features of the Xpress-Kalis CP solver.
    Seamlessly integrated to the Xpress-Mosel languages, it completes the suite of Xpress solvers (Optimizer and NonLinear) and benefits from Mosel's interfaces to a variety of external data sources and formats and advanced programming capabilities, in particular for distributed and remote computing.
    The talk will focus on the standard CP constraints implemented by Xpress-KalisA, specialized syntax for scheduling constraints, user-defined procedures (branching strategies, filtering algorithms, etc.) and integration of LP/MIP relaxations to the CP framework.
    A software demonstration will show how to effectively use Xpress-Kalis in a variety of environments and applications.
    Presentation
  • *

  • OR-Tools solver. Laurent Perron
    OR-Tools is a collection of libraries to help solve Operations Research problems.
    It contains:
    - a Constraint Programming solver with discrete integer variables, local search, vehicle routing and scheduling support.
    - A flatzinc binary to be used in conjunction with minizinc.
    - a unified wrapper around popular linear solver (open source and commercial ones).
    - a set of graph and flow algorithms, including an efficient implementation of max-flow, min cost flow, and linear sum assignment.
    All the tools are implemented in C++, and wrapped in SWIG to generate python, java, and .NET interfaces.
    Presentation
  • *

  • Model Presolve, Warmstart and Conflict Refining in CP Optimizer. Philippe Laborie, Philippe Refalo and Paul Shaw
    The IBM constraint programming optimization system CP Optimizer was designed to provide automatic search and a simple modelisation of scheduling problems. It is used in industry for solving operational planning and scheduling problems. We present three features that we recently added to CP Optimizer to accelerate problem solving and make the solver more interactive. These are model presolve, warm-start and conflict refinement. The aim of model presolve is to reformulate and group constraints to obtain a stronger model that will be solved more rapidly. We give examples of some interesting model reformulations. Search warm-start starts search from a known - possibly incomplete - solution given by the user in order to further improve it or to help to guide the engine towards a first solution. Finally the conflict refiner helps to identify a reason for an inconsistency by providing a minimal subset of an infeasible model. All these features are illustrated on concrete examples.
    Presentation
  • *

  • JSR331 Standard: Current State and Future Plans. Jacob Feldman
    In this presentation I will give an overview of the current version of the JSR331, an official JCP standard "Java Constraint Programming API". It will cover its architecture, major concepts, and multiple implementations using constraint and linear solvers. I will also describe new features that we plan to add to new releases of the standard.
    Presentation
  • *

  • The modeling system AIMMS for developing Mathematical Programming and Constraint Programming applications. Chris Kuip
    The Aimms package integrates externally supplied solution algorithms for mathematical programming and constraint programming with model development, application integration, and application deployment.
    In this context, some aspects of the technical realization of the extension of the AIMMS package with a CP interface will be discussed:
    - Element variables are an abstraction of integer variables permitting a natural extension of the subscripting capabilities in algebraic languages.
    - The Aimms Open Solver Interface to integrate solution algorithms is extended to communicate instruction arrays in order to communicate non-linear expressions to the CP solvers.
    In addition, the topics of this workshop will be addressed.
    Presentation
  • *

  • iZ-C: A Constraint Programming Library. Toshimitsu Fujiwara
    Constraint programming is a paradigm to solve combination problems with complex constraints. These problems can be described with finite domain variables and constraints between these variables. iZ-C is a library written in C having practical constraint set to solve such type of problems efficiently. Its performance is achieved using mechanisms like bitmap represented integer domain variable, memory pooling, efficient code for constraint propagation, and extensibility. This library has been applied to real industrial/commercial problems like film cutting pattern planning, staff scheduling, tournament group making, etc. For these real world problems, we must consider about supplemental problems like memory consumption, solving time or ease of maintenance as well as difficulty of original problem. To handle these issues, iZ-C can be extended using callback functions set to variables and search function. In 2012, we participated to MiniZinc Challenge 2012 with iZ-C based solver named "izplus". In this solver, iZ-C has been extended to have ability of random restart and local search and we won bronze medal in two categories, "free search" and "parallel search". This fact shows that iZ-C has good efficiency to solve various type of problems and has enough extensibility to boost its performance using hybrid approach like local search.
    Presentation
  • *

  • Constraint Programming in AMPL. Victor Zverovich
    In this presentation, we’ll give an overview of constraint programming features in the AMPL modeling system. AMPL is an efficient, multi-platform modeling system based on a high-level algebraic modeling language. It facilitates rapid development of optimization models and integration of this models into applications. AMPL supports a large variety of solvers and provides streamlined database access.
    Originally developed in mid 90s, constraint programming extensions of AMPL enable the use of sophisticated modeling constructs such as logical constraints, counting operators and all-different constraints in addition to algebraic constraints in an optimization model. This allows natural formulation of many combinatorial optimization models.
    Unlike most other general-purpose modeling systems, AMPL supports multiple CP solvers through an open solver interface. This interface is specifically designed to make connecting new solvers easy and facilitates testing of solver drivers using a common test suite.
    AMPL is currently connected to the latest versions of three popular constraint programming solvers IBM/ILOG CP Optimizer, Gecode and JaCoP.
    Presentation
  • *

  • Numberjack. Barry Hurley and Barry O'Sullivan
    Numberjack is a Python platform for constraint programming and optimization. It
    allows for rapid prototyping by offering a single interface to efficient CP, MIP
    and SAT backends. In this talk we will give a brief introduction to Numberjack,
    highlight some recent improvements, and outline future directions which aim to
    capitalize on the multi-paradigm, multi-solver capabilities that are available.
    Presentation