00001
00002
00003
00004
00005
00006
00007
00008
00009
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
00026
00027 class AAP_tm : public BCP_tm_user {
00028 public:
00029 BCP_parameter_set<AAP_tm_par> tm_par;
00030 BCP_parameter_set<AAP_lp_par> lp_par;
00031 AAP * 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