使用Gurobi的线性和双线性约束。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Gurobi的线性和双线性约束。相关的知识,希望对你有一定的参考价值。

从Gurobi的程序实例来看,有一个程序是用于 QCPs,和一个用于 双线 程序,我想知道如何在R(或任何其他语言,如果更容易,但我使用的是R)中添加一个线性和双线性的约束条件(对不起,如果有这样的问题的具体术语)。具体来说,我如何添加一个约束矩阵的形式(例如),即

xz + y - yz < c

其中c是一些常数。我想我可以用麦考密克松弛法把它重写成一个线性程序(对吗?),但我想知道Gurobi是否有简单的语法来处理这种约束?

我目前对QCPs和双线性程序的语法的理解是,你使用一个稀疏矩阵构造,其形式为

enter image description here

所以不能单独引用x,y,z...。

答案

想通了。如果还有人遇到类似的问题,你创建一个quadcon列表,然后添加到模型中,就像 此处. 对于使用四元约束的说明,它与四元约束中的四元约束很相似。本例虽然这个例子并不明确属于我所问的约束类型。

以上是关于使用Gurobi的线性和双线性约束。的主要内容,如果未能解决你的问题,请参考以下文章

gurobi 6.0.2 / setPWLObj 的分段线性目标崩溃

Scipy.linprog 的 Gurobi 风格模型构建?

Gurobi + CVX + Matlab

如何绘制Gurobi得到的结果?

Gurobi 中一个目标函数的两个表达式

电力系统强大的Gurobi 求解器的学习(Python&Matlab)