LinearRelaxSolverGeneral Class Reference

A general solver for the LinearRelaxation, which constructs a MinlpProblem and uses LocOpt::get_lp_solver to solve it. More...

#include <linrelax.h>

Inheritance diagram for LinearRelaxSolverGeneral:
Inheritance graph
[legend]
Collaboration diagram for LinearRelaxSolverGeneral:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 LinearRelaxSolverGeneral (LinearRelax &linrelax_)
void init ()
 Initializes the model for the core linear relaxation.
void reset ()
 Resets the solver, so we use only the core linear relaxation.
void construct (Pointer< MinlpNode > node=NULL)
 Builds the linear relaxation for a specific node or uses global cuts only.
void add_cut (const CutPool::CutInfo &cutinfo)
 Updates the linear relaxation for a specific node.
void set_objective (Pointer< SepQcFunc > obj)
void update_levelcut (double newlevel)
bool feasible ()
 Checks the linear relaxation only for feasiblity instead of solving it.
int solve (Pointer< MinlpNode > node=NULL)
void remove_cuts ()
 According to the information, set in the remove-member of the cutinfos, remove cuts.
int generate_cuts (list< Pointer< SimpleCut > > &cuts)

Private Attributes

Pointer< MinlpProblemprob
 (R) or (R[U]).
int cutstart
 Start of cuts in prob.
int levelcut_pos
 The position of the level cut in prob.

Detailed Description

A general solver for the LinearRelaxation, which constructs a MinlpProblem and uses LocOpt::get_lp_solver to solve it.

Definition at line 324 of file linrelax.h.


Constructor & Destructor Documentation

LinearRelaxSolverGeneral::LinearRelaxSolverGeneral ( LinearRelax linrelax_  )  [inline]

Definition at line 345 of file linrelax.h.


Member Function Documentation

void LinearRelaxSolverGeneral::init (  )  [virtual]

Initializes the model for the core linear relaxation.

Implements LinearRelaxSolver.

void LinearRelaxSolverGeneral::reset (  )  [virtual]

Resets the solver, so we use only the core linear relaxation.

Implements LinearRelaxSolver.

void LinearRelaxSolverGeneral::construct ( Pointer< MinlpNode node = NULL  )  [virtual]

Builds the linear relaxation for a specific node or uses global cuts only.

Implements LinearRelaxSolver.

void LinearRelaxSolverGeneral::add_cut ( const CutPool::CutInfo cutinfo  )  [virtual]

Updates the linear relaxation for a specific node.

Implements LinearRelaxSolver.

void LinearRelaxSolverGeneral::set_objective ( Pointer< SepQcFunc obj  )  [virtual]

Implements LinearRelaxSolver.

void LinearRelaxSolverGeneral::update_levelcut ( double  newlevel  )  [virtual]

Implements LinearRelaxSolver.

bool LinearRelaxSolverGeneral::feasible (  )  [virtual]

Checks the linear relaxation only for feasiblity instead of solving it.

Implements LinearRelaxSolver.

int LinearRelaxSolverGeneral::solve ( Pointer< MinlpNode node = NULL  )  [virtual]

Implements LinearRelaxSolver.

void LinearRelaxSolverGeneral::remove_cuts (  )  [virtual]

According to the information, set in the remove-member of the cutinfos, remove cuts.

Implements LinearRelaxSolver.

int LinearRelaxSolverGeneral::generate_cuts ( list< Pointer< SimpleCut > > &  cuts  )  [inline, virtual]

Implements LinearRelaxSolver.

Definition at line 371 of file linrelax.h.


Member Data Documentation

(R) or (R[U]).

In it's raw state (as constructed or set after reset), this problem just consists of the linear constraints of the convex relaxation. The method construct adds global and local cuts. Initialized in init().

See also:
reset
init
construct

Definition at line 334 of file linrelax.h.

Start of cuts in prob.

Set in init().

Definition at line 339 of file linrelax.h.

The position of the level cut in prob.

Definition at line 342 of file linrelax.h.


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

Generated on 10 Mar 2013 for LaGO by  doxygen 1.6.1