/home/coin/SVN-release/OS-2.4.1/Bcp/examples/MCF-3/include/MCF3_tm.hpp

Go to the documentation of this file.
00001 #ifndef MCF3_tm_hpp
00002 #define MCF3_tm_hpp
00003 
00004 #include "BCP_buffer.hpp"
00005 #include "BCP_tm_user.hpp"
00006 #include "BCP_parameters.hpp"
00007 #include "MCF3_par.hpp"
00008 #include "MCF3_var.hpp"
00009 #include "MCF3_data.hpp"
00010 
00011 class MCF3_packer : public BCP_user_pack
00012 {
00014   virtual void
00015   pack_var_algo(const BCP_var_algo* var, BCP_buffer& buf) {
00016     MCF3_pack_var(var, buf);
00017   }
00018 
00020   virtual BCP_var_algo* unpack_var_algo(BCP_buffer& buf) {
00021     return MCF3_unpack_var(buf);
00022   }
00023 
00025   virtual void
00026   pack_user_data(const BCP_user_data* ud, BCP_buffer& buf) {
00027     const MCF3_user* u = dynamic_cast<const MCF3_user*>(ud);
00028     u->pack(buf);
00029   }
00030 
00032   virtual BCP_user_data* unpack_user_data(BCP_buffer& buf) {
00033     return new MCF3_user(buf);
00034   }
00035 };
00036 
00037 //##############################################################################
00038 
00039 class MCF3_tm : public BCP_tm_user
00040 {
00041 public:
00042   BCP_parameter_set<MCF3_par> par;
00043   MCF3_data data;
00044 
00045 public:
00046   MCF3_tm() {}
00047   virtual ~MCF3_tm() {}
00048 
00049   virtual void pack_module_data(BCP_buffer& buf, BCP_process_t ptype);
00050   virtual void init_new_phase(int phase,
00051                               BCP_column_generation& colgen,
00052                               CoinSearchTreeBase*& candidates);
00053   virtual void initialize_core(BCP_vec<BCP_var_core*>& vars,
00054                                BCP_vec<BCP_cut_core*>& cuts,
00055                                BCP_lp_relax*& matrix);
00056   virtual void create_root(BCP_vec<BCP_var*>& added_vars,
00057                            BCP_vec<BCP_cut*>& added_cuts,
00058                            BCP_user_data*& user_data);
00059   virtual void display_feasible_solution(const BCP_solution* sol);
00060 };
00061 
00062 #endif

Generated on Thu Nov 10 03:05:37 2011 by  doxygen 1.4.7