@@ -264,12 +264,24 @@ nmpc_ipopt_ms = NonLinMPC(estim; Hp, Hc, Mwt, Nwt, Cwt, optim, transcription)
264264nmpc_ipopt_ms = setconstraint! (nmpc_ipopt_ms; umin, umax)
265265JuMP. unset_time_limit_sec (nmpc_ipopt_ms. optim)
266266
267+ optim = JuMP. Model (optimizer_with_attributes (Ipopt. Optimizer," sb" => " yes" ), add_bridges= false )
268+ transcription = MultipleShooting (f_threads= true )
269+ nmpc_ipopt_mst = NonLinMPC (estim; Hp, Hc, Mwt, Nwt, Cwt, optim, transcription)
270+ nmpc_ipopt_mst = setconstraint! (nmpc_ipopt_mst; umin, umax)
271+ JuMP. unset_time_limit_sec (nmpc_ipopt_mst. optim)
272+
267273optim = JuMP. Model (optimizer_with_attributes (Ipopt. Optimizer," sb" => " yes" ), add_bridges= false )
268274transcription = TrapezoidalCollocation ()
269275nmpc_ipopt_tc = NonLinMPC (estim; Hp, Hc, Mwt, Nwt, Cwt, optim, transcription)
270276nmpc_ipopt_tc = setconstraint! (nmpc_ipopt_tc; umin, umax)
271277JuMP. unset_time_limit_sec (nmpc_ipopt_tc. optim)
272278
279+ optim = JuMP. Model (optimizer_with_attributes (Ipopt. Optimizer," sb" => " yes" ), add_bridges= false )
280+ transcription = TrapezoidalCollocation (f_threads= true )
281+ nmpc_ipopt_tct = NonLinMPC (estim; Hp, Hc, Mwt, Nwt, Cwt, optim, transcription)
282+ nmpc_ipopt_tct = setconstraint! (nmpc_ipopt_tct; umin, umax)
283+ JuMP. unset_time_limit_sec (nmpc_ipopt_tct. optim)
284+
273285optim = JuMP. Model (MadNLP. Optimizer, add_bridges= false )
274286transcription = SingleShooting ()
275287nmpc_madnlp_ss = NonLinMPC (estim; Hp, Hc, Mwt, Nwt, Cwt, optim, transcription)
@@ -301,11 +313,21 @@ CASE_MPC["Pendulum"]["NonLinMPC"]["Noneconomic"]["Ipopt"]["MultipleShooting"] =
301313 sim! ($ nmpc_ipopt_ms, $ N, $ ry; plant= $ plant, x_0= $ x_0, x̂_0= $ x̂_0),
302314 samples= samples, evals= evals, seconds= seconds
303315 )
316+ CASE_MPC[" Pendulum" ][" NonLinMPC" ][" Noneconomic" ][" Ipopt" ][" MultipleShooting (threaded)" ] =
317+ @benchmarkable (
318+ sim! ($ nmpc_ipopt_mst, $ N, $ ry; plant= $ plant, x_0= $ x_0, x̂_0= $ x̂_0),
319+ samples= samples, evals= evals, seconds= seconds
320+ )
304321CASE_MPC[" Pendulum" ][" NonLinMPC" ][" Noneconomic" ][" Ipopt" ][" TrapezoidalCollocation" ] =
305322 @benchmarkable (
306323 sim! ($ nmpc_ipopt_tc, $ N, $ ry; plant= $ plant, x_0= $ x_0, x̂_0= $ x̂_0),
307324 samples= samples, evals= evals, seconds= seconds
308325 )
326+ CASE_MPC[" Pendulum" ][" NonLinMPC" ][" Noneconomic" ][" Ipopt" ][" TrapezoidalCollocation (threaded)" ] =
327+ @benchmarkable (
328+ sim! ($ nmpc_ipopt_tct, $ N, $ ry; plant= $ plant, x_0= $ x_0, x̂_0= $ x̂_0),
329+ samples= samples, evals= evals, seconds= seconds
330+ )
309331CASE_MPC[" Pendulum" ][" NonLinMPC" ][" Noneconomic" ][" MadNLP" ][" SingleShooting" ] =
310332 @benchmarkable (
311333 sim! ($ nmpc_madnlp_ss, $ N, $ ry; plant= $ plant, x_0= $ x_0, x̂_0= $ x̂_0),
0 commit comments