linear-programming - 对于线性规划求解器,我们可以期待什么样的求解质量?
问题描述
我正在尝试解决线性约束满足问题。所以我拿起“GNU 线性编程工具包”,写下我的约束,并用一些简单的目标函数让它松散。
GLPK 声称找到了解决方案,但如果我根据约束条件检查它,他们并不满意。即应该为 <= 0 的表达式实际上在 1e-10 左右。即略大于0。
通过设置约束以返回多面体的切比雪夫中心,我可能可以解决这个问题,但我想知道线性规划求解器是否会出现这种差异,或者我应该将其报告为 GLPK 人员的错误。
解决方案
所有 LP 求解器都使用可行性和其他公差。这些是必需的,因为浮点计算不精确。您可以稍微拧紧它们,但一般来说,最好不要触摸它们。
因此,您应该期待具有以下属性的解决方案:
- 变量稍微超出其范围
- 约束可能会被少量违反
- 二进制和整数变量略为非整数
推荐阅读
- sql-server - 一段时间内分组的平均值
- google-analytics - 在 Google Analytic 报告中,我的域名被添加到页面路径中
- ubuntu - Imagick 导致无法从路径 (/tmp/phpjRWxLB) 读取图像
- c# - 出口清单
- > 在 WPF 中使用 C# 转至 Excel
- python - 我没有成功用 Scikit-Learn 和 Python 中的 MLeap 保存(序列化)一个 zip 文件
- php - 如何使用像 xampp 一样的 docker (kitematic) 工作?
- html5-video - 带有 RTSP 流源的 HTML5 视频不在 iPhone ios 13.4 上的 Chrome 中播放,但在 Safari 中工作
- python - 将两个 Pandas DataFrame 组合成一个三维 np.array
- javascript - Angular 在字符串中查找标记并用真实的 html 标记替换
- java - 在服务android中显示自定义警报对话框