Bcp 1.4.4
Loading...
Searching...
No Matches
BCP_tm_prob Class Reference

NO OLD DOC. More...

#include <BCP_tm.hpp>

+ Inheritance diagram for BCP_tm_prob:
+ Collaboration diagram for BCP_tm_prob:

Public Member Functions

Constructor and destructor
 BCP_tm_prob ()
 
virtual ~BCP_tm_prob ()
 
Methods to pack/unpack objects
void pack_var (const BCP_var &var)
 
BCP_varunpack_var_without_bcpind (BCP_buffer &buf)
 
int unpack_var ()
 
void pack_cut (const BCP_cut &cut)
 
BCP_cutunpack_cut_without_bcpind (BCP_buffer &buf)
 
int unpack_cut ()
 
Query methods
char param (BCP_tm_par::chr_params key) const
 
int param (BCP_tm_par::int_params key) const
 
double param (BCP_tm_par::dbl_params key) const
 
const BCP_stringparam (BCP_tm_par::str_params key) const
 
const BCP_vec< BCP_string > & param (BCP_tm_par::str_array_params key) const
 
double granularity () const
 
bool has_ub () const
 
double ub () const
 
bool ub (double new_ub)
 
bool over_ub (const double lb) const
 
virtual BCP_bufferget_message_buffer ()
 
virtual void process_message ()
 
- Public Member Functions inherited from BCP_process
 BCP_process (int self, int my_parent)
 
virtual ~BCP_process ()
 
int get_process_id () const
 
int get_parent () const
 

Public Attributes

User provided members
BCP_tm_useruser
 
BCP_user_packpacker
 A class that holds the methods about how to pack things.
 
BCP_message_environmentmsg_env
 
Statistics in the other processes
BCP_lp_statisticslp_stat
 
BCP_solutionfeas_sol
 
Parameters
BCP_parameter_set< BCP_tm_parpar
 
BCP_slave_params slave_pars
 
Flags
BCP_tm_flags flags
 
The description of the core of the problem
BCP_problem_corecore
 
BCP_problem_core_changecore_as_change
 
int phase
 
BCP_column_generation current_phase_colgen
 
std::map< int, Coin::SmartPtr< BCP_var > > vars_local
 
std::map< int, int > vars_remote
 
std::map< int, Coin::SmartPtr< BCP_cut > > cuts_local
 
std::map< int, int > cuts_remote
 
int next_cut_index_set_start
 
int next_var_index_set_start
 
bool need_a_TS
 
std::map< int, int > ts_space
 
BCP_tree search_tree
 
std::map< int, BCP_tm_node * > active_nodes
 A map from the process ids to the nodes (what they work on)
 
CoinSearchTreeManager candidate_list
 
std::map< int, BCP_tm_node_to_send * > nodes_to_send
 
BCP_vec< BCP_tm_node * > next_phase_nodes
 a vector of nodes to be processed in the next phase
 
BCP_vec< BCP_tm_node * > nodes_to_free
 
Vectors indicating the number of leaf nodes assigned to each CP/VP
BCP_vec< std::pair< int, int > > leaves_per_cp
 
BCP_vec< std::pair< int, int > > leaves_per_vp
 
BCP_tm_stat stat
 

Message passing related fields

BCP_buffer msg_buf
 
std::vector< int > ts_procs
 
std::vector< int > lp_procs
 
BCP_scheduler lp_scheduler
 
double root_node_sent_
 members to measure how long it took to process the root node.
 
double root_node_received_
 
std::multiset< double > lower_bounds
 
double upper_bound
 
double start_time
 
static double lb_multiplier
 The lower bounds of the unexplored search tree nodes.
 

Detailed Description

NO OLD DOC.

Definition at line 136 of file BCP_tm.hpp.

Constructor & Destructor Documentation

◆ BCP_tm_prob()

BCP_tm_prob::BCP_tm_prob ( )

◆ ~BCP_tm_prob()

virtual BCP_tm_prob::~BCP_tm_prob ( )
virtual

Member Function Documentation

◆ pack_var()

void BCP_tm_prob::pack_var ( const BCP_var & var)

◆ unpack_var_without_bcpind()

BCP_var * BCP_tm_prob::unpack_var_without_bcpind ( BCP_buffer & buf)

◆ unpack_var()

int BCP_tm_prob::unpack_var ( )

◆ pack_cut()

void BCP_tm_prob::pack_cut ( const BCP_cut & cut)

◆ unpack_cut_without_bcpind()

BCP_cut * BCP_tm_prob::unpack_cut_without_bcpind ( BCP_buffer & buf)

◆ unpack_cut()

int BCP_tm_prob::unpack_cut ( )

◆ param() [1/5]

char BCP_tm_prob::param ( BCP_tm_par::chr_params key) const
inline

Definition at line 298 of file BCP_tm.hpp.

◆ param() [2/5]

int BCP_tm_prob::param ( BCP_tm_par::int_params key) const
inline

Definition at line 301 of file BCP_tm.hpp.

◆ param() [3/5]

double BCP_tm_prob::param ( BCP_tm_par::dbl_params key) const
inline

Definition at line 304 of file BCP_tm.hpp.

◆ param() [4/5]

const BCP_string & BCP_tm_prob::param ( BCP_tm_par::str_params key) const
inline

Definition at line 307 of file BCP_tm.hpp.

◆ param() [5/5]

const BCP_vec< BCP_string > & BCP_tm_prob::param ( BCP_tm_par::str_array_params key) const
inline

Definition at line 310 of file BCP_tm.hpp.

◆ granularity()

double BCP_tm_prob::granularity ( ) const
inline

Definition at line 313 of file BCP_tm.hpp.

◆ has_ub()

bool BCP_tm_prob::has_ub ( ) const
inline

Definition at line 319 of file BCP_tm.hpp.

◆ ub() [1/2]

double BCP_tm_prob::ub ( ) const
inline

Definition at line 321 of file BCP_tm.hpp.

◆ ub() [2/2]

bool BCP_tm_prob::ub ( double new_ub)
inline

Definition at line 323 of file BCP_tm.hpp.

◆ over_ub()

bool BCP_tm_prob::over_ub ( const double lb) const
inline

Definition at line 331 of file BCP_tm.hpp.

◆ get_message_buffer()

virtual BCP_buffer & BCP_tm_prob::get_message_buffer ( )
inlinevirtual

Implements BCP_process.

Definition at line 336 of file BCP_tm.hpp.

◆ process_message()

virtual void BCP_tm_prob::process_message ( )
virtual

Implements BCP_process.

Member Data Documentation

◆ user

BCP_tm_user* BCP_tm_prob::user

Definition at line 151 of file BCP_tm.hpp.

◆ packer

BCP_user_pack* BCP_tm_prob::packer

A class that holds the methods about how to pack things.

Definition at line 153 of file BCP_tm.hpp.

◆ msg_env

BCP_message_environment* BCP_tm_prob::msg_env

Definition at line 156 of file BCP_tm.hpp.

◆ lp_stat

BCP_lp_statistics* BCP_tm_prob::lp_stat

Definition at line 160 of file BCP_tm.hpp.

◆ feas_sol

BCP_solution* BCP_tm_prob::feas_sol

Definition at line 163 of file BCP_tm.hpp.

◆ par

BCP_parameter_set<BCP_tm_par> BCP_tm_prob::par

Definition at line 168 of file BCP_tm.hpp.

◆ slave_pars

BCP_slave_params BCP_tm_prob::slave_pars

Definition at line 170 of file BCP_tm.hpp.

◆ flags

BCP_tm_flags BCP_tm_prob::flags

Definition at line 177 of file BCP_tm.hpp.

◆ msg_buf

BCP_buffer BCP_tm_prob::msg_buf

Definition at line 183 of file BCP_tm.hpp.

◆ ts_procs

std::vector<int> BCP_tm_prob::ts_procs

Definition at line 185 of file BCP_tm.hpp.

◆ lp_procs

std::vector<int> BCP_tm_prob::lp_procs

Definition at line 186 of file BCP_tm.hpp.

◆ lp_scheduler

BCP_scheduler BCP_tm_prob::lp_scheduler

Definition at line 188 of file BCP_tm.hpp.

◆ root_node_sent_

double BCP_tm_prob::root_node_sent_

members to measure how long it took to process the root node.

Needed for the scheduler (both are in wallclock)

Definition at line 191 of file BCP_tm.hpp.

◆ root_node_received_

double BCP_tm_prob::root_node_received_

Definition at line 192 of file BCP_tm.hpp.

◆ lb_multiplier

double BCP_tm_prob::lb_multiplier
static

The lower bounds of the unexplored search tree nodes.

To avoid rounding errors the lower bounds are stored as floor(lb*lb_multiplier)

Definition at line 198 of file BCP_tm.hpp.

◆ lower_bounds

std::multiset<double> BCP_tm_prob::lower_bounds

Definition at line 199 of file BCP_tm.hpp.

◆ upper_bound

double BCP_tm_prob::upper_bound

Definition at line 201 of file BCP_tm.hpp.

◆ start_time

double BCP_tm_prob::start_time

Definition at line 203 of file BCP_tm.hpp.

◆ core

BCP_problem_core* BCP_tm_prob::core

Definition at line 208 of file BCP_tm.hpp.

◆ core_as_change

BCP_problem_core_change* BCP_tm_prob::core_as_change

Definition at line 210 of file BCP_tm.hpp.

◆ phase

int BCP_tm_prob::phase

Definition at line 214 of file BCP_tm.hpp.

◆ current_phase_colgen

BCP_column_generation BCP_tm_prob::current_phase_colgen

Definition at line 216 of file BCP_tm.hpp.

◆ vars_local

std::map<int, Coin::SmartPtr<BCP_var> > BCP_tm_prob::vars_local

Definition at line 220 of file BCP_tm.hpp.

◆ vars_remote

std::map<int, int> BCP_tm_prob::vars_remote

Definition at line 222 of file BCP_tm.hpp.

◆ cuts_local

std::map<int, Coin::SmartPtr<BCP_cut> > BCP_tm_prob::cuts_local

Definition at line 224 of file BCP_tm.hpp.

◆ cuts_remote

std::map<int, int> BCP_tm_prob::cuts_remote

Definition at line 226 of file BCP_tm.hpp.

◆ next_cut_index_set_start

int BCP_tm_prob::next_cut_index_set_start

Definition at line 229 of file BCP_tm.hpp.

◆ next_var_index_set_start

int BCP_tm_prob::next_var_index_set_start

Definition at line 231 of file BCP_tm.hpp.

◆ need_a_TS

bool BCP_tm_prob::need_a_TS

Definition at line 234 of file BCP_tm.hpp.

◆ ts_space

std::map<int, int> BCP_tm_prob::ts_space

Definition at line 235 of file BCP_tm.hpp.

◆ search_tree

BCP_tree BCP_tm_prob::search_tree

Definition at line 239 of file BCP_tm.hpp.

◆ active_nodes

std::map<int, BCP_tm_node*> BCP_tm_prob::active_nodes

A map from the process ids to the nodes (what they work on)

Definition at line 241 of file BCP_tm.hpp.

◆ candidate_list

CoinSearchTreeManager BCP_tm_prob::candidate_list

Definition at line 243 of file BCP_tm.hpp.

◆ nodes_to_send

std::map<int, BCP_tm_node_to_send*> BCP_tm_prob::nodes_to_send

Definition at line 246 of file BCP_tm.hpp.

◆ next_phase_nodes

BCP_vec<BCP_tm_node*> BCP_tm_prob::next_phase_nodes

a vector of nodes to be processed in the next phase

Definition at line 250 of file BCP_tm.hpp.

◆ nodes_to_free

BCP_vec<BCP_tm_node*> BCP_tm_prob::nodes_to_free

Definition at line 252 of file BCP_tm.hpp.

◆ leaves_per_cp

BCP_vec< std::pair<int, int> > BCP_tm_prob::leaves_per_cp

Definition at line 259 of file BCP_tm.hpp.

◆ leaves_per_vp

BCP_vec< std::pair<int, int> > BCP_tm_prob::leaves_per_vp

Definition at line 261 of file BCP_tm.hpp.

◆ stat

BCP_tm_stat BCP_tm_prob::stat

Definition at line 265 of file BCP_tm.hpp.


The documentation for this class was generated from the following file: