[Roadmap] New problem types: hybrid, impulsional, and ensemble control
Maintainer thường phản hồi trong vòng 1 ngày
@ocots đang làm issue này rồi.
Từ ngày 9/7/2026.
Đánh giá
Issue này chưa được đánh giá.
Mô tả
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
- Ngôn ngữ chính
- Julia
- Star
- 135
- Fork
- 11
- Merge trung bình
- 7 giờ 51 phút
- Pull request đã merge (30 ngày)
- 22
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của control-toolbox/OptimalControl.jl
-
[Doc] User guide to the duals: every kind, constraint ↔ dual, direct ↔ indirectCó thể đã có người làm @ocots đã nhận 6 ngày trước. Đang mở
control-toolbox/OptimalControl.jl#1035 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Tests of the duals: every kind of constraint, direct vs indirect, pinned algorithmsCó thể đã có người làm @ocots đã nhận 6 ngày trước. Đang mở
control-toolbox/OptimalControl.jl#1034 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Doc] Examples for the sign convention of duals and costate (min/max, writing of constraints, direct vs indirect)Có thể đã có người làm @ocots đã nhận 14 ngày trước. Đang mở
control-toolbox/OptimalControl.jl#1016 · 1 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Documentation: sign conventions (min/max, p⁰, constraints, duals) and how they appear in a solutionCó thể đã có người làm @ocots đã nhận 17 ngày trước. Đang mởdocumentation
control-toolbox/OptimalControl.jl#1015 · 2 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Tests fail on Julia 1.13: keyword-only anonymous function in test/problems/goddard.jlCó thể đã có người làm @ocots đã nhận 18 ngày trước. Đang mở
control-toolbox/OptimalControl.jl#996 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của control-toolbox/OptimalControl.jl
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Add project: Typst_jll.jlCó thể đã có người làm @github-actions đã nhận hôm nay. Đang mởadd-project
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 76/100
YDX-2147483647/best-of-typst#590 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100