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

Aberta
#285 0 comentários 0 reações 1 responsável Ver no GitHub

Mantenedores costumam responder em até 1 dia

@ocots já está trabalhando nisso.

Desde 31/10/2026.

Avaliação

Esta issue ainda não foi avaliada.

Descrição

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
Linguagem predominante
Julia
Estrelas
13
Forks
1
Merge médio
3h 20min
PRs com merge (30d)
27

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de control-toolbox/OptimalControlProblems.jl

Todas as issues de control-toolbox/OptimalControlProblems.jl

Issues semelhantes

Mais issues de Julia

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.