XPRSdelcuts
XPRSdelcuts |
Purpose
Deletes
cuts from the
matrix at the current
node. Cuts from the parent
node which have been automatically restored may be deleted as well as cuts added to the current node using
XPRSaddcuts or
XPRSloadcuts. The cuts to be deleted can be specified in a number of ways. If a cut is ruled out by any one of the criteria it will not be deleted.
Synopsis
int XPRS_CC XPRSdelcuts(XPRSprob prob, int ibasis, int itype, int interp, double delta, int num, const XPRScut mcutind[]);
Arguments
prob
|
The current problem.
|
||||||||
ibasis
|
Ensures the basis will be valid if set to
1. If set to
0, cuts with non-basic slacks may be deleted.
|
||||||||
itype
|
User defined type of the cut to be deleted.
|
||||||||
interp
|
Way in which the cut
itype is interpreted:
|
||||||||
delta
|
Only delete cuts with an absolute slack value greater than
delta. To delete all the cuts, this argument should be set to
XPRS_MINUSINFINITY.
|
||||||||
num
|
Number of cuts to drop if a list of cuts is provided. A value of
-1 indicates all cuts.
|
||||||||
mcutind
|
Array containing pointers to the cuts which are to be deleted. This array may be
NULL if
num is set to
-1 otherwise it has length
num.
|
Further information
1. It is usually best to drop only those cuts with basic
slacks, otherwise the basis will no longer be valid and it may take many iterations to recover an optimal basis. If the
ibasis parameter is set to
1, this will ensure that cuts with non-basic slacks will not be deleted even if the other parameters specify that these cuts should be deleted. It is highly recommended that the
ibasis parameter is always set to
1.
2. The cuts to be deleted can also be specified by the size of the slack variable for the cut. Only those cuts with a slack value greater than the
delta parameter will be deleted.
3. A list of indices of the cuts to be deleted can also be provided. The list of active cuts at a node can be obtained with the
XPRSgetcutlist command.
Related topics