@@ -25,7 +25,7 @@ const M = ModelingToolkit
25
25
# Test explicit method.
26
26
jprob = JuMPDynamicOptProblem (sys, u0map, tspan, parammap, dt = 0.01 )
27
27
@test JuMP. num_constraints (jprob. model) == 2 # initials
28
- jsol = solve (jprob, Ipopt. Optimizer, :RK4 )
28
+ jsol = solve (jprob, Ipopt. Optimizer, :RK4 , silent = true )
29
29
oprob = ODEProblem (sys, u0map, tspan, parammap)
30
30
osol = solve (oprob, SimpleRK4 (), dt = 0.01 )
31
31
@test jsol. sol. u ≈ osol. u
104
104
tspan = (0.0 , 1.0 )
105
105
parammap = [u (t) => 0.0 ]
106
106
jprob = JuMPDynamicOptProblem (block, u0map, tspan, parammap; dt = 0.01 )
107
- jsol = solve (jprob, Ipopt. Optimizer, :Verner8 )
107
+ jsol = solve (jprob, Ipopt. Optimizer, :Verner8 , silent = true )
108
108
# Linear systems have bang-bang controls
109
109
@test is_bangbang (jsol. input_sol, [- 1.0 ], [1.0 ])
110
110
# Test reached final position.
142
142
pmap = [b => 1 , c => 1 , μ => 1 , s => 1 , ν => 1 , α => 1 ]
143
143
144
144
jprob = JuMPDynamicOptProblem (beesys, u0map, tspan, pmap, dt = 0.01 )
145
- jsol = solve (jprob, Ipopt. Optimizer, :Tsitouras5 )
145
+ jsol = solve (jprob, Ipopt. Optimizer, :Tsitouras5 , silent = true )
146
146
@test is_bangbang (jsol. input_sol, [0.0 ], [1.0 ])
147
147
iprob = InfiniteOptDynamicOptProblem (beesys, u0map, tspan, pmap, dt = 0.01 )
148
148
isol = solve (iprob, Ipopt. Optimizer; silent = true )
191
191
@test jsol. sol. u[end ][1 ] > 1.012
192
192
193
193
iprob = InfiniteOptDynamicOptProblem (
194
- rocket, u0map, (ts, te), pmap; dt = 0.001 , cse = false )
195
- isol = solve (iprob, Ipopt. Optimizer,
196
- derivative_method = InfiniteOpt. OrthogonalCollocation (3 ), silent = true )
194
+ rocket, u0map, (ts, te), pmap; dt = 0.001 )
195
+ isol = solve (iprob, Ipopt. Optimizer, silent = true )
197
196
@test isol. sol. u[end ][1 ] > 1.012
198
197
199
198
# Test solution
209
208
210
209
interpmap1 = Dict (T_interp => ctrl_to_spline (isol. input_sol, CubicSpline))
211
210
oprob1 = ODEProblem (rocket_ode, u0map, (ts, te), merge (Dict (pmap), interpmap1))
212
- osol1 = solve (oprob1, RadauIIA5 (); adaptive = false , dt = 0.001 )
213
- @test ≈ (isol. sol. u, osol1. u, rtol = 0.02 )
211
+ osol1 = solve (oprob1, ImplicitEuler (); adaptive = false , dt = 0.001 )
212
+ @test ≈ (isol. sol. u, osol1. u, rtol = 0.01 )
214
213
end
215
214
216
215
@testset " Free final time problems" begin
@@ -229,11 +228,11 @@ end
229
228
u0map = [x (t) => 17.5 ]
230
229
pmap = [u (t) => 0.0 , tf => 8 ]
231
230
jprob = JuMPDynamicOptProblem (rocket, u0map, (0 , tf), pmap; steps = 201 )
232
- jsol = solve (jprob, Ipopt. Optimizer, :Tsitouras5 )
231
+ jsol = solve (jprob, Ipopt. Optimizer, :Tsitouras5 , silent = true )
233
232
@test isapprox (jsol. sol. t[end ], 10.0 , rtol = 1e-3 )
234
233
235
234
iprob = InfiniteOptDynamicOptProblem (rocket, u0map, (0 , tf), pmap; steps = 200 )
236
- isol = solve (iprob, Ipopt. Optimizer)
235
+ isol = solve (iprob, Ipopt. Optimizer, silent = true )
237
236
@test isapprox (isol. sol. t[end ], 10.0 , rtol = 1e-3 )
238
237
239
238
@variables x (.. ) v (.. )
@@ -288,10 +287,10 @@ end
288
287
u0map = [D (x (t)) => 0.0 , D (θ (t)) => 0.0 , θ (t) => 0.0 , x (t) => 0.0 ]
289
288
pmap = [mₖ => 1.0 , mₚ => 0.2 , l => 0.5 , g => 9.81 , u => 0 ]
290
289
jprob = JuMPDynamicOptProblem (cartpole, u0map, tspan, pmap; dt = 0.04 )
291
- jsol = solve (jprob, Ipopt. Optimizer, :RK4 )
290
+ jsol = solve (jprob, Ipopt. Optimizer, :RK4 , silent = true )
292
291
@test jsol. sol. u[end ] ≈ [π, 0 , 0 , 0 ]
293
292
294
293
iprob = InfiniteOptDynamicOptProblem (cartpole, u0map, tspan, pmap; dt = 0.04 )
295
- isol = solve (iprob, Ipopt. Optimizer)
294
+ isol = solve (iprob, Ipopt. Optimizer, silent = true )
296
295
@test isol. sol. u[end ] ≈ [π, 0 , 0 , 0 ]
297
296
end
0 commit comments