NLPSolverIpoptBase

Ipopt implementation of INLPSolver interface

Ipopt implementation of INLPSolver interface

Provides NLP solving for SHOT's primal problem using Ipopt interior point.

IpoptProblem Class (Ipopt::TNLP):

TNLP Callbacks:

NLPSolverIpoptBase Class:

IpoptJournal:

@note Used for fixed-integer NLP subproblems in primal bound computation

Algorithm

Warm Starting (setStartingPoint): Initialize from previous NLP solution or MIP point:

  • Improves convergence for similar subproblems
  • Critical for efficiency in repeated NLP solves

$$l_{i} = u_{i} = x̄_{i} \text{ for }integer variables i ∈ I$$ Ipopt solves reduced-space problem over continuous variables. Original bounds restored by unfixVariables().

Complexity: $O(nnz)$ vs $O(n²)$ for dense evaluation

References:

  • Bonami et al. (2008) - BONMIN algorithm description
  • Wächter & Biegler (2006) - Ipopt implementation
  • Nocedal & Wright (2006) - Warm starting in IPM

See Also

Source

Header file: `src/NLPSolver/NLPSolverIpoptBase.h`