00001 // Last edit: 2/10/05 00002 // 00003 // Name: OS_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 _OS_TM_H 00014 #define _OS_TM_H 00015 00016 00017 00018 #include "OS_var.hpp" 00019 00020 00021 00022 00023 00024 #include "BCP_tm_user.hpp" 00025 #include "BCP_indexed_pricing.hpp" 00026 #include "OS.hpp" 00027 00028 class OS_tm : public BCP_tm_user { 00029 00030 private: 00031 00034 00035 OS_prob os_prob; 00037 00038 public: 00039 00040 00041 00044 00045 OS_tm() ; 00046 00048 virtual ~OS_tm() ; 00049 00050 00051 00053 00055 void readInput(const char* filename); 00056 00057 00060 00061 00062 virtual void pack_module_data(BCP_buffer& buf, BCP_process_t ptype); 00063 00065 // virtual void pack_cut_algo(const BCP_cut_algo* cut, BCP_buffer& buf); 00066 00068 //virtual BCP_cut_algo* unpack_cut_algo(BCP_buffer& buf); 00069 00070 //virtual BCP_var_algo* unpack_var_algo( BCP_buffer& buf); 00071 00072 // virtual void pack_var_algo(const BCP_var_algo* var, BCP_buffer& buf); 00073 00074 00076 // virtual void pack_user_data(const BCP_user_data* ud, BCP_buffer& buf); 00077 00078 00080 //virtual BCP_user_data* unpack_user_data( BCP_buffer& buf); 00081 00082 00084 00086 virtual void initialize_core(BCP_vec<BCP_var_core*>& vars, 00087 BCP_vec<BCP_cut_core*>& cuts, 00088 BCP_lp_relax*& matrix); 00089 00091 virtual void create_root(BCP_vec<BCP_var*>& added_vars, 00092 BCP_vec<BCP_cut*>& added_cuts, 00093 BCP_user_data*& user_data); 00094 00096 virtual void display_feasible_solution(const BCP_solution* sol); 00097 00098 }; 00099 #endif