Skip to content

[Cron] Robustness of the initial guess and known local objectives #378

Closed

Description

@ocots

Agents: read the guide for agents in #310 first. Specification: this description, #306 and its comments.

Sub-issue of #306, part 4 of 5. Depends on part 1 (reference objectives).

Scope

From the comment of #306 on local minima: a cron test solving each problem under several Ipopt options and reporting the spread of the objective; a list of known local objectives per problem, scheme and default grid, next to the reference. The convergence report says which known solution a solve reached (global, known local, new). Reported, never a test failure (#360).

Done when

  • Robustness cron test and its report.
  • Known local objectives in the metadata, generated, not typed.

Refs #306, #310

Activity

  1. ocots commented on Nov 5, 2026

    @ocots
    MemberAuthor

    Input from #375 (PR #380): the first computation of the reference objectives found three disagreements between configurations, all split by solver, not by modeling or platform:

    • mountain_car: Ipopt (JuMP, OptimalControl ADNLP) 102.39757, MadNLP (OptimalControl and scalarized, Exa) 102.38100: two local solutions. This is the 1.6e-4 gap that once made the scalarized model :draft; it does not come from the scalarization.
    • jackson, rocket: MadNLP stops 1.5e-6 and 1.7e-6 above Ipopt, identically on every platform; probably the stopping test of MadNLP at tol = 1e-8 rather than another solution; to check.

    The per-solve objectives are in ext/MetaData/references/<problem>.toml (results).

  2. ocots commented on Nov 6, 2026

    @ocots
    MemberAuthor

    Taken by an agent; a plan follows once #376 is in review.

  3. added a commit that references this issue on Nov 6, 2026
  4. ocots commented on Nov 6, 2026

    @ocots
    MemberAuthor

    Done in #393 (merged).

    Next: the robustness and weekly crons are running on main (workflow_dispatch). Once they finish, the references are computed again from their artifacts (tools/references/README.md) in a pull request; bioreactor's reference then becomes the best known solution.

    🤖 Generated with Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions