/home/coin/SVN-release/CoinAll-1.1.0/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_tm : public BCP_tm_user
00012 {
00013 public:
00014     BCP_parameter_set<MCF3_par> par;
00015     MCF3_data data;
00016 
00017 public:
00018     MCF3_tm() {}
00019     virtual ~MCF3_tm() {}
00020 
00021     virtual void pack_module_data(BCP_buffer& buf, BCP_process_t ptype);
00022     virtual void pack_var_algo(const BCP_var_algo* var, BCP_buffer& buf) {
00023         MCF3_pack_var(var, buf);
00024     }
00025     virtual BCP_var_algo* unpack_var_algo(BCP_buffer& buf) {
00026         return MCF3_unpack_var(buf);
00027     }
00028 
00029     virtual void pack_user_data(const BCP_user_data* ud, BCP_buffer& buf) {
00030         const MCF3_user* u = dynamic_cast<const MCF3_user*>(ud);
00031         u->pack(buf);
00032     }
00033     virtual BCP_user_data* unpack_user_data(BCP_buffer& buf) {
00034         MCF3_user* u = new MCF3_user;
00035         u->unpack(buf);
00036         return u;
00037     }
00038 
00039     virtual void initialize_core(BCP_vec<BCP_var_core*>& vars,
00040                                  BCP_vec<BCP_cut_core*>& cuts,
00041                                  BCP_lp_relax*& matrix);
00042     virtual void create_root(BCP_vec<BCP_var*>& added_vars,
00043                              BCP_vec<BCP_cut*>& added_cuts,
00044                              BCP_user_data*& user_data,
00045                              BCP_pricing_status& pricing_status);
00046     virtual void display_feasible_solution(const BCP_solution* sol);
00047 };
00048 
00049 #endif

Generated on Sun Nov 14 14:06:28 2010 for Coin-All by  doxygen 1.4.7