From 2d8d9e4b21749d1f341abf35e53b9c34af6dec41 Mon Sep 17 00:00:00 2001
From: Michiel Cottaar <MichielCottaar@protonmail.com>
Date: Sat, 25 May 2024 18:29:57 +0100
Subject: [PATCH] Make up variables if needed

---
 src/build_sequences.jl | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/build_sequences.jl b/src/build_sequences.jl
index 733db18..10d464f 100644
--- a/src/build_sequences.jl
+++ b/src/build_sequences.jl
@@ -1,5 +1,5 @@
 module BuildSequences
-import JuMP: Model, optimizer_with_attributes, optimize!, AbstractJuMPScalar, value, solution_summary, termination_status, LOCALLY_SOLVED, OPTIMAL, num_variables, all_variables, set_start_value, ALMOST_LOCALLY_SOLVED, objective_value
+import JuMP: Model, optimizer_with_attributes, optimize!, AbstractJuMPScalar, value, solution_summary, termination_status, LOCALLY_SOLVED, OPTIMAL, num_variables, all_variables, set_start_value, ALMOST_LOCALLY_SOLVED, objective_value, INVALID_MODEL, @variable
 import Ipopt
 import Juniper
 import ..Scanners: Scanner, gradient_strength, Default_Scanner
@@ -65,6 +65,10 @@ function build_sequence(f::Function, scanner::Union{Nothing, Scanner}, model::Mo
                         end
                     end
                     optimize!(model)
+                    while termination_status(model) == INVALID_MODEL
+                        @variable(model, x[i=1:10])
+                        optimize!(model)
+                    end
                     if termination_status(model) in (LOCALLY_SOLVED, OPTIMAL)
                         if objective_value(model) < min_objective
                             min_objective = objective_value(model)
-- 
GitLab