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 10.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 process.|
|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.|
|ERROR||Cut is not sent to the LP, regardless of the value of *is_violated.|
|USER_NO_PP||The user function exited properly.|
The same note applies to number, indices and values as in the previous function.