00001 /* $Id: OS_tm.hpp 2698 2009-06-09 04:14:07Z kmartin $ */ 00002 // Last edit: 2/10/05 00003 // 00004 // Name: OS_tm.hpp 00005 // Author: Francois Margot 00006 // Tepper School of Business 00007 // Carnegie Mellon University, Pittsburgh, PA 15213 00008 // email: fmargot@andrew.cmu.edu 00009 // Date: 12/28/03 00010 //----------------------------------------------------------------------------- 00011 // Copyright (C) 2003, Francois Margot, International Business Machines 00012 // Corporation and others. All Rights Reserved. 00013 00014 #ifndef _OS_TM_H 00015 #define _OS_TM_H 00016 00017 00018 00019 #include "OS_var.hpp" 00020 00021 00022 00023 00024 00025 #include "BCP_tm_user.hpp" 00026 #include "BCP_indexed_pricing.hpp" 00027 #include "OS.hpp" 00028 00029 class OS_tm : public BCP_tm_user { 00030 00031 private: 00032 00035 00036 OS_prob os_prob; 00038 00039 public: 00040 00041 00042 00045 00046 OS_tm() ; 00047 00049 virtual ~OS_tm() ; 00050 00051 00052 00054 00056 void readInput(const char* filename); 00057 00058 00061 00062 00063 virtual void pack_module_data(BCP_buffer& buf, BCP_process_t ptype); 00064 00066 // virtual void pack_cut_algo(const BCP_cut_algo* cut, BCP_buffer& buf); 00067 00069 //virtual BCP_cut_algo* unpack_cut_algo(BCP_buffer& buf); 00070 00071 //virtual BCP_var_algo* unpack_var_algo( BCP_buffer& buf); 00072 00073 // virtual void pack_var_algo(const BCP_var_algo* var, BCP_buffer& buf); 00074 00075 00077 // virtual void pack_user_data(const BCP_user_data* ud, BCP_buffer& buf); 00078 00079 00081 //virtual BCP_user_data* unpack_user_data( BCP_buffer& buf); 00082 00083 00085 00087 virtual void initialize_core(BCP_vec<BCP_var_core*>& vars, 00088 BCP_vec<BCP_cut_core*>& cuts, 00089 BCP_lp_relax*& matrix); 00090 00092 virtual void create_root(BCP_vec<BCP_var*>& added_vars, 00093 BCP_vec<BCP_cut*>& added_cuts, 00094 BCP_user_data*& user_data); 00095 00097 virtual void display_feasible_solution(const BCP_solution* sol); 00098 00099 }; 00100 #endif