00001 // Last edit: 2/10/05 00002 // 00003 // Name: BB_tm.hpp 00004 // Author: Francois Margot 00005 // Tepper School of Business 00006 // Carnegie Mellon University, Pittsburgh, PA 15213 00007 // email: fmargot@andrew.cmu.edu 00008 // Date: 12/28/03 00009 //----------------------------------------------------------------------------- 00010 // Copyright (C) 2003, Francois Margot, International Business Machines 00011 // Corporation and others. All Rights Reserved. 00012 00013 #ifndef _BB_TM_H 00014 #define _BB_TM_H 00015 00016 #include "BCP_tm_user.hpp" 00017 #include "BB.hpp" 00018 00019 class BB_tm : public BCP_tm_user { 00020 00021 private: 00022 00025 00026 BB_prob desc; 00028 00029 public: 00030 00033 00034 BB_tm() {} 00035 00037 virtual ~BB_tm() {} 00039 00041 void readInput(const char* filename); 00042 00043 00046 00047 00048 virtual void pack_module_data(BCP_buffer& buf, BCP_process_t ptype); 00049 00051 virtual void pack_cut_algo(const BCP_cut_algo* cut, BCP_buffer& buf); 00052 00054 virtual BCP_cut_algo* unpack_cut_algo(BCP_buffer& buf); 00055 00057 virtual void pack_user_data(const BCP_user_data* ud, BCP_buffer& buf); 00058 00060 virtual BCP_user_data* unpack_user_data(BCP_buffer& buf); 00061 00063 00065 virtual void initialize_core(BCP_vec<BCP_var_core*>& vars, 00066 BCP_vec<BCP_cut_core*>& cuts, 00067 BCP_lp_relax*& matrix); 00068 00070 virtual void create_root(BCP_vec<BCP_var*>& added_vars, 00071 BCP_vec<BCP_cut*>& added_cuts, 00072 BCP_user_data*& user_data, 00073 BCP_pricing_status& pricing_status); 00074 00076 virtual void display_feasible_solution(const BCP_solution* sol); 00077 00078 }; 00079 #endif