[Roadmap] New problem types: hybrid, impulsional, and ensemble control
メンテナーはふだん 1 日以内に返信
@ocots がすでに取り組んでいます。
2026年7月9日 から。
評価
この issue はまだ評価されていません。
説明
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
- 主要言語
- Julia
- スター
- 135
- フォーク
- 11
- 平均マージ
- 7時間 51分
- マージ済み PR(30日)
- 22
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
control-toolbox/OptimalControl.jl のほかの issue
-
[Doc] User guide to the duals: every kind, constraint ↔ dual, direct ↔ indirect対応中かも @ocots が 6 日前に担当しました。 オープン
control-toolbox/OptimalControl.jl#1035 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
Tests of the duals: every kind of constraint, direct vs indirect, pinned algorithms対応中かも @ocots が 6 日前に担当しました。 オープン
control-toolbox/OptimalControl.jl#1034 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
[Doc] Examples for the sign convention of duals and costate (min/max, writing of constraints, direct vs indirect)対応中かも @ocots が 14 日前に担当しました。 オープン
control-toolbox/OptimalControl.jl#1016 · コメント 1 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
Documentation: sign conventions (min/max, p⁰, constraints, duals) and how they appear in a solution対応中かも @ocots が 16 日前に担当しました。 オープンdocumentation
control-toolbox/OptimalControl.jl#1015 · コメント 2 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
Tests fail on Julia 1.13: keyword-only anonymous function in test/problems/goddard.jl対応中かも @ocots が 18 日前に担当しました。 オープン
control-toolbox/OptimalControl.jl#996 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
control-toolbox/OptimalControl.jl の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
Add project: Typst_jll.jl対応中かも @github-actions が今日担当しました。 オープンadd-project
難易度 1/5 1時間未満 初心者へのやさしさ 76/100
YDX-2147483647/best-of-typst#590 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100