3 #ifndef _BCP_LP_FUNCTIONS_H
4 #define _BCP_LP_FUNCTIONS_H
16 class OsiSolverInterface;
49 const std::vector<double*> dual_rays,
59 bool first_in_loop,
const bool from_repricing);
64 bool first_in_loop,
const bool from_repricing);
77 OsiSolverInterface*
lp);
79 OsiSolverInterface*
lp);
100 const int added_colnum,
101 const int added_rownum,
102 const bool from_fathom,
103 const bool force_delete);
int BCP_lp_send_node_description(BCP_lp_prob &p, BCP_presolved_lp_brobj *brobj, BCP_message_tag msgtag)
void BCP_lp_add_rows_to_lp(const BCP_vec< BCP_row * > &rows, OsiSolverInterface *lp)
BCP_message_tag
This enumerative constant describes the message tags different processes of BCP understand.
This class holds a column in a compressed form.
void BCP_lp_unpack_active_node(BCP_lp_prob &p, BCP_buffer &buf)
void BCP_lp_unpack_diving_info(BCP_lp_prob &p, BCP_buffer &buf)
int BCP_lp_next_var_index(BCP_lp_prob &p)
int BCP_lp_generate_vars(BCP_lp_prob &p, bool first_in_loop, const bool from_repricing)
bool BCP_lp_fathom(BCP_lp_prob &p, const bool from_repricing)
void BCP_lp_process_result(BCP_lp_prob &p, const BCP_lp_result &lpres)
void BCP_lp_add_cols_to_lp(const BCP_vec< BCP_col * > &cols, OsiSolverInterface *lp)
BCP_branching_result BCP_lp_branch(BCP_lp_prob &p)
void BCP_lp_test_feasibility(BCP_lp_prob &p, const BCP_lp_result &lpres)
void BCP_lp_repricing(BCP_lp_prob &p)
void BCP_lp_process_core(BCP_lp_prob &p, BCP_buffer &buf)
BCP_warmstart * BCP_lp_convert_CoinWarmStart(BCP_lp_prob &p, CoinWarmStart *&ws)
void BCP_price_vars(BCP_lp_prob &p, const bool from_fathom, BCP_vec< BCP_var * > &vars_to_add, BCP_vec< BCP_col * > &cols_to_add)
BCP_branching_result
This enumerative constant describes the possible outcomes of a branching attempt. ...
int BCP_lp_add_from_local_var_pool(BCP_lp_prob &p)
void BCP_lp_perform_fathom(BCP_lp_prob &p, const char *msg, BCP_message_tag msgtag)
void BCP_restore_feasibility(BCP_lp_prob &p, const std::vector< double * > dual_rays, BCP_vec< BCP_var * > &vars_to_add, BCP_vec< BCP_col * > &cols_to_add)
double BCP_lp_compute_lower_bound(BCP_lp_prob &p, const BCP_lp_result &lpres)
Warmstarting information for the LP solver.
int BCP_lp_next_cut_index(BCP_lp_prob &p)
void fint fint fint real fint real real real real real real real real real fint real fint * lp
void BCP_lp_adjust_row_effectiveness(BCP_lp_prob &p)
BCP_message_tag BCP_lp_pack_for_vg(BCP_lp_prob &p)
void BCP_lp_send_cuts_to_cp(BCP_lp_prob &p, const int eff_cnt_limit)
void BCP_lp_process_ub_message(BCP_lp_prob &p, BCP_buffer &buf)
void BCP_lp_create_lp(BCP_lp_prob &p)
This class describes a generic branching object.
int BCP_lp_generate_cuts(BCP_lp_prob &p, bool first_in_loop, const bool from_repricing)
bool BCP_lp_fix_vars(BCP_lp_prob &p)
void fint fint fint real fint real real real real real real real real real fint real fint fint fint real * ws
int BCP_lp_add_from_local_cut_pool(BCP_lp_prob &p)
void BCP_lp_purge_slack_pool(BCP_lp_prob &p)
Abstract base class that defines members common to all types of variables.
void BCP_lp_prepare_for_new_node(BCP_lp_prob &p)
A presolved branching object candidate.
void BCP_lp_check_ub(BCP_lp_prob &p)
void BCP_lp_clean_up_node(BCP_lp_prob &p)
This class describes the message buffer used for all processes of BCP.
BCP_message_tag BCP_lp_pack_for_cg(BCP_lp_prob &p)
void BCP_lp_main_loop(BCP_lp_prob &p)
This class holds the results after solving an LP relaxation.
void BCP_lp_delete_cols_and_rows(BCP_lp_prob &p, BCP_lp_branching_object *can, const int added_colnum, const int added_rownum, const bool from_fathom, const bool force_delete)
This class holds a row in a compressed form.
This is the abstract base class for a solution to a Mixed Integer Programming problem.