#include <BM.hpp>
Public Member Functions | |
virtual void | initialize_core (BCP_vec< BCP_var_core * > &vars, BCP_vec< BCP_cut_core * > &cuts, BCP_lp_relax *&matrix) |
Pass the core constraints and core variables to bcp. | |
virtual void | create_root (BCP_vec< BCP_var * > &added_vars, BCP_vec< BCP_cut * > &added_cuts, BCP_user_data *&user_data) |
Create the set of extra variables and cuts that should be added to the formulation in the root node. | |
virtual void | display_feasible_solution (const BCP_solution *sol) |
Print a feasible solution. | |
virtual void | process_message (BCP_buffer &buf) |
Process a message that has been sent by another process' user part to this process' user part. | |
void | receive_pseudo_cost_update (BCP_buffer &buf) |
void | pack_pseudo_costs (BCP_buffer &buf) |
virtual void | display_final_information (const BCP_lp_statistics &lp_stat) |
Output the final solution. | |
virtual void | init_new_phase (int phase, BCP_column_generation &colgen, CoinSearchTreeBase *&candidates) |
void | readIpopt () |
Constructors and destructors | |
BM_tm () | |
Default constructor. | |
virtual | ~BM_tm () |
Default destructor. | |
Packing and unpacking methods | |
virtual void | pack_module_data (BCP_buffer &buf, BCP_process_t ptype) |
Public Attributes | |
Private data member | |
BCP_string | ipopt_file_content |
BCP_string | nl_file_content |
BCP_parameter_set< BM_par > | par |
OsiPseudoCosts | pseudoCosts_ |
Private Member Functions | |
void | write_AMPL_solution (const BCP_solution *sol, bool write_file, bool write_screen) |
auxilliary method for handling output for AMPL |
Definition at line 170 of file BM.hpp.
virtual BM_tm::~BM_tm | ( | ) | [inline, virtual] |
void BM_tm::pack_module_data | ( | BCP_buffer & | buf, | |
BCP_process_t | ptype | |||
) | [virtual] |
void BM_tm::initialize_core | ( | BCP_vec< BCP_var_core * > & | vars, | |
BCP_vec< BCP_cut_core * > & | cuts, | |||
BCP_lp_relax *& | matrix | |||
) | [virtual] |
Pass the core constraints and core variables to bcp.
Definition at line 61 of file BM_tm.cpp.
References Bonmin::B_BB, Bonmin::BabSetupBase::continuousSolver(), Bonmin::BonminSetup::getAlgorithm(), Bonmin::BonminAmplSetup::initialize(), BM_par::IpoptParamfile, Bonmin::OsiTMINLPInterface::isInteger(), Bonmin::OsiTMINLPInterface::model(), BM_par::NL_filename, Bonmin::BabSetupBase::nonlinearSolver(), Bonmin::TMINLP::SosInfo::num, par, pseudoCosts_, and Bonmin::BabSetupBase::readOptionsFile().
void BM_tm::create_root | ( | BCP_vec< BCP_var * > & | added_vars, | |
BCP_vec< BCP_cut * > & | added_cuts, | |||
BCP_user_data *& | user_data | |||
) | [virtual] |
Create the set of extra variables and cuts that should be added to the formulation in the root node.
Also decide how variable pricing shuld be done, that is, if column generation is requested in the init_new_phase() method of this class then column generation should be performed according to pricing_status
.
Definition at line 137 of file BM_tm.cpp.
References BM_node::numNlpFailed_.
void BM_tm::display_feasible_solution | ( | const BCP_solution * | sol | ) | [virtual] |
Print a feasible solution.
Definition at line 251 of file BM_tm.cpp.
References write_AMPL_solution().
void BM_tm::process_message | ( | BCP_buffer & | buf | ) | [virtual] |
Process a message that has been sent by another process' user part to this process' user part.
Definition at line 210 of file BM_tm.cpp.
References BM_PseudoCostUpdate, and receive_pseudo_cost_update().
void BM_tm::receive_pseudo_cost_update | ( | BCP_buffer & | buf | ) |
void BM_tm::pack_pseudo_costs | ( | BCP_buffer & | buf | ) |
Definition at line 335 of file BM_tm.cpp.
References pseudoCosts_.
Referenced by BM_pack::pack_user_data().
void BM_tm::display_final_information | ( | const BCP_lp_statistics & | lp_stat | ) | [virtual] |
Output the final solution.
Definition at line 222 of file BM_tm.cpp.
References write_AMPL_solution().
void BM_tm::init_new_phase | ( | int | phase, | |
BCP_column_generation & | colgen, | |||
CoinSearchTreeBase *& | candidates | |||
) | [virtual] |
void BM_tm::readIpopt | ( | ) |
Definition at line 29 of file BM_tm.cpp.
References ipopt_file_content, BM_par::IpoptParamfile, nl_file_content, BM_par::NL_filename, and par.
Referenced by BM_init::tm_init().
void BM_tm::write_AMPL_solution | ( | const BCP_solution * | sol, | |
bool | write_file, | |||
bool | write_screen | |||
) | [private] |
auxilliary method for handling output for AMPL
Definition at line 147 of file BM_tm.cpp.
References Bonmin::BabSetupBase::continuousSolver(), Bonmin::OsiTMINLPInterface::getNumCols(), Bonmin::BonminAmplSetup::initialize(), Bonmin::OsiTMINLPInterface::model(), BM_par::NL_filename, Bonmin::BabSetupBase::nonlinearSolver(), par, and Bonmin::TMINLP::SUCCESS.
Referenced by display_feasible_solution(), and display_final_information().
BCP_string BM_tm::ipopt_file_content |
BCP_string BM_tm::nl_file_content |
BCP_parameter_set<BM_par> BM_tm::par |
Definition at line 177 of file BM.hpp.
Referenced by initialize_core(), pack_module_data(), readIpopt(), BM_init::tm_init(), and write_AMPL_solution().
OsiPseudoCosts BM_tm::pseudoCosts_ |
Definition at line 178 of file BM.hpp.
Referenced by initialize_core(), pack_pseudo_costs(), and receive_pseudo_cost_update().