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

未关闭
#285 0 条评论 0 个 reaction 已指派 1 人 在 GitHub 查看

维护者通常 1 天内回复

@ocots 已经在做这个了。

开始于 2026年10月31日。

评估

这个 Issue 还没有评估数据。

描述

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
主要语言
Julia
星标
13
派生
1
平均合并
3 小时 24 分钟
30 天内合并 PR
34

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

control-toolbox/OptimalControlProblems.jl 的其他 Issue

查看 control-toolbox/OptimalControlProblems.jl 的全部 Issue

相似的 Issue

更多 Julia Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。