coin-Bcp
MCF2_tm.hpp
Go to the documentation of this file.
1 #ifndef MCF2_tm_hpp
2 #define MCF2_tm_hpp
3 
4 #include "BCP_buffer.hpp"
5 #include "BCP_tm_user.hpp"
6 #include "BCP_parameters.hpp"
7 #include "MCF2_par.hpp"
8 #include "MCF2_var.hpp"
9 #include "MCF2_data.hpp"
10 
11 class MCF2_packer : public BCP_user_pack
12 {
14  virtual void
16  MCF2_pack_var(var, buf);
17  }
18 
21  return MCF2_unpack_var(buf);
22  }
23 };
24 
25 //##############################################################################
26 
27 class MCF2_tm : public BCP_tm_user
28 {
29 public:
32 
33 public:
34  MCF2_tm() {}
35  virtual ~MCF2_tm() {}
36 
37  virtual void pack_module_data(BCP_buffer& buf, BCP_process_t ptype);
38  virtual void init_new_phase(int phase,
39  BCP_column_generation& colgen,
40  CoinSearchTreeBase*& candidates);
41  virtual void initialize_core(BCP_vec<BCP_var_core*>& vars,
43  BCP_lp_relax*& matrix);
44  virtual void create_root(BCP_vec<BCP_var*>& added_vars,
45  BCP_vec<BCP_cut*>& added_cuts,
46  BCP_user_data*& user_data);
47  virtual void display_feasible_solution(const BCP_solution* sol);
48 };
49 
50 #endif
virtual ~MCF2_tm()
Definition: MCF2_tm.hpp:35
BCP_process_t
This enumerative constant describes the various process types.
BCP_parameter_set< MCF2_par > par
Definition: MCF2_tm.hpp:30
virtual void display_feasible_solution(const BCP_solution *sol)
Display a feasible solution.
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...
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.
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...
BCP_var_algo * MCF2_unpack_var(BCP_buffer &buf)
virtual void init_new_phase(int phase, BCP_column_generation &colgen, CoinSearchTreeBase *&candidates)
Do whatever initialization is necessary before the phase-th phase.
virtual BCP_var_algo * unpack_var_algo(BCP_buffer &buf)
Unpack an algorithmic variable.
Definition: MCF2_tm.hpp:20
This is the class from which the user should derive her own algorithmic variables.
Definition: BCP_var.hpp:277
MCF2_data data
Definition: MCF2_tm.hpp:31
MCF2_tm()
Definition: MCF2_tm.hpp:34
This class describes the message buffer used for all processes of BCP.
Definition: BCP_buffer.hpp:39
virtual void pack_var_algo(const BCP_var_algo *var, BCP_buffer &buf)
Pack an algorithmic variable.
Definition: MCF2_tm.hpp:15
void MCF2_pack_var(const BCP_var_algo *var, BCP_buffer &buf)
BCP_column_generation
This enumerative constant describes what to do when a search tree node becomes fathomable for the cur...
Definition: BCP_enum.hpp:65
The BCP_tm_user class is the base class from which the user can derive a problem specific class to be...
Definition: BCP_tm_user.hpp:58
An object of type BCP_lp_relax holds the description of an lp relaxation.
Definition: BCP_matrix.hpp:267
This is the abstract base class for a solution to a Mixed Integer Programming problem.