Optim
This folder contains all the different (abstraction-based or not) solvers that can be used. Note that all the solvers are defined using the MathOptInterface framework: for each solver, we define a subtype of AbstractOptimizer
and implement the Optimize!
function.
Abstraction-based solvers
Dionysos.Optim.Abstraction.UniformGridAbstraction.Optimizer
— TypeOptimizer{T} <: MOI.AbstractOptimizer
A solver implementing the classical abstraction method (e.g., used in SCOTS), where the entire domain is partitioned into hyper-rectangular cells, independent of the specific control task.
The optimizer is structured into modular sub-solvers, each dedicated to a specific problem type. It ensures that abstraction is computed before solving the control problem, maintaining modularity and extendability.
Dionysos.Optim.Abstraction.EllipsoidsAbstraction.Optimizer
— TypeOptimizer{T} <: MOI.AbstractOptimizer
Abstraction-based solver for which the domain is covered with ellipsoidal cells, independently of the control task.
Dionysos.Optim.Abstraction.HierarchicalAbstraction.Optimizer
— TypeOptimizer{T} <: MOI.AbstractOptimizer
Abstraction-based solver for which the domain is initially partioned into coarse hyper-rectangular cells, which are iteratively locally smartly refined with respect to the control task.
Dionysos.Optim.Abstraction.LazyAbstraction.Optimizer
— TypeOptimizer{T} <: MOI.AbstractOptimizer
Abstraction-based solver for which the hyper-rectangular abstraction and the controller are co-designed to reduce the computation cost of the abstraction.
Dionysos.Optim.Abstraction.LazyEllipsoidsAbstraction.Optimizer
— TypeOptimizer{T} <: MOI.AbstractOptimizer
Abstraction-based solver using the lazy abstraction method with ellipsoidal cells.
Other solvers
Dionysos.Optim.BemporadMorari.Optimizer
— TypeOptimizer{T} <: MOI.AbstractOptimizer
Bemporad Morari solver: Optimal control of hybrid systems via a predictive control scheme using mixed integer quadratic programming (MIQP) online optimization procedures.
Dionysos.Optim.BranchAndBound.Optimizer
— TypeOptimizer{T} <: MOI.AbstractOptimizer
Branch and bound solver: Optimal control of hybrid systems via a predictive control scheme combining a branch and bound algorithm that can refine Q-functions using Lagrangian duality.
Solvers details
Uniform Grid Abstraction
Dionysos.Optim.Abstraction.UniformGridAbstraction.compute_largest_controllable_set
— Functioncompute_largest_controllable_set(abstract_system, target_set; initial_set)
Computes the largest controllable set and generates an abstract controller.
Dionysos.Optim.Abstraction.UniformGridAbstraction.compute_largest_invariant_set
— Functioncompute_largest_invariant_set(abstract_system, setlist)
Computes the largest controllable invariant set within safelist.