OS_tm.hpp
Go to the documentation of this file.
1 /* $Id: OS_tm.hpp 2698 2009-06-09 04:14:07Z kmartin $ */
2 // Last edit: 2/10/05
3 //
4 // Name: OS_tm.hpp
5 // Author: Francois Margot
6 // Tepper School of Business
7 // Carnegie Mellon University, Pittsburgh, PA 15213
8 // email: fmargot@andrew.cmu.edu
9 // Date: 12/28/03
10 //-----------------------------------------------------------------------------
11 // Copyright (C) 2003, Francois Margot, International Business Machines
12 // Corporation and others. All Rights Reserved.
13 
14 #ifndef _OS_TM_H
15 #define _OS_TM_H
16 
17 
18 
19 #include "OS_var.hpp"
20 
21 
22 
23 
24 
25 #include "BCP_tm_user.hpp"
26 #include "BCP_indexed_pricing.hpp"
27 #include "OS.hpp"
28 
29 class OS_tm : public BCP_tm_user {
30 
31 private:
32 
38 
39 public:
40 
41 
42 
45  OS_tm() ;
47 
49  virtual ~OS_tm() ;
50 
51 
52 
54 
56  void readInput(const char* filename);
57 
58 
61  virtual void pack_module_data(BCP_buffer& buf, BCP_process_t ptype);
64 
66  // virtual void pack_cut_algo(const BCP_cut_algo* cut, BCP_buffer& buf);
67 
69  //virtual BCP_cut_algo* unpack_cut_algo(BCP_buffer& buf);
70 
71  //virtual BCP_var_algo* unpack_var_algo( BCP_buffer& buf);
72 
73  // virtual void pack_var_algo(const BCP_var_algo* var, BCP_buffer& buf);
74 
75 
77  // virtual void pack_user_data(const BCP_user_data* ud, BCP_buffer& buf);
78 
79 
81  //virtual BCP_user_data* unpack_user_data( BCP_buffer& buf);
82 
83 
85 
87  virtual void initialize_core(BCP_vec<BCP_var_core*>& vars,
89  BCP_lp_relax*& matrix);
90 
92  virtual void create_root(BCP_vec<BCP_var*>& added_vars,
93  BCP_vec<BCP_cut*>& added_cuts,
94  BCP_user_data*& user_data);
95 
97  virtual void display_feasible_solution(const BCP_solution* sol);
98 
99 };
100 #endif
virtual ~OS_tm()
Default destructor.
Definition: OS_tm.cpp:221
BCP_process_t
This enumerative constant describes the various process types.
void readInput(const char *filename)
Read input and set up data in class OS_prob.
Definition: OS_tm.cpp:64
OS_prob os_prob
Pointer to the description of the problem.
Definition: OS_tm.hpp:36
virtual void pack_module_data(BCP_buffer &buf, BCP_process_t ptype)
Pack data into a buffer; will not work in parallel environment as it uses pointer.
Definition: OS_tm.cpp:106
virtual void create_root(BCP_vec< BCP_var * > &added_vars, BCP_vec< BCP_cut * > &added_cuts, BCP_user_data *&user_data)
Create the root node of the enumeration.
Definition: OS_tm.cpp:192
OS_tm()
Default constructor.
Definition: OS_tm.cpp:213
Definition: OS_tm.hpp:29
virtual void display_feasible_solution(const BCP_solution *sol)
Print a feasible solution.
Definition: OS_tm.cpp:202
This class describes the message buffer used for all processes of BCP.
Definition: BCP_buffer.hpp:39
virtual void initialize_core(BCP_vec< BCP_var_core * > &vars, BCP_vec< BCP_cut_core * > &cuts, BCP_lp_relax *&matrix)
Packing of algorithmic cuts.
Definition: OS_tm.cpp:124
Class holding data for describing the problem.
Definition: OS.hpp:25
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.