#include <BonNlpHeuristic.hpp>
Collaboration diagram for Bonmin::NlpSolveHeuristic:
Public Member Functions | |
NlpSolveHeuristic () | |
Default constructor. | |
NlpSolveHeuristic (CbcModel &mip, OsiSolverInterface &nlp, bool cloneNlp=false, CouenneProblem *couenne=NULL) | |
Constructor with model and Ipopt problems. | |
NlpSolveHeuristic (const NlpSolveHeuristic &other) | |
Copy constructor. | |
virtual | ~NlpSolveHeuristic () |
Destructor. | |
virtual CbcHeuristic * | clone () const |
Clone. | |
NlpSolveHeuristic & | operator= (const NlpSolveHeuristic &rhs) |
Assignment operator. | |
void | setNlp (OsiSolverInterface &nlp, bool cloneNlp=true) |
Set the nlp solver. | |
void | setCouenneProblem (CouenneProblem *) |
set the couenne problem to use. | |
virtual void | resetModel (CbcModel *model) |
Does nothing. | |
virtual int | solution (double &objectiveValue, double *newSolution) |
Run heuristic, return 1 if a better solution than the one passed is found and 0 otherwise. | |
void | setMaxNlpInf (double value) |
set maxNlpInf. | |
void | setNumberSolvePerLevel (int value) |
set number of nlp's solved for each given level of the tree | |
Private Attributes | |
OsiSolverInterface * | nlp_ |
Pointer to an nlp solver interface. | |
bool | hasCloned_ |
is nlp_ cloned or just a pointer? | |
double | maxNlpInf_ |
maximum nlp infeasibility under which try to solve problem with Ipopt. | |
int | numberSolvePerLevel_ |
Number of nlp's solved for each given level of the tree. | |
CouenneProblem * | couenne_ |
Pointer to a couenne representation of the problem. |
Definition at line 22 of file BonNlpHeuristic.hpp.
Bonmin::NlpSolveHeuristic::NlpSolveHeuristic | ( | ) |
Bonmin::NlpSolveHeuristic::NlpSolveHeuristic | ( | CbcModel & | mip, | |
OsiSolverInterface & | nlp, | |||
bool | cloneNlp = false , |
|||
CouenneProblem * | couenne = NULL | |||
) |
Constructor with model and Ipopt problems.
Definition at line 34 of file BonNlpHeuristic.cpp.
References nlp_.
Bonmin::NlpSolveHeuristic::NlpSolveHeuristic | ( | const NlpSolveHeuristic & | other | ) |
Copy constructor.
Definition at line 43 of file BonNlpHeuristic.cpp.
References hasCloned_, and nlp_.
Bonmin::NlpSolveHeuristic::~NlpSolveHeuristic | ( | ) | [virtual] |
CbcHeuristic * Bonmin::NlpSolveHeuristic::clone | ( | ) | const [virtual] |
NlpSolveHeuristic & Bonmin::NlpSolveHeuristic::operator= | ( | const NlpSolveHeuristic & | rhs | ) |
Assignment operator.
Definition at line 59 of file BonNlpHeuristic.cpp.
References couenne_, hasCloned_, maxNlpInf_, nlp_, and numberSolvePerLevel_.
void Bonmin::NlpSolveHeuristic::setNlp | ( | OsiSolverInterface & | nlp, | |
bool | cloneNlp = true | |||
) |
Set the nlp solver.
Definition at line 86 of file BonNlpHeuristic.cpp.
References hasCloned_, and nlp_.
Referenced by Bonmin::CouenneSetup::InitializeCouenne().
void Bonmin::NlpSolveHeuristic::setCouenneProblem | ( | CouenneProblem * | ) |
set the couenne problem to use.
Definition at line 97 of file BonNlpHeuristic.cpp.
References couenne_.
Referenced by Bonmin::CouenneSetup::InitializeCouenne().
virtual void Bonmin::NlpSolveHeuristic::resetModel | ( | CbcModel * | model | ) | [inline, virtual] |
int Bonmin::NlpSolveHeuristic::solution | ( | double & | objectiveValue, | |
double * | newSolution | |||
) | [virtual] |
Run heuristic, return 1 if a better solution than the one passed is found and 0 otherwise.
objectiveValue Best known solution in input and value of solution found in output newSolution Solution found by heuristic.
Definition at line 102 of file BonNlpHeuristic.cpp.
References couenne_, COUENNE_EPS, COUENNE_INFINITY, Bonmin::AuxInfo::infeasibleNode(), info, maxNlpInf_, nlp_, numberSolvePerLevel_, Bonmin::AuxInfo::setHasNlpSolution(), and Bonmin::AuxInfo::setNlpSolution().
void Bonmin::NlpSolveHeuristic::setMaxNlpInf | ( | double | value | ) | [inline] |
set maxNlpInf.
Definition at line 54 of file BonNlpHeuristic.hpp.
References maxNlpInf_.
Referenced by Bonmin::CouenneSetup::InitializeCouenne().
void Bonmin::NlpSolveHeuristic::setNumberSolvePerLevel | ( | int | value | ) | [inline] |
set number of nlp's solved for each given level of the tree
Definition at line 57 of file BonNlpHeuristic.hpp.
References numberSolvePerLevel_.
Referenced by Bonmin::CouenneSetup::InitializeCouenne().
OsiSolverInterface* Bonmin::NlpSolveHeuristic::nlp_ [private] |
Pointer to an nlp solver interface.
Definition at line 61 of file BonNlpHeuristic.hpp.
Referenced by NlpSolveHeuristic(), operator=(), setNlp(), solution(), and ~NlpSolveHeuristic().
bool Bonmin::NlpSolveHeuristic::hasCloned_ [private] |
is nlp_ cloned or just a pointer?
Definition at line 63 of file BonNlpHeuristic.hpp.
Referenced by NlpSolveHeuristic(), operator=(), setNlp(), and ~NlpSolveHeuristic().
double Bonmin::NlpSolveHeuristic::maxNlpInf_ [private] |
maximum nlp infeasibility under which try to solve problem with Ipopt.
Definition at line 65 of file BonNlpHeuristic.hpp.
Referenced by operator=(), setMaxNlpInf(), and solution().
int Bonmin::NlpSolveHeuristic::numberSolvePerLevel_ [private] |
Number of nlp's solved for each given level of the tree.
Definition at line 67 of file BonNlpHeuristic.hpp.
Referenced by operator=(), setNumberSolvePerLevel(), and solution().
Pointer to a couenne representation of the problem.
Definition at line 69 of file BonNlpHeuristic.hpp.
Referenced by operator=(), setCouenneProblem(), and solution().