Skip to content

Commit 432da8c

Browse files
separate equality from inequality constraints
1 parent 8ed3c52 commit 432da8c

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

src/systems/control/controlsystem.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,5 +164,5 @@ function runge_kutta_discretize(sys::ControlSystem,dt,tspan;
164164
equalities = vcat(stages,updates,control_equality)
165165
opt_states = vcat(reduce(vcat,reduce(vcat,states_timeseries)),reduce(vcat,reduce(vcat,k_timeseries)),reduce(vcat,reduce(vcat,control_timeseries)))
166166

167-
OptimizationSystem(reduce(+,losses),opt_states,ps,constraints = equalities)
167+
OptimizationSystem(reduce(+,losses),opt_states,ps,equality_constraints = equalities)
168168
end

src/systems/optimization/optimizationsystem.jl

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ struct OptimizationSystem <: AbstractSystem
2525
ps::Vector{Variable}
2626
pins::Vector{Variable}
2727
observed::Vector{Equation}
28-
constraints::Vector{Equation}
28+
equality_constraints::Vector{Equation}
29+
inequality_constraints::Vector{Operation}
2930
"""
3031
Name: the name of the system
3132
"""
@@ -39,10 +40,11 @@ end
3940
function OptimizationSystem(op, states, ps;
4041
pins = Variable[],
4142
observed = Operation[],
42-
constraints = Equation[],
43+
equality_constraints = Equation[],
44+
inequality_constraints = Operation[],
4345
name = gensym(:OptimizationSystem),
4446
systems = OptimizationSystem[])
45-
OptimizationSystem(op, convert.(Variable,states), convert.(Variable,ps), pins, observed, constraints, name, systems)
47+
OptimizationSystem(op, convert.(Variable,states), convert.(Variable,ps), pins, observed, equality_constraints, inequality_constraints, name, systems)
4648
end
4749

4850
function calculate_gradient(sys::OptimizationSystem)

0 commit comments

Comments
 (0)