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

Abierto
#285 0 comentarios 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 1 día

@ocots ya está trabajando en esto.

Desde el 31/10/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

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
Lenguaje dominante
Julia
Estrellas
13
Forks
1
Merge medio
3 h 20 min
PR fusionados (30 d)
27

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de control-toolbox/OptimalControlProblems.jl

Todos los issues de control-toolbox/OptimalControlProblems.jl

Issues similares

Más issues de Julia

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.