9 #include "CoinSearchTree.hpp"
10 #include "CoinSmartPtr.hpp"
53 #define BCP_ONLY_LP_PROCESS_HANDLING_WORKS
118 for (
int i = 0; i <=
num_lp; ++i) {
129 void print(
bool final,
double t);
323 inline bool ub(
double new_ub) {
This class describes changes in the core of the problem.
static double lb_multiplier
The lower bounds of the unexplored search tree nodes.
BCP_buffer msg_buf
members to measure how long it took to process the root node.
BCP_var * unpack_var_without_bcpind(BCP_buffer &buf)
This class describes the core of the MIP problem, the variables/cuts in it as well as the matrix corr...
const BCP_vec< BCP_string > & param(BCP_tm_par::str_array_params key) const
double root_node_received_
members to measure how long it took to process the root node.
This class stores data about how an object set (set of vars or set of cuts) changes.
BCP_parameter_set< BCP_vg_par > vg
int next_cut_index_set_start
void print(bool final, double t)
BCP_parameter_set< BCP_cg_par > cg
std::map< int, int > cuts_remote
std::map< int, BCP_tm_node * > active_nodes
A map from the process ids to the nodes (what they work on)
std::map< int, Coin::SmartPtr< BCP_cut > > cuts_local
double granularity() const
This is an abstract base class that describes the message passing environment.
dbl_params
Double parameters.
Abstract base class that defines members common to all types of cuts.
int param(BCP_tm_par::int_params key) const
bool over_ub(const double lb) const
char entry(const chr_params key) const
std::map< int, BCP_tm_node_to_send * > nodes_to_send
BCP_vec< std::pair< int, int > > leaves_per_cp
void update_queue_length(int i, int len)
CoinSearchTreeManager candidate_list
BCP_vec< BCP_tm_node * > next_phase_nodes
a vector of nodes to be processed in the next phase
This class is a very simple impelementation of a constant length string.
const BCP_string & param(BCP_tm_par::str_params key) const
Warmstarting information for the LP solver.
virtual void process_message()
chr_params
Character parameters.
std::map< int, Coin::SmartPtr< BCP_var > > vars_local
BCP_vec< BCP_tm_node * > nodes_to_free
BCP_lp_statistics * lp_stat
std::vector< int > ts_procs
members to measure how long it took to process the root node.
int next_var_index_set_start
BCP_vec< std::pair< int, int > > leaves_per_vp
virtual BCP_buffer & get_message_buffer()
double param(BCP_tm_par::dbl_params key) const
BCP_parameter_set< BCP_tm_par > par
void pack_cut(const BCP_cut &cut)
std::map< int, int > vars_remote
bool root_pricing_unpacked
Set to true if the result of root pricing is already unpacked.
Abstract base class that defines members common to all types of variables.
BCP_message_environment * msg_env
A class that holds the methods about how to pack things.
void pack_var(const BCP_var &var)
int_params
Integer parameters.
BCP_user_pack * packer
A class that holds the methods about how to pack things.
std::vector< int > lp_procs
members to measure how long it took to process the root node.
This class describes the message buffer used for all processes of BCP.
BCP_scheduler lp_scheduler
members to measure how long it took to process the root node.
BCP_parameter_set< BCP_lp_par > lp
std::multiset< double > lower_bounds
BCP_tm_prob & operator=(const BCP_tm_prob &)
The assignment operator is declared but not defined to disable it.
BCP_tm_user * user
A class that holds the methods about how to pack things.
BCP_problem_core_change * core_as_change
BCP_column_generation
This enumerative constant describes what to do when a search tree node becomes fathomable for the cur...
BCP_slave_params slave_pars
The BCP_tm_user class is the base class from which the user can derive a problem specific class to be...
std::map< int, int > ts_space
BCP_column_generation current_phase_colgen
char param(BCP_tm_par::chr_params key) const
void update_wait_time(int i, double t)
BCP_parameter_set< BCP_ts_par > ts
str_params
String parameters.
BCP_cut * unpack_cut_without_bcpind(BCP_buffer &buf)
double root_node_sent_
members to measure how long it took to process the root node.
This is the abstract base class for a solution to a Mixed Integer Programming problem.