A general solver for the LinearRelaxation, which constructs a MinlpProblem and uses LocOpt::get_lp_solver to solve it. More...
#include <linrelax.h>
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< MinlpProblem > | prob |
(R) or (R[U]). | |
int | cutstart |
Start of cuts in prob. | |
int | levelcut_pos |
The position of the level cut in prob. |
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.
LinearRelaxSolverGeneral::LinearRelaxSolverGeneral | ( | LinearRelax & | linrelax_ | ) | [inline] |
Definition at line 345 of file linrelax.h.
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.
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.
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.
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.
Pointer<MinlpProblem> LinearRelaxSolverGeneral::prob [private] |
int LinearRelaxSolverGeneral::cutstart [private] |
int LinearRelaxSolverGeneral::levelcut_pos [private] |
The position of the level cut in prob.
Definition at line 342 of file linrelax.h.