BM_lp Class Reference

#include <BM.hpp>

Collaboration diagram for BM_lp:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 BM_lp ()
virtual ~BM_lp ()
int & numNlpFailed ()
virtual void unpack_module_data (BCP_buffer &buf)
virtual void pack_var_algo (const BCP_var_algo *var, BCP_buffer &buf)
virtual BCP_var_algo * unpack_var_algo (BCP_buffer &buf)
virtual void pack_cut_algo (const BCP_cut_algo *cut, BCP_buffer &buf)
virtual BCP_cut_algo * unpack_cut_algo (BCP_buffer &buf)
virtual void pack_feasible_solution (BCP_buffer &buf, const BCP_solution *sol)
virtual void pack_user_data (const BCP_user_data *ud, BCP_buffer &buf)
virtual BCP_user_data * unpack_user_data (BCP_buffer &buf)
virtual void process_message (BCP_buffer &buf)
virtual OsiSolverInterfaceinitialize_solver_interface ()
virtual BCP_solution * test_feasibility (const BCP_lp_result &lp_result, const BCP_vec< BCP_var * > &vars, const BCP_vec< BCP_cut * > &cuts)
virtual void generate_cuts_in_lp (const BCP_lp_result &lpres, const BCP_vec< BCP_var * > &vars, const BCP_vec< BCP_cut * > &cuts, BCP_vec< BCP_cut * > &new_cuts, BCP_vec< BCP_row * > &new_rows)
virtual void cuts_to_rows (const BCP_vec< BCP_var * > &vars, BCP_vec< BCP_cut * > &cuts, BCP_vec< BCP_row * > &rows, const BCP_lp_result &lpres, BCP_object_origin origin, bool allow_multiple)
virtual void vars_to_cols (const BCP_vec< BCP_cut * > &cuts, BCP_vec< BCP_var * > &vars, BCP_vec< BCP_col * > &cols, const BCP_lp_result &lpres, BCP_object_origin origin, bool allow_multiple)
virtual double compute_lower_bound (const double old_lower_bound, const BCP_lp_result &lpres, const BCP_vec< BCP_var * > &vars, const BCP_vec< BCP_cut * > &cuts)
virtual void initialize_new_search_tree_node (const BCP_vec< BCP_var * > &vars, const BCP_vec< BCP_cut * > &cuts, const BCP_vec< BCP_obj_status > &vs, const BCP_vec< BCP_obj_status > &cs, BCP_vec< int > &var_changed_pos, BCP_vec< double > &var_new_bd, BCP_vec< int > &cut_changed_pos, BCP_vec< double > &cut_new_bd)
virtual BCP_branching_decision select_branching_candidates (const BCP_lp_result &lpres, const BCP_vec< BCP_var * > &vars, const BCP_vec< BCP_cut * > &cuts, const BCP_lp_var_pool &local_var_pool, const BCP_lp_cut_pool &local_cut_pool, BCP_vec< BCP_lp_branching_object * > &cans)
virtual void set_user_data_for_children (BCP_presolved_lp_brobj *best, const int selected)
virtual void modify_lp_parameters (OsiSolverInterface *lp, bool in_strong_branching)

Private Member Functions

void setSosFrom (const TMINLP::SosInfo *sosinfo)

Private Attributes

std::vector< BmSosInfo * > sos
BCP_string ipopt_file_content
BCP_string nl_file_content
BCP_parameter_set< BM_parpar
OsiBabSolver babSolver_
BonminAmplInterface nlp
CoinWarmStartws
double lower_bound_
double * primal_solution_
int numNlpFailed_
 A counter for how many times in a row did the NLP code fail.
double * branching_priority_
 If pure branch and bound is done then for each fractional variable that ought to be integer we multiply it's distance from integrality with it's priority and choose the var with the highest value.
IpCbcOACutGenerator2feasChecker_
OsiCuts cuts_
int in_strong

Classes

struct  BmSosInfo

Detailed Description

Definition at line 163 of file BM.hpp.


Constructor & Destructor Documentation

BM_lp::BM_lp (  ) 

virtual BM_lp::~BM_lp (  )  [virtual]


Member Function Documentation

void BM_lp::setSosFrom ( const TMINLP::SosInfo sosinfo  )  [private]

int& BM_lp::numNlpFailed (  )  [inline]

Definition at line 211 of file BM.hpp.

virtual void BM_lp::unpack_module_data ( BCP_buffer &  buf  )  [virtual]

virtual void BM_lp::pack_var_algo ( const BCP_var_algo *  var,
BCP_buffer &  buf 
) [inline, virtual]

Definition at line 218 of file BM.hpp.

References BM_pack_var().

virtual BCP_var_algo* BM_lp::unpack_var_algo ( BCP_buffer &  buf  )  [inline, virtual]

Definition at line 221 of file BM.hpp.

References BM_unpack_var().

virtual void BM_lp::pack_cut_algo ( const BCP_cut_algo *  cut,
BCP_buffer &  buf 
) [inline, virtual]

Definition at line 225 of file BM.hpp.

References BB_pack_cut().

virtual BCP_cut_algo* BM_lp::unpack_cut_algo ( BCP_buffer &  buf  )  [inline, virtual]

Definition at line 228 of file BM.hpp.

References BB_unpack_cut().

virtual void BM_lp::pack_feasible_solution ( BCP_buffer &  buf,
const BCP_solution *  sol 
) [virtual]

virtual void BM_lp::pack_user_data ( const BCP_user_data *  ud,
BCP_buffer &  buf 
) [virtual]

virtual BCP_user_data* BM_lp::unpack_user_data ( BCP_buffer &  buf  )  [virtual]

virtual void BM_lp::process_message ( BCP_buffer &  buf  )  [virtual]

virtual OsiSolverInterface* BM_lp::initialize_solver_interface (  )  [virtual]

virtual BCP_solution* BM_lp::test_feasibility ( const BCP_lp_result &  lp_result,
const BCP_vec< BCP_var * > &  vars,
const BCP_vec< BCP_cut * > &  cuts 
) [virtual]

virtual void BM_lp::generate_cuts_in_lp ( const BCP_lp_result &  lpres,
const BCP_vec< BCP_var * > &  vars,
const BCP_vec< BCP_cut * > &  cuts,
BCP_vec< BCP_cut * > &  new_cuts,
BCP_vec< BCP_row * > &  new_rows 
) [virtual]

virtual void BM_lp::cuts_to_rows ( const BCP_vec< BCP_var * > &  vars,
BCP_vec< BCP_cut * > &  cuts,
BCP_vec< BCP_row * > &  rows,
const BCP_lp_result &  lpres,
BCP_object_origin  origin,
bool  allow_multiple 
) [virtual]

virtual void BM_lp::vars_to_cols ( const BCP_vec< BCP_cut * > &  cuts,
BCP_vec< BCP_var * > &  vars,
BCP_vec< BCP_col * > &  cols,
const BCP_lp_result &  lpres,
BCP_object_origin  origin,
bool  allow_multiple 
) [virtual]

virtual double BM_lp::compute_lower_bound ( const double  old_lower_bound,
const BCP_lp_result &  lpres,
const BCP_vec< BCP_var * > &  vars,
const BCP_vec< BCP_cut * > &  cuts 
) [virtual]

virtual void BM_lp::initialize_new_search_tree_node ( const BCP_vec< BCP_var * > &  vars,
const BCP_vec< BCP_cut * > &  cuts,
const BCP_vec< BCP_obj_status > &  vs,
const BCP_vec< BCP_obj_status > &  cs,
BCP_vec< int > &  var_changed_pos,
BCP_vec< double > &  var_new_bd,
BCP_vec< int > &  cut_changed_pos,
BCP_vec< double > &  cut_new_bd 
) [virtual]

virtual BCP_branching_decision BM_lp::select_branching_candidates ( const BCP_lp_result &  lpres,
const BCP_vec< BCP_var * > &  vars,
const BCP_vec< BCP_cut * > &  cuts,
const BCP_lp_var_pool &  local_var_pool,
const BCP_lp_cut_pool &  local_cut_pool,
BCP_vec< BCP_lp_branching_object * > &  cans 
) [virtual]

virtual void BM_lp::set_user_data_for_children ( BCP_presolved_lp_brobj *  best,
const int  selected 
) [virtual]

virtual void BM_lp::modify_lp_parameters ( OsiSolverInterface lp,
bool  in_strong_branching 
) [virtual]


Member Data Documentation

std::vector<BmSosInfo*> BM_lp::sos [private]

Definition at line 179 of file BM.hpp.

BCP_string BM_lp::ipopt_file_content [private]

Definition at line 182 of file BM.hpp.

BCP_string BM_lp::nl_file_content [private]

Definition at line 183 of file BM.hpp.

BCP_parameter_set<BM_par> BM_lp::par [private]

Definition at line 184 of file BM.hpp.

OsiBabSolver BM_lp::babSolver_ [private]

Definition at line 186 of file BM.hpp.

BonminAmplInterface BM_lp::nlp [private]

Definition at line 187 of file BM.hpp.

CoinWarmStart* BM_lp::ws [private]

Definition at line 188 of file BM.hpp.

double BM_lp::lower_bound_ [private]

Definition at line 190 of file BM.hpp.

double* BM_lp::primal_solution_ [private]

Definition at line 191 of file BM.hpp.

int BM_lp::numNlpFailed_ [private]

A counter for how many times in a row did the NLP code fail.

When the NLP fails we branch; hopefully it'll be OK in the children. If it fails too many times in a row then we fathom the node: it's hopelessly difficult.

Definition at line 197 of file BM.hpp.

double* BM_lp::branching_priority_ [private]

If pure branch and bound is done then for each fractional variable that ought to be integer we multiply it's distance from integrality with it's priority and choose the var with the highest value.

Definition at line 202 of file BM.hpp.

IpCbcOACutGenerator2* BM_lp::feasChecker_ [private]

Definition at line 204 of file BM.hpp.

OsiCuts BM_lp::cuts_ [private]

Definition at line 205 of file BM.hpp.

int BM_lp::in_strong [private]

Definition at line 304 of file BM.hpp.


The documentation for this class was generated from the following file:
Generated on Fri May 16 21:11:32 2008 for Bonmin by  doxygen 1.4.7