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

Aperta
#285 0 commenti 0 reazioni 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@ocots ci sta già lavorando.

Dal 31/10/2026.

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

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
Lingua principale
Julia
Stelle
13
Fork
1
Merge medio
3h 20m
PR unite (30g)
27

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di control-toolbox/OptimalControlProblems.jl

Tutte le issue di control-toolbox/OptimalControlProblems.jl

Issue simili

Altre issue su Julia

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.