Initializing help system before first use

XPRSgetcpcuts, XPRSgetcpcuts64

Purpose
Returns cuts from the cut pool. A list of cut pointers in the array rowind must be passed to the routine. The columns and elements of the cut will be returned in the regions pointed to by the colind and cutcoef parameters. The columns and elements will be stored contiguously and the starting point of each cut will be returned in the region pointed to by the start parameter.
Topic area
Synopsis
int XPRS_CC XPRSgetcpcuts(XPRSprob prob, const XPRScut rowind[], int ncuts, int maxcoefs, int cuttype[], char rowtype[], int start[], int colind[], double cutcoef[], double rhs[]);

int XPRS_CC XPRSgetcpcuts64(XPRSprob prob, const XPRScut rowind[], int ncuts, XPRSint64 maxcoefs, int cuttype[], char rowtype[], XPRSint64 start[], int colind[], double cutcoef[], double rhs[]);
Arguments
prob 
The current problem.
rowind 
Array of length ncuts containing the pointers to the cuts.
ncuts 
Number of cuts to be returned.
maxcoefs 
Maximum number of column indices of the cuts to be returned.
cuttype 
Integer array of length at least ncuts where the cut types will be returned. May be NULL if not required.
rowtype 
Character array of length at least ncuts where the sense of the cuts ( L, G, or E) will be returned. May be NULL if not required.
start 
Integer array of length at least ncuts+1 containing the offsets into the colind and cutcoef arrays. The last element indicates where cut ncuts+1 would start. May be NULL if not required.
colind 
Integer array of length maxcoefs where the column indices of the cuts will be returned. May be NULL if not required.
cutcoef 
Double array of length maxcoefs where the matrix values will be returned. May be NULL if not required.
rhs 
Double array of length at least ncuts where the right hand side elements for the cuts will be returned. May be NULL if not required.
Example
The following example gets the first two cuts:
int cuttype[2], start[3];
int *colind;
int rowind[] = { 0, 1 };
double rhs[2];
double *cutcoef;
char * rowtype;
...
XPRSgetcpcuts(prob,rowind,2,0,NULL,NULL,start,NULL,NULL,NULL);
colind = (int*) malloc(start[2]*sizeof(int));
cutcoef = (double*) malloc(start[2]*sizeof(double));
XPRSgetcpcuts(prob,rowind,2,0,cuttype,rowtype,start,colind,cutcoef,rhs);
Further information
It is possible to obtain just the number of nonzeros in the range of queried cuts by calling the functions with all output arays except for start equaling NULL and checking the value of start[ncuts]. In this case, maxcoefs must be set to 0 to indicate that the length of arrays passed is 0.
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.