00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 #ifndef _CG_U_H
00016 #define _CG_U_H
00017 
00018 #include "sym_types.h"
00019 
00020 int cg_add_explicit_cut PROTO((int nzcnt, int *indices, double *values,
00021                                double rhs, double range, char sense,
00022                                char send_to_cp, int *num_cuts, int *alloc_cuts,
00023                                cut_data ***cuts));
00024 int cg_add_user_cut PROTO((cut_data *new_cut, int *num_cuts, int *alloc_cuts, 
00025                            cut_data ***cuts));
00026 int cg_send_cut PROTO((cut_data *new_cut, int *num_cuts, int *alloc_cuts,
00027                        cut_data ***cuts));
00028 
00029 
00030 
00031 
00032 
00033 int user_receive_cg_data PROTO((void **user, int dg_id));
00034 int user_free_cg PROTO((void **user));
00035 int user_find_cuts PROTO((void *user, int varnum, int iter_num, int level,
00036                           int index, double objval, int *indices,
00037                           double *values, double ub, double lpetol,
00038                           int *num_cuts, int *alloc_cuts, cut_data ***cuts));
00039 int user_receive_lp_solution_cg PROTO((void *user));
00040 #ifdef CHECK_CUT_VALIDITY
00041 int user_check_validity_of_cut PROTO((void *user, cut_data *new_cut));
00042 #endif
00043 
00044 #endif