69 throw BCP_fatal_error(
"BCP_vg_prob::_unpack_cut(): unexpected obj_t.\n");
This class describes the core of the MIP problem, the variables/cuts in it as well as the matrix corr...
BCP_vg_user * user
The user object holding the user's data.
BCP_buffer & unpack(T &value)
Unpack a single object of type T.
virtual void receive(const int source, const BCP_message_tag tag, BCP_buffer &buf, const double timeout)=0
Blocking receive with timeout.
Abstract base class that defines members common to all types of cuts.
virtual BCP_cut_algo * unpack_cut_algo(BCP_buffer &buf)
Unpack an algorithmic cut.
void set_bcpind(const int bcpind)
Set the internal index of the cut.
BCP_message_environment * msg_env
The message passing environment.
Core cuts are the cuts that always stay in the LP formulation.
BCP_buffer msg_buf
The message buffer of the Variable Generator process.
Pack only dual variables currently at nonzero level.
BCP_obj_status
This enumerative constant gives the status of an object (variable or cut).
double ub() const
Return the current upper bound (BCP_DBL_MAX/10 if there's no upper bound found yet.)
The user packed everything.
virtual ~BCP_vg_prob()
The destructor deletes everything.
void fint fint fint * phase
BCP_cut * unpack_cut()
Unpack a cut.
virtual bool probe(const int source, const BCP_message_tag tag)=0
Probe if there are any messages from the given process with the given message tag.
void set_status(const BCP_obj_status stat)
Set the status of the cut.
BCP_problem_core * core
The description of the core of the problem.
Currently there isn't any error handling in BCP.
bool probe_messages()
Test if there is a message in the message queue waiting to be processed.
void change_bounds(const double lb, const double ub)
Change just the lower/upper bounds.
void fint fint fint fint fint fint fint fint fint fint real real real real real real real real real fint real fint real char real * user
BCP_vg_prob(const BCP_vg_prob &)
The copy constructor is declared but not defined to disable it.
void purge_ptr_vector(BCP_vec< T * > &pvec, typename BCP_vec< T * >::iterator first, typename BCP_vec< T * >::iterator last)
This function purges the entries [first,last) from the vector of pointers pvec.
BCP_user_pack * packer
A class that holds the methods about how to pack things.
BCP_vec< BCP_cut * > cuts
Variables are to be generated for the LP solution given by these cuts and their values (next member)...
Any process to TM or TM to any process: a new upper bound found.
double upper_bound
The proc id of the Tree Manager.
BCP_object_t
This enumerative constant describes the possible types of objects (variables and cuts).