optimization - 线性规划:如果数组中的值超过某个阈值,如何将决策变量(二进制)变为 1
问题描述
我有一个数组,它包含一个关于决策变量的线性表达式。假设决策变量采用数组 = [1.7, 0.3, 0] 的值。现在我想要的是以下内容:
1) 如果上述数组中的任何值 > 0.5,则决策变量:y1 (binary) = 1,否则为 0。所以 y1 应该是 [1, 0, 0]
2) 如果上述数组中的任何值 > 0.5,则决策变量:y2(实值)= 值,否则为 0。因此 y2 = [1.7, 0, 0]
3) 如果数组中的任何值 > 0 且 <= 0.5,则决策变量:y3(二进制)= 1,否则为 0。因此 y3 = [0, 1, 0]
我知道大 M 公式可以提供帮助,但我正在努力寻找方法。有人可以帮我制定以上三点吗。我正在研究 pyomo 和 gurobi 来解决问题。
解决方案
推荐阅读
- python - POST http://127.0.0.1:8000/ 400(错误请求)
- javascript - 如何检测滚动条何时触及模态底部
- database - 如何计算最佳连接总数并找到要使用的数据库实例类型?
- excel - 将数据从 Excel 2016 复制到 Word 2016 表
- typescript - 无法用 Jest 读取未定义的属性
- reactjs - Formik setValues() 抛出“重新渲染过多”错误
- r - 在 R 中有效地取消嵌套大型数据表
- python - 在 Python 中切换 Ursina 实体可见性
- bash - 如何将作为目录的变量 ${outputdirectory%%/*} 转换为 powershell 脚本?
- python - 从字节转换后图像变为蓝色