BCP_cg_prob Class Reference

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

#include <BCP_cg.hpp>

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

List of all members.

Public Member Functions

BCP_varunpack_var ()
 Unpack a variable.
virtual BCP_bufferget_message_buffer ()
virtual void process_message ()
Constructor and destructor



 BCP_cg_prob (BCP_proc_id *my_id, BCP_proc_id *parent)
 The default constructor.
virtual ~BCP_cg_prob ()
 The destructor deletes everything.
Query methods



bool has_ub () const
 Return true/false indicating whether any upper bound has been found.
double ub () const
 Return the current upper bound (BCP_DBL_MAX if there's no upper bound found yet.
Modifying methods



void ub (const double bd)
 Set the upper bound equal to the argument.
bool probe_messages ()
 Test if there is a message in the message queue waiting to be processed.

Public Attributes

Data members



BCP_cg_useruser
 The user object holding the user's data.
BCP_message_environmentmsg_env
 The message passing environment.
BCP_buffer msg_buf
 The message buffer of the Cut Generator process.
BCP_parameter_set< BCP_cg_parpar
 The parameters controlling the Cut Generator process.
BCP_problem_corecore
 The description of the core of the problem.
double upper_bound
 The proc id of the tree manager.
BCP_vec< BCP_var * > vars
 Cuts are to be generated for the LP solution given by these variables and their values (next member).
BCP_vec< double > x
 The primal values corresponding to the variables above.
BCP_proc_idsender
 The process id of the LP process that sent the solution.
int phase
 The phase the algorithm is in.
int node_level
 The level of search tree node where the solution was generated.
int node_index
 The index of search tree node where the solution was generated.
int node_iteration
 The iteration within the search tree node where the solution was generated.

Private Member Functions

Disabled members



 BCP_cg_prob (const BCP_cg_prob &)
 The copy constructor is declared but not defined to disable it.
BCP_cg_proboperator= (const BCP_cg_prob &)
 The assignment operator is declared but not defined to disable it.

Detailed Description

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

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

Definition at line 32 of file BCP_cg.hpp.


Constructor & Destructor Documentation

BCP_cg_prob::BCP_cg_prob ( const BCP_cg_prob  )  [private]

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

BCP_cg_prob::BCP_cg_prob ( BCP_proc_id my_id,
BCP_proc_id parent 
)

The default constructor.

Initializes every data member to a natural state.

virtual BCP_cg_prob::~BCP_cg_prob (  )  [virtual]

The destructor deletes everything.


Member Function Documentation

BCP_cg_prob& BCP_cg_prob::operator= ( const BCP_cg_prob  )  [private]

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

Reimplemented from BCP_process.

bool BCP_cg_prob::has_ub (  )  const [inline]

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

Definition at line 112 of file BCP_cg.hpp.

double BCP_cg_prob::ub (  )  const [inline]

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

)

Definition at line 115 of file BCP_cg.hpp.

void BCP_cg_prob::ub ( const double  bd  )  [inline]

Set the upper bound equal to the argument.

Definition at line 121 of file BCP_cg.hpp.

bool BCP_cg_prob::probe_messages (  ) 

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

BCP_var* BCP_cg_prob::unpack_var (  ) 

Unpack a variable.

Invoked from the built-in BCP_cg_user::unpack_primal_solution().

virtual BCP_buffer& BCP_cg_prob::get_message_buffer (  )  [inline, virtual]

Implements BCP_process.

Definition at line 132 of file BCP_cg.hpp.

virtual void BCP_cg_prob::process_message (  )  [virtual]

Implements BCP_process.


Member Data Documentation

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 50 of file BCP_cg.hpp.

The message passing environment.

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

Definition at line 55 of file BCP_cg.hpp.

The message buffer of the Cut Generator process.

Definition at line 58 of file BCP_cg.hpp.

The parameters controlling the Cut Generator process.

Definition at line 61 of file BCP_cg.hpp.

The description of the core of the problem.

Definition at line 64 of file BCP_cg.hpp.

The proc id of the tree manager.

The best currently known upper bound.

Definition at line 70 of file BCP_cg.hpp.

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

Not all variables need to be listed (e.g., list only those that have fractional values in current LP solution).

See also:
BCP_lp_user::pack_primal_solution()

Definition at line 80 of file BCP_cg.hpp.

The primal values corresponding to the variables above.

Definition at line 82 of file BCP_cg.hpp.

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

Definition at line 84 of file BCP_cg.hpp.

The phase the algorithm is in.

Definition at line 88 of file BCP_cg.hpp.

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

Definition at line 90 of file BCP_cg.hpp.

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

Definition at line 92 of file BCP_cg.hpp.

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

Definition at line 95 of file BCP_cg.hpp.


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

Generated on 15 Mar 2015 for Coin-All by  doxygen 1.6.1