Skip to content

Commit 8aff22f

Browse files
refactor: use new process_SciMLProblem in optimal-control constructors
1 parent 4ce79ee commit 8aff22f

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

ext/MTKCasADiDynamicOptExt.jl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,10 @@ function MTK.CasADiDynamicOptProblem(sys::System, u0map, tspan, pmap;
7676
steps = nothing,
7777
guesses = Dict(), kwargs...)
7878
MTK.warn_overdetermined(sys, u0map)
79-
_u0map = has_alg_eqs(sys) ? u0map : merge(Dict(u0map), Dict(guesses))
80-
f, u0, p = MTK.process_SciMLProblem(ODEInputFunction, sys, _u0map, pmap;
79+
_u0map = has_alg_eqs(sys) ? MTK.to_varmap(u0map, unknowns(sys)) :
80+
merge(Dict(u0map), Dict(guesses))
81+
pmap = MTK.to_varmap(pmap, parameters(sys))
82+
f, u0, p = MTK.process_SciMLProblem(ODEInputFunction, sys, merge(_u0map, pmap);
8183
t = tspan !== nothing ? tspan[1] : tspan, output_type = MX, kwargs...)
8284

8385
pmap = MTK.recursive_unwrap(MTK.AnyDict(pmap))

ext/MTKInfiniteOptExt.jl

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,10 @@ function MTK.JuMPDynamicOptProblem(sys::System, u0map, tspan, pmap;
5959
steps = nothing,
6060
guesses = Dict(), kwargs...)
6161
MTK.warn_overdetermined(sys, u0map)
62-
_u0map = has_alg_eqs(sys) ? u0map : merge(Dict(u0map), Dict(guesses))
63-
f, u0, p = MTK.process_SciMLProblem(ODEInputFunction, sys, _u0map, pmap;
62+
_u0map = has_alg_eqs(sys) ? MTK.to_varmap(u0map, unknowns(sys)) :
63+
merge(Dict(u0map), Dict(guesses))
64+
pmap = MTK.to_varmap(pmap, parameters(sys))
65+
f, u0, p = MTK.process_SciMLProblem(ODEInputFunction, sys, merge(_u0map, pmap);
6466
t = tspan !== nothing ? tspan[1] : tspan, kwargs...)
6567

6668
pmap = MTK.recursive_unwrap(MTK.AnyDict(pmap))
@@ -86,8 +88,10 @@ function MTK.InfiniteOptDynamicOptProblem(sys::System, u0map, tspan, pmap;
8688
steps = nothing,
8789
guesses = Dict(), kwargs...)
8890
MTK.warn_overdetermined(sys, u0map)
89-
_u0map = has_alg_eqs(sys) ? u0map : merge(Dict(u0map), Dict(guesses))
90-
f, u0, p = MTK.process_SciMLProblem(ODEInputFunction, sys, _u0map, pmap;
91+
_u0map = has_alg_eqs(sys) ? MTK.to_varmap(u0map, unknowns(sys)) :
92+
merge(Dict(u0map), Dict(guesses))
93+
pmap = MTK.to_varmap(pmap, parameters(sys))
94+
f, u0, p = MTK.process_SciMLProblem(ODEInputFunction, sys, merge(_u0map, pmap);
9195
t = tspan !== nothing ? tspan[1] : tspan, kwargs...)
9296

9397
pmap = MTK.recursive_unwrap(MTK.AnyDict(pmap))

0 commit comments

Comments
 (0)