A base class for defining a relaxation-based solver. More...
#include <relaxopt.h>
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 |
A base class for defining a relaxation-based solver.
Definition at line 24 of file relaxopt.h.
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 | |||
) |
void RelaxationSolver::make_sub_prob | ( | Pointer< MinlpProblem > & | out, | |
Pointer< MinlpProblem > | in, | |||
Pointer< MinlpNode > | node | |||
) | [protected] |
pair<int, bool> RelaxationSolver::locopt_NLP | ( | dvector & | start | ) | [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.
Reimplemented in MinlpBCP.
Definition at line 109 of file relaxopt.h.
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.
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.
Pointer<MinlpProblem> RelaxationSolver::convex_prob [protected] |
The convexified (quadratic) decomposed problem.
Definition at line 45 of file relaxopt.h.
Pointer<LinearRelax> RelaxationSolver::linear_relax [protected] |
The linear relaxation.
Definition at line 49 of file relaxopt.h.
Pointer<Reformulation> RelaxationSolver::reform [protected] |
The reformulated problems.
Definition at line 53 of file relaxopt.h.
Pointer<MINLPData> RelaxationSolver::minlpdata [protected] |
Definition at line 55 of file relaxopt.h.
Pointer<LevelCutHandler> RelaxationSolver::levelcuts [protected] |
Definition at line 57 of file relaxopt.h.
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.
Definition at line 77 of file relaxopt.h.
Definition at line 79 of file relaxopt.h.