From b56c91b0d8bb2295d369743a30c023093a03a90c Mon Sep 17 00:00:00 2001 From: johnaoga Date: Sun, 10 Nov 2024 05:06:06 +0100 Subject: [PATCH 1/3] init --- src/MOI_wrapper.jl | 6 ++++++ src/optim/abstraction/uniform_grid_abstraction.jl | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/src/MOI_wrapper.jl b/src/MOI_wrapper.jl index 29fb7bfb1..a97cbb82f 100644 --- a/src/MOI_wrapper.jl +++ b/src/MOI_wrapper.jl @@ -397,6 +397,11 @@ function input_indices(model::Optimizer) end function setup!(model::Optimizer) + if any(isnothing, model.dynamic) + error("Missing dynamics. i.e. ∂(x) = f(x, u) or Δ(x) = f(x, u)") + end + + println(">>Setting up the model") input_index = 0 state_index = 0 model.nlp_model = MOI.Nonlinear.Model() @@ -420,6 +425,7 @@ function setup!(model::Optimizer) vars = MOI.VariableIndex.(eachindex(model.lower)) model.evaluator = MOI.Nonlinear.Evaluator(model.nlp_model, backend, vars) MOI.initialize(model.evaluator, Symbol[]) + println(">>Model setup complete") return end diff --git a/src/optim/abstraction/uniform_grid_abstraction.jl b/src/optim/abstraction/uniform_grid_abstraction.jl index 4ed0d7e70..a9baa8621 100644 --- a/src/optim/abstraction/uniform_grid_abstraction.jl +++ b/src/optim/abstraction/uniform_grid_abstraction.jl @@ -146,6 +146,14 @@ function discretized_system( end function build_abstraction(concrete_system, model) + if isnothing(model.state_grid) + error("Please set the `state_grid`.") + end + + if isnothing(model.input_grid) + error("Please set the `input_grid`.") + end + Xfull = DO.DomainList(model.state_grid) DO.add_set!(Xfull, concrete_system.X, DO.INNER) Ufull = DO.DomainList(model.input_grid) From f37aba871c707e71297c6250875ea14c8d9555b9 Mon Sep 17 00:00:00 2001 From: johnaoga Date: Sun, 10 Nov 2024 05:11:26 +0100 Subject: [PATCH 2/3] jformat --- src/optim/abstraction/uniform_grid_abstraction.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/optim/abstraction/uniform_grid_abstraction.jl b/src/optim/abstraction/uniform_grid_abstraction.jl index a9baa8621..129a819f2 100644 --- a/src/optim/abstraction/uniform_grid_abstraction.jl +++ b/src/optim/abstraction/uniform_grid_abstraction.jl @@ -153,7 +153,7 @@ function build_abstraction(concrete_system, model) if isnothing(model.input_grid) error("Please set the `input_grid`.") end - + Xfull = DO.DomainList(model.state_grid) DO.add_set!(Xfull, concrete_system.X, DO.INNER) Ufull = DO.DomainList(model.input_grid) From 5b818994e0d622ccc025f034ed28218f3479c430 Mon Sep 17 00:00:00 2001 From: johnaoga Date: Sun, 10 Nov 2024 06:13:11 +0100 Subject: [PATCH 3/3] fixing error --- src/MOI_wrapper.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MOI_wrapper.jl b/src/MOI_wrapper.jl index a97cbb82f..574784a30 100644 --- a/src/MOI_wrapper.jl +++ b/src/MOI_wrapper.jl @@ -397,7 +397,7 @@ function input_indices(model::Optimizer) end function setup!(model::Optimizer) - if any(isnothing, model.dynamic) + if all(isnothing, model.dynamic) error("Missing dynamics. i.e. ∂(x) = f(x, u) or Δ(x) = f(x, u)") end