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