Skip to content

Commit c65d79c

Browse files
authored
Merge pull request #329 from JuliaControl/orthogonal_bench
bench: including `OrthogonalCollocation` and various maintenance
2 parents e7a8562 + 532110e commit c65d79c

File tree

4 files changed

+160
-80
lines changed

4 files changed

+160
-80
lines changed

benchmark/2_bench_state_estim.jl

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -343,50 +343,52 @@ JuMP.set_attribute(mhe_pendulum_ipopt_predh.optim, "tol", 1e-7)
343343

344344
optim = JuMP.Model(MadNLP.Optimizer, add_bridges=false)
345345
direct = true
346-
mhe_pendulum_madnlp_curr = MovingHorizonEstimator(
347-
model; He, σQ, σR, nint_u, σQint_u, optim, direct
346+
hessian = true
347+
mhe_pendulum_madnlp_currh = MovingHorizonEstimator(
348+
model; He, σQ, σR, nint_u, σQint_u, optim, direct, hessian
348349
)
349-
mhe_pendulum_madnlp_curr = setconstraint!(mhe_pendulum_madnlp_curr; v̂min, v̂max)
350-
JuMP.unset_time_limit_sec(mhe_pendulum_madnlp_curr.optim)
351-
JuMP.set_attribute(mhe_pendulum_madnlp_curr.optim, "tol", 1e-7)
350+
mhe_pendulum_madnlp_currh = setconstraint!(mhe_pendulum_madnlp_currh; v̂min, v̂max)
351+
JuMP.unset_time_limit_sec(mhe_pendulum_madnlp_currh.optim)
352+
JuMP.set_attribute(mhe_pendulum_madnlp_currh.optim, "tol", 1e-7)
352353

353354
optim = JuMP.Model(MadNLP.Optimizer, add_bridges=false)
354355
direct = false
355-
mhe_pendulum_madnlp_pred = MovingHorizonEstimator(
356-
model; He, σQ, σR, nint_u, σQint_u, optim, direct
356+
hessian = true
357+
mhe_pendulum_madnlp_predh = MovingHorizonEstimator(
358+
model; He, σQ, σR, nint_u, σQint_u, optim, direct, hessian
357359
)
358-
mhe_pendulum_madnlp_pred = setconstraint!(mhe_pendulum_madnlp_pred; v̂min, v̂max)
359-
JuMP.unset_time_limit_sec(mhe_pendulum_madnlp_pred.optim)
360-
JuMP.set_attribute(mhe_pendulum_madnlp_pred.optim, "tol", 1e-7)
360+
mhe_pendulum_madnlp_pred = setconstraint!(mhe_pendulum_madnlp_predh; v̂min, v̂max)
361+
JuMP.unset_time_limit_sec(mhe_pendulum_madnlp_predh.optim)
362+
JuMP.set_attribute(mhe_pendulum_madnlp_predh.optim, "tol", 1e-7)
361363

362364
samples, evals, seconds = 25, 1, 15*60
363365
CASE_ESTIM["Pendulum"]["MovingHorizonEstimator"]["Ipopt"]["Current form"] =
364366
@benchmarkable(
365367
sim!($mhe_pendulum_ipopt_curr, $N, $u; plant=$plant, x_0=$x_0, x̂_0=$x̂_0, progress=false),
366-
samples=samples, evals=evals, seconds=seconds
368+
samples=samples, evals=evals, seconds=seconds, setup=GC.gc()
367369
)
368370
CASE_ESTIM["Pendulum"]["MovingHorizonEstimator"]["Ipopt"]["Current form (Hessian)"] =
369371
@benchmarkable(
370372
sim!($mhe_pendulum_ipopt_currh, $N, $u; plant=$plant, x_0=$x_0, x̂_0=$x̂_0, progress=false),
371-
samples=samples, evals=evals, seconds=seconds
373+
samples=samples, evals=evals, seconds=seconds, setup=GC.gc()
372374
)
373375
CASE_ESTIM["Pendulum"]["MovingHorizonEstimator"]["Ipopt"]["Prediction form"] =
374376
@benchmarkable(
375377
sim!($mhe_pendulum_ipopt_pred, $N, $u; plant=$plant, x_0=$x_0, x̂_0=$x̂_0, progress=false),
376-
samples=samples, evals=evals, seconds=seconds
378+
samples=samples, evals=evals, seconds=seconds, setup=GC.gc()
377379
)
378380
CASE_ESTIM["Pendulum"]["MovingHorizonEstimator"]["Ipopt"]["Prediction form (Hessian)"] =
379381
@benchmarkable(
380382
sim!($mhe_pendulum_ipopt_predh, $N, $u; plant=$plant, x_0=$x_0, x̂_0=$x̂_0, progress=false),
381-
samples=samples, evals=evals, seconds=seconds
383+
samples=samples, evals=evals, seconds=seconds, setup=GC.gc()
382384
)
383-
CASE_ESTIM["Pendulum"]["MovingHorizonEstimator"]["MadNLP"]["Current form"] =
385+
CASE_ESTIM["Pendulum"]["MovingHorizonEstimator"]["MadNLP"]["Current form (Hessian)"] =
384386
@benchmarkable(
385-
sim!($mhe_pendulum_madnlp_curr, $N, $u; plant=$plant, x_0=$x_0, x̂_0=$x̂_0, progress=false),
386-
samples=samples, evals=evals, seconds=seconds
387+
sim!($mhe_pendulum_madnlp_currh, $N, $u; plant=$plant, x_0=$x_0, x̂_0=$x̂_0, progress=false),
388+
samples=samples, evals=evals, seconds=seconds, setup=GC.gc()
387389
)
388-
CASE_ESTIM["Pendulum"]["MovingHorizonEstimator"]["MadNLP"]["Prediction form"] =
390+
CASE_ESTIM["Pendulum"]["MovingHorizonEstimator"]["MadNLP"]["Prediction form (Hessian)"] =
389391
@benchmarkable(
390-
sim!($mhe_pendulum_madnlp_pred, $N, $u; plant=$plant, x_0=$x_0, x̂_0=$x̂_0, progress=false),
391-
samples=samples, evals=evals, seconds=seconds
392+
sim!($mhe_pendulum_madnlp_predh, $N, $u; plant=$plant, x_0=$x_0, x̂_0=$x̂_0, progress=false),
393+
samples=samples, evals=evals, seconds=seconds, setup=GC.gc()
392394
)

0 commit comments

Comments
 (0)