首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gurobi LP文件语法

Gurobi LP文件语法
EN

Stack Overflow用户
提问于 2017-03-02 00:48:42
回答 2查看 685关注 0票数 0

我尝试使用GurobiTM优化器。请在下面找到我的QP模型:

Gurobi并行混合整数规划求解器最常解决的问题是:目标:最小化cT x约束:a x=b(线性约束)l≤x≤u(有界约束)一些或所有xj必须取整数值(完整性约束)

代码语言:javascript
复制
Maximize
  - x1 + .5 x2 + .5 x3 + x4 - x5 + .5 x6 + .5 x7 - x8
  - .17 x1 * x2 + .66 * x1 * x3  + .66  x1 * x4
  + .56 x2 * x3 + .49 x2 * x4
  - .17 x5 * x6 + .82 x5 * x7 + .66 x5 * x8
  + .16  x6 * x7 + .49 x6 * x8
Subject To
  c1: x1 + x5 <=1
  c2: x2 + x6 <=1,
  c3: x3 + x7 <=1
  c4: x4 + x8 <=1,
  c5: x1 + x2 + x3 + x4 <= 2
  c6: x5 + x6 + x7 + x8 <= 2
Bounds
 0 <= x1 <= 1
 0 <= x2 <= 1
 0 <= x3 <= 1
 0 <= x4 <= 1
 0 <= x5 <= 1
 0 <= x6 <= 1
 0 <= x7 <= 1
 0 <= x8 <= 1
Integers
  PS PD JS JD AS AD MS MD
End


It seems that according to Gurobi Interactive Shell the syntax is not correct :

Error reading LP format file /.../toyproblem.lp at line 2
Malformed term in expression
Neighboring tokens: " - .17 x1 * x2 + .66 * x1 * "

有什么想法吗?

提前感谢你的帮助,

MM.。

EN

回答 2

Stack Overflow用户

发布于 2017-03-02 01:01:40

这不是一个线性规划(LP) --它是一个二次规划(QP),它不是以标准形式编写的。此外,编写二进制变量的乘积是非常糟糕的形式;您应该引入新的二进制变量来表示逻辑条件。例如,将w1 * w2替换为带有约束的新变量z <= w1,z <= w2,z >= w1 + w2 - 1。

票数 0
EN

Stack Overflow用户

发布于 2017-11-25 15:45:07

错误出现在第三行:- .17 x1 * x2 + .66 * x1 * x3 + .66 x1 * x4它应该是:- .17 x1 * x2 + .66 x1 * x3 + .66 x1 * x4

记录在案。Gurobi确实处理QP,它叫它simplex...尽管我们知道它并不是真正意义上的单形。他们使用了一种叫做“活动集方法”的方法。

你可能想在他们的google组中发布问题。他们在那里的一天内回答:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42537439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档