Skip to content

Commit e091d63

Browse files
committed
up
1 parent bba75dd commit e091d63

File tree

1 file changed

+28
-9
lines changed

1 file changed

+28
-9
lines changed

ext/MTKJuMPExt.jl

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,35 @@ using JuMP, InfiniteOpt
44
Convert an ODESystem with constraints to a JuMPProblem for optimal control solving.
55
"""
66
function JuMPProblem(sys::ODESystem, u0, tspan, p; dt = error("dt must be provided for JuMPProblem."))
7-
steps = tspan[1]:dt:tspan[2]
8-
nsteps = length(steps)
9-
cost = sys.cost
10-
coalesce = sys.coalesce
11-
12-
@variables
13-
@variables
14-
@variables
7+
ts = tspan[1]
8+
te = tspan[2]
9+
steps = ts:dt:te
10+
costs = get_costs(sys)
11+
consolidate = get_consolidate(sys)
12+
ctrls = get_ctrls(sys)
13+
states = unknowns(sys)
14+
constraints = get_constraints(get_constraintsystem(sys))
15+
16+
model = Model()
17+
18+
@infinite_parameter(model, t in [tspan[1],tspan[2]], num_supports = length(steps), derivative_method = OrthogonalCollocation(2))
19+
@variables(model, U[1:length(states)], Infinite(t), start = ts)
20+
@variables(model, V[1:length(ctrls)], Infinite(t), start = ts)
21+
@variables(model, K)
22+
23+
jcost = generate_jump_cost_function(sys)
24+
@objective
25+
26+
constraints = generate_jump_constraints(constraints)
27+
@constraints
28+
end
29+
30+
function generate_jump_cost_function(costs, tsteps)
31+
end
32+
33+
function generate_jump_constraints(constraints, jump_vars, jump_ps)
1534
end
1635

17-
function symbolic_to_jump_constraint(cons::Union{Num, BasicSymbolic})
36+
function t_to_tstep()
1837

1938
end

0 commit comments

Comments
 (0)