78 throw BCP_fatal_error(
"BCP_cg_prob::_unpack_var(): 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_buffer & unpack(T &value)
Unpack a single object of type T.
void set_var_type(const BCP_var_t type)
Set the integrality type of the variable.
virtual void receive(const int source, const BCP_message_tag tag, BCP_buffer &buf, const double timeout)=0
Blocking receive with timeout.
BCP_problem_core * core
The description of the core of the problem.
void set_bcpind(const int bcpind)
Set the internal index of the variable.
Core variables are the variables that always stay in the LP formulation.
Only primal variables currently at nonzero level.
The user packed everything.
bool probe_messages()
Test if there is a message in the message queue waiting to be processed.
BCP_obj_status
This enumerative constant gives the status of an object (variable or cut).
void change_bounds(const double lb, const double ub)
Change the lower and upper bounds to the given values.
BCP_vec< BCP_var * > vars
Cuts are to be generated for the LP solution given by these variables and their values (next member)...
void fint fint fint * phase
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.
BCP_buffer msg_buf
The message buffer of the Cut Generator process.
double upper_bound
The proc id of the tree manager.
Abstract base class that defines members common to all types of variables.
Currently there isn't any error handling in BCP.
Only primal variables currently at fractional level.
virtual BCP_var_algo * unpack_var_algo(BCP_buffer &buf)
Unpack an algorithmic variable.
void set_obj(const double obj)
Set the objective coefficient.
BCP_cg_prob(const BCP_cg_prob &)
The copy constructor is declared but not defined to disable it.
virtual ~BCP_cg_prob()
The destructor deletes everything.
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
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_message_environment * msg_env
The message passing environment.
Any process to TM or TM to any process: a new upper bound found.
void set_status(const BCP_obj_status status)
Set the status of the variable.
BCP_var * unpack_var()
Unpack a variable.
BCP_object_t
This enumerative constant describes the possible types of objects (variables and cuts).
BCP_cg_user * user
The user object holding the user's data.
double ub() const
Return the current upper bound (BCP_DBL_MAX if there's no upper bound found yet.) ...
BCP_var_t
This enumerative constant describes the integrality type of a variable.