问题标签 [minizinc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
75 浏览

minizinc - 为事件分配时间

我正在尝试使用上面的代码为事件分配时间。但不是为事件随机分配时间,而是返回错误“数组访问越界”如何让它从时间数组中随机选择?谢谢

0 投票
2 回答
1428 浏览

scheduling - 约束编程:与多个工人一起调度

我是约束编程的新手。我想这是一个简单的问题,但我无法解决它。这是问题所在:

  • 我们有多台机器(N),每台机器都有有限的资源(比如说内存,所有机器都可以相同。)
  • 我们有 T 个任务,每个任务都有一个持续时间,每个任务都需要一定数量的资源。
  • 只要不超出其资源,一台机器就可以同时处理多个任务。
  • 一项任务不能在机器之间拆分,它必须一次性完成(即没有暂停)。

我们如何将任务分配给机器以最小化结束时间或使用的机器数量?

似乎我应该能够使用累积谓词来实现这一点,但它似乎仅限于将一组任务安排给一个具有有限全局资源的工作人员,而不是可变数量的工作人员。

我只是在学习 CP 和 MiniZinc。关于如何概括累积的任何想法?或者,是否有一个我可以理解的现有 MiniZinc 模型做这样的事情(或足够接近?)

谢谢,

PS:我没有任何具体数据,因为这在很大程度上是一个假设/学习练习。想象一下,您有 10 台机器和 10 个任务,不同的持续时间(以小时为单位):2,4,6,5,2,1,4,6,3,2,12 内存要求 (GB):1,2,4, 2,1,8,12,4,1,10。每台机器都有 32 GB 的内存。

0 投票
3 回答
458 浏览

constraint-programming - 具有最活跃社区和资源的约束编程工具集

我是CP新手。到目前为止,我玩过 MiniZinc,我发现这很有趣。

在我做出太多承诺之前,我想弄清楚从最活跃的社区、在研究中积极开发和使用以及最佳学习资源(示例和教程)的角度来看,什么 CP 语言和求解器是最好的开始。

到目前为止的选项似乎是:MiniZinc、ECLiPSe 和 or-tools。

谢谢,

0 投票
1 回答
713 浏览

multithreading - 从命令行在 Minizinc 中并行求解

Minizinc IDE 在配置部分有一个并行求解器选项(“线程数”)。但是,从命令行编译时,mzn2fzn二进制文件似乎不支持并行选项。是否可以从命令行编译文件并行解决?

0 投票
1 回答
3137 浏览

minizinc - Minizinc 嵌套 for 循环

我如何使用嵌套的 for 循环(就像下面的 java 所做的那样)在 Minizinc 中生成/填充数组?

0 投票
1 回答
3705 浏览

minizinc - Minizinc 搜索带约束的二维数组

我如何从二维数组的每一行中选择最小的数字,同时确保最多可以选择两次相同的列(在以下情况下,对于第 1 行,选择第 5 列;对于第 2 行,选择第 5 列,而对于第 3 行,不能再选择第 5 列,因此选择第 2 列作为最小值):(此外,在 java 中,通常使用 ArrayList 来添加和删除元素,但如何在 Minizinc 中做到这一点使用约束)?

0 投票
0 回答
1077 浏览

minizinc - Minizinc 意外的语法错误

以下错误是什么意思(我什至在 .mzn 或 .dzn 中都没有第 83 行:

错误:行号中的整数文字无效。83

错误:语法错误,意外的“:”,在第 1 行中需要 FZ_INT_LIT。83

是因为我的数组中的数字太大,求解器无法处理吗?

0 投票
0 回答
122 浏览

minizinc - Minizinc 大阵列维度

我正在 Minizinc 中生成一个大型二维数组(例如,250000X300),因为我正在寻找这个数组中的解决方案。但是,Minizinc 似乎无法处理如此大的阵列并一直停止工作。有什么办法可以解决这个问题,这样我仍然可以得到我的解决方案???- 我需要重写我的代码吗 - 但我仍然需要这个包含解决方案的大数组。

0 投票
1 回答
178 浏览

minizinc - 抽样搜索域

在 Minizinc 中,是否可以对域进行采样?假设我的域有很多解决方案,运行 --all-solutions 最初会返回非常相似的解决方案。

1)有没有办法对域进行采样?也许是 BFS ?目的是进行后续解决方案分析。

2) 有什么方法可以估计 CP 中的搜索域大小吗?

我的域是员工排班问题

问候,H

0 投票
1 回答
4015 浏览

minizinc - MiniZinc:类型错误:预期 `array[int] of int',实际 `array[int] of var opt int

我正在尝试编写一个执行与 相同的操作circuit但忽略数组中的零的谓词,并且我不断收到以下错误:

MiniZinc: type error: initialisation value for 'x_without_0' has invalid type-inst: expected 'array[int] of int', actual 'array[int] of var opt int'

在代码中:

我正在使用 MiniZinc v2.0.11

编辑

根据 Kobbe 的建议,这是一个可变长度数组的问题,我使用“通常的解决方法”来保持order数组与原始数组的大小相同x,并使用参数 ,nnonzeros来跟踪数组的部分我关心: