JuMP: Hermitian matrix variable and complex numbers in model

I’ve been playing around with JuMP and trying to develop on my own OPF models and I’ve had some difficulty since JuMP doesn’t support complex numbers. Specially the SDP relaxation of the OPF has been tricky since I don’t see how to build a variable complex matrix W (for the voltages) and force it to be hermitian and positive semidefinite. I have explored a little bit the source code of PowerModels but I still couldn’t figure out their workaround.

Any ideas? (and recommendations in general when working with models with complex numbers?)

Surely you’ve heard it often enough, but are there any plans to include complex numbers in JuMP?

This is the place in PowerModels where the basic SDP relaxation constraint is added,

For a complex matrix W the encoding is, [\Re(W), \Im(W); -\Im(W), \Re(W)] \succeq 0. The Mosek manual is a fantastic refrence for SDP modeling tricks like this.

1 Like

Thanks a lot, the Mosek manual is great!