[Paper] Measure, then clean up the `_s` problem variants

Offen
#285 0 Kommentare 0 Reaktionen 1 zugewiesene Person Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

@ocots arbeitet bereits daran.

Seit 31.10.2026.

Bewertung

Dieses Issue wurde noch nicht bewertet.

Beschreibung

paper

Goal

Decide whether the _s problem variants (dynamics written coordinate by coordinate, historically required by Exa) are still useful. Decision taken: measure first whether the scalarized version is significantly better than the vectorial one. If it changes nothing, remove the _s variants; otherwise keep both and compare them in the paper.

What we know

  • _s variants exist for the 22 problems (ext/OptimalControlModels_s/), with their stubs and test/test_OptimalControl_s.jl.
  • In OptimalControl v2, :exa accepts the vector form of the dynamics (see the GPU page of the documentation), so the original reason may be gone. CTBenchmarks still runs Exa through <problem>_s.
  • The coordinate-wise form changes the ExaModels code generated by CTParser, hence possibly the number of expression nodes and the GPU performance.

Proposed measurements

  • 22 problems, :exa (CPU and GPU) and :adnlp; three grid sizes (for instance 500, 2000, 10000).
  • Model build time, solve time, iterations, objective, nonzeros of the Jacobian and of the Hessian.
  • Criterion to fix (for instance median time difference below about 10 %, same iterations and objective).

If the variants are removed

Delete ext/OptimalControlModels_s/, the <problem>_s stubs and the corresponding test; close #174 and #136.

Related

#174, #136. Depends on the v2 port of both packages for a clean measurement.

How to work on this theme

This is a theme issue: it describes the work to do and what is known so far, it is not meant to be closed by a single PR.

  1. Whoever takes it first defines the work precisely and splits it into sub-issues (they can live in any repository of the organization).
  2. Work proceeds through the sub-issues; tick the checklist below as they are closed.
  3. Close the theme when everything is done or explicitly dropped.

Context: tracking issue control-toolbox/CTBenchmarks.jl#200; planning notes: objectives and directions and updating OptimalControlProblems and CTBenchmarks (in control-toolbox/benchmark-paper).

Sub-issues
  • to be created when the theme is taken
Vorherrschende Sprache
Julia
Sterne
13
Forks
1
Ø Merge
3 Std. 24 Min.
Gemergte PRs (30 T.)
34

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus control-toolbox/OptimalControlProblems.jl

Alle Issues in control-toolbox/OptimalControlProblems.jl

Ähnliche Issues

Weitere Issues zu Julia

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.