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< SolCandidate > sol_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< Param > param
 Parameters.
Pointer< MinlpProblem > orig_prob
 The original problem.
Pointer< MinlpProblem > split_prob
 The block seperable formulation of the original problem.
Pointer< MinlpProblem > convex_prob
 The convexified (quadratic) decomposed problem.
Pointer< LinearRelax > linear_relax
 The linear relaxation.
Pointer< Reformulation > reform
 The reformulated problems.
Pointer< MINLPData > minlpdata
Pointer< LevelCutHandler > levelcuts
bool is_gams_prob
int last_impr_iter
int point_conversion_warnings
double sol_cand_closeval_tol
Pointer< dvector > sol_cand_diam

Private Attributes

Pointer< LocOpt > LocOpt_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