Initializing help system before first use

# Introduction

The representation of real-world conditions with more and more detail sometimes render optimization applications difficult to represent and solve with a given solution technique. In such a case it may become necessary to develop some type of a decomposition approach, possibly treating parts of a problem with different solution methods and tools for modeling and solving them.

In the modeling and solving environment Xpress Mosel several (solver) modules may be used jointly to implement and solve such difficult problems. In particular, it is possible to implement solution algorithms combining Constraint Programming (CP) with Linear or Mixed Integer Programming by using the Xpress Kalis module (kalis) with the mmxprs module that provides access to Xpress Optimizer.

This paper discusses two schemes of combining CP with LP/MIP for problem solving:

- CP and MIP solving may be used sequentially, for instance, employing CP constraint propagation as a preprocessing routine for LP/MIP problems, as shown in the project planning example in Section Using CP propagation as preprocessor.
- An example of parallel MIP-CP problem solving is given in Section Combining CP and MIP where CP solving is used as cut generation routine during the MIP branch-and-bound search in a scheduling with machine assignment problem.

The examples described in this paper require Xpress Kalis to be installed and licensed in addition to a standard installation of FICO Xpress Optimization (Optimizer and Mosel).

Combining different solution methods for solving problems requires some knowledge of all involved solvers and techniques. This paper assumes that the reader is familiar with both, Mathematical Programming and Constraint Programming, and also has a certain experience with using the involved solvers from the Mosel language.

For examples of problem solving with Xpress Optimizer the reader is referred to the `Mosel User Guide', in particular Chapter `More about Integer Programming'. All functionality of the Mosel modules mmxprs and mmjobs is documented in the `Mosel Language Reference Manual'. The `Xpress Optimizer Reference Manual' is the complete reference for the solver. The Xpress Whitepaper `Mosel: multiple models and parallel solving' discusses examples of using the module mmjobs. The documentation of Xpress Kalis is available in the `Xpress Kalis Mosel Reference Manual'. A detailed introduction to working with this software is given in the `Xpress Kalis Mosel User Guide'.

Parent Topic Hybrid MIP/CP Solving

© 2001-2026 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.