#include <MC_tm.hpp>
Inheritance diagram for MC_tm:
Public Member Functions | |
MC_tm () | |
~MC_tm () | |
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. | |
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. | |
void | pack_cut_algo (const BCP_cut_algo *cut, BCP_buffer &buf) |
BCP_cut_algo * | unpack_cut_algo (BCP_buffer &buf) |
Unpack an algorithmic cut. | |
void | display_solution (const BCP_solution *soln) |
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. | |
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) |
void | display_feasible_solution (const BCP_solution *sol) |
Display a feasible solution. | |
MC_tm () | |
~MC_tm () | |
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. | |
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. | |
void | pack_cut_algo (const BCP_cut_algo *cut, BCP_buffer &buf) |
BCP_cut_algo * | unpack_cut_algo (BCP_buffer &buf) |
Unpack an algorithmic cut. | |
void | display_solution (const BCP_solution *soln) |
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. | |
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. | |
void | display_feasible_solution (const BCP_solution *sol) |
Display a feasible solution. | |
Public Attributes | |
BCP_parameter_set< MC_tm_par > | tm_par |
BCP_parameter_set< MC_lp_par > | lp_par |
MC_problem | mc |
MC_solution | best_soln |
BCP_parameter_set< MC_tm_par > | tm_par |
BCP_parameter_set< MC_lp_par > | lp_par |
Definition at line 16 of file MC_tm.hpp.
void MC_tm::pack_module_data | ( | BCP_buffer & | buf, | |
BCP_process_t | ptype | |||
) | [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.
BCP_solution* MC_tm::unpack_feasible_solution | ( | BCP_buffer & | buf | ) | [virtual] |
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.
void MC_tm::pack_cut_algo | ( | const BCP_cut_algo * | cut, | |
BCP_buffer & | buf | |||
) |
BCP_cut_algo* MC_tm::unpack_cut_algo | ( | BCP_buffer & | buf | ) |
Unpack an algorithmic cut.
void MC_tm::display_solution | ( | const BCP_solution * | soln | ) |
void MC_tm::initialize_core | ( | BCP_vec< BCP_var_core * > & | vars, | |
BCP_vec< BCP_cut_core * > & | cuts, | |||
BCP_lp_relax *& | matrix | |||
) | [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.
void MC_tm::create_root | ( | BCP_vec< BCP_var * > & | added_vars, | |
BCP_vec< BCP_cut * > & | added_cuts, | |||
BCP_user_data *& | user_data, | |||
BCP_pricing_status & | pricing_status | |||
) |
void MC_tm::display_feasible_solution | ( | const BCP_solution * | sol | ) | [virtual] |
void MC_tm::pack_module_data | ( | BCP_buffer & | buf, | |
BCP_process_t | ptype | |||
) | [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.
BCP_solution* MC_tm::unpack_feasible_solution | ( | BCP_buffer & | buf | ) | [virtual] |
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.
void MC_tm::pack_cut_algo | ( | const BCP_cut_algo * | cut, | |
BCP_buffer & | buf | |||
) |
BCP_cut_algo* MC_tm::unpack_cut_algo | ( | BCP_buffer & | buf | ) |
Unpack an algorithmic cut.
void MC_tm::display_solution | ( | const BCP_solution * | soln | ) |
void MC_tm::initialize_core | ( | BCP_vec< BCP_var_core * > & | vars, | |
BCP_vec< BCP_cut_core * > & | cuts, | |||
BCP_lp_relax *& | matrix | |||
) | [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.
void MC_tm::create_root | ( | BCP_vec< BCP_var * > & | added_vars, | |
BCP_vec< BCP_cut * > & | added_cuts, | |||
BCP_user_data *& | user_data | |||
) | [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, there is no user data and no pricing should be done.
Reimplemented from BCP_tm_user.
void MC_tm::display_feasible_solution | ( | const BCP_solution * | sol | ) | [virtual] |