Documentation: sign conventions (min/max, p⁰, constraints, duals) and how they appear in a solution
I maintainer di solito rispondono entro 1 giorno
@ocots ci sta già lavorando.
Dal 21/10/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Summary
Add a page to the documentation that explains the sign conventions of the ecosystem and how they show up in a solution, once they are settled in the discussion control-toolbox/OptimalControl.jl#1014. This issue is the place for that page; it should not be written before the choices are made.
Related: control-toolbox/OptimalControl.jl#968 (documentation items waiting on other packages), control-toolbox/CTDirect.jl#639, control-toolbox/CTFlows.jl#472.
What the page should explain
minvsmax: the value ofp⁰, the Hamiltonian (with and without constraints), and whetherpand the duals change sign whenmin Jbecomesmax −J.- Inequality constraints:
g ≥ 0orc ≤ 0, the sign of the multiplier on each side, two-sided constraints, equalities. - What
dual(sol, ocp, :label)returns for each kind of constraint (path, box, boundary, variable box): sign, scaling (continuous-time density or raw NLP value), and its meaning at the first and last nodes. - The same constraint solved directly (
solve) and by an indirect method (Flow(ocp, law; constraint=:label, multiplier=μ)): how to read the duals on both sides, and the dictionary betweenμanddual. - Transversality and boundary constraints: the sign of
βand of the dual of a boundary constraint. - Which of these do not depend on the NLP solver (Ipopt, MadNLP).
Elements already available
- Probes of 2026-10-21 (closed-form problems; table in the discussion).
- The KKT derivation per scheme and the measurements in control-toolbox/CTDirect.jl#639.
- The existing section Formulation → Notation and conventions, to complete or to point to.
- A runnable probe such as
solution_duals.jl(see #968), extended with an indirect solve, so the page is checked by the documentation build.
Depends on
- Decision on the conventions: control-toolbox/OptimalControl.jl#1014
- CTDirect alignment: control-toolbox/CTDirect.jl#639
- Duals of
Flow(ocp, law): control-toolbox/CTFlows.jl#472
- Lingua principale
- Julia
- Stelle
- 135
- Fork
- 11
- Merge medio
- 7h 51m
- PR unite (30g)
- 22
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di control-toolbox/OptimalControl.jl
-
[Doc] User guide to the duals: every kind, constraint ↔ dual, direct ↔ indirectForse già presa @ocots l’ha presa 6 giorni fa. Aperta
control-toolbox/OptimalControl.jl#1035 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Tests of the duals: every kind of constraint, direct vs indirect, pinned algorithmsForse già presa @ocots l’ha presa 6 giorni fa. Aperta
control-toolbox/OptimalControl.jl#1034 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
[Doc] Examples for the sign convention of duals and costate (min/max, writing of constraints, direct vs indirect)Forse già presa @ocots l’ha presa 14 giorni fa. Aperta
control-toolbox/OptimalControl.jl#1016 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Tests fail on Julia 1.13: keyword-only anonymous function in test/problems/goddard.jlForse già presa @ocots l’ha presa 18 giorni fa. Aperta
control-toolbox/OptimalControl.jl#996 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Docs: use Makie.Figure() instead of Makie.plot() for an empty canvasForse già presa @ocots l’ha presa 19 giorni fa. Aperta
control-toolbox/OptimalControl.jl#994 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di control-toolbox/OptimalControl.jl
Issue simili
-
Add project: Typst_jll.jlForse già presa @github-actions l’ha presa oggi. Apertaadd-project
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 76/100
YDX-2147483647/best-of-typst#590 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100