如何在 MiniZinc 中安装 Google 的 CP 求解器 OR-Tools?

Posted

技术标签:

【中文标题】如何在 MiniZinc 中安装 Google 的 CP 求解器 OR-Tools?【英文标题】:How can i install Google's CP solver OR-Tools in MiniZinc? 【发布时间】:2020-08-15 11:43:42 【问题描述】:

我目前正在研究 MiniZinc,并且我一直在使用 MiniZinc 中集成的两个求解器运行我的模型:Gecode 和 Chuffed。我一直在 IDE 中运行它,但我知道它也可以在 bash 中运行(使用minizinc 命令)。

但我想测试我的模型如何使用 Google 的 CP 求解器(称为 OR-Tools)。但我真的不知道怎么做。我在 Ubuntu 18.04 中安装了 MiniZinc snap 包,但我可以下载 MiniZinc 的新目录并在本地运行它,并在那里配置求解器(而不是在 snap 安装中,因为 snap 目录无法修改)。

我需要一种方法来安装 OR-Tools 并使其至少在终端中工作(但从 IDE 运行它会很完美)。

【问题讨论】:

您可以在此处获取 ortools 的 flatzinc 二进制文件:github.com/google/or-tools/releases 【参考方案1】:

MiniZinc 使用solver configuration files 来查找可用的求解器。但是,如果求解器不提供配置文件。 IDE 可以帮助您通过以下简单步骤为求解器添加用户配置文件。

    打开首选项窗口。 在求解器选择中,选择“添加新...” 输入要添加的求解器的详细信息。最重要的是可执行文件的位置和它们的 MiniZinc 库的位置。

编辑/添加:获取必要的可执行文件

正如 Stradivari 在上述评论中提到的,版本分布在 or-tools @ Github

从遵循or-tools_flatzinc_XXX_VERSION.zip 命名方案的资产之一中选择相应的资产。

【讨论】:

支持-a、-n、-s、-v、-p、-f、-t。不确定 -r 顺便问一下@Dekker1,你怎么能在 MiniZinc 命令行中做到这一点?我正在尝试使用默认安装的 MiniZinc + OR Tools 求解器构建一个 docker 容器。 您可以将 IDE 创建的文件(存储在.minizinc/solvers)复制到您的 Docker 映像中 我在 MacOS 中使用 pip 安装了 or-tools,但在“/Users/my_name/Library/Python/3.8/lib/python/site-packages”中找不到任何 bin 文件夹。是在别的地方吗? 完整路径为“/Users/my_name/Library/Python/3.8/lib/python/site-packages/ortools”

以上是关于如何在 MiniZinc 中安装 Google 的 CP 求解器 OR-Tools?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Google Colab GPU 中安装 CUDA

如何在 Google 的 Colab 中安装 Python 包?

如何在Google Colaboratory上的Jupyter笔记本中安装svmutil?

如何在Android模拟器中安装Google Fit应用?

无法在 google colab 中安装 textract

如何在Google Colab中安装Web3