LinearRelaxSolverMIP Class Reference

#include <linrelax.h>

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

List of all members.

Public Member Functions

 LinearRelaxSolverMIP (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 Member Functions

void add_intervalgradientcut (CutPool::CutInfo &cutinfo)

Private Attributes

MipProblem mip
 The core linear relaxation as MIP.
Pointer< MIPSolversolver
int levelcut_pos
int intervalgradcutvars_start
 Starting index of interval gradient cut variables.

Detailed Description

Definition at line 374 of file linrelax.h.


Constructor & Destructor Documentation

LinearRelaxSolverMIP::LinearRelaxSolverMIP ( LinearRelax linrelax_  ) 

Member Function Documentation

void LinearRelaxSolverMIP::add_intervalgradientcut ( CutPool::CutInfo cutinfo  )  [private]
void LinearRelaxSolverMIP::init (  )  [virtual]

Initializes the model for the core linear relaxation.

Implements LinearRelaxSolver.

void LinearRelaxSolverMIP::reset (  )  [virtual]

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

Implements LinearRelaxSolver.

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

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

Implements LinearRelaxSolver.

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

Updates the linear relaxation for a specific node.

Implements LinearRelaxSolver.

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

Implements LinearRelaxSolver.

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

Implements LinearRelaxSolver.

bool LinearRelaxSolverMIP::feasible (  )  [virtual]

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

Implements LinearRelaxSolver.

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

Implements LinearRelaxSolver.

void LinearRelaxSolverMIP::remove_cuts (  )  [virtual]

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

Implements LinearRelaxSolver.

int LinearRelaxSolverMIP::generate_cuts ( list< Pointer< SimpleCut > > &  cuts  )  [virtual]

Implements LinearRelaxSolver.


Member Data Documentation

The core linear relaxation as MIP.

Definition at line 378 of file linrelax.h.

Definition at line 380 of file linrelax.h.

Definition at line 382 of file linrelax.h.

Starting index of interval gradient cut variables.

Definition at line 386 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