Main Page | Class Hierarchy | File List

AAP_tm.hpp

00001 // $Id: AAP_tm.hpp,v 1.2 2003/12/03 01:52:30 magh Exp $
00002 
00003 /* ------------------------------------------------------------------------
00004  Author: Matthew Galati (magh@lehigh.edu)
00005 
00006  (c) Copyright 2003 Lehigh University. All Rights Reserved.
00007 
00008  This software is licensed under the Common Public License. Please see 
00009  accompanying file for terms.    
00010 ---------------------------------------------------------------------------*/
00011 
00012 #ifndef AAP_TM_H
00013 #define AAP_TM_H
00014 
00015 #include "BCP_parameters.hpp"
00016 #include "BCP_tm_user.hpp"
00017 #include "AAP_tm_param.hpp"
00018 #include "AAP_lp_param.hpp"
00019 #include "AAP.hpp"
00020 
00021 #include <vector>
00022 using namespace std;
00023 
00024 /*--------------------------------------------------------------------------*/
00025 //Class for the user-defined TM interface to BCP
00026 
00027 class AAP_tm : public BCP_tm_user {
00028 public:
00029   BCP_parameter_set<AAP_tm_par> tm_par; //parameter list for TM
00030   BCP_parameter_set<AAP_lp_par> lp_par; //parameter list for LP
00031   AAP * aap;                            //storage for instance of AAP
00032 
00033 public:
00034   AAP_tm() : tm_par(), lp_par(), aap(0) {}
00035 
00036   ~AAP_tm() { 
00037     delete aap;
00038   };
00039     
00040 public:
00041   virtual void pack_module_data(BCP_buffer& buf, BCP_process_t ptype);
00042   virtual void pack_var_algo(const BCP_var_algo* var, BCP_buffer& buf);
00043   virtual BCP_var_algo* unpack_var_algo(BCP_buffer& buf);
00044   virtual void pack_user_data(const BCP_user_data* ud, BCP_buffer& buf);
00045   virtual BCP_user_data* unpack_user_data(BCP_buffer& buf);
00046 
00047 public:
00048   virtual void init_new_phase(int phase, BCP_column_generation& colgen);
00049   virtual void initialize_core(BCP_vec<BCP_var_core*>& vars,
00050                                BCP_vec<BCP_cut_core*>& cuts,
00051                                BCP_lp_relax*& matrix);
00052   virtual void create_root(BCP_vec<BCP_var*>& added_vars,
00053                            BCP_vec<BCP_cut*>& added_cuts,
00054                            BCP_user_data * & user_data,
00055                            BCP_pricing_status& pricing_status);
00056   virtual void display_feasible_solution(const BCP_solution* sol);
00057 };
00058 
00059 #endif

Generated on Wed Dec 3 01:30:51 2003 for AAP_BP by doxygen 1.3.5