#优化 #CSP #线性求解器 #SAT #包装器

or-tools

Google OR-Tools C++库的非官方Rust封装,开源组合优化软件

1个不稳定版本

0.1.0 2023年11月13日

#1334算法

Apache-2.0

22KB
300

Google Or-Tools

Current Crates.io Version

or-tools 是一个Rust库,用于绑定到Google Or-Tools C++库的某些特定功能。

该存储库将致力于改进库的内容。

包括以下内容

  • 待定 # TODO:待实现!

构建

最小Rust版本

请将您的Rust编译器调整为1.73或更高版本。

支持的平台

  • Linux { aarch64, x86_64 }
    • Alpine Edge
    • Arch Linux (AUR)
    • CentOS 7 LTS
    • Debian 11
    • Fedora 37, 38
    • OpenSuse Leap
    • Ubuntu 20.04, 22.04, 23.04
  • MacOS { aarch64, x86_64 }
    • macOS Intel
    • macOS M1
  • Windows { x86_64 }
    • Visual Studio 2022

您的包管理器可能不支持在上述标记为 支持的 的平台上部署。

为了更好地维护,请告知我们其他平台是否支持。此外,您可以通过 问题 通知我们特定平台是否应该支持。

依赖项

  • C++20编译器(GCC 10或更高版本)
  • cmake>= 3.18
  • [可选] Or-Tools C++

构建依赖项

  • git

构建本地库

dlib-face-recognition 需要 Or-Tools 已安装。您可以选择提供现有的系统级安装,或者使用此库构建它。

  • 在编译时构建它
    • cargo build --features build-native
      
  • 使用系统级依赖项
    • cargo build
      

当启用 build-native 功能标志时,将通过 or-tools-sys 安装 C++ 库 Or-Tools

对于构建,此库使用 cmake,因此请确保安装 cmake

默认情况下禁用 build-native 标志,以提供更长的构建时间。

构建Rust包

dlib-face-recognition 包含一个 solver-all 功能标志 默认启用

solver-all 将启用所有受支持的 开源 求解器。有关求解器的最新信息,请参阅此处:https://github.com/google/or-tools/blob/stable/cmake/README.md#solvers-supported

solver-all 标志可以通过以下命令禁用:cargo build --no-default-features

GPL/专有软件求解器

dlib-face-recognition 包含一个 solver-all-nonfree 功能标志,可以使用以下命令与它一起使用:cargo build --features solver-all-nonfree .

solver-all 将启用所有支持的求解器,包括 GPL 和/或 专有 求解器。关于求解器的最新信息可以在这里找到:https://github.com/google/or-tools/blob/stable/cmake/README.md#solvers-supported

有关嵌入专有求解器的详细说明,请点击以下链接

solver-all-nonfree 标志默认禁用,这会提高构建时间。

依赖项

~0.9–2.1MB
~41K SLoC