#include "CoinTime.hpp"
#include "BCP_math.hpp"
#include "BCP_node_change.hpp"
#include "BCP_tm.hpp"
#include "BCP_lp.hpp"
#include "BCP_tm_functions.hpp"
#include "BCP_problem_core.hpp"
#include "BCP_solution.hpp"
#include "BCP_tm_user.hpp"
Include dependency graph for BCP_tm_msgproc.cpp:
Go to the source code of this file.
static void BCP_tm_change_config | ( | BCP_tm_prob & | p, | |
BCP_buffer & | buf | |||
) | [static] |
Definition at line 706 of file BCP_tm_msgproc.cpp.
References BCP_CONFIG_ERROR, BCP_CONFIG_OK, BCP_ProcessType_CG, BCP_ProcessType_CP, BCP_ProcessType_LP, BCP_ProcessType_VG, BCP_ProcessType_VP, BCP_tm_notify_process_type(), BCP_tm_par::DebugCgProcesses, BCP_tm_par::DebugCpProcesses, BCP_tm_par::DebugLpProcesses, BCP_tm_par::DebugVgProcesses, BCP_tm_par::DebugVpProcesses, BCP_tm_par::ExecutableName, lp, BCP_tm_prob::msg_env, BCP_tm_prob::param(), BCP_message_environment::send(), BCP_buffer::sender(), BCP_message_environment::start_processes(), and BCP_buffer::unpack().
Referenced by BCP_tm_prob::process_message().
void BCP_tm_idle_processes | ( | BCP_tm_prob & | p | ) |
Definition at line 19 of file BCP_tm_msgproc.cpp.
References BCP_Msg_FinishedBCP, BCP_tm_prob::lp_procs, BCP_tm_prob::msg_env, and BCP_message_environment::multicast().
Referenced by BCP_tm_main().
void BCP_tm_stop_processes | ( | BCP_tm_prob & | p | ) |
Definition at line 27 of file BCP_tm_msgproc.cpp.
References BCP_Msg_FinishedBCP, BCP_tm_prob::lp_procs, BCP_tm_prob::msg_env, and BCP_message_environment::multicast().
Referenced by BCP_tm_main().
void BCP_tm_start_processes | ( | BCP_tm_prob & | p | ) |
Definition at line 35 of file BCP_tm_msgproc.cpp.
References BCP_scheduler::add_free_ids(), BCP_tm_par::CgMachines, BCP_tm_par::CgProcessNum, BCP_tm_par::CpMachines, BCP_tm_par::CpProcessNum, BCP_tm_par::DebugCgProcesses, BCP_tm_par::DebugCpProcesses, BCP_tm_par::DebugLpProcesses, BCP_tm_par::DebugVgProcesses, BCP_tm_par::DebugVpProcesses, BCP_tm_par::ExecutableName, BCP_tm_prob::lp_procs, BCP_tm_prob::lp_scheduler, BCP_tm_par::LpMachines, BCP_tm_par::LpProcessNum, BCP_tm_prob::msg_env, BCP_tm_prob::param(), BCP_vec< T >::size(), BCP_message_environment::start_processes(), BCP_tm_par::VgMachines, BCP_tm_par::VgProcessNum, BCP_tm_par::VpMachines, and BCP_tm_par::VpProcessNum.
Referenced by BCP_tm_main().
void BCP_tm_notify_about_new_phase | ( | BCP_tm_prob & | p | ) |
Definition at line 110 of file BCP_tm_msgproc.cpp.
References BCP_Msg_NextPhaseStarts, BCP_tm_prob::lp_procs, BCP_tm_prob::msg_env, and BCP_message_environment::multicast().
Referenced by BCP_tm_tasks_before_new_phase().
void BCP_tm_initialize_process_type | ( | BCP_tm_prob & | p, | |
BCP_process_t | ptype, | |||
BCP_parameter_set< T > & | par, | |||
int | num, | |||
const int * | pids | |||
) |
Definition at line 119 of file BCP_tm_msgproc.cpp.
References BCP_Msg_CoreDescription, BCP_Msg_InitialUserInfo, BCP_Msg_ProcessParameters, BCP_Msg_ProcessType, BCP_buffer::clear(), BCP_tm_prob::core, BCP_tm_prob::msg_buf, BCP_tm_prob::msg_env, BCP_message_environment::multicast(), BCP_problem_core::pack(), BCP_parameter_set< Par >::pack(), BCP_buffer::pack(), BCP_tm_user::pack_module_data(), BCP_tm_prob::start_time, BCP_tm_prob::ub(), and BCP_tm_prob::user.
Referenced by BCP_tm_initialize_process_type(), and BCP_tm_notify_process_type().
void BCP_tm_initialize_process_type | ( | BCP_tm_prob & | p, | |
BCP_process_t | ptype, | |||
BCP_parameter_set< T > & | par, | |||
const std::vector< int > & | pids | |||
) |
void BCP_tm_notify_process_type | ( | BCP_tm_prob & | p, | |
BCP_process_t | ptype, | |||
int | num, | |||
const int * | pids | |||
) |
Definition at line 163 of file BCP_tm_msgproc.cpp.
References BCP_ProcessType_CG, BCP_ProcessType_CP, BCP_ProcessType_LP, BCP_ProcessType_TS, BCP_ProcessType_VG, BCP_ProcessType_VP, and BCP_tm_initialize_process_type().
void BCP_tm_notify_process_type | ( | BCP_tm_prob & | p, | |
BCP_process_t | ptype, | |||
const std::vector< int > & | pids | |||
) |
void BCP_tm_notify_processes | ( | BCP_tm_prob & | p | ) |
Definition at line 210 of file BCP_tm_msgproc.cpp.
References BCP_ProcessType_CG, BCP_ProcessType_CP, BCP_ProcessType_LP, BCP_ProcessType_VG, BCP_ProcessType_VP, BCP_tm_notify_process_type(), and BCP_tm_prob::lp_procs.
Referenced by BCP_tm_main().
void BCP_tm_broadcast_ub | ( | BCP_tm_prob & | p | ) |
Definition at line 224 of file BCP_tm_msgproc.cpp.
References BCP_Msg_UpperBound, BCP_buffer::clear(), BCP_tm_prob::lp_procs, BCP_tm_prob::msg_buf, BCP_tm_prob::msg_env, BCP_message_environment::multicast(), BCP_buffer::pack(), and BCP_tm_prob::ub().
Referenced by BCP_tm_prob::process_message().
void BCP_tm_rebroadcast_root_warmstart | ( | BCP_tm_prob & | p | ) |
Definition at line 237 of file BCP_tm_msgproc.cpp.
References BCP_Msg_WarmstartRoot, BCP_buffer::clear(), BCP_tm_prob::lp_procs, BCP_tm_prob::msg_buf, BCP_tm_prob::msg_env, BCP_message_environment::multicast(), BCP_user_pack::pack_warmstart(), BCP_tm_prob::packer, BCP_user_pack::unpack_warmstart(), and ws.
Referenced by BCP_tm_prob::process_message().
void BCP_tm_provide_SB_processes | ( | BCP_tm_prob & | p | ) |
Definition at line 252 of file BCP_tm_msgproc.cpp.
References BCP_Msg_ProcessList, BCP_buffer::clear(), BCP_tm_prob::lp_scheduler, BCP_tm_prob::msg_buf, BCP_tm_prob::msg_env, BCP_buffer::pack(), BCP_scheduler::request_sb_ids(), BCP_message_environment::send(), BCP_buffer::sender(), and BCP_buffer::unpack().
Referenced by BCP_tm_prob::process_message().
bool BCP_tm_test_machine | ( | BCP_tm_prob & | p | ) |
Definition at line 521 of file BCP_tm_msgproc.cpp.
References BCP_message_environment::alive(), BCP_tm_remove_cg(), BCP_tm_remove_lp(), BCP_tm_remove_vg(), and BCP_tm_prob::msg_env.
Referenced by BCP_tm_prob::process_message().
void BCP_tm_modify_pool_counters | ( | BCP_tm_prob & | p, | |
BCP_tm_node * | node | |||
) |
Definition at line 569 of file BCP_tm_msgproc.cpp.
References BCP_tm_identify_process(), BCP_tm_node::cp, BCP_vec< T >::end(), BCP_tm_prob::leaves_per_cp, BCP_tm_prob::leaves_per_vp, and BCP_tm_node::vp.
Referenced by BCP_tm_free_nodes().
void BCP_tm_remove_lp | ( | BCP_tm_prob & | p, | |
const int | dead_pid | |||
) |
Definition at line 602 of file BCP_tm_msgproc.cpp.
References BCP_tm_prob::active_nodes, BCP_CandidateNode, BCP_tm_identify_process(), BCP_tm_prob::candidate_list, BCP_tm_node::cg, BCP_tm_node::cp, BCP_vec< T >::end(), BCP_tm_prob::leaves_per_cp, BCP_tm_prob::leaves_per_vp, BCP_tm_node::lp, BCP_tm_node::status, BCP_tm_node::vg, and BCP_tm_node::vp.
Referenced by BCP_tm_assign_processes(), BCP_tm_remove_cg(), BCP_tm_remove_vg(), and BCP_tm_test_machine().
void BCP_tm_remove_cg | ( | BCP_tm_prob & | p, | |
const int | index | |||
) |
Definition at line 655 of file BCP_tm_msgproc.cpp.
References BCP_tm_remove_lp().
Referenced by BCP_tm_assign_processes(), and BCP_tm_test_machine().
void BCP_tm_remove_vg | ( | BCP_tm_prob & | p, | |
const int | index | |||
) |
Definition at line 662 of file BCP_tm_msgproc.cpp.
References BCP_tm_remove_lp().
Referenced by BCP_tm_assign_processes(), and BCP_tm_test_machine().
void BCP_tm_unpack_priced_root | ( | BCP_tm_prob & | p, | |
BCP_buffer & | buf | |||
) |
Definition at line 672 of file BCP_tm_msgproc.cpp.
References BCP_tm_prob::active_nodes, BCP_tm_free_procs_of_node(), BCP_tm_prob::flags, BCP_tm_node::lp, BCP_tree::root(), BCP_tm_flags::root_pricing_unpacked, and BCP_tm_prob::search_tree.
void BCP_tm_free_procs_of_node | ( | BCP_tm_prob & | p, | |
BCP_tm_node * | node | |||
) |
Definition at line 690 of file BCP_tm_msgproc.cpp.
References BCP_tm_node::cg, BCP_tm_node::lp, BCP_tm_prob::lp_scheduler, BCP_scheduler::release_node_id(), and BCP_tm_node::vg.
Referenced by BCP_tm_unpack_branching_info(), BCP_tm_unpack_node_no_branching_info(), and BCP_tm_unpack_priced_root().