[Roadmap] New problem types: hybrid, impulsional, and ensemble control
Los mantenedores suelen responder en 1 día
@ocots ya está trabajando en esto.
Desde el 9/7/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Objective
Support non-conventional optimal control problems in the control-toolbox ecosystem:
- Hybrid systems — mixed continuous/discrete dynamics, switching, mode transitions
- Impulsional control — measure-driven control, state jumps
- Ensemble control — control of populations of systems
Context
These problem classes are important for real-world applications but are not yet supported. Handling them requires extensions at the model, discretization, and solver levels. This is a long-term goal that will build on the architectural consolidation work (CTParser IR, CTDirect transcription recipes).
Related work
Several Julia packages address related problem classes and could serve as references or integration targets:
-
NOSNOC — Numerical optimal control for hybrid and nonsmooth dynamical systems. Key features: FESD (Finite Elements with Switch Detection) discretization with accurate event handling and sensitivities, time-freezing reformulations for systems with state jumps (contact, impacts), Filippov / piecewise smooth / complementarity-based models, real-time MPC algorithms for hybrid systems. Extensive MATLAB example library. Relevant to both hybrid and impulsional problem types.
-
CCOpt.jl — High-performance solver for Mathematical Programs with Complementarity Constraints (MPCCs), by the MadNLP team. Relaxation and penalty methods. Relevant to hybrid systems formulated with complementarity constraints.
-
MPCCbenchmark.jl — Benchmark set for large-scale MPCCs, implemented in JuMP with ComplementOpt. Includes nonsmooth optimal control problem instances from NOSNOC, power-flow problems with PV/PQ switches, and SCOPF problems with nonsmooth recourse. Useful as a source of benchmark problems for non-conventional OCPs.
Why
- Hybrid systems appear in power systems, aerospace mode switching, contact dynamics
- Impulsional control is needed for problems with instantaneous control actions (e.g., thruster burns, medication dosing)
- Ensemble control is relevant for quantum control, epidemiology, and control of particle populations
- These extensions will leverage the architectural work in CTParser (IR-level transformations) and CTDirect (recipe extensions for state jumps, as noted in CTDirect roadmap §12)
References
- NOSNOC — paper
- CCOpt.jl — implementation paper
- MPCCbenchmark.jl
- CTDirect roadmap (§12: impulsive case)
- Roadmap comment
- Lenguaje dominante
- Julia
- Estrellas
- 135
- Forks
- 11
- Merge medio
- 7 h 51 min
- PR fusionados (30 d)
- 22
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de control-toolbox/OptimalControl.jl
-
[Doc] User guide to the duals: every kind, constraint ↔ dual, direct ↔ indirectPosiblemente ocupada @ocots la tomó hace 6 días. Abierto
control-toolbox/OptimalControl.jl#1035 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Tests of the duals: every kind of constraint, direct vs indirect, pinned algorithmsPosiblemente ocupada @ocots la tomó hace 6 días. Abierto
control-toolbox/OptimalControl.jl#1034 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
[Doc] Examples for the sign convention of duals and costate (min/max, writing of constraints, direct vs indirect)Posiblemente ocupada @ocots la tomó hace 14 días. Abierto
control-toolbox/OptimalControl.jl#1016 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Documentation: sign conventions (min/max, p⁰, constraints, duals) and how they appear in a solutionPosiblemente ocupada @ocots la tomó hace 16 días. Abiertodocumentation
control-toolbox/OptimalControl.jl#1015 · 2 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Tests fail on Julia 1.13: keyword-only anonymous function in test/problems/goddard.jlPosiblemente ocupada @ocots la tomó hace 18 días. Abierto
control-toolbox/OptimalControl.jl#996 · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de control-toolbox/OptimalControl.jl
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
Add project: Typst_jll.jlPosiblemente ocupada @github-actions la tomó hoy. Abiertoadd-project
Dificultad 1/5 Menos de una hora Aptitud para principiantes 76/100
YDX-2147483647/best-of-typst#590 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100