FICO Xpress-Kalis
Xpress Optimization Suite Trial Download

FICO Xpress-Kalis

Xpress-Kalis provides access to the Artelys Kalis© constraint solver from a Mosel module, kalis. The Xpress-Kalis software is owned and developed by Artelys SA. Through Xpress-Kalis, the Constraint Programming functionality of Kalis becomes available in the Mosel environment, allowing the user to formulate and solve Constraint Programming (CP) models in the Mosel language. All data handling facilities of the Mosel environment, including data transfer in memory (using the Mosel IO drivers) and ODBC access to databases (through the module mmodbc) can be used with kalis without any extra effort.

Features

Besides standard arithmetic (linear and non-linear) constraints, Xpress-Kalis defines a certain number of so-called global constraint relations over finite domain variables, including `all-different', `element', `cycle', `occurrence' (cardinality), `equivalence', and `implication'. It is also possible to combine several constraints to logic expressions, for instance to state disjunctions. Xpress-Kalis also has a solver for arithmetic constraints over floating point variables.

Constraint handling: constraints are either posted automatically or at the user's explicit request, making it thus possible to write models with various degrees of interactivity.

The particular strength of Kalis lies in the flexible definition of enumeration strategies: the user may choose among different branching schemes (determining the shape of the search tree), and define combinations of the built-in variable and value selection strategies with his own heuristics.

To ease the formulation and solving of scheduling problems, Xpress-Kalis defines high-level modeling objects to represent tasks and resources. Many scheduling situations can be expressed simply by parameterizing such scheduling objects. A scheduling-specific branching scheme allows the user to implement enumeration strategies based on tasks.

Beyond the functionality readily available from Xpress-Kalis the software also provides a unique extension mechanism that opens it up to various kinds of additions implemented on the library level that become available within the Mosel language just like the solver's own functionality. Such user-defined Xpress-Kalis extensions principally relate to the implementation of tailor-made constraint relations and problem-specific branching schemes (the latter giving the user complete freedom in the choice of branching object types and shape of the search tree) to meet the needs of complex models.

Xpress-IVE displays

The visual development environment Xpress-IVE supports the development and analysis of CP models through several software-specific displays, including the graphical representation of the CP search tree, a CP statistics pane, and the Scheduling dashboard providing a graphical representation of solutions to scheduling problems. Naturally, all standard features of IVE (to name a few: browsable entities display, syntax highlighting, debugger) are equally available.

    
Model with user graph Search tree display
     
CP scheduling dashboard CP statistics

Combining solvers

The Mosel language can be used as a platform for combining different solvers, in particular Xpress-Kalis with Xpress-Optimizer for joint CP – LP/MIP problem solving.

Click here to download a whitepaper on hybrid(combined) CP–MP problem solving.