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.

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

Reimplemented in MinlpBCP, LagHeu2, and LagHeu2b.

Definition at line 89 of file relaxopt.h.

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

Definition at line 93 of file relaxopt.h.

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

Reimplemented in MinlpBCP, and LagHeu.

Definition at line 97 of file relaxopt.h.

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

Definition at line 101 of file relaxopt.h.

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

Definition at line 105 of file relaxopt.h.

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

Reimplemented in MinlpBCP.

Definition at line 109 of file relaxopt.h.


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

Definition at line 28 of file relaxopt.h.

Parameters.

Definition at line 33 of file relaxopt.h.

The original problem.

Definition at line 37 of file relaxopt.h.

The block seperable formulation of the original problem.

Definition at line 41 of file relaxopt.h.

The convexified (quadratic) decomposed problem.

Definition at line 45 of file relaxopt.h.

The linear relaxation.

Definition at line 49 of file relaxopt.h.

The reformulated problems.

Definition at line 53 of file relaxopt.h.

Definition at line 55 of file relaxopt.h.

Definition at line 57 of file relaxopt.h.

Definition at line 59 of file relaxopt.h.

Definition at line 61 of file relaxopt.h.

Definition at line 62 of file relaxopt.h.

Definition at line 73 of file relaxopt.h.

Definition at line 74 of file relaxopt.h.

Definition at line 77 of file relaxopt.h.

Definition at line 79 of file relaxopt.h.


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

Generated on 10 Mar 2013 for LaGO by  doxygen 1.6.1