coin-Bcp
MCF1_tm.hpp
Go to the documentation of this file.
1 #ifndef MCF1_tm_hpp
2 #define MCF1_tm_hpp
3 
4 #include "BCP_buffer.hpp"
5 #include "BCP_tm_user.hpp"
6 #include "BCP_parameters.hpp"
7 #include "MCF1_par.hpp"
8 #include "MCF1_var.hpp"
9 #include "MCF1_data.hpp"
10 
11 class MCF1_packer : public BCP_user_pack
12 {
14  virtual void
16  MCF1_pack_var(var, buf);
17  }
18 
21  return MCF1_unpack_var(buf);
22  }
23 };
24 
25 //##############################################################################
26 
27 class MCF1_tm : public BCP_tm_user
28 {
29 public:
32 
33 public:
34  MCF1_tm() {}
35  virtual ~MCF1_tm() {}
36 
37  virtual void pack_module_data(BCP_buffer& buf, BCP_process_t ptype);
38 
39  virtual void init_new_phase(int phase,
40  BCP_column_generation& colgen,
41  CoinSearchTreeBase*& candidates);
42  virtual void initialize_core(BCP_vec<BCP_var_core*>& vars,
44  BCP_lp_relax*& matrix);
45  virtual void create_root(BCP_vec<BCP_var*>& added_vars,
46  BCP_vec<BCP_cut*>& added_cuts,
47  BCP_user_data*& user_data);
48  virtual void display_feasible_solution(const BCP_solution* sol);
49 };
50 
51 #endif
virtual void init_new_phase(int phase, BCP_column_generation &colgen, CoinSearchTreeBase *&candidates)
Do whatever initialization is necessary before the phase-th phase.
BCP_parameter_set< MCF1_par > par
Definition: MCF1_tm.hpp:30
BCP_var_algo * MCF1_unpack_var(BCP_buffer &buf)
virtual void pack_var_algo(const BCP_var_algo *var, BCP_buffer &buf)
Pack an algorithmic variable.
Definition: MCF1_tm.hpp:15
virtual ~MCF1_tm()
Definition: MCF1_tm.hpp:35
BCP_process_t
This enumerative constant describes the various process types.
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...
MCF1_tm()
Definition: MCF1_tm.hpp:34
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.
void MCF1_pack_var(const BCP_var_algo *var, BCP_buffer &buf)
MCF1_data data
Definition: MCF1_tm.hpp:31
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...
virtual BCP_var_algo * unpack_var_algo(BCP_buffer &buf)
Unpack an algorithmic variable.
Definition: MCF1_tm.hpp:20
virtual void display_feasible_solution(const BCP_solution *sol)
Display a feasible solution.
This is the class from which the user should derive her own algorithmic variables.
Definition: BCP_var.hpp:277
This class describes the message buffer used for all processes of BCP.
Definition: BCP_buffer.hpp:39
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.