constraints - 公差对二元变量的影响?
问题描述
我正在使用 OPL CPLEX 12.9。在我的模型中,dvar float + 变量忽略非负性条件并返回值 -4.4409e-16。我已经读到这是由于 Cplex 的容差。这也不会影响实际过程。它仍会以值 0 计数。但是,它似乎会影响二进制变量。因为同时我模型中的二元变量也忽略了它们的约束。二进制变量无视它们的约束是不可取的 连接是否可能,我该如何避免它?
解决方案
正如对您问题的评论中所述,这是所有类型变量的预期行为(由于数字舍入)。
如果您想增加整数/二进制变量具有精确整数值的机会,可以将CPX_PARAM_EPINT参数(“整数容差”)设置为 0。在 OPL 设置编辑器中,您可以通过Mixed Integer Programming > Tolerances
.
对于二进制变量,您还可以使用类似value < 0.5 ? 0 : 1
.
推荐阅读
- video - Opentok individual archive audio is not clear
- pdf - Get number of pages in a Folder of every pdf and extract only part of pdf when bigger than 30 sites
- sql - SQL: CONSTRAINT [myPK] PRIMARY KEY [这里没有指定] 集群
- java - 服务:AmazonSQS;状态码:403;错误代码:SignatureDoesNotMatch;SQS
- javascript - 如何模拟 navigator.language 进行打字稿单元测试
- r - 有条件地用数字列中的点替换逗号
- php - “路线 [登录] 未定义。” 托管后。laravel 5.7 但在本地主机上工作
- javascript - 如何只为部分用户(30%)使用应用程序?
- json - 根据密钥解组 JSON
- java - Flink 1.7.1 fails to authenticate s3a with core-site.xml