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