gurobipy 中的反向指标约束

2023-12-28

我是 gurobipy 的初学者。我想添加一个反向指标约束。

指标约束只不过取决于约束是否成立的二元变量。 在 gurobipy 中,这写为

model.addConstr((x == 1) >> (y + z <= 5))

其中 x 是二进制变量,y 和 z 是整数变量。该语句表示,如果 x 为 True,则约束 y+z

但我想要有一个像这样的反向约束。 如果 y+z

所以颠倒的语句会引发错误。

model.addConstr((y + z <= 5) >> (x == 1))

有什么想法如何在 gurobipy 中重写这样的条件约束吗?!


其含义

y+z ≤ 5  ⇒  x = 1

可以重写为:

x = 0  ⇒  y+z ≥ 6

这可以直接实现为指标约束。


这是基于命题逻辑的。这称为转置:

A ⇒ B
⇔
not B ⇒ not A 

所以理论上我们有

y+z ≤ 5  ⇒  x = 1
⇔
x = 0  ⇒  y+z > 5

如果 x 和 y 是整数,我们可以说x = 0 ⇒ y+z ≥ 6如果它们是连续变量,你可以这样做:x = 0 ⇒ y+z ≥ 5.0001(实际上我会这样做:x = 0 ⇒ y+z ≥ 5并让事情变得模棱两可y+z = 5).

这是使用指标约束时的一种标准技巧。似乎并不是每个人都意识到或欣赏这一点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

gurobipy 中的反向指标约束 的相关文章

随机推荐

  • Hystrix 仪表板始终显示加载屏幕

    我使用 Netflix OSS 库开发了微服务应用程序 我在 localhost 9091 hystrix 上运行的 Hystrix 仪表板上遇到问题 我想监控微服务A和微服务B之间的请求指标 端点 hystrix stream 已注册 h
  • 我得到了错误的客户端 IP 地址

    我正在运行 ASP NET 应用程序 Web 服务器位于同一系统上 在后面的代码中我只想获取请求客户端的IP地址 我正在使用这段代码 Request UserHostAddress 但我得到了一个错误的地址 127 0 0 1 我的系统IP
  • Rails own_to 关联(带有 :class_name)返回 nil

    我对 Rails 开发比较陌生 并且遇到了一个小的关联问题 我想将一个关联命名为与其所链接的模型不同的名称 我有以下2个型号 class User lt ActiveRecord Base has many events end class
  • SecurityException:不允许启动服务

    在我们的应用程序中 我们有一个Service以这种方式定义
  • 在 Angular.js $http 请求之后,无论 Promise 成功还是失败,都调用完整的函数

    我怎样才能确保complete 无论 http 调用的结果如何 函数都会使用 Angular js 提供的 Promise API 运行吗 http method POST url submitUrl data scope data suc
  • 在 Sublime Text 中如何复制没有行尾字符的行

    在 ST3 中 您只需使用 ctrl c 即可复制整行 这非常有用 唯一的问题是该命令还会复制 返回 或换行符 因此例如当您复制一行并粘贴到控制台中时它将立即运行该命令 这是不可取的 因为我想在运行命令之前先对其进行编辑 这迫使我手动突出显
  • R 神经网络包 - net.result 显示什么?

    使用以下代码 我构建了一个神经网络模型来预测收盘价 library neuralnet myformula lt close High Low Open nn close lt neuralnet myformula data train
  • OAuth2 访问令牌中允许使用哪些字符?

    RFC6749 https www rfc editor org rfc rfc6749 and RFC6750 https www rfc editor org rfc rfc6750对于 OAuth2 访问令牌中允许使用哪些字符 似乎彼
  • 在 python-social-auth 中从 google 和 facebook 检索个人资料图片

    如何通过扩展管道使用 python social auth 从 google 和 facebook 检索个人资料图片和出生日期 我读过 我可以创建函数来执行此操作并设置它们的路径 但我不知道必须检索的属性名称 请帮忙 要从社交登录获取头像
  • Eclipse 着色:所有出现的选择的背景颜色的首选项目是什么

    在 Eclipse 中 当单击标识符 函数名称或变量等 时 给出了该标识符的背景以及该标识符的所有其他出现情况 不同的背景颜色 谁能告诉我 为此更改背景颜色的首选项是什么 最后这个保留在我的黑暗日食设置中 有一个部分标题为注释允许您配置背景
  • SQL Server:找不到数据类型日期且无法设置兼容性

    我有一个使用 DATE 的安装脚本 我正在运行 SQL Server 2008 R2 它不喜欢日期类型 Msg 2715 Level 16 State 7 Line 1 Column parameter or variable 3 Cann
  • 这个符号 () => 在 Javascript 中是什么意思? [复制]

    这个问题在这里已经有答案了 您可以在这段代码的第一行看到 gt 符号 const server http createServer req res gt res statusCode 200 res setHeader content ty
  • 解析/使用来自 3rd 方依赖项的多个程序集版本

    在我的项目中 我遇到了依赖层次结构的问题 我使用一个图书馆 可写位图扩展 http writeablebitmapex codeplex com 在我的代码中 我还有另一个也使用 WriteableBitmapExtensions 的第 3
  • CodeIgniter 更新查询执行两次

    我正在使用 CodeIgniter 2 2 每次访问页面时 我都必须用 1 更新数据库 代码可以工作 但每次都会增加 2 示例 如果total views 2 一旦页面被点击total views应该3 但数据库中的值为4 我确定我正在调用
  • 为什么 Impala 花费大量时间打开 HDFS 文件(TotalRawHdfsOpenFileTime)?

    我发现我的Impala swarm表现不稳定 正常情况下只需要几秒 不到10s 就可以完成一个查询 但偶尔会需要40s以上 而且这种情况会持续几分钟 当偏偏 根据配置文件 TotalRawHdfsOpenFileTime 非常高 这意味着大
  • 从 webpack 传递较少的变量

    当然 我试图将 webpack 配置中的 less 变量传递给 less 加载器 由于某种原因 变量未正确传递 我无法弄清楚正确的语法 该变量具有在构建时在 webpack 配置文件中确定的动态内容 这是相关的行 我已经尝试过它的许多变体
  • Junit 在仍然通过测试时抛出警告

    我目前正在开发一个项目 我们正在使用 junit 进行测试 但由于它仍处于相当早期的阶段 许多功能尚未实现 尽管他们已经为它们编写了测试 这意味着这些测试 显然 总是失败 我想知道是否有人知道如何让 JUnit 在显示警告的同时通过测试 最
  • Vue 和 Webpack 中的动态导入路径

    我正在 VueJS 2 和 Vue CLI 3 中创建一个前端项目 该项目将由不同的客户端使用 我希望能够导入基本上我需要的所有内容 JS 文件 如 mixins 和组件代码以及 CSS LESS 文件 在 webpack 构建过程中 基于
  • CsQuery 解析 li 项的集合

    这是我的代码 CQ dom CQ Create htmlString var items dom blog accordion li foreach var li in items var newTournament false var t
  • gurobipy 中的反向指标约束

    我是 gurobipy 的初学者 我想添加一个反向指标约束 指标约束只不过取决于约束是否成立的二元变量 在 gurobipy 中 这写为 model addConstr x 1 gt gt y z lt 5 其中 x 是二进制变量 y 和