【问题标题】:How to read from .dzn file without variable names in Minizinc如何在 Minizinc 中读取没有变量名的 .dzn 文件
【发布时间】:2020-07-14 11:19:59
【问题描述】:

我是 Minizinc 的新手,我遇到了一个问题。我有包含这个的 .dzn 文件

10 7
4
3 2
3 5
4 3
5 5

我希望将其读入我的文件,第一行10 7 保存为h=10w=7,下一行4 保存为n=4,最后一行保存为数组dims=[[3,2],[3,5],[4,3],[5,5]]。然而,我还没有找到如何做到这一点,因为在教程中我已经阅读了 .dzn 文件中的变量已经命名,因此可以在 .mzn 文件中轻松调用,即使用命令int: w;。有没有办法在不更改 .dzn 文件的情况下命名 MiniZinc 文件中的整数?

非常感谢

【问题讨论】:

    标签: minizinc


    【解决方案1】:

    dzn 文件不是任何包含 MiniZinc 模型数据的文件。这些文件遵循严格的格式,所有数据都以表格形式给出

    <ident> = <expression>;
    

    这就是为什么您的文件不是dzn 文件的原因。目前 MiniZinc 仅支持dzn 格式或json 格式的直接数据。编译器无法读取其他格式。 MiniZinc 语言目前不需要为自定义数据文件创建解析器。

    如果您的数据仅以这种格式给出,那么有两个选项可以将它们与 MiniZinc 一起使用:

    1. 您可以编写一个小脚本,将描述的格式转换为jsondzn。这可以用任何编程语言完成。
    2. 您可以使用 MiniZinc Python 脚本前端:使用 Python 您可以解析数据,MiniZinc 模块将允许您直接将数据分配给实例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-24
      相关资源
      最近更新 更多