Contents of this document
This document gives an introduction to working with Xpress Kalis. Basic notions of Constraint Programming are explained but it is expected that the reader has some general understanding of CP techniques. Since Xpress Kalis is a module for Xpress Mosel this document also describes features of the Mosel language where this appears neccessary to the understanding of the presented examples.
By means of example models we illustrate the use of the new types defined by Xpress Kalis, namely
- Decision variables: finite domain and floating point variables
- Constraints: absolute value and distance, all-different, element, generic binary, linear, maximum and minimum, occurrence, and logical relations
- Enumeration: predefined branching schemes and user search strategies
- Scheduling: aggregate modeling objects representing tasks and resources
The first chapter deals with the basics of writing CP models with Mosel. It explains the general structure of CP models and some basics on working with Mosel, including data handling. Then follows a series of small problems illustrating the use of the different constraint relation types in Xpress Kalis. The next chapter introduces in a more systematic way the different possibilities of defining enumeration strategies, some of which already appear in the preceding model examples. The chapter dedicated to the topic of scheduling introduces the modeling objects `task' and `resource' that simplify the formulation of scheduling problems. The following chapter familiarizes the reader with the concept of linear relaxations and shows how to work with them.
Apart from the initial examples, every example is presented as follows:
- Example description
- Formulation as a CP model
- Implementation with Xpress Kalis: code listing and explanations
- Results
All example models of this document are included with the set of examples that is provided as part of the Xpress Kalis distribution.
© 2001-2020 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.