- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
前段时间正在写一篇OR相关的文章发表。在文章中,使用 MiniZinc 展示了针对特定优化问题的 MILP 模型。我以最佳方式解决了 10 个实例中的 10 个实例。
一位顾问审查了它并提到了以下 2 条评论:
我一直在使用 MiniZinc,它对我来说非常有效。我如何展示 MiniZinc 的多功能性?是否有引用书目或证明其合理性的方法?
为什么不建议在摘要中提及它?
什么是使用 MiniZinc 的有效理由?
最佳答案
要证明使用 MiniZinc 的合理性,最重要的是阐明 MiniZinc 的功能。运筹学社区有时非常固定,通常会关注两件事:
但是,MiniZinc 应该被视为该过程中的较早步骤。它允许用户编写问题的高级模型,该模型被编译成求解器可以理解的规范(在 MILP 求解器的情况下,它将是一组线性方程)。因此,在 OR 世界中,它比图书馆更好,比如 JuMP和 PyOpt ,而不是像 Gurobi 或 CPlex 这样的求解器。然而,与这些库不同的是,MiniZinc 语言是在更高层次上编写的,并且打算与求解器技术无关,这意味着,除了 MILP 求解器之外,您还可以尝试 CP、LCG、SMT 和 SAT 求解器。
关于为什么使用 MiniZinc 而不是 JuMP 或 PyOpt 的一个很好的论据是,MiniZinc 通常可以在基于高级模型结构的编码中应用优化。已经发表了多篇关于自动线性化的问题的论文,这些问题在求解器上提供了出色/新颖的性能。论文"Improved Linearization of Constraint Programming Models"甚至表明 MiniZinc 有时可以创建比该领域的专家更高效的线性模型。
最后,应该注意的是,MiniZinc 实际上使用了您的顾问提到的求解器。 Gurobi 和 CPlex(可能)是解决线性化问题的最佳 MiniZinc 求解器。也就是说,如果您正在使用 MiniZinc 的一些其他求解器,那么您可能仍在使用最先进的求解器:Gecode 是目前最快的约束编程求解器之一; Chuffed 在 MiniZinc 挑战中多次击败所有竞争对手,是一种新颖的惰性子句生成求解器;并且有更多的求解器采用不同的求解器技术,可以与顶级的 MiniZinc 一起使用。
所以直截了本地回答问题:
How do you compare MiniZinc with other latest generation MILP solvers like CPLEX or Gurobi in terms of performance?
我们不会将 MiniZinc 与 Gurobi 或 CPlex 进行比较,因为 MiniZinc 不是求解器。然而,MiniZinc 将为新型求解器创建模型,例如 Gurobi 和 CPlex。
Since MiniZinc is not one of the best known MILP solvers, you should avoid mentioning its name in the summary. (For what reason would you not recommend mentioning it in the abstract?)
如果 MiniZinc 对您的应用做出了重大贡献,那么我认为提及它是公平的;但是,最好结合使用的求解器来提及它。如果在您的论文中描述 MiniZinc 的过程或它为您所做的工作,它会有所帮助。
What can be an efficient justification for the use of MiniZinc?
MiniZinc 是一个很好的工具,可以创建人类可读的问题模型,并将其转化为顶级求解器的有效规范。
关于linear-programming - 如何在研究中展示 MiniZinc 的效率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61481869/
我想替换以下特定于 Mozilla 的 CSS 规则: background: -moz-linear-gradient(center top , #F5F5F5, #E4E4E4); 使用标准 li
我正在将 MatLab 程序转换为 Python,我无法理解为什么 scipy.interpolate.interp2d(linear) 给出的结果与 MatLab interp2(linear) 不
我目前在自然语言处理方面开发的应用程序存在严重的性能问题。基本上,对于给定的文本,它会收集各种数据并进行一些数字运算。 对于每一个句子,它的作用完全相同。用于收集统计数据的算法不会随着先前读取的数据而
我正在为一个基本的 Android 计算器开发水平 View ,我有一个名为 linearLayout2 的 LinearLayout > 我试图将它放在 linearLayout3 之上,其中包含数
我为按钮的背景使用了一些 CSS,但它在 Firefox、Chrome 和 IE 中看起来不同。 我正在使用 -webkit-linear-gradient 和 -moz-linear-gradien
TL;DR -webkit-linear-gradient 正在打破 -moz-linear-gradient 听说是个难题,我使用的是带有两个 handle 的 Jquery Slider 插件,我
我突然想到,例如,假设我们有二维 N 点的训练数据。我们知道我们总是可以天真地构建一个决策树,以便我们可以对每个数据点进行分类。 (可能我们过拟合了,深度可以到2N) 但是,我们知道如果数据集是线性可
我对插值函数的一般求根问题感兴趣。 假设我有以下 (x, y)数据: set.seed(0) x = x[i]) & (rroots <= x[i + 1])] ## next piece
我有一个线性优化目标来最大化 EE+FF,其中 EE 和 FF 每个都包含一些 C 和 D。 使用我编写的代码,我可以让求解器找到: EE_quantity: 0, FF_quantity: 7 ..
我一直在寻找这个问题,但我无法理解这个问题的含义。 问题: Write a program in any language to determine how your computer handles
我在 Python 中有一个简单的线性多元回归,如下所示: X_train,X_test,y_train,y_test=train_test_split(x_cols,df['Volume'],tes
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 10年前关闭。 Improve this
对于大型稀疏迭代(共轭梯度、MINRES、GMRES 等)线性代数系统求解,有哪些更好的库?我经常编写自己的程序,但我很想知道人们更喜欢哪种“现成的”软件包。我听说过 PETSc、TAUCS、IML+
这是我的全部问题: 信息: *最大限度。总投资:125美元 *支付是购买的单位x支付/单位的总和 *每笔投资成本:买入成本+成本/单位x单位数量(如果您购买至少一个单位) *费用为每笔投资费用之和 限
我有两个变量:x>= 0 和 y 二进制(0 或 1),我有一个常数 z >= 0。如何使用线性约束来描述以下条件: If x = z then y = 1 else y = 0. 我试图通过定义另一
我正在尝试做一些逻辑上应该可以做的事情。但是,我不确定如何在线性规划领域内做到这一点。我正在使用 ZMPL/SCIP,但这对大多数人来说应该是可读的。 set I := {1,2,3,4,5}; pa
我正在为我的期中考试做准备,我正在解决算法书中的一些问题,但似乎无法弄清楚以下问题: 在实数 a 和 b 上找出线性规划的充分必要条件 max: x+y ax + by 0 (a) 是不可行的。 (b
我正在做一个 Java 项目,我必须计算一个多元线性回归,但我希望得到的参数是非负的。是否有现有的商业友好许可图书馆来做这样的事情?我一直在寻找非负最小二乘库,但没有成功。 最佳答案 好吧,我找不到任
密集线性代数在现实世界中的常见应用是什么? 使用线性代数作为人机之间的通用语言,可以轻松描述和高效计算许多问题。尽管这些系统通常需要稀疏矩阵的解,而不是稠密矩阵。违反此规则的常见应用有哪些? 我很好奇
我如何找到 广义特征值、向量 使用 Eigen3 图书馆? 在 Octave ,matlab,特征值函数的形式是:[V, lambda] = eig (A, B) . 我只能找到 this 类(cla
我是一名优秀的程序员,十分优秀!