problem.addcuts
problem.addcuts |
Purpose
Adds cuts directly to the matrix at the current node. Any cuts added to the matrix at the current node and not deleted at the current node will be automatically added to the cut pool. The cuts added to the cut pool will be automatically restored at descendant nodes.
Synopsis
problem.addcuts(mtype, rtype, rhs, mstart, mcols, dmatval)
Arguments
mtype
|
Array containing the user assigned cut types. The cut types can be any integer chosen by the user, and are used to identify the cuts in other cut manager routines using user supplied parameters. The cut type can be interpreted as an integer or a bitmap - see
problem.delcuts.
|
||||||
rtype
|
Character array containing the row types:
|
||||||
rhs
|
Array containing the right hand side elements for the cuts.
|
||||||
mstart
|
Array containing offset into the
mcols and
dmatval arrays indicating the start of each cut. This array is of length
ncuts+1 with the last element,
mstart[ncuts], being where cut
ncuts+1 would start.
|
||||||
mcols
|
Array containing the columns (i.e.
xpress.var objects, indices, or names) in the cuts.
|
||||||
dmatval
|
Array containing the matrix values for the cuts.
|
Further information
1. The columns and elements of the cuts must be stored contiguously in the
mcols and
dmatval arrays passed to
addcuts. The starting point of each cut must be stored in the
mstart array. To determine the length of the final cut, the
mstart array must be of length
ncuts+1 with the last element of this array containing the position in
mcols and
dmatval where the cut
ncuts+1 would start.
mstart[ncuts] denotes the number of nonzeros in the added cuts.
2. The cuts added to the matrix are always added at the end of the matrix and the number of rows is always set to the original number of cuts added. If
ncuts have been added, then the rows
0,...,
ROWS-
ncuts-
1 are the original rows, whilst the rows
ROWS-
ncuts,...,
ROWS-
1 are the added cuts. The number of cuts can be found by consulting the
CUTS problem attribute.
Related topics
problem.addrows,
problem.delcpcuts,
problem.delcuts,
problem.getcpcutlist,
problem.getcutlist,
problem.loadcuts,
problem.storecuts, Section "Working with the cut manager" of the Xpress Optimizer reference manual.