This class is the central class of the Variable Generator process. More...
#include <BCP_vg.hpp>
Public Member Functions | |
BCP_cut * | unpack_cut () |
Unpack a cut. More... | |
virtual BCP_buffer & | get_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... | |
![]() | |
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_user * | user |
The user object holding the user's data. More... | |
BCP_user_pack * | packer |
A class that holds the methods about how to pack things. More... | |
BCP_message_environment * | msg_env |
The message passing environment. More... | |
BCP_buffer | msg_buf |
The message buffer of the Variable Generator process. More... | |
BCP_parameter_set< BCP_vg_par > | par |
The parameters controlling the Variable Generator process. More... | |
BCP_problem_core * | core |
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_prob & | operator= (const BCP_vg_prob &) |
The assignment operator is declared but not defined to disable it. More... | |
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.
|
private |
The copy constructor is declared but not defined to disable it.
The default constructor.
Initializes every data member to a natural state.
Definition at line 12 of file BCP_vg.cpp.
|
virtual |
The destructor deletes everything.
Definition at line 18 of file BCP_vg.cpp.
|
private |
The assignment operator is declared but not defined to disable it.
|
inline |
Return true/false indicating whether any upper bound has been found.
Definition at line 113 of file BCP_vg.hpp.
|
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.
|
inline |
Set the upper bound equal to the argument.
Definition at line 122 of file BCP_vg.hpp.
bool BCP_vg_prob::probe_messages | ( | ) |
Test if there is a message in the message queue waiting to be processed.
Definition at line 27 of file BCP_vg.cpp.
BCP_cut * BCP_vg_prob::unpack_cut | ( | ) |
Unpack a cut.
Invoked from the built-in BCP_vg_user::unpack_dual_solution().
Definition at line 50 of file BCP_vg.cpp.
|
inlinevirtual |
Implements BCP_process.
Definition at line 133 of file BCP_vg.hpp.
|
virtual |
Implements BCP_process.
Definition at line 121 of file BCP_vg_main.cpp.
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.
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.
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).
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.