Documentation: sign conventions (min/max, p⁰, constraints, duals) and how they appear in a solution

オープン
#1,015 コメント 2 件 リアクション 0 件 担当者 1 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@ocots がすでに取り組んでいます。

2026年10月21日 から。

評価

この issue はまだ評価されていません。

説明

documentation

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

  • min vs max: the value of p⁰, the Hamiltonian (with and without constraints), and whether p and the duals change sign when min J becomes max −J.
  • Inequality constraints: g ≥ 0 or c ≤ 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 μ and dual.
  • 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
主要言語
Julia
スター
135
フォーク
11
平均マージ
7時間 49分
マージ済み PR(30日)
23

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

control-toolbox/OptimalControl.jl のほかの issue

control-toolbox/OptimalControl.jl の issue をすべて見る

似ている issue

Julia の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。