Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions benchmarks/OptimizationCUTEst/CUTEst_quadratic.jmd
Original file line number Diff line number Diff line change
Expand Up @@ -109,11 +109,6 @@ function run_benchmarks(problems, optimizers; chunk_size=1)
return DataFrame(problem = problem, n_vars = n_vars, secs = secs, solver = solver, retcode = retcode)
end
```
GC.gc()
@info "Completed chunk, memory usage cleaned up"
end
return DataFrame(problem = problem, n_vars = n_vars, secs = secs, solver = solver, retcode = retcode)
end
```

# Benchmarks
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/OptimizationCUTEst/CUTEst_unbounded.jmd
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ neq_unb_problems = filter(p -> p in ["HS21", "HS35", "HS38", "HS39", "HS41"], al


# Harmonized analysis block for inequality-constrained unbounded problems
neq_unb_results = run_unbounded_benchmarks(neq_unb_problems, optimizers; chunk_size=3)
neq_unb_results = run_benchmarks(neq_unb_problems, optimizers; chunk_size=3)
println("Full results table for inequality-constrained problems:")
if nrow(neq_unb_results) > 0
display(neq_unb_results)
Expand Down
25 changes: 0 additions & 25 deletions benchmarks/OptimizationCUTEst/CUTEst_unconstrained.jmd
Original file line number Diff line number Diff line change
Expand Up @@ -13,31 +13,6 @@ CUTEst, the Constrained and Unconstrained Testing Environment, is a collection o
CUTEst contains 286 unconstrained problems. We will compare how the optimizers behave in
terms of the time to solution with respect to the number of variables.

total_attempts = nrow(unc_results)
successful_attempts = nrow(successful_results)
success_rate = total_attempts > 0 ? round(successful_attempts / total_attempts * 100, digits=1) : 0

println("SUCCESS RATE ANALYSIS:")
println("Total attempts: ", total_attempts)
println("Successful attempts: ", successful_attempts)
println("Success rate: ", success_rate, "%")

# Show distribution of return codes
println("Return code distribution:")
if total_attempts > 0
for (code, count) in sort(collect(pairs(countmap(unc_results.retcode))), by=x->x[2], rev=true)
println(" ", code, ": ", count, " occurrences")
end
else
println(" No results to analyze")
end

@df unc_results scatter(:n_vars, :secs,
group = :solver,
xlabel = "n. variables",
ylabel = "secs.",
title = "Time to solution by optimizer and number of vars",
)

```julia
using Optimization
Expand Down