coin-Bcp
|
#include <CSP_tm.hpp>
Public Member Functions | |
CSP_tm () | |
~CSP_tm () | |
virtual void | pack_module_data (BCP_buffer &buf, BCP_process_t ptype) |
Pack the initial information (info that the user wants to send over) for the process specified by the last argument. More... | |
virtual BCP_solution * | unpack_feasible_solution (BCP_buffer &buf) |
Unpack a MIP feasible solution that was packed by the BCP_lp_user::pack_feasible_solution() method. More... | |
virtual void | pack_var_algo (const BCP_var_algo *var, BCP_buffer &buf) |
Pack an algorithmic variable. More... | |
virtual BCP_var_algo * | unpack_var_algo (BCP_buffer &buf) |
Unpack an algorithmic variable. More... | |
virtual void | pack_cut_algo (const BCP_cut_algo *cut, BCP_buffer &buf) |
Pack an algorithmic cut. More... | |
virtual BCP_cut_algo * | unpack_cut_algo (BCP_buffer &buf) |
Unpack an algorithmic cut. More... | |
virtual void | initialize_core (BCP_vec< BCP_var_core * > &vars, BCP_vec< BCP_cut_core * > &cuts, BCP_lp_relax *&matrix) |
Create the core of the problem by filling out the last three arguments. More... | |
virtual void | create_root (BCP_vec< BCP_var * > &added_vars, BCP_vec< BCP_cut * > &added_cuts, BCP_user_data *&user_data, BCP_pricing_status &pricing_status) |
Create the set of extra variables and cuts that should be added to the formulation in the root node. More... | |
virtual void | display_feasible_solution (const BCP_solution *sol) |
Display a feasible solution. More... | |
virtual void | init_new_phase (int phase, BCP_column_generation &colgen) |
Do whatever initialization is necessary before the phase -th phase. More... | |
Compare two search tree nodes. Return true if the first node | |
should be processed before the second one. Default: The default behavior is controlled by the | |
virtual bool | compare_tree_nodes (const BCP_tm_node *node0, const BCP_tm_node *node1) |
![]() | |
int | process_id () const |
What is the process id of the current process. More... | |
void | send_message (const int target, const BCP_buffer &buf) |
Send a message to a particular process. More... | |
void | broadcast_message (const BCP_process_t proc_type, const BCP_buffer &buf) |
Broadcast the message to all processes of the given type. More... | |
virtual void | process_message (BCP_buffer &buf) |
Process a message that has been sent by another process' user part to this process' user part. More... | |
virtual void | display_node_information (BCP_tree &search_tree, const BCP_tm_node &node) |
Display user information just before a new node is sent to the LP or diving into a node is acknowledged. More... | |
virtual void | display_node_information (BCP_tree &search_tree, const BCP_tm_node &node, bool after_processing_node) |
Display user information. More... | |
virtual void | display_final_information (const BCP_lp_statistics &lp_stat) |
Display information after BCP finished processing the search tree. More... | |
void | setTmProblemPointer (BCP_tm_prob *ptr) |
Set the pointer. More... | |
BCP_tm_prob * | getTmProblemPointer () const |
Get the pointer. More... | |
double | upper_bound () const |
Return what is the best known upper bound (might be BCP_DBL_MAX) More... | |
double | lower_bound () const |
Return a global lower bound. More... | |
char | get_param (const BCP_tm_par::chr_params key) const |
int | get_param (const BCP_tm_par::int_params key) const |
double | get_param (const BCP_tm_par::dbl_params key) const |
const BCP_string & | get_param (const BCP_tm_par::str_params key) const |
void | set_param (const BCP_tm_par::chr_params key, const bool val) |
void | set_param (const BCP_tm_par::chr_params key, const char val) |
void | set_param (const BCP_tm_par::int_params key, const int val) |
void | set_param (const BCP_tm_par::dbl_params key, const double val) |
void | set_param (const BCP_tm_par::str_params key, const char *val) |
BCP_tm_user () | |
Being virtual, the destructor invokes the destructor for the real type of the object being deleted. More... | |
virtual | ~BCP_tm_user () |
Being virtual, the destructor invokes the destructor for the real type of the object being deleted. More... | |
virtual bool | replace_solution (const BCP_solution *old_sol, const BCP_solution *new_sol) |
Decide whether to replace old_sol with new_sol. More... | |
virtual void | create_root (BCP_vec< BCP_var * > &added_vars, BCP_vec< BCP_cut * > &added_cuts, BCP_user_data *&user_data) |
Create the set of extra variables and cuts that should be added to the formulation in the root node. More... | |
virtual void | init_new_phase (int phase, BCP_column_generation &colgen, CoinSearchTreeBase *&candidates) |
Do whatever initialization is necessary before the phase -th phase. More... | |
virtual void | change_candidate_heap (CoinSearchTreeManager &candidates, const bool new_solution) |
![]() | |
virtual | ~BCP_user_class () |
Public Attributes | |
BCP_parameter_set< CSP_tm_par > | tm_par |
BCP_parameter_set< CSP_lp_par > | lp_par |
CSPROBLEM * | csproblem |
Definition at line 23 of file CSP_tm.hpp.
|
inline |
Definition at line 31 of file CSP_tm.hpp.
|
inline |
Definition at line 34 of file CSP_tm.hpp.
References csproblem.
|
virtual |
Pack the initial information (info that the user wants to send over) for the process specified by the last argument.
The information packed here will be unpacked in the unpack_module_data()
method of the user defined class in the appropriate process.
Default: empty method.
Reimplemented from BCP_tm_user.
|
inlinevirtual |
Unpack a MIP feasible solution that was packed by the BCP_lp_user::pack_feasible_solution() method.
Default: Unpacks a BCP_solution_generic object. The built-in default should be used if and only if the built-in default was used in BCP_lp_user::pack_feasible_solution().
Reimplemented from BCP_tm_user.
Definition at line 62 of file CSP_tm.hpp.
References BCP_tm_user::unpack_feasible_solution().
|
inlinevirtual |
|
inlinevirtual |
Unpack an algorithmic variable.
Definition at line 75 of file CSP_tm.hpp.
References CSP_var_unpack().
|
inlinevirtual |
Pack an algorithmic cut.
Definition at line 82 of file CSP_tm.hpp.
|
inlinevirtual |
Unpack an algorithmic cut.
Definition at line 88 of file CSP_tm.hpp.
|
virtual |
Create the core of the problem by filling out the last three arguments.
These variables/cuts will always stay in the LP relaxation and the corresponding matrix is described by the specified matrix. If there is no core variable or cut then the returned pointer for to the matrix should be a null pointer.
Default: empty method, meaning that there are no variables/cuts in the core and this the core matrix is empty (0 pointer) as well.
Reimplemented from BCP_tm_user.
|
virtual |
Create the set of extra variables and cuts that should be added to the formulation in the root node.
Also decide how variable pricing shuld be done, that is, if column generation is requested in the init_new_phase() method of this class then column generation should be performed according to pricing_status
.
Default: empty method, meaning that no variables/cuts are added and no pricing should be done.
|
virtual |
Display a feasible solution.
Reimplemented from BCP_tm_user.
|
virtual |
Do whatever initialization is necessary before the phase
-th phase.
(E.g., setting the pricing strategy.)
|
inlinevirtual |
Definition at line 147 of file CSP_tm.hpp.
BCP_parameter_set<CSP_tm_par> CSP_tm::tm_par |
Definition at line 25 of file CSP_tm.hpp.
BCP_parameter_set<CSP_lp_par> CSP_tm::lp_par |
Definition at line 26 of file CSP_tm.hpp.
CSPROBLEM* CSP_tm::csproblem |
Definition at line 27 of file CSP_tm.hpp.
Referenced by ~CSP_tm().