int user_purge_waiting_rows(void *user, int rownum, waiting_row **rows, char *delete)
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[i] to be TRUE (delete 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 | OUT | An array of indicators (each of them is one char) showing which waiting rows are to be deleted. |
ERROR | Purge every single waiting row. |
USER_AND_PP | The user removed the unwanted waiting rows and compressed the remaining list. |
USER_NO_PP | The user marked in delete the rows to be deleted. |
DEFAULT | Described above. |
Delete the appropriate rows.