/home/coin/SVN-release/OS-2.1.1/Bcp/src/include/BCP_lp_functions.hpp File Reference

#include <vector>
#include "BCP_enum.hpp"
#include "BCP_enum_branch.hpp"
#include "BCP_message_tag.hpp"
#include "BCP_vector.hpp"

Include dependency graph for BCP_lp_functions.hpp:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void BCP_lp_process_core (BCP_lp_prob &p, BCP_buffer &buf)
void BCP_lp_repricing (BCP_lp_prob &p)
void BCP_lp_main_loop (BCP_lp_prob &p)
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)
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)
void BCP_lp_perform_fathom (BCP_lp_prob &p, const char *msg, BCP_message_tag msgtag)
bool BCP_lp_fathom (BCP_lp_prob &p, const bool from_repricing)
int BCP_lp_generate_cuts (BCP_lp_prob &p, bool first_in_loop, const bool from_repricing)
int BCP_lp_generate_vars (BCP_lp_prob &p, bool first_in_loop, const bool from_repricing)
void BCP_lp_process_result (BCP_lp_prob &p, const BCP_lp_result &lpres)
void BCP_lp_purge_slack_pool (BCP_lp_prob &p)
void BCP_lp_test_feasibility (BCP_lp_prob &p, const BCP_lp_result &lpres)
double BCP_lp_compute_lower_bound (BCP_lp_prob &p, const BCP_lp_result &lpres)
void BCP_lp_clean_up_node (BCP_lp_prob &p)
BCP_message_tag BCP_lp_pack_for_cg (BCP_lp_prob &p)
BCP_message_tag BCP_lp_pack_for_vg (BCP_lp_prob &p)
void BCP_lp_prepare_for_new_node (BCP_lp_prob &p)
void BCP_lp_add_cols_to_lp (const BCP_vec< BCP_col * > &cols, OsiSolverInterface *lp)
void BCP_lp_add_rows_to_lp (const BCP_vec< BCP_row * > &rows, OsiSolverInterface *lp)
void BCP_lp_check_ub (BCP_lp_prob &p)
int BCP_lp_next_var_index (BCP_lp_prob &p)
int BCP_lp_next_cut_index (BCP_lp_prob &p)
void BCP_lp_process_ub_message (BCP_lp_prob &p, BCP_buffer &buf)
void BCP_lp_send_cuts_to_cp (BCP_lp_prob &p, const int eff_cnt_limit)
void BCP_lp_unpack_diving_info (BCP_lp_prob &p, BCP_buffer &buf)
BCP_branching_result BCP_lp_branch (BCP_lp_prob &p)
bool BCP_lp_fix_vars (BCP_lp_prob &p)
void BCP_lp_adjust_row_effectiveness (BCP_lp_prob &p)
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)
int BCP_lp_add_from_local_cut_pool (BCP_lp_prob &p)
int BCP_lp_add_from_local_var_pool (BCP_lp_prob &p)
int BCP_lp_send_node_description (BCP_lp_prob &p, BCP_presolved_lp_brobj *brobj, BCP_message_tag msgtag)
void BCP_lp_unpack_active_node (BCP_lp_prob &p, BCP_buffer &buf)
void BCP_lp_create_lp (BCP_lp_prob &p)
BCP_warmstartBCP_lp_convert_CoinWarmStart (BCP_lp_prob &p, CoinWarmStart *&ws)


Function Documentation

void BCP_lp_process_core ( BCP_lp_prob p,
BCP_buffer buf 
)

Definition at line 28 of file BCP_lp_main.cpp.

References BCP_lp_prob::core, BCP_lp_prob::core_as_change, BCP_problem_core::cuts, BCP_lp_node::cuts, BCP_lp_prob::node, BCP_vec< T >::reserve(), BCP_vec< T >::size(), BCP_vec< T >::unchecked_push_back(), BCP_problem_core::unpack(), BCP_problem_core::vars, and BCP_lp_node::vars.

Referenced by BCP_lp_main(), and BCP_single_environment::register_process().

void BCP_lp_repricing ( BCP_lp_prob p  ) 

void BCP_lp_main_loop ( BCP_lp_prob p  ) 

Definition at line 15 of file BCP_lp_main_loop.cpp.

Referenced by BCP_lp_prob::process_message().

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 
)

Definition at line 174 of file BCP_lp_fathom.cpp.

References BCP_vec< T >::append(), BCP_Object_FromGenerator, BCP_vec< T >::begin(), BCP_vec< T >::clear(), BCP_lp_node::cuts, BCP_vec< T >::end(), BCP_lp_user::generate_vars_in_lp(), BCP_vec< T >::insert(), BCP_lp_prob::lp_result, BCP_lp_prob::new_cols, BCP_lp_prob::new_vars, BCP_lp_prob::node, BCP_vec< T >::size(), BCP_lp_prob::user, BCP_lp_prob::user_has_lp_result_processing, BCP_lp_node::vars, and BCP_lp_user::vars_to_cols().

Referenced by BCP_lp_fathom(), and BCP_lp_generate_vars().

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 
)

Definition at line 213 of file BCP_lp_fathom.cpp.

References BCP_Object_FromGenerator, BCP_vec< T >::begin(), BCP_lp_node::cuts, BCP_vec< T >::end(), BCP_vec< T >::insert(), BCP_lp_prob::lp_result, BCP_lp_prob::node, BCP_lp_user::restore_feasibility(), BCP_vec< T >::size(), BCP_lp_prob::user, BCP_lp_node::vars, and BCP_lp_user::vars_to_cols().

Referenced by BCP_lp_fathom().

void BCP_lp_perform_fathom ( BCP_lp_prob p,
const char *  msg,
BCP_message_tag  msgtag 
)

Definition at line 19 of file BCP_lp_fathom.cpp.

References BCP_lp_clean_up_node(), BCP_lp_delete_cols_and_rows(), BCP_lp_send_node_description(), BCP_lp_par::LpVerb_FathomInfo, BCP_lp_prob::param(), BCP_lp_user::print(), BCP_lp_par::SendFathomedNodeDesc, and BCP_lp_prob::user.

Referenced by BCP_lp_branch(), BCP_lp_fathom(), and BCP_lp_main_loop().

bool BCP_lp_fathom ( BCP_lp_prob p,
const bool  from_repricing 
)

Definition at line 36 of file BCP_lp_fathom.cpp.

References BCP_var_set::append(), BCP_DoNotGenerateColumns_Fathom, BCP_DoNotGenerateColumns_Send, BCP_GenerateColumns, BCP_lp_add_cols_to_lp(), BCP_lp_check_ub(), BCP_lp_delete_cols_and_rows(), BCP_lp_next_var_index(), BCP_lp_perform_fathom(), BCP_Msg_NodeDescription_Infeas, BCP_Msg_NodeDescription_Infeas_Pruned, BCP_Msg_NodeDescription_OverUB, BCP_Msg_NodeDescription_OverUB_Pruned, BCP_price_vars(), BCP_ProvenPrimalInf, BCP_restore_feasibility(), BCP_vec< T >::begin(), BCP_lp_node::colgen, BCP_vec< T >::end(), BCP_vec< T >::entry(), BCP_vec< T >::erase(), keep_ptr_vector_by_index(), BCP_lp_prob::local_cut_pool, BCP_lp_prob::lp_result, BCP_lp_prob::lp_solver, BCP_lp_par::LpVerb_ColumnGenerationInfo, BCP_lp_par::MaxVarsAddedPerIteration, BCP_lp_prob::node, BCP_lp_prob::param(), BCP_lp_result::pi(), purge_ptr_vector(), BCP_vec< T >::reserve(), BCP_lp_cut_pool::rows_are_valid(), BCP_vec< T >::size(), BCP_lp_result::termcode(), BCP_vec< T >::unchecked_push_back(), and BCP_lp_node::vars.

Referenced by BCP_lp_main_loop().

int BCP_lp_generate_cuts ( BCP_lp_prob p,
bool  first_in_loop,
const bool  from_repricing 
)

Definition at line 13 of file BCP_lp_generate_cuts.cpp.

References BCP_message_environment::alive(), BCP_AnyProcess, BCP_lp_next_cut_index(), BCP_lp_pack_for_cg(), BCP_Msg_AnyMessage, BCP_Msg_NoMessage, BCP_Object_FromGenerator, BCP_Object_Leftover, BCP_vec< T >::begin(), BCP_lp_node::cg, BCP_vec< T >::clear(), BCP_buffer::clear(), BCP_lp_cut_pool::compute_violations(), BCP_lp_node::cp, BCP_lp_par::CutPoolCheckFrequency, BCP_lp_node::cuts, BCP_lp_user::cuts_to_rows(), BCP_vec< T >::end(), BCP_lp_par::FirstLP_AllCutsTimeout, BCP_lp_par::FirstLP_FirstCutTimeout, BCP_lp_user::generate_cuts_in_lp(), BCP_process::get_parent(), BCP_lp_node::iteration_count, BCP_lp_par::LaterLP_AllCutsTimeout, BCP_lp_par::LaterLP_FirstCutTimeout, BCP_lp_prob::local_cut_pool, BCP_lp_prob::lp_result, BCP_lp_prob::lp_solver, BCP_lp_par::LpVerb_ReportCutGenTimeout, BCP_lp_par::LpVerb_ReportLocalCutPoolSize, BCP_lp_par::MessagePassingIsSerial, BCP_lp_prob::msg_buf, BCP_lp_prob::msg_env, BCP_buffer::msgtag(), BCP_lp_prob::new_cuts, BCP_lp_prob::new_rows, BCP_lp_prob::no_more_cuts_cnt, BCP_lp_prob::node, BCP_lp_prob::param(), BCP_lp_prob::process_message(), BCP_message_environment::receive(), BCP_lp_cut_pool::remove_nonviolated(), BCP_vec< T >::reserve(), BCP_lp_cut_pool::rows_are_valid(), BCP_message_environment::send(), BCP_vec< T >::size(), BCP_lp_prob::stat, BCP_lp_statistics::time_cut_generation, BCP_vec< T >::unchecked_push_back(), BCP_lp_prob::user, BCP_lp_prob::user_has_lp_result_processing, BCP_lp_node::vars, BCP_lp_node::vg, and BCP_lp_node::vp.

Referenced by BCP_lp_main_loop().

int BCP_lp_generate_vars ( BCP_lp_prob p,
bool  first_in_loop,
const bool  from_repricing 
)

Definition at line 13 of file BCP_lp_generate_vars.cpp.

References BCP_message_environment::alive(), BCP_AnyProcess, BCP_lp_next_var_index(), BCP_lp_pack_for_vg(), BCP_Msg_AnyMessage, BCP_Msg_NoMessage, BCP_Object_Leftover, BCP_price_vars(), BCP_vec< T >::begin(), BCP_lp_node::cg, BCP_vec< T >::clear(), BCP_buffer::clear(), BCP_lp_var_pool::cols_are_valid(), BCP_lp_var_pool::compute_red_costs(), BCP_lp_node::cp, BCP_lp_node::cuts, BCP_vec< T >::end(), BCP_lp_par::FirstLP_AllVarsTimeout, BCP_lp_par::FirstLP_FirstVarTimeout, BCP_process::get_parent(), BCP_lp_node::iteration_count, BCP_lp_par::LaterLP_AllVarsTimeout, BCP_lp_par::LaterLP_FirstVarTimeout, BCP_lp_prob::local_var_pool, BCP_lp_prob::lp_result, BCP_lp_prob::lp_solver, BCP_lp_par::LpVerb_ReportLocalVarPoolSize, BCP_lp_par::LpVerb_ReportVarGenTimeout, BCP_lp_par::MessagePassingIsSerial, BCP_lp_prob::msg_buf, BCP_lp_prob::msg_env, BCP_buffer::msgtag(), BCP_lp_prob::no_more_vars_cnt, BCP_lp_prob::node, BCP_lp_prob::param(), BCP_lp_prob::process_message(), BCP_message_environment::receive(), BCP_lp_var_pool::remove_positives(), BCP_vec< T >::reserve(), BCP_message_environment::send(), BCP_vec< T >::size(), BCP_lp_prob::stat, BCP_lp_statistics::time_var_generation, BCP_vec< T >::unchecked_push_back(), BCP_lp_prob::user, BCP_lp_par::VarPoolCheckFrequency, BCP_lp_user::vars_to_cols(), BCP_lp_node::vg, and BCP_lp_node::vp.

Referenced by BCP_lp_main_loop().

void BCP_lp_process_result ( BCP_lp_prob p,
const BCP_lp_result lpres 
)

Definition at line 14 of file BCP_lp_misc.cpp.

References BCP_lp_node::cuts, BCP_lp_prob::new_cols, BCP_lp_prob::new_cuts, BCP_lp_prob::new_rows, BCP_lp_prob::new_true_lower_bound, BCP_lp_prob::new_vars, BCP_lp_prob::node, BCP_lp_user::process_lp_result(), BCP_lp_prob::sol, BCP_lp_node::true_lower_bound, BCP_lp_prob::user, BCP_lp_prob::user_has_lp_result_processing, and BCP_lp_node::vars.

Referenced by BCP_lp_main_loop().

void BCP_lp_purge_slack_pool ( BCP_lp_prob p  ) 

Definition at line 25 of file BCP_lp_misc.cpp.

References BCP_vec< T >::begin(), BCP_vec< T >::end(), purge_ptr_vector_by_index(), BCP_lp_user::purge_slack_pool(), BCP_vec< T >::size(), BCP_lp_prob::slack_pool, and BCP_lp_prob::user.

Referenced by BCP_lp_main_loop().

void BCP_lp_test_feasibility ( BCP_lp_prob p,
const BCP_lp_result lpres 
)

Definition at line 35 of file BCP_lp_misc.cpp.

References BCP_lp_node::cuts, BCP_lp_prob::node, BCP_lp_user::send_feasible_solution(), BCP_lp_prob::sol, BCP_lp_user::test_feasibility(), BCP_lp_prob::user, BCP_lp_prob::user_has_lp_result_processing, and BCP_lp_node::vars.

Referenced by BCP_lp_main_loop(), and BCP_lp_perform_strong_branching().

double BCP_lp_compute_lower_bound ( BCP_lp_prob p,
const BCP_lp_result lpres 
)

Definition at line 50 of file BCP_lp_misc.cpp.

References BCP_lp_user::compute_lower_bound(), BCP_lp_node::cuts, BCP_lp_prob::new_true_lower_bound, BCP_lp_prob::node, BCP_lp_node::true_lower_bound, BCP_lp_prob::user, BCP_lp_prob::user_has_lp_result_processing, and BCP_lp_node::vars.

Referenced by BCP_lp_main_loop().

void BCP_lp_clean_up_node ( BCP_lp_prob p  ) 

Definition at line 59 of file BCP_lp_misc.cpp.

References BCP_lp_node::clean(), BCP_lp_parent::clean(), BCP_lp_prob::core, BCP_problem_core::cutnum(), BCP_lp_node::cuts, BCP_vec< T >::end(), BCP_vec< T >::entry(), BCP_lp_prob::local_cut_pool, BCP_lp_prob::local_var_pool, BCP_lp_prob::node, BCP_lp_prob::parent, purge_ptr_vector(), BCP_problem_core::varnum(), and BCP_lp_node::vars.

Referenced by BCP_lp_branch(), and BCP_lp_perform_fathom().

BCP_message_tag BCP_lp_pack_for_cg ( BCP_lp_prob p  ) 

Definition at line 75 of file BCP_lp_misc.cpp.

References BCP_Msg_ForCG_User, BCP_buffer::clear(), BCP_lp_node::cuts, BCP_lp_node::index, BCP_lp_node::iteration_count, BCP_lp_node::level, BCP_lp_prob::lp_result, BCP_lp_prob::msg_buf, BCP_buffer::msgtag(), BCP_lp_prob::node, BCP_buffer::pack(), BCP_lp_user::pack_primal_solution(), BCP_buffer::set_msgtag(), BCP_lp_prob::user, and BCP_lp_node::vars.

Referenced by BCP_lp_generate_cuts(), and BCP_lp_main_loop().

BCP_message_tag BCP_lp_pack_for_vg ( BCP_lp_prob p  ) 

Definition at line 91 of file BCP_lp_misc.cpp.

References BCP_Msg_ForVG_User, BCP_buffer::clear(), BCP_lp_node::cuts, BCP_lp_node::index, BCP_lp_node::iteration_count, BCP_lp_node::level, BCP_lp_prob::lp_result, BCP_lp_prob::msg_buf, BCP_buffer::msgtag(), BCP_lp_prob::node, BCP_buffer::pack(), BCP_lp_user::pack_dual_solution(), BCP_buffer::set_msgtag(), BCP_lp_prob::user, and BCP_lp_node::vars.

Referenced by BCP_lp_generate_vars(), and BCP_lp_main_loop().

void BCP_lp_prepare_for_new_node ( BCP_lp_prob p  ) 

Definition at line 108 of file BCP_lp_misc.cpp.

References BCP_ContinuousVar, BCP_WarmstartRoot, BCP_vec< T >::begin(), BCP_lp_node::cuts, BCP_vec< T >::end(), BCP_lp_user::initialize_new_search_tree_node(), BCP_lp_prob::intAndSosObjects, lp, BCP_lp_prob::lp_result, BCP_lp_prob::lp_solver, BCP_lp_prob::node, BCP_lp_prob::param(), BCP_lp_result::primalTolerance(), BCP_vec< T >::reserve(), BCP_cut_set::set_lb_ub(), BCP_vec< T >::size(), BCP_lp_prob::sol, BCP_vec< T >::unchecked_push_back(), BCP_lp_prob::user, BCP_lp_node::vars, BCP_lp_par::WarmstartInfo, and BCP_lp_prob::warmstartRoot.

Referenced by BCP_lp_main_loop().

void BCP_lp_add_cols_to_lp ( const BCP_vec< BCP_col * > &  cols,
OsiSolverInterface *  lp 
)

Definition at line 220 of file BCP_lp_misc.cpp.

References BCP_vec< T >::size().

Referenced by BCP_add_branching_objects(), BCP_lp_fathom(), and BCP_lp_user::load_problem().

void BCP_lp_add_rows_to_lp ( const BCP_vec< BCP_row * > &  rows,
OsiSolverInterface *  lp 
)

Definition at line 245 of file BCP_lp_misc.cpp.

References BCP_vec< T >::size().

Referenced by BCP_add_branching_objects(), and BCP_lp_user::load_problem().

void BCP_lp_check_ub ( BCP_lp_prob p  ) 

Definition at line 14 of file BCP_lp_msgproc.cpp.

References BCP_AnyProcess, BCP_lp_process_ub_message(), BCP_Msg_NoMessage, BCP_Msg_UpperBound, BCP_buffer::clear(), BCP_lp_prob::msg_buf, BCP_lp_prob::msg_env, BCP_buffer::msgtag(), and BCP_message_environment::receive().

Referenced by BCP_lp_fathom(), BCP_lp_fix_vars(), and BCP_lp_main_loop().

int BCP_lp_next_var_index ( BCP_lp_prob p  ) 

Definition at line 233 of file BCP_lp_msgproc.cpp.

References BCP_Msg_RequestVarIndexSet, BCP_Msg_VarIndexSet, BCP_buffer::clear(), BCP_process::get_parent(), BCP_lp_prob::last_var_index, BCP_lp_prob::msg_buf, BCP_lp_prob::msg_env, BCP_lp_prob::next_var_index, BCP_lp_prob::process_message(), BCP_message_environment::receive(), and BCP_message_environment::send().

Referenced by BCP_add_branching_objects(), BCP_lp_fathom(), BCP_lp_generate_vars(), BCP_lp_main_loop(), and BCP_lp_prob::process_message().

int BCP_lp_next_cut_index ( BCP_lp_prob p  ) 

Definition at line 257 of file BCP_lp_msgproc.cpp.

References BCP_Msg_CutIndexSet, BCP_Msg_RequestCutIndexSet, BCP_buffer::clear(), BCP_process::get_parent(), BCP_lp_prob::last_cut_index, BCP_lp_prob::msg_buf, BCP_lp_prob::msg_env, BCP_lp_prob::next_cut_index, BCP_lp_prob::process_message(), BCP_message_environment::receive(), and BCP_message_environment::send().

Referenced by BCP_add_branching_objects(), BCP_lp_generate_cuts(), and BCP_lp_prob::process_message().

void BCP_lp_process_ub_message ( BCP_lp_prob p,
BCP_buffer buf 
)

Definition at line 280 of file BCP_lp_msgproc.cpp.

References BCP_GenerateColumns, BCP_lp_node::colgen, BCP_lp_prob::granularity(), BCP_lp_prob::lp_solver, BCP_lp_prob::node, BCP_lp_prob::ub(), and BCP_buffer::unpack().

Referenced by BCP_lp_check_ub(), and BCP_lp_prob::process_message().

void BCP_lp_send_cuts_to_cp ( BCP_lp_prob p,
const int  eff_cnt_limit 
)

Definition at line 295 of file BCP_lp_msgproc.cpp.

References BCP_Msg_CutsToCutPool, BCP_buffer::clear(), BCP_lp_prob::core, BCP_lp_node::cp, BCP_problem_core::cutnum(), BCP_lp_node::cuts, BCP_cut::dont_send_to_pool(), BCP_cut::effective_count(), BCP_vec< T >::end(), BCP_vec< T >::entry(), BCP_lp_node::level, BCP_lp_par::LpVerb_CutsToCutPoolCount, BCP_lp_prob::msg_buf, BCP_lp_prob::msg_env, BCP_lp_prob::node, BCP_buffer::pack(), BCP_lp_prob::pack_cut(), BCP_lp_prob::param(), and BCP_message_environment::send().

Referenced by BCP_lp_branch().

void BCP_lp_unpack_diving_info ( BCP_lp_prob p,
BCP_buffer buf 
)

Definition at line 340 of file BCP_lp_msgproc.cpp.

References BCP_DoNotDive, BCP_lp_node::dive, BCP_lp_node::index, BCP_lp_node::iteration_count, BCP_lp_node::level, BCP_lp_prob::node, and BCP_buffer::unpack().

Referenced by BCP_lp_send_node_description(), and BCP_lp_prob::process_message().

BCP_branching_result BCP_lp_branch ( BCP_lp_prob p  ) 

Definition at line 618 of file BCP_lp_branching.cpp.

References BCP_lp_branching_object::apply_child_bd(), BCP_BranchingContinueThisNode, BCP_BranchingDivedIntoNewNode, BCP_BranchingFathomedThisNode, BCP_DoBranch, BCP_DoNotBranch, BCP_DoNotBranch_Fathomed, BCP_lp_clean_up_node(), BCP_lp_make_parent_from_node(), BCP_lp_perform_fathom(), BCP_lp_select_branching_object(), BCP_lp_send_cuts_to_cp(), BCP_lp_send_node_description(), BCP_Msg_NodeDescription_Discarded, BCP_Msg_NoMessage, BCP_presolved_lp_brobj::candidate(), BCP_lp_par::CutEffectiveCountBeforePool, BCP_lp_node::cuts, BCP_lp_branching_object::cuts_affected(), BCP_lp_branching_object::forced_cut_bd_child(), BCP_lp_branching_object::forced_cut_pos, BCP_lp_branching_object::forced_var_bd_child(), BCP_lp_branching_object::forced_var_pos, BCP_lp_branching_object::implied_cut_bd_child(), BCP_lp_branching_object::implied_cut_pos, BCP_lp_branching_object::implied_var_bd_child(), BCP_lp_branching_object::implied_var_pos, BCP_presolved_lp_brobj::is_pruned(), BCP_lp_prob::lp_solver, BCP_lp_par::LpVerb_FathomInfo, BCP_lp_prob::node, BCP_lp_prob::param(), BCP_lp_user::print(), BCP_var_set::set_lb_ub(), BCP_cut_set::set_lb_ub(), BCP_lp_prob::user, BCP_lp_node::user_data, BCP_presolved_lp_brobj::user_data(), BCP_lp_node::vars, and BCP_lp_branching_object::vars_affected().

Referenced by BCP_lp_main_loop().

bool BCP_lp_fix_vars ( BCP_lp_prob p  ) 

Definition at line 42 of file BCP_lp_colrow.cpp.

References BCP_lp_check_ub(), BCP_vec< T >::begin(), BCP_lp_node::cuts, BCP_lp_result::dj(), BCP_vec< T >::end(), BCP_vec< T >::entry(), BCP_vec< T >::erase(), BCP_lp_prob::granularity(), BCP_lp_user::logical_fixing(), BCP_lp_prob::lp_result, BCP_lp_prob::lp_solver, BCP_lp_par::LpVerb_VarTightening, BCP_lp_prob::node, BCP_lp_result::objval(), BCP_lp_prob::param(), BCP_lp_result::primalTolerance(), BCP_lp_user::reduced_cost_fixing(), BCP_vec< T >::reserve(), BCP_var_set::set_lb_ub(), BCP_vec< T >::size(), BCP_lp_prob::ub(), BCP_vec< T >::unchecked_push_back(), BCP_lp_prob::user, BCP_lp_prob::var_bound_changes_since_logical_fixing, BCP_lp_node::vars, BCP_lp_result::x(), and x.

Referenced by BCP_lp_main_loop().

void BCP_lp_adjust_row_effectiveness ( BCP_lp_prob p  ) 

Definition at line 366 of file BCP_lp_colrow.cpp.

References BCP_IneffConstr_None, BCP_IneffConstr_NonzeroSlack, BCP_IneffConstr_ZeroDualValue, BCP_lp_prob::core, BCP_problem_core::cutnum(), BCP_lp_node::cuts, BCP_lp_par::IneffectiveConstraints, BCP_lp_result::lhs(), BCP_lp_prob::lp_result, BCP_lp_prob::lp_solver, BCP_lp_par::LpVerb_RowEffectivenessCount, BCP_lp_prob::node, BCP_lp_prob::param(), pi, BCP_lp_result::pi(), and BCP_vec< T >::size().

Referenced by BCP_lp_main_loop().

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 
)

Definition at line 201 of file BCP_lp_colrow.cpp.

References BCP_delete_unwanted_candidates(), BCP_lp_reset_positions(), BCP_lp_par::BranchOnCuts, BCP_lp_var_pool::cols_are_valid(), BCP_lp_node::cuts, BCP_lp_par::DeletedColToCompress_Frac, BCP_lp_par::DeletedColToCompress_Min, BCP_lp_par::DeletedRowToCompress_Frac, BCP_lp_par::DeletedRowToCompress_Min, BCP_vec< T >::empty(), BCP_vec< T >::erase_by_index(), BCP_lp_branching_object::forced_cut_pos, BCP_lp_branching_object::forced_var_pos, BCP_lp_branching_object::implied_cut_pos, BCP_lp_branching_object::implied_var_pos, BCP_lp_node::lb_at_cutgen, BCP_lp_prob::local_cut_pool, BCP_lp_prob::local_var_pool, lp, BCP_lp_prob::lp_result, BCP_lp_prob::lp_solver, BCP_lp_par::LpVerb_MatrixCompression, BCP_cut_set::move_deletable_to_pool(), BCP_lp_prob::node, BCP_lp_prob::param(), purge_ptr_vector_by_index(), BCP_vec< T >::push_back(), BCP_lp_cut_pool::rows_are_valid(), BCP_lp_user::select_cuts_to_delete(), BCP_lp_user::select_vars_to_delete(), BCP_vec< T >::size(), BCP_lp_prob::slack_pool, BCP_lp_prob::user, BCP_lp_node::vars, and ws.

Referenced by BCP_lp_fathom(), BCP_lp_main_loop(), BCP_lp_perform_fathom(), and BCP_lp_perform_strong_branching().

int BCP_lp_add_from_local_cut_pool ( BCP_lp_prob p  ) 

Definition at line 421 of file BCP_lp_colrow.cpp.

References BCP_compare_waiting_row_ptr(), BCP_CutViolationNorm_Directional, BCP_CutViolationNorm_Distance, BCP_CutViolationNorm_Plain, BCP_vec< T >::begin(), c, BCP_lp_node::cuts, BCP_lp_par::CutViolationNorm, BCP_vec< T >::end(), BCP_vec< T >::entry(), BCP_vec< T >::insert(), BCP_lp_node::lb_at_cutgen, BCP_lp_prob::local_cut_pool, BCP_row::LowerBound(), BCP_lp_prob::lp_result, BCP_lp_prob::lp_solver, BCP_lp_par::MaxCutsAddedPerIteration, BCP_lp_par::MaxLeftoverCutFrac, BCP_lp_par::MaxLeftoverCutNum, n, BCP_lp_prob::node, BCP_lp_result::objval(), BCP_lp_prob::param(), purge_ptr_vector(), BCP_vec< T >::reserve(), BCP_lp_cut_pool::rows_are_valid(), BCP_cut::set_effective_count(), BCP_vec< T >::size(), BCP_vec< T >::unchecked_push_back(), and BCP_row::UpperBound().

Referenced by BCP_lp_main_loop().

int BCP_lp_add_from_local_var_pool ( BCP_lp_prob p  ) 

Definition at line 530 of file BCP_lp_colrow.cpp.

References BCP_compare_waiting_col_ptr(), BCP_ContinuousVar, BCP_vec< T >::begin(), BCP_lp_var_pool::cols_are_valid(), e, BCP_vec< T >::end(), BCP_vec< T >::entry(), BCP_var::lb(), BCP_lp_prob::local_var_pool, BCP_col::LowerBound(), BCP_lp_prob::lp_solver, BCP_lp_par::MaxVarsAddedPerIteration, BCP_lp_prob::node, BCP_col::Objective(), BCP_lp_prob::param(), purge_ptr_vector(), BCP_vec< T >::reserve(), BCP_var::set_lb(), BCP_var::set_ub(), BCP_vec< T >::size(), BCP_var::ub(), BCP_vec< T >::unchecked_push_back(), BCP_col::UpperBound(), BCP_var::var_type(), and BCP_lp_node::vars.

Referenced by BCP_lp_main_loop().

int BCP_lp_send_node_description ( BCP_lp_prob p,
BCP_presolved_lp_brobj brobj,
BCP_message_tag  msgtag 
)

Definition at line 490 of file BCP_lp_msg_node_send.cpp.

References BCP_lp_convert_CoinWarmStart(), BCP_lp_pack_branching_info(), BCP_lp_pack_core(), BCP_lp_pack_noncore_cuts(), BCP_lp_pack_noncore_vars(), BCP_lp_pack_user_data(), BCP_lp_pack_warmstart(), BCP_lp_unpack_diving_info(), BCP_Msg_DivingInfo, BCP_Msg_NodeDescriptionWithBranchingInfo, BCP_Msg_WarmstartRoot, BCP_UnknownDivingStatus, BCP_WarmstartNone, BCP_WarmstartParent, BCP_WarmstartRoot, BCP_buffer::clear(), BCP_lp_node::dive, BCP_process::get_parent(), BCP_lp_node::index, BCP_presolved_lp_brobj::keep_no_child(), BCP_lp_par::Lp_DumpNodeDescCuts, BCP_lp_par::Lp_DumpNodeDescVars, BCP_lp_prob::msg_buf, BCP_lp_prob::msg_env, BCP_lp_prob::node, BCP_buffer::pack(), BCP_lp_prob::param(), BCP_lp_node::quality, BCP_message_environment::receive(), BCP_lp_par::ReportWhenDefaultIsExecuted, BCP_message_environment::send(), BCP_lp_par::SendFathomedNodeDesc, BCP_lp_node::true_lower_bound, BCP_lp_par::WarmstartInfo, and ws.

Referenced by BCP_lp_branch(), and BCP_lp_perform_fathom().

void BCP_lp_unpack_active_node ( BCP_lp_prob p,
BCP_buffer buf 
)

Definition at line 245 of file BCP_lp_msg_node_rec.cpp.

References BCP_lp_create_node(), BCP_lp_unpack_parent(), BCP_lp_node::cg, BCP_lp_node::colgen, BCP_lp_prob::core, BCP_node_storage_in_tm::core_change, BCP_lp_node::cp, BCP_node_storage_in_tm::cut_change, BCP_lp_node::cuts, BCP_problem_core::cuts, BCP_lp_node::dive, BCP_lp_node::index, BCP_lp_node::level, BCP_lp_prob::node, BCP_lp_prob::packer, BCP_lp_prob::param(), BCP_lp_prob::parent, BCP_lp_node::quality, BCP_lp_par::ReportWhenDefaultIsExecuted, BCP_vec< T >::reserve(), BCP_vec< T >::size(), BCP_lp_node::tm_storage, BCP_lp_node::true_lower_bound, BCP_vec< T >::unchecked_push_back(), BCP_buffer::unpack(), BCP_node_change::unpack(), BCP_lp_prob::unpack_cut(), BCP_user_pack::unpack_user_data(), BCP_lp_prob::unpack_var(), BCP_lp_node::user_data, BCP_node_storage_in_tm::var_change, BCP_lp_node::vars, BCP_problem_core::vars, BCP_lp_node::vg, BCP_lp_node::vp, BCP_lp_parent::warmstart, BCP_lp_node::warmstart, and BCP_node_storage_in_tm::warmstart.

Referenced by BCP_lp_prob::process_message().

void BCP_lp_create_lp ( BCP_lp_prob p  ) 

Definition at line 16 of file BCP_lp_create_lp.cpp.

References BCP_vec< T >::begin(), BCP_vec< T >::clear(), BCP_lp_var_pool::cols_are_valid(), BCP_warmstart::convert_to_CoinWarmStart(), BCP_lp_prob::core, BCP_lp_node::cuts, BCP_vec< T >::end(), BCP_lp_user::load_problem(), BCP_lp_prob::local_cut_pool, BCP_lp_prob::local_var_pool, BCP_lp_prob::lp_solver, BCP_lp_prob::node, BCP_vec< T >::reserve(), BCP_lp_cut_pool::rows_are_valid(), BCP_vec< T >::size(), BCP_vec< T >::unchecked_push_back(), BCP_lp_prob::user, BCP_lp_node::vars, BCP_lp_node::warmstart, and ws.

Referenced by BCP_lp_prob::process_message().

BCP_warmstart* BCP_lp_convert_CoinWarmStart ( BCP_lp_prob p,
CoinWarmStart *&  ws 
)

Definition at line 13 of file BCP_lp_convert_OsiWarmStart.cpp.

References ws.

Referenced by BCP_lp_send_node_description().


Generated on Mon May 3 03:06:16 2010 by  doxygen 1.4.7