我目前正在尝试在 Minizinc 中开发一个(相当基本的)model。 到目前为止,我已经达到了一个点,我可以运行 model 并找到一个令人满意的解决方案(基本上调用“解决满足”给出了一个解决方案,尚未转向优化)。 对于一个特定的实例,我在大约 3.5 分钟内得到了解决方案。 但是,当我添加一个 ...
我目前正在尝试在 Minizinc 中开发一个(相当基本的)model。 到目前为止,我已经达到了一个点,我可以运行 model 并找到一个令人满意的解决方案(基本上调用“解决满足”给出了一个解决方案,尚未转向优化)。 对于一个特定的实例,我在大约 3.5 分钟内得到了解决方案。 但是,当我添加一个 ...
我正在 Minizinc 2.5.3(最新版本)和 Gecode 6.3.0 上构建一个简单的 model 来尝试组织武器生产操作。 运行代码时,出现如下错误: 我一直在阅读有关使用 Gecode 浮动变量的一些限制,但我不知道问题出在求解器还是我的代码(附加)。 我尝试将所有变量更改为 integ ...
我正在尝试学习gecode并试图让此处找到的示例起作用。 // To use integer variables and constraints #include <gecode/int.hh> // To make modeling more comfortable #include ...
输入(boolean 和算术方程)顺序对 Gecode 等约束求解器和 Microsoft Z3 等 SMT 求解器是否重要? 如果是的话,如果我可以在 Gecode 中使用分支 function 来利用一些已知的启发式方法,那么这两者中哪一个会表现得更好? (注:不知道function类似于Ge ...
在像 Gecode 这样的约束求解器中,我们可以借助分支 function 来控制搜索空间的探索。例如branch(home, x, INT_VAL_MIN )这将从变量 x 在其域中的最小可能值开始探索搜索空间并尝试找到解决方案。(有很多这样的选择。) 对于 z3,我们有这种内置的灵活性吗? 任 ...
有人可以给我一些可以使用 SMT 求解器(如 microsoft z3)解决但不能由约束求解器(如 Gecode)解决的示例吗? 约束求解器和 SMT 求解器的基本区别是什么? ...
我正在尝试使用 gecode 求解线性方程 15 * x + y + 0.4*z == 100。 我想打印 x,y,z 的值。 但是,当我运行以下代码时, 我得到 output 为 [1..6] [10..85] [1..100]。 但我期待一个有效的解决方案,如 1 83 5 分别作为 xyz 值 ...
我正在寻找 SystemVerilog 语言的基于 C++ 的替代方案。 虽然我怀疑任何东西都可以与 SystemVerilog 约束语言的简单性和灵活性相媲美,但我已经决定使用 Z3 或 Gecode 来完成我的工作,主要是因为它们都在 MIT 许可下。 我正在寻找的是: 支持可变大小的位 ...
我正在使用带有内置 Gecode 6.1.1 的 minizinc,我想最大化一个目标函数,其值远大于最大 int 32。32 位整数的最大值是 2147483646。虽然似乎没有太多信息与minizinc 参考中整数的最大值有关。 然而,下面的测试表明 Minizinc 使用 32 位整数。 测 ...
我是CMake的新手,并且需要一个简单问题的指导:通过以下链接从Ubuntu 18.04计算机中的源代码构建gecode。 该库安装在/opt/gecode-release-6.2.0目录中。 我有一个C ++简单项目,其源代码使用gecode库函数,并且该项目是使用CMake构建的。 但 ...
我使用Ubuntu 18.04,并尝试编译Gecode带来的示例“ money.cpp”文件。 我下载了(gecode-release-5.1.0.tar.gz)并将其解压缩。 然后,要安装Gecode,请执行以下步骤: (1)./ configure(2)制作 我得到满意的安装 ...
我在带有正反示例的学习上下文中通过其C++ API使用Gecode 。 在这种情况下,我有两个BoolVarArray : positive_bags_和negative_bags_ 。 我想做的事情很简单:我想根据用户参数gmin ,以最小的增长率约束这些袋子。 因此,约束应类似 ...
我正在研究GECODE求解器,以实现矩阵生成问题。 我已经弄清了我需要的所有约束,除了一个约束: Given a Matrix[M, N], all column vectors must be pairwise distinct. 这是我想写的代码: 但是我不知道如何用提 ...
我只想知道这两个MiniZinc求解器是否默认都使用无限精度算法。 ...
我编写了一个大型的minizinc模型,其中包含带有int_search语句的var变量,用于正确排序。 它包含输出语句,其中我使用fix(var variables)语句来输出变量值,并且包含一些使用内置函数sum,bool2int等的函数。现在,当我运行模型时,它会在很长一段时间后显示在屏 ...
我在这里发问,是否有办法改变分支的不同策略。 让我解释一下,我有一个有效的分支策略,我们将其称为A。 最大的问题是策略A不能经常使用。 因此,当我无法使用策略A时 ,我将使用效率较低的另一种策略,我将其称为策略B。 该文档说: 分支机构订单。 创建分支程序会将其注册到其本 ...
在Gecode中 ,我在分支时使用merit函数选择变量。 为了计算变量v的优值,我需要访问其他一些变量值 ,但是看起来在调用merit函数时,空间变量尚未分配任何值: 难道我做错了什么? 有没有办法在优点函数中访问变量值? ...
MiniZinc约束求解器允许使用内置的sum()函数非常容易地表达基数约束 : 当且仅当布尔变量数组中的true元素的数字是指定的时,才满足基数约束。 布尔值自动映射到整数值0和1以计算总和。 我将自己的基数约束谓词实现为一组计数器切片: 此实现使用并行编码,切片之间的 ...
关于Minizinc的语法,我有一个简单的问题。 我的输入.dzn文件包含一组2维数组(大约最多30个数组),声明如下: 注意:索引号中有间隙(例如,12 - > 20) 在我的模型中,我需要根据变量的值使用其中一个数组。 在通用编程语言中,我将使用地图或字典数据结构来解 ...
我正在使用minizinc和gecode以分布式方式解决最小化问题。 我有多个分布式服务器,它们使用相同的输入来解决相同的模型,并且希望所有服务器都获得相同的解决方案。 问题在于该模型具有多个解决方案,这会定期导致服务器独立提出不同的解决方案。 只要所有服务器之间的解决方案都相同,选择 ...