如何在 Gurobi 问题中使用复杂变量

How to use complex variables in a Gurobi problem

我目前在 MATLAB 上使用 CVX + Mosek 解决复杂变量的优化问题。我现在正在考虑为某些应用程序切换到 Gurobi + Python。

  1. 有没有办法直接在 Gurobi 的 Python 接口中声明复杂值(在约束内和作为优化变量)?

  2. 如果不是,哪些是好的建模语言,具有 Python 接口,可以在调用求解器之前自动将问题简化为实变量?

我知道,例如,YALMIP does this reduction (though no Python interface), and newer versions of CVXPY also(但我没有广泛使用它,不知道它是否已经具有良好的性能、稳定性和合理的完整性)。因此欢迎对这些问题的任何想法和其他接口的建议。

Gurobi 中唯一的 possible variables 是:

  • 整数;
  • 二进制;
  • 连续;
  • 半连续和;
  • 半整数。

另外,我不知道你要解决的问题,但是复数对于线性优化来说很奇怪。

The complex plane isn't a ordered field,所以不可能说给定的复数 z1 > z2

您可能必须以这样的方式对您的问题建模,以便您可以分解具有实部和虚部的约束,以便您只能使用实数。