18 #define COMPILING_FOR_LP
197 int fathom
PROTO((
lp_prob *p,
int primal_feasible,
int time_limit_reached));
199 int bfind
PROTO((
int key,
int *table,
int size));
200 int collect_nonzeros
PROTO((
lp_prob *p,
double *x,
int *tind,
double *tx));
201 int collect_fractions
PROTO((
lp_prob *p,
double *x,
int *tind,
double *tx));
202 int collect_int_fractions
PROTO((
lp_prob *p,
double *x,
int *tind,
double *tx,
int *int_cnt));
208 int send_to_pool,
int *bound_changes));
209 int should_use_cgl_generator
PROTO ((
lp_prob *p,
int *should_generate,
210 int which_generator,
void *generator));
213 int check_and_add_cgl_cuts
PROTO((
lp_prob *p,
int i,
cut_data ***cuts,
int *num_cuts,
int *bound_changes,
OsiCuts *cutlist,
int send_to_pool));
214 int should_stop_adding_cgl_cuts
PROTO((
lp_prob *p,
int i,
int *should_stop));
216 int add_cut_to_mip_inf
PROTO((
lp_prob *p,
int cut_n,
int *cut_ind,
double *cut_val,
double cut_rhs,
char cut_sense));
218 int str_br_bound_changes
PROTO((
lp_prob *p,
int num_bnd_changes,
219 double *bnd_val,
int *bnd_ind,
char *bnd_sense));
235 int var_uind_comp
PROTO((
const void *v0,
const void *v1));
236 int var_cind_comp
PROTO((
const void *v0,
const void *v1));
246 void order_waiting_rows_based_on_sender
PROTO((
lp_prob *p));
249 int waiting_row_comp
PROTO((
const void *wr0,
const void *wr1));
258 void add_slacks_to_matrix
PROTO((
lp_prob *p,
int cand_num,
260 int add_violated_slacks
PROTO((
lp_prob *p,
int cand_num,
262 int select_branching_object
PROTO((
lp_prob *p,
int *cuts,
264 int should_continue_strong_branching
PROTO((
lp_prob *p,
int i,
int cand_num,
265 double st_time,
int total_iters,
266 int *should_continue));
268 double new_lb,
double new_ub,
double *obj,
int should_use_hot_starts,
269 int *termstatus,
int *iterd,
int sos_cnt,
int *sos_ind);
271 int col_gen_before_branch
PROTO((
lp_prob *p,
int *new_vars));
273 int prep_tighten_bounds
PROTO((
LPdata *lp_data,
int *num_changes,
double *bnd_val,
int *bnd_ind,
274 char *bnd_sense,
double *row_ub,
double *row_lb,
char *cand_fixed));
275 int prep_row_violated
PROTO((
double row_lb,
double row_ub,
double si_row_lb,
double si_row_ub,
276 double aval,
double old_col_lb,
double old_col_ub,
277 double new_col_lb,
double new_col_ub,
double lpetol,
279 int prep_col_fixable
PROTO((
double xval,
double aval,
double c_lb,
double c_ub,
280 double row_lb,
double row_ub,
double si_row_lb,
double si_row_ub,
281 double *col_fixed_lb,
double *col_fixed_ub,
double etol,
285 void branch_close_to_half
PROTO((
lp_prob *p,
int max_cand_num,
int *cand_num,
287 void branch_close_to_half_and_expensive
PROTO((
lp_prob *p,
int max_cand_num,
290 void branch_close_to_one_and_cheap
PROTO((
lp_prob *p,
int max_cand_num,
298 int process_message
PROTO((
lp_prob *p,
int r_bufid,
int *pindex,
int *pitnum));
301 int receive_cuts
PROTO((
lp_prob *p,
int first_lp,
int no_more_cuts_count));
306 char uind_type,
char cutind_type,
308 char pack_base_diff
PROTO((
int *size,
int *oldstat,
int *newstat,
int *itmp));
311 char oldbasis_type_in_tm,
char newdesc_type_in_tm,
312 int *itmp,
int *size));
316 void send_cuts_to_pool
PROTO((
lp_prob *p,
int eff_cnt_limit));
343 int comp_cut_name
PROTO((
const void *c0,
const void *c1));
345 int is_feasible_u
PROTO((
lp_prob *p,
char branching,
char is_last_iter));
346 void send_feasible_solution_u
PROTO((
lp_prob *p,
int xlevel,
int xindex,
347 int xiter_num,
double lpetol,
348 double new_ub,
int cnt,
int *xind,
350 void display_lp_solution_u
PROTO((
lp_prob *p,
int which_sol));
351 int select_candidates_u
PROTO((
lp_prob *p,
int *cuts,
int *new_vars,
353 int compare_candidates_u
PROTO((
lp_prob *p,
double oldobjval,
359 void unpack_cuts_u
PROTO((
lp_prob *p,
int from,
int type,
365 int prevind,
int nextind,
int generate_what,
366 double *colval,
int *colind,
int *collen,
367 double *obj,
double *ub,
double *lb));
368 void print_stat_on_cuts_added_u
PROTO((
lp_prob *p,
int added_rows));
371 int analyze_multicriteria_solution
PROTO((
lp_prob *p,
int *indices,
372 double *values,
int length,
373 double *true_objval,
double etol,
374 char branching,
int feasible));
bounds_change_desc * bnd_changes
struct OUR_COL_SET our_col_set
int * br_rel_up_min_level
int strong_branch(lp_prob *p, int branch_var, double lb, double ub, double new_lb, double new_ub, double *obj, int should_use_hot_starts, int *termstatus, int *iterd, int sos_cnt, int *sos_ind)
int bound_changes_in_iter
int save_root_reduced_costs(lp_prob *p)
int vars_recently_fixed_to_ub
Collections of row cuts and column cuts.
int * br_rel_down_min_level
waiting_row ** waiting_rows
int update_solve_parameters(lp_prob *p)
int update_cut_parameters(lp_prob *p)