#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.
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 | ) |
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().
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().
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(), BCP_lp_prob::process_message(), and MC_lp::select_branching_candidates().
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 354 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 189 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 409 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 518 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(), and BM_lp::do_distributed_SB().