1 /*===========================================================================*/ 2 /* */ 3 /* This file is part of the SYMPHONY MILP Solver Framework. */ 4 /* */ 5 /* SYMPHONY was jointly developed by Ted Ralphs (ted@lehigh.edu) and */ 6 /* Laci Ladanyi (ladanyi@us.ibm.com). */ 7 /* */ 8 /* (c) Copyright 2000-2019 Ted Ralphs. All Rights Reserved. */ 9 /* */ 10 /* This software is licensed under the Eclipse Public License. Please see */ 11 /* accompanying file for terms. */ 12 /* */ 13 /*===========================================================================*/ 14 15 #ifndef _CG_U_H 16 #define _CG_U_H 17 18 #include "sym_types.h" 19 20 int cg_add_explicit_cut PROTO((int nzcnt, int *indices, double *values, 21 double rhs, double range, char sense, 22 char send_to_cp, int *num_cuts, int *alloc_cuts, 23 cut_data ***cuts)); 24 int cg_add_user_cut PROTO((cut_data *new_cut, int *num_cuts, int *alloc_cuts, 25 cut_data ***cuts)); 26 int cg_send_cut PROTO((cut_data *new_cut, int *num_cuts, int *alloc_cuts, 27 cut_data ***cuts)); 28 29 /*===========================================================================*/ 30 /*======================= User supplied functions ===========================*/ 31 /*===========================================================================*/ 32 33 int user_receive_cg_data PROTO((void **user, int dg_id)); 34 int user_free_cg PROTO((void **user)); 35 int user_find_cuts PROTO((void *user, int varnum, int iter_num, int level, 36 int index, double objval, int *indices, 37 double *values, double ub, double lpetol, 38 int *num_cuts, int *alloc_cuts, cut_data ***cuts)); 39 int user_receive_lp_solution_cg PROTO((void *user)); 40 #ifdef CHECK_CUT_VALIDITY 41 int user_check_validity_of_cut PROTO((void *user, cut_data *new_cut)); 42 #endif 43 44 #endif 45