From e53486f3943b84025682e5144871c07a84756dd8 Mon Sep 17 00:00:00 2001 From: kalmarek Date: Fri, 1 Dec 2017 17:02:45 +0100 Subject: [PATCH] since we warmstart internal model, optimize! it JuMP.solve discards the internal one --- src/PropertyT.jl | 12 +++++------- src/SDPs.jl | 2 +- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/PropertyT.jl b/src/PropertyT.jl index b2e856a..388c37c 100644 --- a/src/PropertyT.jl +++ b/src/PropertyT.jl @@ -165,14 +165,12 @@ function compute_λandP(m, varλ, varP; warmstart=nothing) P = nothing while λ == 0.0 try + if warmstart != nothing + p_sol, d_sol, s = warmstart + MathProgBase.SolverInterface.setwarmstart!(m.internalModel, p_sol; dual_sol = d_sol, slack=s); + end solve_SDP(m) - λ = JuMP.getvalue(varλ) - P = JuMP.getvalue(varP) - - p_sol = m.internalModel.primal_sol - d_sol = m.internalModel.dual_sol - s = m.internalModel.slack - + λ = MathProgBase.getobjval(m.internalModel) catch y warn(solver_logger, y) end diff --git a/src/SDPs.jl b/src/SDPs.jl index a12d166..6360db4 100644 --- a/src/SDPs.jl +++ b/src/SDPs.jl @@ -61,7 +61,7 @@ function solve_SDP(SDP_problem) o = redirect_stdout(solver_logger.handlers["solver_log"].io) Base.Libc.flush_cstdio() - @logtime logger solution_status = JuMP.solve(SDP_problem) + @logtime logger solution_status = MathProgBase.optimize!(SDP_problem.internalModel) Base.Libc.flush_cstdio() redirect_stdout(o)