Skip to content

Add SolverState API to thread lambda,mu,rho,LBFGS across solve! calls (QILC warm-start) #127

Description

@aarontrowbridge

Feature — DTO SolverState for QILC warm-start

Vault: hopper/dto-api-solver-state-and-warm-start.md
File: Piccolissimo/src/solvers/altissimo_backend.jl:991-1155 (Altissimo.Optimizer per call, lambda,mu zeros, rho, LBFGS reallocated), DirectTrajOpt/ext/MadNLPSolverExt/solver.jl:104, IpoptSolverExt similarly.

Every solve! rebuilds from scratch — only primal x carries over (mutated datavec), duals lambda,mu,rho, LBFGS history, Tsit5 scaling probe (~30*N ODEs) discarded. QILC outer loop (10+ solves) repays 5-25% wall + 27% alloc.

Proposed: AbstractSolverState + solve!(prob,opts; state=nothing) -> state, opt-in, bit-equal cold path. Altissimo backend first (cleanest, needs reset_histories=false), then relocate altissimo_backend.jl to DTO AltissimoSolverExt.

Severity: HIGH for QILC/Altissimo loops. Blocks efficient outer loops.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions