Public Member Functions | Private Member Functions | List of all members
BM_tm Class Reference

#include <BM.hpp>

Inheritance diagram for BM_tm:
Inheritance graph
[legend]
Collaboration diagram for BM_tm:
Collaboration graph
[legend]

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. More...
 
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. More...
 
virtual void display_feasible_solution (const BCP_solution *sol)
 Print a feasible solution. More...
 
virtual void process_message (BCP_buffer &buf)
 Process a message that has been sent by another process' user part to this process' user part. More...
 
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. More...
 
virtual void init_new_phase (int phase, BCP_column_generation &colgen, CoinSearchTreeBase *&candidates)
 Do whatever initialization is necessary before the phase-th phase. More...
 
void readIpopt ()
 
Constructors and destructors
 BM_tm ()
 Default constructor. More...
 
virtual ~BM_tm ()
 Default destructor. More...
 
Packing and unpacking methods
virtual void pack_module_data (BCP_buffer &buf, BCP_process_t ptype)
 Pack the initial information (info that the user wants to send over) for the process specified by the last argument. More...
 
- Public Member Functions inherited from BCP_tm_user
int process_id () const
 What is the process id of the current process. More...
 
void send_message (const int target, const BCP_buffer &buf)
 Send a message to a particular process. More...
 
void broadcast_message (const BCP_process_t proc_type, const BCP_buffer &buf)
 Broadcast the message to all processes of the given type. More...
 
virtual void display_node_information (BCP_tree &search_tree, const BCP_tm_node &node)
 Display user information just before a new node is sent to the LP or diving into a node is acknowledged. More...
 
virtual void display_node_information (BCP_tree &search_tree, const BCP_tm_node &node, bool after_processing_node)
 Display user information. More...
 
void setTmProblemPointer (BCP_tm_prob *ptr)
 Set the pointer. More...
 
BCP_tm_probgetTmProblemPointer () const
 Get the pointer. More...
 
double upper_bound () const
 Return what is the best known upper bound (might be BCP_DBL_MAX) More...
 
double lower_bound () const
 Return a global lower bound. More...
 
char get_param (const BCP_tm_par::chr_params key) const
 
int get_param (const BCP_tm_par::int_params key) const
 
double get_param (const BCP_tm_par::dbl_params key) const
 
const BCP_stringget_param (const BCP_tm_par::str_params key) const
 
void set_param (const BCP_tm_par::chr_params key, const bool val)
 
void set_param (const BCP_tm_par::chr_params key, const char val)
 
void set_param (const BCP_tm_par::int_params key, const int val)
 
void set_param (const BCP_tm_par::dbl_params key, const double val)
 
void set_param (const BCP_tm_par::str_params key, const char *val)
 
 BCP_tm_user ()
 Being virtual, the destructor invokes the destructor for the real type of the object being deleted. More...
 
virtual ~BCP_tm_user ()
 Being virtual, the destructor invokes the destructor for the real type of the object being deleted. More...
 
virtual BCP_solutionunpack_feasible_solution (BCP_buffer &buf)
 Unpack a MIP feasible solution that was packed by the BCP_lp_user::pack_feasible_solution() method. More...
 
virtual bool replace_solution (const BCP_solution *old_sol, const BCP_solution *new_sol)
 Decide whether to replace old_sol with new_sol. More...
 
virtual void change_candidate_heap (CoinSearchTreeManager &candidates, const bool new_solution)
 
- Public Member Functions inherited from BCP_user_class
virtual ~BCP_user_class ()
 

Public Attributes

Private data member
BCP_string ipopt_file_content
 
BCP_string nl_file_content
 
BCP_parameter_set< BM_parpar
 
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 More...
 

Detailed Description

Definition at line 170 of file BM.hpp.

Constructor & Destructor Documentation

BM_tm::BM_tm ( )
inline

Default constructor.

Definition at line 185 of file BM.hpp.

virtual BM_tm::~BM_tm ( )
inlinevirtual

Default destructor.

Definition at line 188 of file BM.hpp.

Member Function Documentation

void BM_tm::pack_module_data ( BCP_buffer buf,
BCP_process_t  ptype 
)
virtual

Pack the initial information (info that the user wants to send over) for the process specified by the last argument.

The information packed here will be unpacked in the unpack_module_data() method of the user defined class in the appropriate process.
Default: empty method.

Reimplemented from BCP_tm_user.

Definition at line 16 of file BM_pack.cpp.

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.

Reimplemented from BCP_tm_user.

Definition at line 61 of file BM_tm.cpp.

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.

Reimplemented from BCP_tm_user.

Definition at line 137 of file BM_tm.cpp.

void BM_tm::display_feasible_solution ( const BCP_solution sol)
virtual

Print a feasible solution.

Reimplemented from BCP_tm_user.

Definition at line 251 of file BM_tm.cpp.

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.

Reimplemented from BCP_tm_user.

Definition at line 210 of file BM_tm.cpp.

void BM_tm::receive_pseudo_cost_update ( BCP_buffer buf)

Definition at line 306 of file BM_tm.cpp.

void BM_tm::pack_pseudo_costs ( BCP_buffer buf)

Definition at line 335 of file BM_tm.cpp.

void BM_tm::display_final_information ( const BCP_lp_statistics lp_stat)
virtual

Output the final solution.

Reimplemented from BCP_tm_user.

Definition at line 222 of file BM_tm.cpp.

void BM_tm::init_new_phase ( int  phase,
BCP_column_generation colgen,
CoinSearchTreeBase *&  candidates 
)
virtual

Do whatever initialization is necessary before the phase-th phase.

(E.g., setting the pricing strategy.)

Reimplemented from BCP_tm_user.

Definition at line 277 of file BM_tm.cpp.

void BM_tm::readIpopt ( )

Definition at line 29 of file BM_tm.cpp.

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.

Member Data Documentation

BCP_string BM_tm::ipopt_file_content

Definition at line 175 of file BM.hpp.

BCP_string BM_tm::nl_file_content

Definition at line 176 of file BM.hpp.

Definition at line 177 of file BM.hpp.

OsiPseudoCosts BM_tm::pseudoCosts_

Definition at line 178 of file BM.hpp.


The documentation for this class was generated from the following files: