Skip to content

Commit 62ec833

Browse files
committed
user-provided constraint gradients
1 parent 4eb16db commit 62ec833

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

examples/particle.jl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,11 @@ goal(x, u, w) = x - xT
4242

4343
cont = Constraint()
4444
conT = Constraint(goal, num_state, 0)
45+
# conT = Constraint(
46+
# (c, x, u, w) -> c .= x - xT,
47+
# (cx, x, u, w) -> cx .= 1.0 * I(length(x)),
48+
# (cu, x, u, w) -> cu .= zeros(length(x), length(u)),
49+
# length(xT), num_state, num_action)
4550
constraints = [[cont for t = 1:T-1]..., conT]
4651

4752
# ## problem

src/constraints.jl

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,18 @@ function Constraint()
4848
collect(1:0))
4949
end
5050

51+
function Constraint(f::Function, fx::Function, fu::Function, num_constraint::Int, num_state::Int, num_action::Int;
52+
indices_inequality::Vector{Int}=collect(1:0),
53+
num_parameter::Int=0)
54+
55+
return Constraint(
56+
f,
57+
fx, fu,
58+
num_constraint, num_state, num_action, num_parameter,
59+
zeros(num_constraint), zeros(num_constraint, num_state), zeros(num_constraint, num_action),
60+
indices_inequality)
61+
end
62+
5163
function constraint!(violations, constraints::Constraints{T}, states, actions, parameters) where T
5264
for (t, con) in enumerate(constraints)
5365
con.num_constraint == 0 && continue

0 commit comments

Comments
 (0)