|
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
|