python-3.x - python中的IBM cplex ilog VS docplex
问题描述
目前,我正在研究 python 上的 docplex。
我刚刚发现 IBM cplex Ilog 和 docplex 的结果完全不同。
尽管它们的约束条件、目标函数等一切都是相同的,但它们的解决方案却大不相同。
在某些情况下,docplex 说不可行,即使它在 Ilog 中是可行的。
我试图限制 docplex 容差的完整性和最小差距,但同样的问题发生了。
有谁知道为什么会这样?以及如何解决这个问题?
解决方案
为了补充 Alex 的回答:在 Docplex 中,Model.export_as_lp(path'c:/temp/mymodel.lp') 是从 Docplex 模型生成 LP 文件的方法。在 Cplex 的 Python API 中,您有一个 Cplex 实例,使用 cpx.write('c:/temp/mymodel_cplex.lp') 生成 LP 文件。
如果您的模型相同,那么两个 LP 文件也应该相同(除了变量排序方面的一些差异,例如 x2+x1 而不是 x1+x2)。如果您需要在两个 API 中使用相同的模型,那么您必须先达到这种相等性,然后再进一步。
DOcplex 有工具来调查不可行的模型,但在确保两个模型相同之前没有意义。
推荐阅读
- python - 使用枕头创建和编辑图像,给出错误“属性访问”
- r - 如何使用逻辑语句添加新列
- maven - Windows 10 WSL - Maven 配置
- javascript - 如何在pyvis python网络图中插入图像?
- python - Is there a way to examine how much memory an image is occupying with python?
- python - Scrapy - xpath with a regular expression
- path - 为什么我在 Tableau 中输入时间时路径会消失
- java - 如何打印序列一个 1,然后是两个 2,三个 3,... n ns?
- javascript - Why can't I access properties directly within this object?
- javascript - 如何通过 HTML 中的输入字段向 HTML 元素添加类?