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)