From 6c247e73fcf2dc0e94f078b3a7492ec2df2f545f Mon Sep 17 00:00:00 2001 From: kalmarek Date: Mon, 20 Aug 2018 04:01:34 +0200 Subject: [PATCH] update check_property_T --- src/Orbit-wise.jl | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/src/Orbit-wise.jl b/src/Orbit-wise.jl index cebe9a1..4b2f71f 100644 --- a/src/Orbit-wise.jl +++ b/src/Orbit-wise.jl @@ -182,22 +182,29 @@ function check_property_T(sett::Settings) files_exist = ex.([:Uπs, :orbits, :preps]) - if !all(files_exists) - compute_orbit_data(prepath(sett), sett.S, sett.autS, radius=sett.radius) + if !all(files_exist) + compute_orbit_data(prepath(sett), parent(Δ), sett.autS) end - cond1 = exists(filename(fullpath(sett), :λ)) - cond2 = exists(filename(fullpath(sett), :P)) + files_exist = exists(filename(fullpath(sett), :λ)) && + exists(filename(fullpath(sett), :P)) - if !sett.warmstart && cond1 && cond2 - λ, P = λandP(fullpath(sett)) + if !sett.warmstart && files_exist + λ, P = loadλandP(fullpath(sett)) else - info("Creating SDP problem...") - SDP_problem, orb_data = create_SDP_problem(sett) - JuMP.setsolver(SDP_problem, sett.solver) - info(Base.repr(SDP_problem)) + warmfile = filename(fullpath(sett), :warm) + if sett.warmstart && exists(warmfile) + ws = load(warmfile, "warmstart") + else + ws = nothing + end + λ, P, ws = computeλandP(Δ, sett, ws, + solverlog=filename(fullpath(sett), :solverlog)) + saveλandP(fullpath(sett), λ, P, ws) - λ, P = λandP(SDP_problem, orb_data, sett) + if λ < 0 + warn("Solver did not produce a valid solution!") + end end info("λ = $λ")