diff --git a/src/MacroModelling.jl b/src/MacroModelling.jl index 25b43117..5130ca56 100644 --- a/src/MacroModelling.jl +++ b/src/MacroModelling.jl @@ -3217,7 +3217,7 @@ function solve_steady_state!(𝓂::ℳ, symbolic_SS, Symbolics::symbolics; verbo # TODO: try have this run for 1000 and and use closest_solution based on the previous result and not on the cache. that way you dont crowd out good and diverse solutions in the cache and make sure he finds the other SS. rely on previous commit for way of implementing closest_solution while range_iters <= (cold_start ? 1 : 500) && !(solution_error < 1e-12 && solved_scale == 1) range_iters += 1 - fail_fast_solvers_only = scale == 1.0 ? false : true + fail_fast_solvers_only = range_iters > 1 ? true : false # println(range_iters) # println(scale) # println(solved_scale) @@ -3976,7 +3976,7 @@ function block_solver(parameters_and_solved_vars::Vector{Float64}, end end else !cold_start - for p in (fail_fast_solvers_only ? [parameters[1]] : unique(parameters)) #[1:3] # take unique because some parameters might appear more than once + for p in (fail_fast_solvers_only ? [parameters[end]] : unique(parameters)) #[1:3] # take unique because some parameters might appear more than once for s in (fail_fast_solvers_only ? [false] : Any[false,p.starting_value, 1.206, 1.5, 0.7688, 2.0, 0.897]) #, .9, .75, 1.5, -.5, 2, .25] # try first the guess and then different starting values # for ext in [false, true] # try first the system where only values can vary, next try the system where values and parameters can vary for algo in [newton, levenberg_marquardt]