Dip  0.92.4
Classes | Macros | Typedefs | Functions
sym_lp.h File Reference
#include "symphony.h"
#include "sym_timemeas.h"
#include "sym_lp_params.h"
#include "sym_types.h"
#include "sym_lp_solver.h"
#include "sym_lp_u.h"
Include dependency graph for sym_lp.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  OUR_COL_SET
 
struct  LP_PROB
 

Macros

#define COMPILING_FOR_LP
 

Typedefs

typedef struct OUR_COL_SET our_col_set
 
typedef struct LP_PROB lp_prob
 

Functions

lp_prob *get_lp_ptr PROTO ((lp_prob **lp_list))
 
int lp_initialize PROTO ((lp_prob *p, int master_tid))
 
int process_chain PROTO ((lp_prob *p))
 
int check_bounds PROTO ((lp_prob *p, int *termcode))
 
int fathom PROTO ((lp_prob *p, int primal_feasible, int time_limit_reached))
 
int bfind PROTO ((int key, int *table, int size))
 
int collect_nonzeros PROTO ((lp_prob *p, double *x, int *tind, double *tx))
 
int collect_int_fractions PROTO ((lp_prob *p, double *x, int *tind, double *tx, int *int_cnt))
 
int generate_cgl_cuts_new PROTO ((lp_prob *p, int *num_cuts, cut_data ***cuts, int send_to_pool, int *bound_changes))
 
int should_use_cgl_generator PROTO ((lp_prob *p, int *should_generate, int which_generator, void *generator))
 
int generate_cgl_cut_of_type PROTO ((lp_prob *p, int i, OsiCuts *cutlist_p, int *was_tried))
 
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))
 
int should_stop_adding_cgl_cuts PROTO ((lp_prob *p, int i, int *should_stop))
 
int add_col_cuts PROTO ((lp_prob *p, OsiCuts *cutlist, int *bound_changes))
 
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))
 
int str_br_bound_changes PROTO ((lp_prob *p, int num_bnd_changes, double *bnd_val, int *bnd_ind, char *bnd_sense))
 
void add_col_set PROTO ((lp_prob *p, our_col_set *new_cols))
 
int save_root_reduced_costs (lp_prob *p)
 
int var_uind_comp PROTO ((const void *v0, const void *v1))
 
void add_row_set PROTO ((lp_prob *p, waiting_row **wrows, int length))
 
void add_new_rows_to_waiting_rows PROTO ((lp_prob *p, waiting_row **new_rows, int new_row_num))
 
void add_waiting_rows PROTO ((lp_prob *p, waiting_row **wrows, int add_row_num))
 
int waiting_row_comp PROTO ((const void *wr0, const void *wr1))
 
int compute_violations PROTO ((lp_prob *p, int new_row_num, waiting_row **new_rows))
 
void add_slacks_to_matrix PROTO ((lp_prob *p, int cand_num, branch_obj **candidates))
 
int select_branching_object PROTO ((lp_prob *p, int *cuts, branch_obj **can))
 
int
should_continue_strong_branching 
PROTO ((lp_prob *p, int i, int cand_num, double st_time, int total_iters, int *should_continue))
 
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 branch PROTO ((lp_prob *p, int cuts))
 
int col_gen_before_branch PROTO ((lp_prob *p, int *new_vars))
 
int prep_tighten_bounds PROTO ((LPdata *lp_data, int *num_changes, double *bnd_val, int *bnd_ind, char *bnd_sense, double *row_ub, double *row_lb, char *cand_fixed))
 
int prep_row_violated PROTO ((double row_lb, double row_ub, double si_row_lb, double si_row_ub, double aval, double old_col_lb, double old_col_ub, double new_col_lb, double new_col_ub, double lpetol, double inf))
 
int prep_col_fixable PROTO ((double xval, double aval, double c_lb, double c_ub, double row_lb, double row_ub, double si_row_lb, double si_row_ub, double *col_fixed_lb, double *col_fixed_ub, double etol, double inf))
 
void branch_close_to_half PROTO ((lp_prob *p, int max_cand_num, int *cand_num, branch_obj ***candidates))
 
int process_message PROTO ((lp_prob *p, int r_bufid, int *pindex, int *pitnum))
 
int receive_cuts PROTO ((lp_prob *p, int first_lp, int no_more_cuts_count))
 
void send_node_desc PROTO ((lp_prob *p, int node_type))
 
array_desc pack_array_desc_diff PROTO ((array_desc *ad, array_desc *new_ad, int *itmp))
 
basis_desc pack_basis_diff PROTO ((node_desc *oldnode, node_desc *newnode, char uind_type, char cutind_type, int *itmp))
 
char pack_base_diff PROTO ((int *size, int *oldstat, int *newstat, int *itmp))
 
char pack_extra_diff PROTO ((array_desc *olddesc, int *oldstat, array_desc *newdesc, int *newstat, char oldbasis_type_in_tm, char newdesc_type_in_tm, int *itmp, int *size))
 
void send_branching_info PROTO ((lp_prob *p, branch_obj *can, char *action, int *keep))
 
void send_cuts_to_pool PROTO ((lp_prob *p, int eff_cnt_limit))
 
int add_bound_changes_to_desc PROTO ((node_desc *new_tm_desc, lp_prob *p))
 
int update_cut_parameters (lp_prob *p)
 
int update_solve_parameters (lp_prob *p)
 
void free_cut PROTO ((cut_data **lpcut))
 
void free_waiting_row PROTO ((waiting_row **wrow))
 
void free_waiting_rows PROTO ((waiting_row **rows, int row_num))
 
void free_waiting_row_array PROTO ((waiting_row ***rows, int row_num))
 
void free_cuts PROTO ((cut_data **lpcuts, int cut_num))
 
void free_col_set PROTO ((our_col_set **colset))
 
void free_candidate PROTO ((branch_obj **cand))
 
void free_node_desc PROTO ((node_desc **desc))
 
int comp_cut_name PROTO ((const void *c0, const void *c1))
 
int is_feasible_u PROTO ((lp_prob *p, char branching, char is_last_iter))
 
void send_feasible_solution_u PROTO ((lp_prob *p, int xlevel, int xindex, int xiter_num, double lpetol, double new_ub, int cnt, int *xind, double *xval))
 
void display_lp_solution_u PROTO ((lp_prob *p, int which_sol))
 
int select_candidates_u PROTO ((lp_prob *p, int *cuts, int *new_vars, int *cand_num, branch_obj ***candidates))
 
int compare_candidates_u PROTO ((lp_prob *p, double oldobjval, branch_obj *best, branch_obj *can))
 
int select_child_u PROTO ((lp_prob *p, branch_obj *can, char *action))
 
void add_to_desc_u PROTO ((lp_prob *p, node_desc *desc))
 
int same_cuts_u PROTO ((lp_prob *p, waiting_row *wrow1, waiting_row *wrow2))
 
void unpack_cuts_u PROTO ((lp_prob *p, int from, int type, int cut_num, cut_data **cuts, int *new_row_num, waiting_row ***new_rows))
 
int send_lp_solution_u PROTO ((lp_prob *p, int tid))
 
int generate_column_u PROTO ((lp_prob *p, int lpcutnum, cut_data **cuts, int prevind, int nextind, int generate_what, double *colval, int *colind, int *collen, double *obj, double *ub, double *lb))
 
void print_stat_on_cuts_added_u PROTO ((lp_prob *p, int added_rows))
 
int analyze_multicriteria_solution PROTO ((lp_prob *p, int *indices, double *values, int length, double *true_objval, double etol, char branching, int feasible))
 

Macro Definition Documentation

#define COMPILING_FOR_LP

Definition at line 18 of file sym_lp.h.

Typedef Documentation

typedef struct OUR_COL_SET our_col_set
typedef struct LP_PROB lp_prob

Function Documentation

lp_prob* get_lp_ptr PROTO ( (lp_prob **lp_list)  )
int lp_initialize PROTO ( (lp_prob *p, int master_tid)  )
int generate_cuts_in_lp_u PROTO ( (lp_prob *p)  )
int check_bounds PROTO ( (lp_prob *p, int *termcode)  )
int fathom PROTO ( (lp_prob *p, int primal_feasible, int time_limit_reached)  )
int bfind PROTO ( (int key, int *table, int size)  )
int collect_fractions PROTO ( (lp_prob *p, double *x, int *tind, double *tx)  )
int collect_int_fractions PROTO ( (lp_prob *p, double *x, int *tind, double *tx, int *int_cnt)  )
int generate_cgl_cuts_new PROTO ( (lp_prob *p, int *num_cuts, cut_data ***cuts, int send_to_pool, int *bound_changes)  )
int should_use_cgl_generator PROTO ( (lp_prob *p, int *should_generate, int which_generator, void *generator)  )
int generate_cgl_cut_of_type PROTO ( (lp_prob *p, int i, OsiCuts *cutlist_p, int *was_tried)  )
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)  )
int should_stop_adding_cgl_cuts PROTO ( (lp_prob *p, int i, int *should_stop)  )
int add_col_cuts PROTO ( (lp_prob *p, OsiCuts *cutlist, int *bound_changes)  )
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)  )
int str_br_bound_changes PROTO ( (lp_prob *p, int num_bnd_changes, double *bnd_val, int *bnd_ind, char *bnd_sense)  )
int restore_lp_feasibility PROTO ( (lp_prob *p, our_col_set *new_cols)  )
int save_root_reduced_costs ( lp_prob p)
int var_cind_comp PROTO ( (const void *v0, const void *v1)  )
void add_row_set PROTO ( (lp_prob *p, waiting_row **wrows, int length)  )
void add_new_rows_to_waiting_rows PROTO ( (lp_prob *p, waiting_row **new_rows, int new_row_num)  )
void add_waiting_rows PROTO ( (lp_prob *p, waiting_row **wrows, int add_row_num)  )
int waiting_row_comp PROTO ( (const void *wr0, const void *wr1)  )
int compute_violations PROTO ( (lp_prob *p, int new_row_num, waiting_row **new_rows)  )
int add_violated_slacks PROTO ( (lp_prob *p, int cand_num, branch_obj **candidates)  )
int select_branching_object PROTO ( (lp_prob *p, int *cuts, branch_obj **can)  )
int should_continue_strong_branching PROTO ( (lp_prob *p, int i, int cand_num, double st_time, int total_iters, int *should_continue)  )
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 branch PROTO ( (lp_prob *p, int cuts)  )
int col_gen_before_branch PROTO ( (lp_prob *p, int *new_vars)  )
int prep_tighten_bounds PROTO ( (LPdata *lp_data, int *num_changes, double *bnd_val, int *bnd_ind, char *bnd_sense, double *row_ub, double *row_lb, char *cand_fixed)  )
int prep_row_violated PROTO ( (double row_lb, double row_ub, double si_row_lb, double si_row_ub, double aval, double old_col_lb, double old_col_ub, double new_col_lb, double new_col_ub, double lpetol, double inf)  )
int prep_col_fixable PROTO ( (double xval, double aval, double c_lb, double c_ub, double row_lb, double row_ub, double si_row_lb, double si_row_ub, double *col_fixed_lb, double *col_fixed_ub, double etol, double inf)  )
void branch_close_to_one_and_cheap PROTO ( (lp_prob *p, int max_cand_num, int *cand_num, branch_obj ***candidates)  )
int process_message PROTO ( (lp_prob *p, int r_bufid, int *pindex, int *pitnum)  )
int receive_cuts PROTO ( (lp_prob *p, int first_lp, int no_more_cuts_count)  )
void send_node_desc PROTO ( (lp_prob *p, int node_type)  )
array_desc pack_array_desc_diff PROTO ( (array_desc *ad, array_desc *new_ad, int *itmp)  )
basis_desc pack_basis_diff PROTO ( (node_desc *oldnode, node_desc *newnode, char uind_type, char cutind_type, int *itmp)  )
char pack_base_diff PROTO ( (int *size, int *oldstat, int *newstat, int *itmp)  )
char pack_extra_diff PROTO ( (array_desc *olddesc, int *oldstat, array_desc *newdesc, int *newstat, char oldbasis_type_in_tm, char newdesc_type_in_tm, int *itmp, int *size)  )
void send_branching_info PROTO ( (lp_prob *p, branch_obj *can, char *action, int *keep)  )
void send_cuts_to_pool PROTO ( (lp_prob *p, int eff_cnt_limit)  )
int add_bound_changes_to_desc PROTO ( (node_desc *new_tm_desc, lp_prob *p)  )
int update_cut_parameters ( lp_prob p)
int update_solve_parameters ( lp_prob p)
void free_cut PROTO ( (cut_data **lpcut)  )
void free_waiting_row PROTO ( (waiting_row **wrow)  )
void free_waiting_rows PROTO ( (waiting_row **rows, int row_num)  )
void free_waiting_row_array PROTO ( (waiting_row ***rows, int row_num)  )
void free_cuts PROTO ( (cut_data **lpcuts, int cut_num)  )
void free_col_set PROTO ( (our_col_set **colset)  )
void free_candidate_completely PROTO ( (branch_obj **cand)  )
void free_node_desc PROTO ( (node_desc **desc)  )
int comp_cut_name PROTO ( (const void *c0, const void *c1)  )
int is_feasible_u PROTO ( (lp_prob *p, char branching, char is_last_iter)  )
void send_feasible_solution_u PROTO ( (lp_prob *p, int xlevel, int xindex, int xiter_num, double lpetol, double new_ub, int cnt, int *xind, double *xval)  )
void display_lp_solution_u PROTO ( (lp_prob *p, int which_sol)  )
int select_candidates_u PROTO ( (lp_prob *p, int *cuts, int *new_vars, int *cand_num, branch_obj ***candidates)  )
int compare_candidates_u PROTO ( (lp_prob *p, double oldobjval, branch_obj *best, branch_obj *can)  )
void print_branch_stat_u PROTO ( (lp_prob *p, branch_obj *can, char *action)  )
void add_to_desc_u PROTO ( (lp_prob *p, node_desc *desc)  )
int same_cuts_u PROTO ( (lp_prob *p, waiting_row *wrow1, waiting_row *wrow2)  )
void unpack_cuts_u PROTO ( (lp_prob *p, int from, int type, int cut_num, cut_data **cuts, int *new_row_num, waiting_row ***new_rows)  )
int send_lp_solution_u PROTO ( (lp_prob *p, int tid)  )
int generate_column_u PROTO ( (lp_prob *p, int lpcutnum, cut_data **cuts, int prevind, int nextind, int generate_what, double *colval, int *colind, int *collen, double *obj, double *ub, double *lb)  )
void print_stat_on_cuts_added_u PROTO ( (lp_prob *p, int added_rows)  )
int analyze_multicriteria_solution PROTO ( (lp_prob *p, int *indices, double *values, int length, double *true_objval, double etol, char branching, int feasible)  )