Initializing help system before first use

XPRSgetcpcuts, XPRSgetcpcuts64

XPRSgetcpcuts, XPRSgetcpcuts64


Purpose
Returns cuts from the cut pool. A list of cut pointers in the array mindex must be passed to the routine. The columns and elements of the cut will be returned in the regions pointed to by the mcols and dmatval 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 mstart parameter.
Synopsis
int XPRS_CC XPRSgetcpcuts(XPRSprob prob, const XPRScut mindex[], int ncuts, int size, int mtype[], char qrtype[], int mstart[], int mcols[], double dmatval[], double drhs[]);

int XPRS_CC XPRSgetcpcuts64(XPRSprob prob, const XPRScut mindex[], int ncuts, XPRSint64 size, int mtype[], char qrtype[], XPRSint64 mstart[], int mcols[], double dmatval[], double drhs[]);
Arguments
prob 
The current problem.
mindex 
Array of length ncuts containing the pointers to the cuts.
ncuts 
Number of cuts to be returned.
size 
Maximum number of column indices of the cuts to be returned.
mtype 
Integer array of length at least ncuts where the cut types will be returned. May be NULL if not required.
qrtype 
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.
mstart 
Integer array of length at least ncuts+1 containing the offsets into the mcols and dmatval arrays. The last element indicates where cut ncuts+1 would start. May be NULL if not required.
mcols 
Integer array of length size where the column indices of the cuts will be returned. May be NULL if not required.
dmatval 
Double array of length size where the matrix values will be returned. May be NULL if not required.
drhs 
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 mtype[2], mstart[3];
int *mcols;
int mindex[] = { 0, 1 };
double drhs[2];
double *dmatval;
char * qrtype;
...
XPRSgetcpcuts(prob,mindex,2,0,NULL,NULL,mstart,NULL,NULL,NULL);
mcols = (int*) malloc(mstart[2]*sizeof(int));
dmatval = (double*) malloc(mstart[2]*sizeof(double));
XPRSgetcpcuts(prob,mindex,2,0,mtype,qrtype,mstart,mcols,dmatval,drhs);
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 mstart equaling NULL and checking the value of mstart[ncuts]. In this case, size must be set to 0 to indicate that the length of arrays passed is 0.
Related topics

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