Initializing help system before first use

# XPRSaddcuts, XPRSaddcuts64

Purpose
Adds cuts directly to the matrix at the current node. The cuts will automatically be added to the cut pool. Cuts added to a node will automatically be inherited on any descendant node, unless explicitly deleted with a call to XPRSdelcuts.
Topic area
Cuts
Synopsis
`int XPRS_CC XPRSaddcuts(XPRSprob prob, int ncuts, const int cuttype[], const char rowtype[], const double rhs[], const int start[], const int colind[], const double cutcoef[]);`
``
`int XPRS_CC XPRSaddcuts64(XPRSprob prob, int ncuts, const int cuttype[], const char rowtype[], const double rhs[], const XPRSint64 start[], const int colind[], const double cutcoef[]);`
Arguments

prob | The current problem.
ncuts | Number of cuts to add.
cuttype | Integer array of length ncuts 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 XPRSdelcuts.
rowtype | Character array of length ncuts containing the row types:
L | indicates a ≤ row;
G | indicates a ≥ row;
E | indicates an = row.
rhs | Double array of length ncuts containing the right hand side elements for the cuts.
start | Integer array containing offset into the colind and cutcoef arrays indicating the start of each cut. This array has one entry for each cut, plus one more entry indicating where an additional cut would start, if it were present.
colind | Integer array of length start[ncuts] containing the column indices in the cuts.
cutcoef | Double array of length start[ncuts] containing the matrix values for the cuts.

Example
See also examples els_usercuts.c, tsp.c.
Further information
1. The columns and elements of the cuts must be stored contiguously in the colind and cutcoef arrays passed to XPRSaddcuts. The starting point of each cut must be stored in the start array. To determine the length of the final cut, the start array must have one more element than the number of cuts, with the last element containing the position in colind and cutcoef where an extra cut would start, if it were present. This last entry 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 rows plust the number of cuts added. If n cuts have been added, then the rows 0,..., ROWS- n- 1 are the original rows, whilst the rows ROWS- n,..., ROWS- 1 are the added cuts. The number of cuts can be found by consulting the CUTS problem attribute.
3. This function should be called only from within callback functions set by either XPRSaddcbnodelpsolved, XPRSaddcboptnode, XPRSaddcbpreintsol or XPRSaddcbprenode.
Related topics
XPRSaddrows, XPRSdelcpcuts, XPRSdelcuts, XPRSgetcpcutlist, XPRSgetcutlist, XPRSloadcuts, XPRSstorecuts, Section Working with the Cut Manager.
Parent Topic Console and Library Functions

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