Outer ALM Solver#

class alpaqa._alpaqa.float64.ALMSolver

Main augmented Lagrangian solver.

C++ documentation: alpaqa::ALMSolver

__call__(self: alpaqa._alpaqa.float64.ALMSolver, problem: alpaqa._alpaqa.float64.Problem | alpaqa._alpaqa.float64.ControlProblem, x: numpy.ndarray[numpy.float64[m, 1]] | None = None, y: numpy.ndarray[numpy.float64[m, 1]] | None = None, *, asynchronous: bool = True, suppress_interrupt: bool = False) tuple

Solve.

Parameters:
  • problem – Problem to solve.

  • x – Initial guess for decision variables \(x\)

  • y – Initial guess for Lagrange multipliers \(y\)

  • asynchronous – Release the GIL and run the solver on a separate thread

  • suppress_interrupt – If the solver is interrupted by a KeyboardInterrupt, don’t propagate this exception back to the Python interpreter, but stop the solver early, and return a solution with the status set to alpaqa._alpaqa.SolverStatus.Interrupted.

Returns:

  • Solution \(x\)

  • Lagrange multipliers \(y\) at the solution

  • Statistics

__init__(*args, **kwargs)

Overloaded function.

  1. __init__(self: alpaqa._alpaqa.float64.ALMSolver, other: alpaqa._alpaqa.float64.ALMSolver) -> None

Create a copy

  1. __init__(self: alpaqa._alpaqa.float64.ALMSolver) -> None

Build an ALM solver using Structured PANOC as inner solver.

  1. __init__(self: alpaqa._alpaqa.float64.ALMSolver, inner_solver: alpaqa._alpaqa.float64.InnerSolver) -> None

Build an ALM solver using the given inner solver.

  1. __init__(self: alpaqa._alpaqa.float64.ALMSolver, inner_solver: alpaqa._alpaqa.float64.InnerOCPSolver) -> None

Build an ALM solver using the given inner solver.

  1. __init__(self: alpaqa._alpaqa.float64.ALMSolver, alm_params: Union[alpaqa._alpaqa.float64.ALMParams, dict], inner_solver: alpaqa._alpaqa.float64.InnerSolver) -> None

Build an ALM solver using the given inner solver.

  1. __init__(self: alpaqa._alpaqa.float64.ALMSolver, alm_params: Union[alpaqa._alpaqa.float64.ALMParams, dict], inner_solver: alpaqa._alpaqa.float64.InnerOCPSolver) -> None

Build an ALM solver using the given inner solver.

property inner_solver
property name
property params
stop(self: alpaqa._alpaqa.float64.ALMSolver) None
class alpaqa._alpaqa.float64.ALMParams

C++ documentation: alpaqa::ALMParams

__init__(*args, **kwargs)

Overloaded function.

  1. __init__(self: alpaqa._alpaqa.float64.ALMParams, params: dict) -> None

  2. __init__(self: alpaqa._alpaqa.float64.ALMParams, **kwargs) -> None

property dual_tolerance
property initial_penalty
property initial_penalty_factor
property initial_penalty_lower
property initial_tolerance
property initial_tolerance_increase
property max_iter
property max_multiplier
property max_num_initial_retries
property max_num_retries
property max_penalty
property max_time
property max_total_num_retries
property min_penalty
property min_penalty_update_factor
property penalty_update_factor
property penalty_update_factor_lower
property print_interval
property rel_penalty_increase_threshold
property single_penalty_factor
to_dict(self: alpaqa._alpaqa.float64.ALMParams) dict
property tolerance
property tolerance_update_factor
property ρ_increase
property ρ_max