Skip to content

Commit 87bc194

Browse files
Use NonlinearSystem (via mtk-ize on NonlinearProblem) for constraint
1 parent b1eacc1 commit 87bc194

File tree

1 file changed

+3
-6
lines changed

1 file changed

+3
-6
lines changed

src/function/mtk.jl

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ function instantiate_function(f, x, ::AutoModelingToolkit, p, num_cons=0)
3232
cons = nothing
3333
else
3434
cons = (θ) -> f.cons(θ, p)
35-
cons_sys = ModelingToolkit.modelingtoolkitize(OptimizationProblem(f.cons, x, p); checks=false)
35+
cons_sys = ModelingToolkit.modelingtoolkitize(NonlinearProblem(f.cons, x, p))
3636
end
3737

3838
if f.cons !== nothing && f.cons_j === nothing
@@ -46,11 +46,8 @@ function instantiate_function(f, x, ::AutoModelingToolkit, p, num_cons=0)
4646

4747
if f.cons !== nothing && f.cons_h === nothing
4848
cons_h = function (res, θ)
49-
for i in 1:num_cons
50-
cons_sys_i = ModelingToolkit.modelingtoolkitize(OptimizationProblem((args...) -> f.cons(args...)[i], x, p); checks=false)
51-
cons_hess_oop, cons_hess_iip = ModelingToolkit.generate_hessian(cons_sys_i, expression=Val{false})
52-
cons_hess_iip(res[i], θ, p)
53-
end
49+
cons_hess_oop, cons_hess_iip = ModelingToolkit.generate_hessian(cons_sys, expression=Val{false})
50+
cons_hess_iip(res, θ, p)
5451
end
5552
else
5653
cons_h = f.cons_h

0 commit comments

Comments
 (0)