hello there
I am using julia to solve some Semi-definite Problem. I use Convex to define the problem and the constraints, then I use Hypatia to solve it :
M = HermitianSemidefinite(N)
problem = minimize( real(M[1,1]))
problem.constraints += [ ... ]
solve!(problem, () -> Hypatia.Optimizer())
for some reason of feasibility, I need to give the solver an initial value of the matrix M. I would like the solver to begin with M=M0. Is it possible any way ? If I don’t give it the initial matrix it won’t find a feasible solution …
I’ve asked a lot to chatGPT and searched on the net for a solution, but didn’t find any … that’s why I ask it here.
Thanks a lot ! Thanks for reading !
Gustave
It should just be a matter of calling set_value!(M, M0)
before calling solve!
, then calling solve!
with warmstart=true
.
Yes, but I have this problem showing on the console :
┌ Warning: Skipping variable warmstart; the solver does not support it.
└ @ Convex ~/.julia/packages/Convex/b2S4H/src/solution.jl:363
I wondered if it was still possible to initialize M=M0 ?
Thanks a lot for answering
In that case you will need to try another solver instead. There is a list here: Installation Guide · JuMP
2 Likes
thank you for this very long list ! I should find what I want
1 Like
@gustave_Robichon just following up on this; were you able to find a suitable solver that supports warmstarting for SDPs? I need it for my application too. Thank you!
no sorry I didn’t find it. But if you have some tolerance_inconsistent problem , you can change this parameter, for the solver to find a feasible point.
The time won by a warm start is not so big, I think.