coin-Bcp
Public Member Functions | List of all members
BCP_vg_prob Class Reference

This class is the central class of the Variable Generator process. More...

#include <BCP_vg.hpp>

Inheritance diagram for BCP_vg_prob:
Inheritance graph
[legend]
Collaboration diagram for BCP_vg_prob:
Collaboration graph
[legend]

Public Member Functions

BCP_cutunpack_cut ()
 Unpack a cut. More...
 
virtual BCP_bufferget_message_buffer ()
 
virtual void process_message ()
 
Constructor and destructor
 BCP_vg_prob (int my_id, int parent)
 The default constructor. More...
 
virtual ~BCP_vg_prob ()
 The destructor deletes everything. More...
 
Query methods
bool has_ub () const
 Return true/false indicating whether any upper bound has been found. More...
 
double ub () const
 Return the current upper bound (BCP_DBL_MAX/10 if there's no upper bound found yet.) More...
 
Modifying methods
void ub (const double bd)
 Set the upper bound equal to the argument. More...
 
bool probe_messages ()
 Test if there is a message in the message queue waiting to be processed. More...
 
- 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

Data members
BCP_vg_useruser
 The user object holding the user's data. More...
 
BCP_user_packpacker
 A class that holds the methods about how to pack things. More...
 
BCP_message_environmentmsg_env
 The message passing environment. More...
 
BCP_buffer msg_buf
 The message buffer of the Variable Generator process. More...
 
BCP_parameter_set< BCP_vg_parpar
 The parameters controlling the Variable Generator process. More...
 
BCP_problem_corecore
 The description of the core of the problem. More...
 
double upper_bound
 The proc id of the Tree Manager. More...
 
BCP_vec< BCP_cut * > cuts
 Variables are to be generated for the LP solution given by these cuts and their values (next member). More...
 
BCP_vec< double > pi
 The dual values corresponding to the cuts above. More...
 
int sender
 The process id of the LP process that sent the solution. More...
 
int phase
 The phase the algorithm is in. More...
 
int node_level
 The level of search tree node where the solution was generated. More...
 
int node_index
 The index of search tree node where the solution was generated. More...
 
int node_iteration
 The iteration within the search tree node where the solution was generated. More...
 

Private Member Functions

Disabled members
 BCP_vg_prob (const BCP_vg_prob &)
 The copy constructor is declared but not defined to disable it. More...
 
BCP_vg_proboperator= (const BCP_vg_prob &)
 The assignment operator is declared but not defined to disable it. More...
 

Detailed Description

This class is the central class of the Variable Generator process.

Only one object of this type is created and that holds all the data in the VG process. A reference to that object is passed to (almost) every function (or member method) that's invoked within the VG process.

Definition at line 32 of file BCP_vg.hpp.

Constructor & Destructor Documentation

BCP_vg_prob::BCP_vg_prob ( const BCP_vg_prob )
private

The copy constructor is declared but not defined to disable it.

BCP_vg_prob::BCP_vg_prob ( int  my_id,
int  parent 
)

The default constructor.

Initializes every data member to a natural state.

virtual BCP_vg_prob::~BCP_vg_prob ( )
virtual

The destructor deletes everything.

Member Function Documentation

BCP_vg_prob& BCP_vg_prob::operator= ( const BCP_vg_prob )
private

The assignment operator is declared but not defined to disable it.

bool BCP_vg_prob::has_ub ( ) const
inline

Return true/false indicating whether any upper bound has been found.

Definition at line 113 of file BCP_vg.hpp.

References BCP_DBL_MAX, and upper_bound.

double BCP_vg_prob::ub ( ) const
inline

Return the current upper bound (BCP_DBL_MAX/10 if there's no upper bound found yet.)

Definition at line 116 of file BCP_vg.hpp.

References upper_bound.

void BCP_vg_prob::ub ( const double  bd)
inline

Set the upper bound equal to the argument.

Definition at line 122 of file BCP_vg.hpp.

References upper_bound.

bool BCP_vg_prob::probe_messages ( )

Test if there is a message in the message queue waiting to be processed.

BCP_cut* BCP_vg_prob::unpack_cut ( )

Unpack a cut.

Invoked from the built-in BCP_vg_user::unpack_dual_solution().

virtual BCP_buffer& BCP_vg_prob::get_message_buffer ( )
inlinevirtual

Implements BCP_process.

Definition at line 133 of file BCP_vg.hpp.

References msg_buf.

virtual void BCP_vg_prob::process_message ( )
virtual

Implements BCP_process.

Member Data Documentation

BCP_vg_user* BCP_vg_prob::user

The user object holding the user's data.

This object is created by a call to the appropriate member of [USER_initialize]{USER_initialize.html}.

Definition at line 49 of file BCP_vg.hpp.

BCP_user_pack* BCP_vg_prob::packer

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

Definition at line 52 of file BCP_vg.hpp.

BCP_message_environment* BCP_vg_prob::msg_env

The message passing environment.

This object is created by a call to the appropriate member of [USER_initialize]{USER_initialize.html}.

Definition at line 57 of file BCP_vg.hpp.

BCP_buffer BCP_vg_prob::msg_buf

The message buffer of the Variable Generator process.

Definition at line 60 of file BCP_vg.hpp.

Referenced by get_message_buffer().

BCP_parameter_set<BCP_vg_par> BCP_vg_prob::par

The parameters controlling the Variable Generator process.

Definition at line 63 of file BCP_vg.hpp.

BCP_problem_core* BCP_vg_prob::core

The description of the core of the problem.

Definition at line 66 of file BCP_vg.hpp.

double BCP_vg_prob::upper_bound

The proc id of the Tree Manager.

The best currently known upper bound.

Definition at line 72 of file BCP_vg.hpp.

Referenced by has_ub(), and ub().

BCP_vec<BCP_cut*> BCP_vg_prob::cuts

Variables are to be generated for the LP solution given by these cuts and their values (next member).

Not all cuts need to be listed (e.g., list only those that have nonzero dual values in the current solution).

See Also
BCP_lp_user::pack_dual_solution()

Definition at line 82 of file BCP_vg.hpp.

BCP_vec<double> BCP_vg_prob::pi

The dual values corresponding to the cuts above.

Definition at line 84 of file BCP_vg.hpp.

int BCP_vg_prob::sender

The process id of the LP process that sent the solution.

Definition at line 86 of file BCP_vg.hpp.

int BCP_vg_prob::phase

The phase the algorithm is in.

Definition at line 89 of file BCP_vg.hpp.

int BCP_vg_prob::node_level

The level of search tree node where the solution was generated.

Definition at line 91 of file BCP_vg.hpp.

int BCP_vg_prob::node_index

The index of search tree node where the solution was generated.

Definition at line 93 of file BCP_vg.hpp.

int BCP_vg_prob::node_iteration

The iteration within the search tree node where the solution was generated.

Definition at line 96 of file BCP_vg.hpp.


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