int user_check_cut(void *user, double lpetol, int varnum, 
                   int *indices, double *values, cut_data *cut,
                   int *is_violated, double *quality)
The user has to determine whether a given cut is violated by the given LP solution (see Section 6.3.2 for a description of the cut_data data data structure). Also, the user can assign a number to the cut called the quality. This number is used in deciding which cuts to check and purge. See the section on Cut Pool Parameters for more information.
| void *user | INOUT | The user defined part of p. | 
| double lpetol | IN | The  tolerance in the LP module. | 
| int varnum | IN | Same as the previous function. | 
| int *indices | IN | Same as the previous function. | 
| double *values | IN | Same as the previous function. | 
| cut_data *cut | IN | Pointer to the cut to be tested. | 
| int *is_violated | OUT | TRUE/FALSE based on whether the cut is violated or not. | 
| double *quality | OUT | a number representing the relative strength of the cut. | 
| USER_ERROR | Cut is not sent to the LP, regardless of the value of *is_violated. | 
| USER_SUCCESS | The user function exited properly. | 
| USER_DEFAULT | Same as error. | 
The same note applies to number, indices and values as in the previous function.
Ted Ralphs