- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 C++ 中使用 CPLEX 来解决集线器位置问题,即 MIP,并且我最近发现了一组非常精确的输入,CPLEX 认为这些输入是不可行的(即 CPXMIP_INFEASIBLE),即使该问题确实可行。在 MIP 预求解期间,该问题似乎在 CPLEX 中出现分歧;通常在这一点上,问题被简化为空问题,但不在不可行输入集中。
我发现对输入数据进行几乎任何轻微的调整都可以切换 CPLEX 找到解决方案的能力。例如,将 250.242566 更改为 250.242567,或者甚至只是将每个输入值四舍五入到最接近的整数,都会给我一个完全有效的解决方案。
软化我拥有的两个松弛约束也将允许解决方案,但鉴于输入数据,不应打破这些约束。解决方案后这些约束变量的值大约为 0 但略为负,例如-0.7e-10。 (这是可疑的,因为值应该大于 0。)
到底是怎么回事?我一窍不通。我尝试调整一些与精度相关的 CPLEX 变量(即 CPX_PARAM_NUMERICALEMPHASIS、CPX_PARAM_EPOPT、CPX_PARAM_EPMRK、CPX_PARAM_EPRHS),但没有任何帮助。输入数据本身不需要太高的精度——输入中的最小值是 1.412,最大值是 1520.984907。
我很感激任何建议或建议!
更新:
我注意到在 MIP 的预求解过程中,不可行的问题与可行的问题背道而驰。
检查两个问题的 CPXgetprestat,我可以看到两个问题之间的一个显着区别是在 pcstat 向量中,一个变量无法在不可行集合中聚合(即,不可行问题中的值为 0,而可行问题中的值为 -4) .
此外,CPXgetprestat 的 ocstat 和 orstat 向量在不可行问题中各有一个非零值(可行问题没有,因为它已被简化为空问题),但我不确定如何处理这两个值。如果 orstat[0] == 7 和 ocstat[0] == 1,这是否意味着在 Presolve 之前问题的第 7 行和第 1 个变量中有些值得注意?我将如何检查这个?
我已经比较了两个问题中 CPXwriteprob 的输出,除了我将输入值更改了 0.0001 以使问题不可行之外,没有什么不同。
最佳答案
也许尝试设置 EpInt=0?所以一个整数真的是整数。
从手册复制:
值(value)观
0.0 到 0.5 之间的任何数字;默认值:1e-05。
关于precision - CPLEX 中没有输入变化很小的解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11573068/
我想最小化受一组线性和二次约束的二次目标函数。 二次目标函数是不定的(非凸)。二次约束是正半定(凸)。变量是连续的。 我可以使用 Gurobi 或 CPLEX 处理这个问题吗?哪一个是更好的选择? 最
我正在尝试找出如何热启动 CPLEX 的二次规划求解器。我对终止于一阶固定点的非凸二次规划的 QP 求解器热启动特别感兴趣。 我相信start()函数应该这样做,但我不知道如何让求解器使用起始数据。
我目前正在使用命令行使用 cplex 和 pyomo pyomo -solver=cplex model.py data.dat 结果保存在文件 results.json 中。如何使用以前的结果作为起
我将 GAMS 与 CPLEX 优化器一起使用。在 CPLEX 优化器中有一个选项“iis”,以便它生成不可约的不一致约束集。如果我将 iis 选项设置为 1(或者我认为是 0 以外的任何值,但我只在
Docplex 和 CPLEX Python API 之间有什么区别?他们中的任何一个比另一个更快吗? 最佳答案 CPLEX Python API是围绕 C API 的轻量级包装器(又名,C 可调用库
是否可以在不调用 mip 求解器的情况下运行 cplex 预求解器来聚合问题?如果是,您能否提供一个使用 c 可调用库的示例? 最佳答案 是的,可以独立调用预求解。您要查找的函数是 CPXpresol
我是 LP 的新手,只是简单地使用过 PuLP在 Python 中。 为什么SCIP 3.2.1 - CPLEX 12.63之间有速度差异和 CPLEX 12.6.3 ? SCIP 不是仍然使用 CP
我已经使用GAMS很长时间了,但我无法在GAMS下使用CPLEX的所有功能。你能用 Pyomo 做到这一点吗?或者直接在 Python 中使用 CPLEX?谢谢! 最佳答案 使用 Pyomo 的优势是
我正在使用 CPLEX 求解线性二元优化模型。我已经用 MATLAB 和 JAVA 编写了模型。 JAVA和MATLAB编程得到的目标函数最优值是相同的。然而,最佳变量值是不同的。我的模型可能有多个最
我正在使用 CPLEX 12.8 为我的论文项目建模,但我遇到了无法解决的问题。我得到以下输出: CPLEX 12.8.0.0: integer infeasible. 1828 MIP simple
我必须使用 CPLEX Java API 解决以下问题: 我需要编写一个条件,该条件将返回一组整数变量的最小值(假设 x[i], i=1,2,...,n)但只考虑正数。 换句话说: 分钟{x[i] |
我正在尝试优化 CPLEX OPL 中的以下问题。我已经定义了参数和决策变量。但是,当我尝试制定目标函数和约束时,我似乎遇到了一个问题,因为我在目标函数调用行中收到错误“不能使用 int 的类型范围”
我遇到了交叉背包问题,其中需要通过最小化成本将一组元素中的最大数量的多个元素放入一个箱子中。我能够解决 CPLEX 中的优化问题。 但是,当问题由两个容器(具有不同的容量)组成时,我发现在 CPLEX
我正在开发一个用 Java 编写的 LP 并使用 cplex 作为求解器。找到最佳解决方案需要一些时间。如果我有一个计算速度更快的可行解决方案或者只是一个优化性降低的解决方案就足够了。 在CPLEX用
有没有办法在 cplex java 中获取两个不同决策变量的乘积并将其添加到目标函数中? 例如。 决策变量 -> x[i] 决策变量 -> y[j] -> x[i]*y[j] 这样的乘法应该是可能的,
我正在求解一个具有两种类型的变量的模型,x [i] [j]是ILOBOOL,而u [i]是ILOFLOAT。我正在尝试向此模型添加惰性约束。我设法以以下方式正确添加了惰性约束: std::string
我有一个 IloCplex 对象,我想使用 Cplex Java API 获取 IloObjective 的系数。 通过此代码,我获得了 IloObjective 和 IloNumExpr,但无法访问
我是 cplex 的新人,我正在尝试通过在约束中创建一个二进制变量来优化 x 的函数,这样: 如果 x[i] > 0 则 y[i] = 1 或如果 x[i] = 0 则 y[i] = 0 然后约束是
我是第一次使用 CPLEX Java API。 我想最小化某些索引上矩阵中值的总和,这是由条件给出的。 例如,如果我有矩阵 M = {{ 0, 1, 2, 1},{ 1, 2, 1, 0},{ 0,
我正在 cplex 上开发一个项目,情况是这样的: 这是一家化工厂,生产并销售 2 种最终产品 有 3 个 react 堆,每个 react 堆可以执行不同的任务,一次一个 目标函数使总利润最大化 解
我是一名优秀的程序员,十分优秀!