Wram start of HermitianPSDCone in JuMP

Okay, this is indeed a bug: Starting value in unsupported bridge errors instead of skipping · Issue #2327 · jump-dev/MathOptInterface.jl · GitHub.

Here’s what is happening:

  • If a solver does not support HermitianPSDCone explicitly, then JuMP will reformulate it into an equivalent PositiveSemidefiniteConeTriangle constraint through a bridge.
  • When you set the starting value of E1 and E2, the bridge needs to convert those starting values into equivalent starting values for the reformulated variables inside the solver
  • Some bridges (such as the hermitian to PSD bridge) do not yet have support for mapping starting values (Add support for starting values in bridges · Issue #684 · jump-dev/MathOptInterface.jl · GitHub)
  • Since starting values are an optional hint that can improve performance but not correctness, JuMP should silently ignore them if they are not supported by the solver.
  • COSMO and SCS supports starting values, but the Hermitan to PSD bridge does not, so JuMP should skip copying the starting values.
  • JuMP correctly skips the values for SCS (even though it doesn’t warn the user, this is a choice we made), but it errors for COSMO.
  • I don’t know why it errors, which is the bug.

So the conclusion is: don’t use starting values for now if you are using HermitianPSDCone :cry: