int user_purge_waiting_rows(void *user, int rownum, waiting_row **rows, char *delete_rows)
The local pool is purged from time to time to control its size. In
this function the user has the power to decide which cuts to purge
from this pool if desired. To mark the i waiting row
(an element of the pre-pool) for removal she has to set delete_rows[i] to be TRUE (delete_rows is allocated before the
function is called and its elements are set to FALSE by
default).
Post-processing consists of actually deleting those entries from the waiting
row list and compressing the list. The default is to discard the least
violated waiting rows and keep no more than what can be added in the next
iteration (this is determined by the max_cut_num_per_iter
parameter).
void *user | IN | Pointer to the user-defined LP data structure. |
int rownum | IN | The number of waiting rows. |
waiting_row **rows | IN | The array of waiting rows. |
char *delete_rows | OUT | An array of indicators showing which waiting rows are to be deleted. |
USER_ERROR | Purge every single waiting row. |
USER_SUCCESS | The user marked in delete the rows to be deleted. |
USER_DEFAULT | Described above. |
The marked rows are deleted.