Initializing help system before first use

XPRSaddmanagedcuts, XPRSaddmanagedcuts64

Purpose
Adds cuts to the Optimizer's internal cut pool from within the cutround callback set by XPRSaddcbcutround. The cuts will be added to an internal pool of cuts managed by the Optimizer. The Optimizer will use internal priorities to dynamically load violated cuts from this pool into branch-and-bound node problems and remove inactive cuts. Cuts can be either local or global. Cuts flagged as local are assumed to be valid only for the the current node of the branch-and-bound search or any of its descendants. Global cuts are assumed to be valid for the whole problem and might be used on any node of the branch-and-bound search tree. The cuts should be formulated in the original space of variables and will automatically be presolved.
Topic areas
Synopsis
int XPRS_CC XPRSaddmanagedcuts(XPRSprob prob, int globalvalid, int ncuts, const char rowtype[], const double rhs[], const int start[], const int colind[], const double cutcoef[]);

int XPRS_CC XPRSaddcuts64(XPRSprob prob, int globalvalid, int ncuts, const char rowtype[], const double rhs[], const XPRSint64 start[], const int colind[], const double cutcoef[]);
Arguments
prob 
The current problem.
globalvalid 
Nonzero if the cuts should be assumed to be valid for the whole problem. If zero, cuts will be assumed to be valid only for the current node and its descendants.
ncuts 
Number of cuts to add.
rowtype 
Character array of length ncuts containing the row types:
indicates a ≤ row;
indicates a ≥ row;
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 is of length ncuts+1 with the last element, start[ncuts], being where cut ncuts+1 would start.
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 example els_managedcuts.c.
Further information
1. This function applies to linear and convex quadratic (including second order conic) problems only.
2. The columns and elements of the cuts must be stored contiguously in the colind and cutcoef arrays passed to XPRSaddmanagedcuts. 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 be of length ncuts+1 with the last element of this array containing the position in colind and cutcoef where the cut ncuts+1 would start. start[ncuts] denotes the number of nonzeros in the added cuts.
3. Cuts will not be loaded into the problem if CUTSTRATEGY is set to zero.
4. Cuts added by XPRSaddmanagedcuts cannot be retrieved by XPRSgetcutlist or XPRSgetcpcutlist.
5. This function can only be called from a callback function set by XPRSaddcbcutround.
Related topics

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