CUTEst Bounded Constrained Optimization.jl Benchmarks
CUTEst Bounded Constrained Optimization.jl Benchmarks
This benchmark runs constrained problems from the CUTEst test set through the Optimization.jl interface using OptimizationNLPModels. Two candidate pools are used:
- equality constrained:
CUTEst.select_sif_problems(min_con = 1, only_equ_con = true, only_free_var = false) - inequality constrained:
CUTEst.select_sif_problems(min_con = 1, only_ineq_con = true, only_free_var = false)
min_con = 1 requires at least one general (linear or nonlinear) constraint, only_equ_con keeps problems whose constraints are all equalities, and only_ineq_con keeps problems with no equality constraints. only_free_var = false is CUTEst's default and does not restrict variable bounds, so these pools contain problems with and without bounds on the variables; the companion CUTEst_unbounded page is the subset with only_free_var = true. Tightening this page to bounded variables only (only_bnd_var = true) is a selection change tracked in SciMLBenchmarks#1857.
All four CUTEst pages in this folder share the harness in cutest_benchmark_utils.jl, which defines the selection constants, the solver constructors, the run loop, and the summary and plotting helpers. The prose below describes the harness as it stands; refinements to the solver sets, solution-quality metrics, performance profiles, problem selection, and timing methodology are tracked in #1857.
Setup
ENV["GKSwstype"] = "100"
using CUTEst
using DataFrames
using Plots
using StatsPlots
using StatsBase: countmap
using Statistics
using Printf
include(joinpath(isdefined(Main, :WEAVE_ARGS) ? WEAVE_ARGS[:folder] : @__DIR__,
"cutest_benchmark_utils.jl"))plot_success_rates (generic function with 1 method)Problem selection
select_safe_problems walks each candidate pool in the order returned by CUTEst.select_sif_problems, skips any name in the hand-maintained KNOWN_BAD_PROBLEMS list, loads each remaining problem once to read its metadata, keeps it only if nvar <= MAX_NVAR and ncon <= MAX_NCON, and stops after MAX_PROBLEMS_PER_CATEGORY problems. Problems whose metadata cannot be loaded are skipped. The values in effect for this run are printed below.
println("MAX_PROBLEMS_PER_CATEGORY = ", MAX_PROBLEMS_PER_CATEGORY)
println("MAX_NVAR = ", MAX_NVAR)
println("MAX_NCON = ", MAX_NCON)
println("SOLVE_MAXITERS = ", SOLVE_MAXITERS)
println("SOLVE_TIMEOUT_SECONDS = ", SOLVE_TIMEOUT_SECONDS)
println("KNOWN_BAD_PROBLEMS = ", join(sort(collect(KNOWN_BAD_PROBLEMS)), ", "))
bounded_equality_problems = select_safe_problems(
collect(CUTEst.select_sif_problems(min_con = 1, only_equ_con = true,
only_free_var = false))
)
bounded_inequality_problems = select_safe_problems(
collect(CUTEst.select_sif_problems(min_con = 1, only_ineq_con = true,
only_free_var = false))
)
println("Selected bounded equality-constrained problems: ", length(bounded_equality_problems))
println(join(bounded_equality_problems, ", "))
println("Selected bounded inequality-constrained problems: ", length(bounded_inequality_problems))
println(join(bounded_inequality_problems, ", "))MAX_PROBLEMS_PER_CATEGORY = 50
MAX_NVAR = 1000
MAX_NCON = 1000
SOLVE_MAXITERS = 1000
SOLVE_TIMEOUT_SECONDS = 90.0
KNOWN_BAD_PROBLEMS = bloweya, chardis1, cleuven4, cmpc10, cmpc3, cvxqp2, di
ttert, hier13, lukvle8, lukvli7, mpc2, mss1, ninenew, patternne, reading2,
reading6
Selected bounded equality-constrained problems: 50
GAUSS2, DUAL2, WAYSEA1NE, BROWNDENE, HS79, GULFNE, JUDGENE, STRTCHDVNE, TRI
GON1NE, PENLT1NE, PALMER2NE, STEENBRA, BA-L1SP, EXPFITNE, SSINE, EIGMAXC, L
UKSAN17, DALLASM, HS7, GENROSEBNE, BOX3NE, HS54, CHANDHEQ, HS60, LEVYMONE,
KSS, HS48, BT9, S308NE, PALMER6ANE, MGH17S, DENSCHNDNE, HS119, CERI651B, PO
RTSNQP, EIGMINA, THURBER, CERI651E, ENSO, ALLINITC, LEAKNET, BARDNE, GOTTFR
, DUAL3, TRY-B, HATFLDBNE, STREGNE, SANTA, ZAMB2-11, PENLT2NE
Selected bounded inequality-constrained problems: 50
PRIMALC1, POLAK4, EXPFITA, HS35, HS106, HS34, HS95, ZECEVIC3, HYDROELM, AVG
ASB, HS17, S268, HS24, LEUVEN7, HS85, HS101, SYNTHES1, HS67, HS13, HIMMELP2
, MIFFLIN1, DEMBO7, LOOTSMA, HAIFAS, GIGOMEZ1, CRESC100, EXPFITC, HS108, HS
93, GMNCASE4, S277-280, GIGOMEZ2, HS36, DEMYMALO, HS105, SIMPLLPA, HS86, HS
117, CHACONN1, LHAIFAM, TFI1, ZECEVIC4, HS57, KIWCRESC, OPTPRLOC, HS100, WO
MFLET, PRIMALC2, POLAK3, HS33Solvers
CONSTRAINED_SOLVERS currently contains only Ipopt, run through OptimizationMOI. It is the only optimizer wired into the harness that accepts general equality and inequality constraints via Optimization.jl; the Optim.jl algorithms on the unconstrained page do not. Ipopt is configured with max_iter = SOLVE_MAXITERS, max_wall_time = SOLVE_TIMEOUT_SECONDS, tol = 1.0e-6, print_level = 0, and hessian_approximation = "limited-memory". The limited-memory setting is used because OptimizationNLPModels supplies the objective gradient and Hessian and the constraint values and Jacobian from the CUTEst model, but not the constraint Hessians needed for an exact Hessian of the Lagrangian. The same iteration and time limits are also passed to solve as maxiters and maxtime. Adding further constrained backends and an exact-Hessian Ipopt variant is item 1 of #1857.
Run
Each (problem, solver) pair is solved once by run_single_solve. A row records the return code as reported by Optimization.jl and a status of OK when solve returned, FAILED when it threw, or LOAD_FAILED when the CUTEst problem could not be constructed. The reported time is sol.stats.time when the solver provides a finite, non-negative value, and otherwise the wall-clock time measured around problem construction and solve together. run_benchmarks errors if a category yields no OK rows, so a broken environment fails the build instead of producing an empty page.
bounded_results = vcat(
run_benchmarks("bounded equality constrained", bounded_equality_problems,
CONSTRAINED_SOLVERS),
run_benchmarks("bounded inequality constrained", bounded_inequality_problems,
CONSTRAINED_SOLVERS),
)
display(bounded_results)Running bounded equality constrained benchmarks
Problems: 50
Solvers: Ipopt
Ipopt GAUSS2
***************************************************************************
***
This program contains Ipopt, a library for large-scale nonlinear optimizati
on.
Ipopt is released as open source code under the Eclipse Public License (EP
L).
For more information visit https://github.com/coin-or/Ipopt
***************************************************************************
***
OK Failure 0.508s
Ipopt DUAL2 OK Success 0.281s
Ipopt WAYSEA1NE OK Success 0.052s
Ipopt BROWNDENE OK Failure 0.002s
Ipopt HS79 OK Success 0.011s
Ipopt GULFNE OK Failure 0.002s
Ipopt JUDGENE OK Failure 0.002s
Ipopt STRTCHDVNE OK Success 0.011s
Ipopt TRIGON1NE OK Success 0.004s
Ipopt PENLT1NE OK Failure 0.002s
Ipopt PALMER2NE OK Failure 0.002s
Ipopt STEENBRA OK Success 0.353s
Ipopt BA-L1SP OK Success 0.009s
Ipopt EXPFITNE OK Failure 0.002s
Ipopt SSINE OK Success 0.418s
Ipopt EIGMAXC OK Success 0.062s
Ipopt LUKSAN17 OK Failure 0.007s
Ipopt DALLASM OK Success 1.624s
Ipopt HS7 OK Success 0.008s
Ipopt GENROSEBNE OK Failure 0.104s
Ipopt BOX3NE OK Failure 0.001s
Ipopt HS54 OK Success 0.050s
Ipopt CHANDHEQ OK Success 0.041s
Ipopt HS60 OK Success 0.013s
Ipopt LEVYMONE OK Failure 0.010s
Ipopt KSS OK Success 5.238s
Ipopt HS48 OK Success 0.010s
Ipopt BT9 OK Success 0.013s
Ipopt S308NE OK Failure 0.002s
Ipopt PALMER6ANE OK Failure 0.002s
Ipopt MGH17S OK Failure 0.002s
Ipopt DENSCHNDNE OK Success 0.019s
Ipopt HS119 OK Success 0.024s
Ipopt CERI651B OK Failure 0.002s
Ipopt PORTSNQP OK Success 0.012s
Ipopt EIGMINA OK Success 0.036s
Ipopt THURBER OK Failure 0.002s
Ipopt CERI651E OK Failure 0.002s
Ipopt ENSO OK Failure 0.003s
Ipopt ALLINITC OK Success 0.028s
Ipopt LEAKNET OK Success 0.141s
Ipopt BARDNE OK Failure 0.002s
Ipopt GOTTFR OK Success 0.005s
Ipopt DUAL3 OK Success 0.102s
Ipopt TRY-B OK Success 0.015s
Ipopt HATFLDBNE OK Infeasible 0.021s
Ipopt STREGNE OK Success 0.005s
Ipopt SANTA OK Failure 0.002s
Ipopt ZAMB2-11 OK Success 0.222s
Ipopt PENLT2NE OK Failure 0.002s
Running bounded inequality constrained benchmarks
Problems: 50
Solvers: Ipopt
Ipopt PRIMALC1 OK Success 0.236s
Ipopt POLAK4 OK Success 0.007s
Ipopt EXPFITA OK Success 0.043s
Ipopt HS35 OK Success 0.013s
Ipopt HS106 OK Success 0.038s
Ipopt HS34 OK Success 0.010s
Ipopt HS95 OK Success 0.010s
Ipopt ZECEVIC3 OK Success 0.016s
Ipopt HYDROELM OK Success 2.064s
Ipopt AVGASB OK Success 0.016s
Ipopt HS17 OK Success 0.017s
Ipopt S268 OK Success 0.099s
Ipopt HS24 OK Success 0.013s
Ipopt LEUVEN7 OK Success 88.271s
Ipopt HS85 OK MaxIters 0.499s
Ipopt HS101 OK MaxIters 0.634s
Ipopt SYNTHES1 OK Success 0.014s
Ipopt HS67 OK Success 0.015s
Ipopt HS13 OK Success 0.021s
Ipopt HIMMELP2 OK Success 0.018s
Ipopt MIFFLIN1 OK Success 0.009s
Ipopt DEMBO7 OK Success 0.059s
Ipopt LOOTSMA OK Success 0.008s
Ipopt HAIFAS OK Success 0.013s
Ipopt GIGOMEZ1 OK Success 0.012s
Ipopt CRESC100 OK Infeasible 1.904s
Ipopt EXPFITC OK Success 0.253s
Ipopt HS108 OK Success 0.041s
Ipopt HS93 OK Success 0.043s
Ipopt GMNCASE4 OK Success 0.147s
Ipopt S277-280 OK Success 0.008s
Ipopt GIGOMEZ2 OK Success 0.011s
Ipopt HS36 OK Success 0.009s
Ipopt DEMYMALO OK Success 0.008s
Ipopt HS105 OK MaxIters 0.892s
Ipopt SIMPLLPA OK Success 0.007s
Ipopt HS86 OK Success 0.015s
Ipopt HS117 OK Success 0.041s
Ipopt CHACONN1 OK Success 0.007s
Ipopt LHAIFAM OK Failure 0.007s
Ipopt TFI1 OK Success 0.069s
Ipopt ZECEVIC4 OK Success 0.012s
Ipopt HS57 OK Success 0.022s
Ipopt KIWCRESC OK Success 0.011s
Ipopt OPTPRLOC OK Success 0.024s
Ipopt HS100 OK Success 0.023s
Ipopt WOMFLET OK Success 0.022s
Ipopt PRIMALC2 OK Success 0.101s
Ipopt POLAK3 OK MaxIters 0.696s
Ipopt HS33 OK Success 0.010s
100×7 DataFrame
Row │ category problem solver n_vars secs
⋯
│ String String String Int64 Float64
⋯
─────┼─────────────────────────────────────────────────────────────────────
─────
1 │ bounded equality constrained GAUSS2 Ipopt 8 0.508391
⋯
2 │ bounded equality constrained DUAL2 Ipopt 96 0.280648
3 │ bounded equality constrained WAYSEA1NE Ipopt 2 0.052308
1
4 │ bounded equality constrained BROWNDENE Ipopt 4 0.002032
04
5 │ bounded equality constrained HS79 Ipopt 5 0.010977
⋯
6 │ bounded equality constrained GULFNE Ipopt 3 0.001919
03
7 │ bounded equality constrained JUDGENE Ipopt 2 0.001660
82
8 │ bounded equality constrained STRTCHDVNE Ipopt 10 0.010744
8
⋮ │ ⋮ ⋮ ⋮ ⋮ ⋮
⋱
94 │ bounded inequality constrained KIWCRESC Ipopt 3 0.010783
9 ⋯
95 │ bounded inequality constrained OPTPRLOC Ipopt 30 0.023802
96 │ bounded inequality constrained HS100 Ipopt 7 0.022841
9
97 │ bounded inequality constrained WOMFLET Ipopt 3 0.021660
1
98 │ bounded inequality constrained PRIMALC2 Ipopt 231 0.100701
⋯
99 │ bounded inequality constrained POLAK3 Ipopt 12 0.696041
100 │ bounded inequality constrained HS33 Ipopt 3 0.009507
89
2 columns and 85 rows om
ittedSummary
summarize_results groups rows by category and solver. completion_rate is the share of runs with status == "OK", i.e. the solver returned at all. success_rate is the share of runs whose return code is in SUCCESS_RETCODES (Success, Terminated, FirstOrderOptimal). Runs that stopped at MaxIters or MaxTime count as completed but not successful. median_secs is the median of the per-run time described above over all rows for that category and solver, including unsuccessful ones. No solution-quality metric (objective value, KKT residual, constraint violation) is recorded yet; see #1857.
bounded_summary = summarize_results(bounded_results)
plot_solve_times(bounded_results, "CUTEst bounded constrained Optimization.jl solve time")
plot_success_rates(bounded_summary, "CUTEst bounded constrained Optimization.jl success rate")Return code distribution:
Success: 72
Failure: 22
MaxIters: 4
Infeasible: 2
Summary:
2×8 DataFrame
Row │ category solver completed_runs successful_r
uns ⋯
│ String String Int64 Int64
⋯
─────┼─────────────────────────────────────────────────────────────────────
─────
1 │ bounded equality constrained Ipopt 50
28 ⋯
2 │ bounded inequality constrained Ipopt 50
44
4 columns om
itted

Appendix
These benchmarks are a part of the SciMLBenchmarks.jl repository, found at: https://github.com/SciML/SciMLBenchmarks.jl. For more information on high-performance scientific machine learning, check out the SciML Open Source Software Organization https://sciml.ai.
To locally run this benchmark, do the following commands:
using SciMLBenchmarks
SciMLBenchmarks.weave_file("benchmarks/OptimizationCUTEst","CUTEst_bounded.jmd")Computer Information:
Julia Version 1.12.7
Commit 6d172b025e4 (2026-08-15 08:05 UTC)
Build Info:
Official https://julialang.org release
Platform Info:
OS: Linux (x86_64-linux-gnu)
CPU: 128 × AMD EPYC 7502 32-Core Processor
WORD_SIZE: 64
LLVM: libLLVM-18.1.7 (ORCJIT, znver2)
GC: Built with stock GC
Threads: 128 default, 1 interactive, 128 GC (on 128 virtual cores)
Environment:
JULIA_DEPOT_PATH = /home/crackauc/github-runners/amdci8-1/.julia
JULIA_NUM_THREADS = auto
Package Information:
Status `~/github-runners/amdci8-1/_work/SciMLBenchmarks.jl/SciMLBenchmarks.jl/benchmarks/OptimizationCUTEst/Project.toml`
⌃ [1b53aba6] CUTEst v1.3.7
[a93c6f00] DataFrames v1.8.2
⌃ [b6b21f68] Ipopt v1.14.3
⌃ [b8f27783] MathOptInterface v1.51.0
[a4795742] NLPModels v0.21.12
⌃ [7f7a1694] Optimization v5.4.0
⌅ [fd9f6733] OptimizationMOI v0.5.11
⌃ [064b21be] OptimizationNLPModels v1.1.0
⌃ [36348300] OptimizationOptimJL v0.4.9
⌃ [42dfb2eb] OptimizationOptimisers v0.3.15
⌃ [91a5bcdd] Plots v1.41.6
⌃ [31c91b34] SciMLBenchmarks v0.1.3 [loaded: v0.2.1]
⌃ [10745b16] Statistics v1.11.1
⌃ [2913bbd2] StatsBase v0.34.10
[f3b207a7] StatsPlots v0.15.8
[de0858da] Printf v1.11.0
Info Packages marked with ⌃ and ⌅ have new versions available. Those with ⌃ may be upgradable, but those with ⌅ are restricted by compatibility constraints from upgrading. To see why use `status --outdated`And the full manifest:
Status `~/github-runners/amdci8-1/_work/SciMLBenchmarks.jl/SciMLBenchmarks.jl/benchmarks/OptimizationCUTEst/Manifest.toml`
⌃ [47edcb42] ADTypes v1.22.0
[621f4979] AbstractFFTs v1.5.0
[1520ce14] AbstractTrees v0.4.5
⌃ [7d9f7c33] Accessors v0.1.44
⌃ [79e6a3ab] Adapt v4.6.0
[66dad0bd] AliasTables v1.1.3
[ec485272] ArnoldiMethod v0.4.0
[7d9fca2a] Arpack v0.5.4
⌃ [4fba245c] ArrayInterface v7.25.0
[4c555306] ArrayLayouts v1.12.2
[13072b0f] AxisAlgorithms v1.1.0
[e2ed5e7c] Bijections v0.2.2
⌃ [d1d4a3ce] BitFlags v0.1.9
[62783981] BitTwiddlingConvenienceFunctions v0.1.6
⌃ [8e7c35d0] BlockArrays v1.9.3
⌃ [70df07ce] BracketingNonlinearSolve v1.12.1
[2a0fbf3d] CPUSummary v0.2.7
⌃ [1b53aba6] CUTEst v1.3.7
[d360d2e6] ChainRulesCore v1.26.1
[fb6a15b2] CloseOpenIntervals v0.1.13
[aaaa29a8] Clustering v0.15.8
[523fee87] CodecBzip2 v0.8.5
⌃ [944b1d66] CodecZlib v0.7.8
[35d6a980] ColorSchemes v3.31.0
[3da002f7] ColorTypes v0.12.1
[c3611d14] ColorVectorSpace v0.11.0
[5ae59095] Colors v0.13.1
⌅ [861a8166] Combinatorics v1.0.2
⌃ [a80b9123] CommonMark v1.0.1
⌃ [38540f10] CommonSolve v0.2.7
[bbf7d656] CommonSubexpressions v0.3.1
⌃ [f70d9fcc] CommonWorldInvalidations v1.0.0
[34da2185] Compat v4.18.1
[b152e2b5] CompositeTypes v0.1.4
[a33af91c] CompositionsBase v0.1.2
⌃ [2569d6c7] ConcreteStructs v0.2.4
⌃ [f0e56b4a] ConcurrentUtilities v2.5.1
[8f4d0f93] Conda v1.10.3
[88cd18e8] ConsoleProgressMonitor v0.1.2
[187b0558] ConstructionBase v1.6.0
[d38c429a] Contour v0.6.3
[adafc99b] CpuId v0.3.1
⌃ [a8cc5b0e] Crayons v4.1.1
[9a962f9c] DataAPI v1.16.0
[a93c6f00] DataFrames v1.8.2
⌃ [864edb3b] DataStructures v0.19.4
[e2d170a0] DataValueInterfaces v1.0.0
[8bb1440f] DelimitedFiles v1.9.1
⌅ [2b5f629d] DiffEqBase v6.214.1
⌃ [459566f4] DiffEqCallbacks v4.17.0
⌃ [77a26b50] DiffEqNoiseProcess v5.31.1
[163ba53b] DiffResults v1.1.0
⌃ [b552c78f] DiffRules v1.15.1
⌃ [a0c0ee7d] DifferentiationInterface v0.7.18
[8d63f2c5] DispatchDoctor v0.4.28
[b4f34e82] Distances v0.10.12
⌃ [31c24e10] Distributions v0.25.125
[ffbed154] DocStringExtensions v0.9.5
⌅ [5b8099bc] DomainSets v0.7.18
⌃ [7c1d4256] DynamicPolynomials v0.6.6
[06fc5a27] DynamicQuantities v1.13.0
[4e289a0a] EnumX v1.0.7
⌃ [f151be2c] EnzymeCore v0.8.20
[460bff9d] ExceptionUnwrapping v0.1.11
⌃ [e2ba6199] ExprTools v0.1.10
[55351af7] ExproniconLite v0.10.14
[c87230d0] FFMPEG v0.4.5
[b86e33f2] FFTA v0.3.1
⌃ [7034ab61] FastBroadcast v1.3.2
[9aa1b823] FastClosures v0.3.2
⌃ [a4df4552] FastPower v1.3.1
⌃ [1a297f60] FillArrays v1.16.0
⌅ [64ca27bc] FindFirstFunctions v1.8.0
⌃ [6a86dc24] FiniteDiff v2.31.0
⌅ [53c48c17] FixedPointNumbers v0.8.5
[1fa38f19] Format v1.3.7
⌃ [f6369f11] ForwardDiff v1.3.3
[a85aefff] FunctionMaps v0.1.2
[069b7b12] FunctionWrappers v1.1.3
⌅ [77dc65aa] FunctionWrappersWrappers v0.1.3
⌃ [d9f16b24] Functors v0.5.2
[46192b85] GPUArraysCore v0.2.0
⌃ [28b8d3ca] GR v0.73.24
[d7ba0133] Git v1.5.0
[c27321d9] Glob v1.5.0
⌃ [86223c79] Graphs v1.14.0
[42e2da0e] Grisu v1.0.2
⌅ [cd3eb016] HTTP v1.11.0
⌅ [eafb193a] Highlights v0.5.3
⌃ [34004b35] HypergeometricFunctions v0.3.28
[7073ff75] IJulia v1.34.4
[615f187c] IfElse v0.1.1
⌅ [3263718b] ImplicitDiscreteSolve v1.10.0
[d25df0c9] Inflate v0.1.5
⌅ [842dd82b] InlineStrings v1.4.5
⌃ [18e54dd8] IntegerMathUtils v0.1.3
⌃ [a98d9a8b] Interpolations v0.16.2
[8197267c] IntervalSets v0.7.14
[3587e190] InverseFunctions v0.1.17
[41ab1584] InvertedIndices v1.3.1
⌃ [b6b21f68] Ipopt v1.14.3
[92d709cd] IrrationalConstants v0.2.6
[82899510] IteratorInterfaceExtensions v1.0.0
[1019f520] JLFzf v0.1.11
[692b3bcd] JLLWrappers v1.8.0
⌅ [682c06a0] JSON v0.21.4
[ae98c720] Jieko v0.2.1
⌃ [98e50ef6] JuliaFormatter v2.5.0
[70703baa] JuliaSyntax v1.0.2
⌃ [ccbc3e58] JumpProcesses v9.29.0
⌃ [5ab0869b] KernelDensity v0.6.11
⌃ [ba0b0d4f] Krylov v0.10.6
⌃ [b964fa9f] LaTeXStrings v1.4.0
⌃ [23fbe1c1] Latexify v0.16.10
[10f19ff3] LayoutPointers v0.1.17
⌅ [1d6d02ad] LeftChildRightSiblingTrees v0.2.1
⌃ [87fe0de2] LineSearch v0.1.9
⌃ [d3d80556] LineSearches v7.7.1
⌃ [5c8ed15e] LinearOperators v2.13.0
⌅ [7ed4a6bd] LinearSolve v3.82.0
⌅ [2ab3a3ac] LogExpFunctions v0.3.29
[e6f89c97] LoggingExtras v1.2.0
[d8e11817] MLStyle v0.4.17
[1914dd2f] MacroTools v0.5.16
[d125e4d3] ManualMemory v0.1.8
⌃ [b8f27783] MathOptInterface v1.51.0
⌃ [bb5d69b7] MaybeInplace v0.1.4
[739be429] MbedTLS v1.1.10
[442fdcdd] Measures v0.3.3
[e1d29d7a] Missings v1.2.0
⌅ [961ee093] ModelingToolkit v10.32.1
⌃ [2e0e35c7] Moshi v0.3.7
⌃ [46d2c3a1] MuladdMacro v0.2.4
[102ac46a] MultivariatePolynomials v0.5.19
⌃ [6f286f6a] MultivariateStats v0.10.4
[ffc61752] Mustache v1.0.21
[d8a4904e] MutableArithmetics v1.8.0
[a4795742] NLPModels v0.21.12
⌃ [d41bc354] NLSolversBase v8.0.0
⌃ [77ba4419] NaNMath v1.1.3
⌃ [b8a86587] NearestNeighbors v0.4.27
⌃ [be0214bd] NonlinearSolveBase v2.11.2
⌃ [5959db7a] NonlinearSolveFirstOrder v2.0.0
[510215fc] Observables v0.5.5
[6fe1bfb0] OffsetArrays v1.17.0
[4d8831e6] OpenSSL v1.6.1
⌃ [429524aa] Optim v2.1.0
⌃ [3bd65402] Optimisers v0.4.7
⌃ [7f7a1694] Optimization v5.4.0
⌅ [bca83a33] OptimizationBase v4.2.0
⌅ [fd9f6733] OptimizationMOI v0.5.11
⌃ [064b21be] OptimizationNLPModels v1.1.0
⌃ [36348300] OptimizationOptimJL v0.4.9
⌃ [42dfb2eb] OptimizationOptimisers v0.3.15
⌅ [bac558e1] OrderedCollections v1.8.1 [loaded: v2.0.1]
⌅ [bbf590c4] OrdinaryDiffEqCore v3.28.0
⌃ [90014a1f] PDMats v0.11.37
⌅ [69de0a69] Parsers v2.8.4 [loaded: v2.8.8]
[ccf2f8ad] PlotThemes v3.3.0
[995b91a9] PlotUtils v1.4.4
⌃ [91a5bcdd] Plots v1.41.6
⌃ [e409e4f3] PoissonRandom v0.4.8
[f517fe37] Polyester v0.7.19
[1d0040c9] PolyesterWeave v0.2.2
[2dfb63ee] PooledArrays v1.4.3
[85a6dd25] PositiveFactorizations v0.2.4
⌃ [d236fae5] PreallocationTools v0.4.34
[aea7be01] PrecompileTools v1.3.4
[21216c6a] Preferences v1.5.2
⌃ [08abe8d2] PrettyTables v3.3.2
[27ebfcd6] Primes v0.5.7
[33c8b6b6] ProgressLogging v0.1.6
[92933f4c] ProgressMeter v1.11.0
[43287f4e] PtrArrays v1.4.0
[1fd47b50] QuadGK v2.11.3
⌅ [be4d8f0f] Quadmath v0.5.13
[c84ed2f1] Ratios v0.4.5
[3cdcf5f2] RecipesBase v1.3.4
[01d81517] RecipesPipeline v0.6.12
⌅ [731186ca] RecursiveArrayTools v3.54.0
[189a3867] Reexport v1.2.2
[05181044] RelocatableFolders v1.0.1
[ae029012] Requires v1.3.1
⌃ [ae5879a3] ResettableStacks v1.2.0
[79098fc4] Rmath v0.9.0
⌃ [7e49a35a] RuntimeGeneratedFunctions v0.5.19
⌃ [9dfe8606] SCCNonlinearSolve v1.13.0
[94e857df] SIMDTypes v0.1.0
[1bc83da4] SafeTestsets v0.1.0
⌅ [0bca4576] SciMLBase v2.153.1
⌃ [31c91b34] SciMLBenchmarks v0.1.3 [loaded: v0.2.1]
⌃ [19f34311] SciMLJacobianOperators v0.1.13
⌅ [a6db7da4] SciMLLogging v1.10.1
⌃ [c0aeaf25] SciMLOperators v1.21.0
⌃ [431bcebd] SciMLPublic v1.0.1
⌃ [53ae85a6] SciMLStructures v1.10.0
[6c6a2e73] Scratch v1.3.0
[91c51154] SentinelArrays v1.4.10
[efcf1570] Setfield v1.1.2
⌃ [992d4aef] Showoff v1.0.3
[777ac1f9] SimpleBufferStream v1.2.0
⌃ [727e6d20] SimpleNonlinearSolve v2.11.0
[699a6c99] SimpleTraits v0.9.6
⌃ [a2af1166] SortingAlgorithms v1.2.2
⌃ [9f842d2f] SparseConnectivityTracer v1.2.1
⌃ [0a514795] SparseMatrixColorings v0.4.27
⌃ [276daf66] SpecialFunctions v2.7.2
[860ef19b] StableRNGs v1.0.4
[0c0c59c1] StarAlgebras v0.3.0
⌃ [aedffcd0] Static v1.4.0
[0d7ed370] StaticArrayInterface v1.10.0
⌃ [90137ffa] StaticArrays v1.9.18
[1e83bf80] StaticArraysCore v1.4.4
⌃ [10745b16] Statistics v1.11.1
[82ae8749] StatsAPI v1.8.0
⌃ [2913bbd2] StatsBase v0.34.10
⌅ [4c63d2b9] StatsFuns v1.5.2
[f3b207a7] StatsPlots v0.15.8
[7792a7ef] StrideArraysCore v0.5.9
[69024149] StringEncodings v0.3.7
⌅ [892a3eda] StringManipulation v0.4.4
⌃ [2efcf032] SymbolicIndexingInterface v0.3.48
⌅ [19f23fe9] SymbolicLimits v0.2.3
⌅ [d1185830] SymbolicUtils v3.32.0
⌅ [0c5d862f] Symbolics v6.58.0
[ab02a1b2] TableOperations v1.2.0
[3783bdb8] TableTraits v1.0.1
⌃ [bd369af6] Tables v1.12.1 [loaded: v1.14.0]
[ed4db957] TaskLocalValues v0.1.3
[62fd8b95] TensorCore v0.1.1
[8ea1fca8] TermInterface v2.0.0
⌃ [5d786b92] TerminalLoggers v0.1.7
⌃ [1c621080] TestItems v1.0.0
⌃ [8290d209] ThreadingUtilities v0.5.5
⌅ [a759f4b9] TimerOutputs v0.5.29
[3bb67fe8] TranscodingStreams v0.11.3
[410a4b4d] Tricks v0.1.13
[781d530d] TruncatedStacktraces v1.4.0
⌃ [5c2747f8] URIs v1.6.1
[3a884ed6] UnPack v1.0.2
[1cfade01] UnicodeFun v0.4.1
⌃ [1986cc42] Unitful v1.28.0
[a7c27f48] Unityper v0.1.6
[41fe7b60] Unzip v0.2.0
[81def892] VersionParsing v1.3.0
[44d3d7a6] Weave v0.10.12
⌃ [cc8bc4a8] Widgets v0.6.7
[efce3f68] WoodburyMatrices v1.1.0
[ddb6d928] YAML v0.4.16
[c2297ded] ZMQ v1.5.1
⌃ [ae81ac8f] ASL_jll v0.1.3+0
⌅ [68821587] Arpack_jll v3.5.2+0
[6e34b625] Bzip2_jll v1.0.9+0
⌃ [bb5f6f25] CUTEst_jll v2.6.0+0
[83423d85] Cairo_jll v1.18.7+0
[ee1fde0b] Dbus_jll v1.16.2+0
[2702e6a9] EpollShim_jll v0.0.20230411+1
⌃ [2e619515] Expat_jll v2.8.1+0
⌅ [b22a6f82] FFMPEG_jll v8.1.0+0
[a3f928ae] Fontconfig_jll v2.17.1+0
[d7e528f0] FreeType2_jll v2.14.3+1
[559328eb] FriBidi_jll v1.0.17+0
⌃ [0656b61e] GLFW_jll v3.4.1+1
⌅ [d2c73de3] GR_jll v0.73.24+0
⌅ [b0724c58] GettextRuntime_jll v0.22.4+0
[61579ee1] Ghostscript_jll v9.55.1+0
[020c3dae] Git_LFS_jll v3.7.1+0
⌃ [f8c6e375] Git_jll v2.54.0+0
⌃ [7746bdde] Glib_jll v2.86.3+0
⌃ [3b182d85] Graphite2_jll v1.3.15+0
⌅ [2e76f6c2] HarfBuzz_jll v8.5.1+0
⌃ [e33a78d0] Hwloc_jll v2.13.0+1
[1d5cc7b8] IntelOpenMP_jll v2025.2.0+0
⌅ [9cc047cb] Ipopt_jll v300.1400.1901+0
⌃ [aacddb02] JpegTurbo_jll v3.1.5+0
[c1c5ebd0] LAME_jll v3.100.3+0
⌃ [88015f11] LERC_jll v4.1.0+0
⌃ [1d63c593] LLVMOpenMP_jll v18.1.8+0
⌅ [e9f186c6] Libffi_jll v3.4.7+0
[7e76a0d4] Libglvnd_jll v1.7.1+1
[94ce4f54] Libiconv_jll v1.18.0+0
[4b2f31a3] Libmount_jll v2.42.0+0
⌃ [89763e89] Libtiff_jll v4.7.2+0
[38a345b3] Libuuid_jll v2.42.0+0
[d00139f3] METIS_jll v5.1.3+0
[856f044c] MKL_jll v2025.2.0+0
⌅ [d7ed1dd3] MUMPS_seq_jll v500.800.200+0
[c8ffd9c3] MbedTLS_jll v2.28.1010+0
[e7412a2a] Ogg_jll v1.3.6+0
⌃ [656ef2d0] OpenBLAS32_jll v0.3.33+1
⌃ [9bd350c2] OpenSSH_jll v10.3.1+0
[efe28fd5] OpenSpecFun_jll v0.5.6+0
[91d4177d] Opus_jll v1.6.1+0
⌃ [36c8627f] Pango_jll v1.57.1+0
[30392449] Pixman_jll v0.46.4+0
[c0090381] Qt6Base_jll v6.10.2+2
⌃ [629bc702] Qt6Declarative_jll v6.10.2+1
[ce943373] Qt6ShaderTools_jll v6.10.2+1
[6de9746b] Qt6Svg_jll v6.10.2+0
[e99dba38] Qt6Wayland_jll v6.10.2+1
⌃ [f50d1b31] Rmath_jll v0.5.1+0
⌃ [54dcf436] SIFDecode_jll v3.1.0+0
⌃ [319450e9] SPRAL_jll v2025.9.18+0
[a44049a8] Vulkan_Loader_jll v1.3.243+0
[a2964d1f] Wayland_jll v1.24.0+0
⌅ [02c8fc9c] XML2_jll v2.13.9+0
[ffd25f8a] XZ_jll v5.8.3+0
[f67eecfb] Xorg_libICE_jll v1.1.2+0
[c834827a] Xorg_libSM_jll v1.2.6+0
[4f6342f7] Xorg_libX11_jll v1.8.13+0
[0c0b7dd1] Xorg_libXau_jll v1.0.13+0
[935fb764] Xorg_libXcursor_jll v1.2.4+0
[a3789734] Xorg_libXdmcp_jll v1.1.6+0
[1082639a] Xorg_libXext_jll v1.3.8+0
[d091e8ba] Xorg_libXfixes_jll v6.0.2+0
⌃ [a51aa0fd] Xorg_libXi_jll v1.8.3+0
[d1454406] Xorg_libXinerama_jll v1.1.7+0
[ec84b674] Xorg_libXrandr_jll v1.5.6+0
[ea2f1a96] Xorg_libXrender_jll v0.9.12+0
[a65dc6b1] Xorg_libpciaccess_jll v0.19.0+0
[c7cfdc94] Xorg_libxcb_jll v1.17.1+0
[cc61e674] Xorg_libxkbfile_jll v1.2.0+0
[e920d4aa] Xorg_xcb_util_cursor_jll v0.1.6+0
[12413925] Xorg_xcb_util_image_jll v0.4.1+0
[2def613f] Xorg_xcb_util_jll v0.4.1+0
[975044d2] Xorg_xcb_util_keysyms_jll v0.4.1+0
[0d47668e] Xorg_xcb_util_renderutil_jll v0.3.10+0
[c22f9ab0] Xorg_xcb_util_wm_jll v0.4.2+0
[35661453] Xorg_xkbcomp_jll v1.4.7+0
⌃ [33bec58e] Xorg_xkeyboard_config_jll v2.47.0+1
[c5fb5394] Xorg_xtrans_jll v1.6.0+0
[8f1865be] ZeroMQ_jll v4.3.6+0
[3161d3a3] Zstd_jll v1.5.7+1
[35ca27e7] eudev_jll v3.2.14+0
⌅ [214eeab7] fzf_jll v0.61.1+0
⌃ [a4ae2306] libaom_jll v3.13.3+0
⌃ [0ac62f75] libass_jll v0.17.4+0
[1183f4f0] libdecor_jll v0.2.2+0
⌃ [8e53e030] libdrm_jll v2.4.125+1
[2db6ffa8] libevdev_jll v1.13.4+0
[f638f0a6] libfdk_aac_jll v2.0.4+0
[36db933b] libinput_jll v1.28.1+0
[b53b4c65] libpng_jll v1.6.58+0
[a9144af2] libsodium_jll v1.0.21+0
[9a156e7d] libva_jll v2.23.0+0
[f27f6e37] libvorbis_jll v1.3.8+0
[009596ad] mtdev_jll v1.1.7+0
[1317d2d5] oneTBB_jll v2022.3.0+0
⌅ [1270edf5] x264_jll v10164.0.1+0
[dfaa095f] x265_jll v4.1.0+0
[d8fb68d0] xkbcommon_jll v1.13.0+0
[0dad84c5] ArgTools v1.1.2
[56f22d72] Artifacts v1.11.0
[2a0f44e3] Base64 v1.11.0
[ade2ca70] Dates v1.11.0
[8ba89e20] Distributed v1.11.0
[f43a241f] Downloads v1.7.0
[7b1f6079] FileWatching v1.11.0
[9fa8497b] Future v1.11.0
[b77e0a4c] InteractiveUtils v1.11.0
[ac6e5ff7] JuliaSyntaxHighlighting v1.12.0
[4af54fe1] LazyArtifacts v1.11.0
[b27032c2] LibCURL v0.6.4
[76f85450] LibGit2 v1.11.0
[8f399da3] Libdl v1.11.0
[37e2e46d] LinearAlgebra v1.12.0
[56ddb016] Logging v1.11.0
[d6f4376e] Markdown v1.11.0
[a63ad114] Mmap v1.11.0
[ca575930] NetworkOptions v1.3.0
[44cfe95a] Pkg v1.12.1
[de0858da] Printf v1.11.0
[3fa0cd96] REPL v1.11.0
[9a3f8284] Random v1.11.0
[ea8e919c] SHA v0.7.0
[9e88b42a] Serialization v1.11.0
[1a1011a3] SharedArrays v1.11.0
[6462fe0b] Sockets v1.11.0
[2f01184e] SparseArrays v1.12.0
[f489334b] StyledStrings v1.11.0
[4607b0f0] SuiteSparse
[fa267f1f] TOML v1.0.3
[a4e569a6] Tar v1.10.0
[8dfed614] Test v1.11.0
[cf7118a7] UUIDs v1.11.0
[4ec0a83e] Unicode v1.11.0
[e66e0078] CompilerSupportLibraries_jll v1.3.0+1
[deac9b47] LibCURL_jll v8.15.0+0
[e37daf67] LibGit2_jll v1.9.0+0
[29816b5a] LibSSH2_jll v1.11.3+1
[14a3606d] MozillaCACerts_jll v2025.11.4
[4536629a] OpenBLAS_jll v0.3.29+0
[05823500] OpenLibm_jll v0.8.7+0
[458c3c95] OpenSSL_jll v3.5.4+0
[efcefdf7] PCRE2_jll v10.44.0+1
[bea87d4a] SuiteSparse_jll v7.8.3+2
[83775a58] Zlib_jll v1.3.1+2
[8e850b90] libblastrampoline_jll v5.15.0+0
[8e850ede] nghttp2_jll v1.64.0+1
[3f19e933] p7zip_jll v17.7.0+0
Info Packages marked with ⌃ and ⌅ have new versions available. Those with ⌃ may be upgradable, but those with ⌅ are restricted by compatibility constraints from upgrading. To see why use `status --outdated -m`