IPM

An interior-point method solver for cone programs (semidefinite, second-order, and positive cones), used internally to solve the KKT systems arising from constrained sheaf-based control problems.

CellularSheaves.IPM.PowerConeType
PowerCone{T} <: AbstractTDCone

The three-dimensional power cone with parameter α ∈ (0, 1), consisting of all triples (x₁, x₂, x₃) such that x₁ ≥ 0, x₂ ≥ 0, and x₁^α x₂^(1-α) ≥ |x₃|.

source
CellularSheaves.IPM.corr!Method
corr!(r, p, d, Δp, Δd, σμ, cache)

Set r to the Mehrotra corrector term r = -d - σμ f'(p) - η, where η is the third-order correction η = -½ f'''(p)[Δp, f''(p)⁻¹ Δd]. If p and d are elements of a symmetric cone, this formula simplifies to r = -d + (σμ e - Δp ∘ Δd) / p, where Δp ∘ Δd is the Jordan product of Δp and Δd.

source
CellularSheaves.IPM.equilibrate!Method
equilibrate!(scaling, B, Q, c, g; itmax=10, tol=1e-3)

Run block-aware Ruiz equilibration on the conic-QP data in place. Mutates scaling, B, Q, c, and g. Returns scaling.

Keyword arguments:

  • itmax : maximum Ruiz sweeps.
  • tol : stop when every row/block ∞-norm is within tol of 1.
source
CellularSheaves.IPM.maxstepsMethod
maxsteps(p, Δp, d, Δd, cache)

Compute the largest numbers 0 < τp, τd ≤ 1 such that p + τp Δp and d + τd Δd lie in the interior of their respective cones

source
CellularSheaves.IPM.scale!Method
scale!(H, p, d, cache)

Set H to the Tuncel scaling matrix. If p and d are elements of a symmetric cone, this is the Hessian f''(w) of the barrier at the Nesterov-Todd scaling point w.

source
CommonSolve.solveMethod
solve(problem::IPMProblem;
    verbose=true,
    step_frac=0.99,
    feas_tol=1e-8,
    gap_tol=1e-8,
    itmax=100,
    near_factor=1000.0,
    stall_tol=1e-6,
    forcing_ceil=0.3,
    forcing_frac=1.0,
    refine_itmax=10,
    refine_stall=0.5,
    scale_itmax=10,
    kkt=UzawaSettings(),
)

Solve an IPMProblem.

source