RelaxationSolver Class Reference

A base class for defining a relaxation-based solver. More...

#include <relaxopt.h>

Inheritance diagram for RelaxationSolver:

Inheritance graph
[legend]
Collaboration diagram for RelaxationSolver:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 RelaxationSolver (Pointer< MinlpProblem > orig_prob_, bool is_gams_prob=false, double closeval_tol_=0., Pointer< dvector > diam_=NULL, Pointer< Param > param_=NULL, Pointer< ostream > out_solver_p_=out_out_p, Pointer< ostream > out_solver_log_p_=out_log_p)
void set_split_prob (Pointer< MinlpProblem > split_prob_)
virtual void set_reform (Pointer< Reformulation > reform_)
void set_convex_prob (Pointer< MinlpProblem > convex_prob_)
void set_linear_relax (Pointer< LinearRelax > linear_relax_)
void set_upper_bound (double upper_bound)
void set_levelcut_handler (Pointer< LevelCutHandler > levelcuts_)
void set_MINLPData (Pointer< MINLPData > minlpdata_)

Public Attributes

set< SolCandidatesol_cand
double lower_bound

Protected Member Functions

void make_sub_prob (Pointer< MinlpProblem > &out, Pointer< MinlpProblem > in, Pointer< MinlpNode > node)
pair< int, bool > locopt_NLP (dvector &start)
pair< int, bool > locopt_NLP (dvector &start, dvector &sol_point)
virtual bool add_sol_candidate (const dvector &x)
void clean_sub_problems ()

Protected Attributes

Pointer< Paramparam
 Parameters.
Pointer< MinlpProblemorig_prob
 The original problem.
Pointer< MinlpProblemsplit_prob
 The block seperable formulation of the original problem.
Pointer< MinlpProblemconvex_prob
 The convexified (quadratic) decomposed problem.
Pointer< LinearRelaxlinear_relax
 The linear relaxation.
Pointer< Reformulationreform
 The reformulated problems.
Pointer< MINLPDataminlpdata
Pointer< LevelCutHandlerlevelcuts
bool is_gams_prob
int last_impr_iter
int point_conversion_warnings
double sol_cand_closeval_tol
Pointer< dvectorsol_cand_diam

Private Attributes

Pointer< LocOptLocOpt_NLP

Friends

class PartitionHeu
class MinlpNode

Detailed Description

A base class for defining a relaxation-based solver.

Definition at line 24 of file relaxopt.h.


Constructor & Destructor Documentation

RelaxationSolver::RelaxationSolver ( Pointer< MinlpProblem orig_prob_,
bool  is_gams_prob = false,
double  closeval_tol_ = 0.,
Pointer< dvector diam_ = NULL,
Pointer< Param param_ = NULL,
Pointer< ostream >  out_solver_p_ = out_out_p,
Pointer< ostream >  out_solver_log_p_ = out_log_p 
)


Member Function Documentation

void RelaxationSolver::make_sub_prob ( Pointer< MinlpProblem > &  out,
Pointer< MinlpProblem in,
Pointer< MinlpNode node 
) [protected]

pair<int, bool> RelaxationSolver::locopt_NLP ( dvector start  )  [protected]

pair<int, bool> RelaxationSolver::locopt_NLP ( dvector start,
dvector sol_point 
) [protected]

virtual bool RelaxationSolver::add_sol_candidate ( const dvector x  )  [protected, virtual]

Reimplemented in MinlpBCP.

void RelaxationSolver::clean_sub_problems (  )  [inline, protected]

Reimplemented in MinlpBCP.

Definition at line 71 of file relaxopt.h.

void RelaxationSolver::set_split_prob ( Pointer< MinlpProblem split_prob_  )  [inline]

Definition at line 85 of file relaxopt.h.

References split_prob.

virtual void RelaxationSolver::set_reform ( Pointer< Reformulation reform_  )  [inline, virtual]

Reimplemented in MinlpBCP, LagHeu2, and LagHeu2b.

Definition at line 89 of file relaxopt.h.

References reform.

void RelaxationSolver::set_convex_prob ( Pointer< MinlpProblem convex_prob_  )  [inline]

Definition at line 93 of file relaxopt.h.

References convex_prob.

void RelaxationSolver::set_linear_relax ( Pointer< LinearRelax linear_relax_  )  [inline]

Reimplemented in MinlpBCP, and LagHeu.

Definition at line 97 of file relaxopt.h.

References linear_relax.

Referenced by LagHeu::set_linear_relax().

void RelaxationSolver::set_upper_bound ( double  upper_bound  )  [inline]

Definition at line 101 of file relaxopt.h.

References Solver::opt_val_.

void RelaxationSolver::set_levelcut_handler ( Pointer< LevelCutHandler levelcuts_  )  [inline]

Definition at line 105 of file relaxopt.h.

References levelcuts.

void RelaxationSolver::set_MINLPData ( Pointer< MINLPData minlpdata_  )  [inline]

Reimplemented in MinlpBCP.

Definition at line 109 of file relaxopt.h.

References minlpdata.


Friends And Related Function Documentation

friend class PartitionHeu [friend]

Definition at line 25 of file relaxopt.h.

friend class MinlpNode [friend]

Reimplemented in MinlpBCP.

Definition at line 26 of file relaxopt.h.


Member Data Documentation

Pointer<LocOpt> RelaxationSolver::LocOpt_NLP [private]

Definition at line 28 of file relaxopt.h.

Pointer<Param> RelaxationSolver::param [protected]

Parameters.

Definition at line 33 of file relaxopt.h.

Pointer<MinlpProblem> RelaxationSolver::orig_prob [protected]

The original problem.

Definition at line 37 of file relaxopt.h.

Pointer<MinlpProblem> RelaxationSolver::split_prob [protected]

The block seperable formulation of the original problem.

Definition at line 41 of file relaxopt.h.

Referenced by set_split_prob().

Pointer<MinlpProblem> RelaxationSolver::convex_prob [protected]

The convexified (quadratic) decomposed problem.

Definition at line 45 of file relaxopt.h.

Referenced by set_convex_prob().

Pointer<LinearRelax> RelaxationSolver::linear_relax [protected]

The linear relaxation.

Definition at line 49 of file relaxopt.h.

Referenced by set_linear_relax().

Pointer<Reformulation> RelaxationSolver::reform [protected]

The reformulated problems.

Definition at line 53 of file relaxopt.h.

Referenced by set_reform().

Pointer<MINLPData> RelaxationSolver::minlpdata [protected]

Definition at line 55 of file relaxopt.h.

Referenced by set_MINLPData().

Pointer<LevelCutHandler> RelaxationSolver::levelcuts [protected]

Definition at line 57 of file relaxopt.h.

Referenced by set_levelcut_handler().

bool RelaxationSolver::is_gams_prob [protected]

Definition at line 59 of file relaxopt.h.

int RelaxationSolver::last_impr_iter [protected]

Definition at line 61 of file relaxopt.h.

int RelaxationSolver::point_conversion_warnings [protected]

Definition at line 62 of file relaxopt.h.

double RelaxationSolver::sol_cand_closeval_tol [protected]

Definition at line 73 of file relaxopt.h.

Pointer<dvector> RelaxationSolver::sol_cand_diam [protected]

Definition at line 74 of file relaxopt.h.

set<SolCandidate> RelaxationSolver::sol_cand

Definition at line 77 of file relaxopt.h.

double RelaxationSolver::lower_bound

Definition at line 79 of file relaxopt.h.


The documentation for this class was generated from the following file:
Generated on Tue Oct 21 03:12:40 2008 for LaGO by  doxygen 1.4.7