Skip to content

Commit a2deaa4

Browse files
fix: fix potential infinite recursion in simplification of OptimizationSystem
1 parent 396d986 commit a2deaa4

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

src/systems/optimization/optimizationsystem.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -741,8 +741,9 @@ function structural_simplify(sys::OptimizationSystem; split = true, kwargs...)
741741
nlsys = NonlinearSystem(econs, unknowns(sys), parameters(sys); name = :___tmp_nlsystem)
742742
snlsys = structural_simplify(nlsys; fully_determined = false, kwargs...)
743743
obs = observed(snlsys)
744-
subs = Dict(eq.lhs => eq.rhs for eq in observed(snlsys))
745744
seqs = equations(snlsys)
745+
trueobs, _ = unhack_observed(obs, seqs)
746+
subs = Dict(eq.lhs => eq.rhs for eq in trueobs)
746747
cons_simplified = similar(cons, length(icons) + length(seqs))
747748
for (i, eq) in enumerate(Iterators.flatten((seqs, icons)))
748749
cons_simplified[i] = fixpoint_sub(eq, subs)

0 commit comments

Comments
 (0)