Barrier strategies

The structure AbstractBarrierUpdate encodes the barrier strategy currently used in MadNLP. The strategy is defined by the option barrier when initializing MadNLP.

MadNLP.AbstractBarrierUpdateType
AbstractBarrierUpdate{T}

Abstraction used to implement the different rules to update the barrier parameter. The barrier is updated using either a monotone rule or an adaptive rule.

source
MadNLP.update_barrier!Function
update_barrier!(barrier::AbstractBarrierUpdate{T}, solver::AbstractMadNLPSolver{T}, sc::T) where T

Update barrier using the rule in barrier. Store the results in solver.mu.

source

Monotone strategy

By default, MadNLP uses a monotone strategy, following the Fiacco-McCormick approach.

MadNLP.MonotoneUpdateType
MonotoneUpdate{T} <: AbstractBarrierUpdate{T}

Update the barrier parameter using the classical Fiacco-McCormick monotone rule.

source

Adaptive strategies

As an alternative to the monotone strategy, MadNLP implements several adaptive rules, all described in this article.

MadNLP.AbstractAdaptiveUpdateType
AbstractAdaptiveUpdate{T} <: AbstractBarrierUpdate{T}

Abstraction used to implement the adaptive barrier updates described in [Nocedal2009].

References

[Nocedal2009] Nocedal, J., Wächter, A., & Waltz, R. A. (2009). Adaptive barrier update strategies for nonlinear interior methods. SIAM Journal on Optimization, 19(4), 1674-1693.

source
MadNLP.QualityFunctionUpdateType
QualityFunctionUpdate{T} <: AbstractAdaptiveUpdate{T}

Find the barrier parameter using a quality function encoding the ℓ1-norm of the KKT violations. At each IPM iteration, the minimum of the quality function is found using a Golden search algorithm.

If no sufficient progress is made, the barrier fallbacks to a monotone rule.

References

The algorithm is described in [Nocedal2009, Section 4].

source
MadNLP.LOQOUpdateType
LOQOUpdate{T} <: AbstractAdaptiveUpdate{T}

Find the barrier parameter using the rule used in the LOQO solver. The rule is explicited in [Nocedal2009, Eq (3.6)].

If no sufficient progress is made, the barrier fallbacks to a monotone rule.

References

The algorithm is described in [Nocedal2009, Section 3].

source