# Couenne::NlpSolveHeuristic Class Reference

`#include <BonNlpHeuristic.hpp>`

List of all members.

## Public Member Functions
| NlpSolveHeuristic ()
| Default constructor.
| NlpSolveHeuristic (CbcModel &mip, Bonmin::OsiTMINLPInterface &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 (Bonmin::OsiTMINLPInterface &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
## Static Public Member Functions
static void | registerOptions (Ipopt::SmartPtr< Bonmin::RegisteredOptions >)
| initialize options
## Private Attributes
Bonmin::OsiTMINLPInterface * | 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.

## Detailed Description

Definition at line 28 of file BonNlpHeuristic.hpp.

## Constructor & Destructor Documentation

Couenne::NlpSolveHeuristic::NlpSolveHeuristic | ( |  | ) |

Default constructor.

Couenne::NlpSolveHeuristic::NlpSolveHeuristic | ( | CbcModel & | mip,
|  | Bonmin::OsiTMINLPInterface & | nlp,
|  | bool | cloneNlp = `false`,
|  | CouenneProblem * | couenne = `NULL` |
| ) |  |  |

Constructor with model and Ipopt problems.

Couenne::NlpSolveHeuristic::NlpSolveHeuristic | ( | const NlpSolveHeuristic & | other | ) |

Copy constructor.

virtual Couenne::NlpSolveHeuristic::~NlpSolveHeuristic | ( |  | ) | `[virtual]`

Destructor.

## Member Function Documentation

virtual CbcHeuristic* Couenne::NlpSolveHeuristic::clone | ( |  | ) | const`[virtual]`

Clone.

NlpSolveHeuristic& Couenne::NlpSolveHeuristic::operator= | ( | const NlpSolveHeuristic & | rhs | ) |

Assignment operator.

void Couenne::NlpSolveHeuristic::setNlp | ( | Bonmin::OsiTMINLPInterface & | nlp,
|  | bool | cloneNlp = `true` |
| ) |  |  |

Set the nlp solver.

void Couenne::NlpSolveHeuristic::setCouenneProblem | ( | CouenneProblem * |  | ) |

set the couenne problem to use.

virtual void Couenne::NlpSolveHeuristic::resetModel | ( | CbcModel * | model | ) | `[inline, virtual]`

Does nothing.

Definition at line 53 of file BonNlpHeuristic.hpp.

virtual int Couenne::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.

Todo:
  Find a quicker way to get to Couenne objects, store them or something

void Couenne::NlpSolveHeuristic::setMaxNlpInf | ( | double | value | ) | `[inline]`

set maxNlpInf.

Definition at line 61 of file BonNlpHeuristic.hpp.

References maxNlpInf_.

void Couenne::NlpSolveHeuristic::setNumberSolvePerLevel | ( | int | value | ) | `[inline]`

set number of nlp's solved for each given level of the tree

Definition at line 64 of file BonNlpHeuristic.hpp.

References numberSolvePerLevel_.

static void Couenne::NlpSolveHeuristic::registerOptions | ( | Ipopt::SmartPtr< Bonmin::RegisteredOptions > |  | ) | `[static]`

initialize options

## Member Data Documentation

Bonmin::OsiTMINLPInterface* Couenne::NlpSolveHeuristic::nlp_`[private]`

Pointer to an nlp solver interface.

Definition at line 72 of file BonNlpHeuristic.hpp.

bool Couenne::NlpSolveHeuristic::hasCloned_`[private]`

is nlp_ cloned or just a pointer?

Definition at line 74 of file BonNlpHeuristic.hpp.

double Couenne::NlpSolveHeuristic::maxNlpInf_`[private]`

maximum nlp infeasibility under which try to solve problem with Ipopt.

Definition at line 76 of file BonNlpHeuristic.hpp.

Referenced by setMaxNlpInf().

int Couenne::NlpSolveHeuristic::numberSolvePerLevel_`[private]`

Number of nlp's solved for each given level of the tree.

Definition at line 78 of file BonNlpHeuristic.hpp.

Referenced by setNumberSolvePerLevel().

CouenneProblem* Couenne::NlpSolveHeuristic::couenne_`[private]`

Pointer to a couenne representation of the problem.

Definition at line 80 of file BonNlpHeuristic.hpp.

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

- BonNlpHeuristic.hpp

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines