Repository navigation
test: cover multi-objective optimization acceptance cases - #5196
Draft
ChrisRackauckas-Claude wants to merge 5 commits into
Draft
ChrisRackauckas-Claude wants to merge 5 commits into
ChrisRackauckas-Claude wants to merge 5 commits into
Conversation
Exercise multi-objective costs and their Jacobian with array unknowns, compare weighted scalarization to the objective dot product, and solve a textbook two-objective problem on its known Pareto front. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Codex <noreply@openai.com> Agent-Harness: Codex CLI 0.156.1 Agent-Model: gpt-6-luna Agent-Session: local session, transcript at /home/crackauc/sandbox/agent-jobs/ModelingToolkit.jl/jobs/5150-opencode/log-cont1.txt on amdci2.julia.csail.mit.edu
Drop the seed-fragile Pareto front claim, pin NSGA-II via StableRNG on a bounded off-front problem, assert array-unknown Jacobian values, and declare Random/SciMLBase/StableRNGs plus OptimizationEvolutionary ≥ 0.4.13. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Cursor Agent <noreply@cursor.com> Agent-Harness: Cursor Agent CLI 2026.09.18-9a7762b Agent-Model: auto Agent-Session: local session, transcript at /home/crackauc/sandbox/agent-jobs/ModelingToolkit.jl/jobs/5150-opencode/log-cont2.txt on amdci2.julia.csail.mit.edu
…problem Array-unknown 1D Poisson least-squares with Tikhonov regularization: the multi-objective costs and Jacobian match analytic values, the weighted objective equals dot(weights, costs), and the LBFGS minimizer of the weighted problem matches the normal-equations solution and is stationary for weights' * J. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude <noreply@anthropic.com> Agent-Harness: Claude Code 2.1.280 Agent-Model: claude-opus-5-5 Agent-Session: local session, transcript at /home/crackauc/sandbox/agent-jobs/ModelingToolkit.jl/jobs/5150-opencode/log-cont3.txt on amdci2.julia.csail.mit.edu
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Devin <noreply@cognition.ai> Agent-Harness: Devin CLI 3000.11.3 (conflict resolution), Claude Code 2.1.285 (orchestration) Agent-Model: fusion-claude-opus-5-5-high-sidekick-swe-2-medium Agent-Session: local Claude session 3c311569-dda6-4687-bc9f-65febb212c33 (fleet master); Devin log /Users/chrisrackauckas/sandbox/master/fusion-fixes/SciML_ModelingToolkit.jl-5196/log.txt
Member
Merged the default branch into this PR (clean merge, no conflicts; head 4e98ad5) so CI runs on current master. 🤖 Posted by an AI agent — harness: Devin CLI 3000.11.3 (merge), Claude Code 2.1.285 (posting) · model: fusion-claude-opus-5-5-high-sidekick-swe-2-medium |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This test-only PR covers the existing multi-objective
OptimizationProblem(sys, op; multiobjective = true)API: individual costs, analytic Jacobians with whole array unknowns, weighted-sum agreement, and a discretized Poisson weighted solve checked against normal equations and the cost-vector Jacobian. A bounded NSGA-II test checks that OptimizationEvolutionary consumes the generated objectives.Depends on JuliaSymbolics/Symbolics.jl#2013, which fixes the hash-order-dependent nested-reduction gradient failure tracked in #5199. The unchanged Poisson test now passes locally on both Julia LTS and 1.11 using that Symbolics checkout. Keep this draft blocked until the Symbolics fix is reviewed, merged, and released, then raise the relevant dependency floor and validate with the released dependency. A cross-repository dependency cannot be expressed as this Git branch's base; the base remains MTK
master.OptimizationEvolutionary/Evolutionary and StableRNGs are MIT-licensed test dependencies. No production source or public API changes in this MTK PR.
Verification
From the MTK repository root, with
TMPDIRset to the job tmp directory,OPENBLAS_NUM_THREADS=4, and a job-local writable depot followed by the shared dependency depot:The scratch environment develops MTK from this branch and Symbolics at
eff957511cd194d5586972ebf377d281a1c59e60; it uses SymbolicUtils 4.47.2. These are tests of the proposed upstream fix, not a claim that registered dependencies already work.Before the Symbolics fix, round-2 review reproduced 94 passes and 1 error twice on Julia 1.10.12:
The upstream PR includes a standalone regression that fails on clean Symbolics master on both versions (6 pass, 1 failure, 6 errors), then passes with the fix (13/13); its full differentiation test file passes 380/380 on each version.
Earlier verification retained from this PR and its round-2 review:
Limits and reviewer notes
GROUP=Optimizationremains unverified: Pyomo/CasADi precompilation raisesLookupError: no codec search functions registeredin the local environment.Part of #5150.
Please ignore this draft until reviewed by @ChrisRackauckas.
Links
Risk assessment
/home/crackauc/sandbox/agent-jobs/ModelingToolkit.jl/reviews/pr-5196/round2/REVIEW.md.🤖 Updated with Codex CLI 0.157.1 (model: gpt-6-astra); local session, transcript at /home/crackauc/sandbox/agent-jobs/ModelingToolkit.jl/jobs/5150-opencode/log-cont5.txt on amdci2.julia.csail.mit.edu. Earlier branch commits retain their opencode, Cursor, and Claude Code attribution.