Initializing help system before first use

Cut Pool Manager

This section contains the functions and procedures of the Xpress Optimizer cut manager. For a detailed description of the cut manager and its functionality the user is referred to the Xpress Optimizer Reference Manual. To run the cut manager from Mosel, it may be necessary to (re)set certain control parameters of the optimizer. For example, switching off presolve and automatic cut generation, and reserving space for extra rows in the matrix may be useful:

setparam("XPRS_presolve", 0);       /* Switch presolve off... */
setparam("XPRS_presolveops", 2270); /* ...or use secure setting for presolve */
setparam("XPRS_cutstrategy", 0);    /* Switch automatic cut generation off */
setparam("XPRS_extrarows", 5000);   /* Reserve space for 5000 extra rows in
                                       the matrix*/

The callback functions and procedures that are relevant to the cut manager are initialized with function setcallback, in common with the other Optimizer callbacks.

It should be noted that cuts are not stored by Mosel but sent immediately to the Optimizer. Consequently, if a problem is reloaded into the Optimizer, any previously defined cuts will be lost. In Mosel, cuts are defined by specifying a linear expression (i.e. an unbounded constraint) and the operator sign (inequality/equality). If instead of a linear expression a constraint is given, it will also be added to the system as an additional constraint.

addcut
Add a cut to the problem in the optimizer.
addcuts
Add an array of cuts to the problem in the optimizer.
delcuts
Delete cuts from the problem in the optimizer.
dropcuts
Drop a set of cuts from the cut pool.
getcnlist
Get the set of cuts active at the current node.
getcplist
Get a set of cut indices from the cut pool.
loadcuts
Load a set of cuts into the problem in the optimizer.
storecut
Store a cut into the cut pool.
storecuts
Store an array of cuts into the cut pool.