Skip to content

Commit 6a9da07

Browse files
committed
fixed variable use in benchmarks
1 parent 5229720 commit 6a9da07

File tree

1 file changed

+62
-2
lines changed

1 file changed

+62
-2
lines changed

benchmarks/OptimizationCUTEst/CUTEst.jmd

Lines changed: 62 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ using OptimizationMOI: MOI as MOI
2626
using DataFrames
2727
using Plots
2828
using StatsPlots
29+
30+
plotlyjs() # Facilitating interaction with the resulting plots
2931
```
3032

3133
# Benchmarks
@@ -124,7 +126,7 @@ optimizer.
124126
eq_unb_problems = CUTEst.select(min_con=1, only_equ_con=true, only_free_var=true)
125127

126128
# Analysis
127-
eq_unb_results = run_benchmarks(unc_problems, optimizers)
129+
eq_unb_results = run_benchmarks(eq_unb_problems, optimizers)
128130

129131
@df eq_unb_results scatter(:n_vars, :secs,
130132
group = :solver,
@@ -140,12 +142,70 @@ Next, we examine the same relationship for problems with inequality-constrained
140142
neq_unb_problems = CUTEst.select(min_con=1, only_ineq_con=true, only_free_var=true)
141143

142144
# Analysis
143-
neq_unb_results = run_benchmarks(unc_problems, optimizers)
145+
neq_unb_results = run_benchmarks(neq_unb_problems, optimizers)
144146

145147
@df neq_unb_results scatter(:n_vars, :secs,
146148
group = :solver,
147149
xlabel = "n. variables",
148150
ylabel = "secs.",
149151
title = "Time to solution by optimizer and number of vars",
150152
)
153+
```
154+
155+
## Equality/Inequality constrained problems with bounded variables
156+
157+
Now we analyze the subset of problems with equality/inequality constraints and whose
158+
variables are bounded. There are 666 such problems.
159+
160+
The following figure shows the results of the same benchmarks previously described for the
161+
problems on this section.
162+
163+
```julia
164+
eq_bou_problems = CUTEst.select(min_con=1, only_equ_con=true, only_free_var=false)
165+
166+
# Analysis
167+
eq_bou_results = run_benchmarks(eq_bou_problems, optimizers)
168+
169+
@df eq_bou_results scatter(:n_vars, :secs,
170+
group = :solver,
171+
xlabel = "n. variables",
172+
ylabel = "secs.",
173+
title = "Time to solution by optimizer and number of vars",
174+
)
175+
```
176+
177+
Next, we examine the same relationship for problems with inequality-constrained problems,
178+
of which there are 244.
179+
180+
```julia
181+
neq_bou_problems = CUTEst.select(min_con=1, only_ineq_con=true, only_free_var=false)
182+
183+
# Analysis
184+
neq_bou_results = run_benchmarks(neq_bou_problems, optimizers)
185+
186+
@df neq_bou_results scatter(:n_vars, :secs,
187+
group = :solver,
188+
xlabel = "n. variables",
189+
ylabel = "secs.",
190+
title = "Time to solution by optimizer and number of vars",
191+
)
192+
```
193+
194+
# Quadratic programs with linear constraints
195+
196+
Lastly, we examine the problems with a quadratic objective function and only linear
197+
constraints. There are 252 such problems in the suite.
198+
199+
```julia
200+
quad_problems = CUTEst.select(objtype="quadratic", contype="linear")
201+
202+
# Analysis
203+
quad_results = run_benchmarks(quad_problems, optimizers)
204+
205+
@df neq_bou_results scatter(:n_vars, :secs,
206+
group = :solver,
207+
xlabel = "n. variables",
208+
ylabel = "secs.",
209+
title = "Time to solution by optimizer and number of vars",
210+
)
151211
```

0 commit comments

Comments
 (0)