Введение
В этом руководстве объясняется, как выполнить сборку из исходного кода OR-Tools с поддержкой .Net в Linux.
Если вы не планируете изменять исходный код или использовать сторонний решатель с OR-Tools, мы рекомендуем установку пакета .
Хотя эти инструкции могут работать и на других вариантах Linux, мы тестировали их только на машинах, отвечающих следующим требованиям:
- Alpine Edge 64-разрядная версия (x86_64)
- Centos 7 LTS 64-бит (x86_64)
- Debian SID 64-бит (x86_64)
- Debian 11 (яблочко) 64-разрядная версия (x86_64)
- Федора 38, 64-разрядная версия (x86_64)
- Федора 37, 64-разрядная версия (x86_64)
- OpenSuse Leap 64-бит (x86_64)
- Ubuntu 24.04 64-разрядная версия (x86_64)
- Ubuntu 22.04 LTS 64-бит (x86_64)
- Ubuntu 20.04 LTS 64-бит (x86_64)
Предварительные условия
В следующих разделах описаны необходимые условия для установки OR-Tools.
Инструменты С++
Чтобы установить инструменты C++, откройте окно терминала и введите:
Альпийский
apk add alpine-sdk linux-headers cmake lsb-release-minimal
Центос
sudo yum groupinstall -y 'Development Tools'sudo yum install -y pkgconfig redhat-lsb-core
Дебиан
sudo apt updatesudo apt install -y build-essential cmake lsb-release
Федора
sudo dnf groupinstall -y 'Development Tools'sudo dnf install -y gcc-c++ cmake redhat-lsb-core
Федора
sudo dnf groupinstall -y 'Development Tools'sudo dnf install -y gcc-c++ cmake redhat-lsb-core
OpenSUSE
sudo zypper refreshsudo zypper install -y git gcc11 gcc11-c++ lsb-release
Убунту
sudo apt updatesudo apt install -y build-essential cmake lsb-release
Убунту
sudo apt updatesudo apt install -y build-essential cmake lsb-release
Убунту
sudo apt updatesudo apt install -y build-essential cmake lsb-release
СВИГ
Чтобы установить SWIG, откройте окно терминала и введите:
Альпийский
apk add swig
Центос
sudo yum install -y swig
Дебиан
sudo apt install -y swig
Федора
sudo dnf install -y swig
Федора
sudo dnf install -y swig
OpenSUSE
sudo zypper install -y swig
Убунту
sudo apt install -y swig
Убунту
sudo apt install -y swig
Убунту
sudo apt install -y swig
.Net Core SDK >= 3.1
Затем установите .Net Core SDK версии 3.1 или выше. Для этого откройте окно терминала и введите:
Альпийский
apk add dotnet6-sdkref: https://learn.microsoft.com/en-us/dotnet/core/install/linux-alpine
Центос
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpmsudo yum install -y dotnet-sdk-6.0
Дебиан
Прежде чем устанавливать .NET, выполните следующие команды, чтобы добавить ключ подписи пакета Microsoft в список доверенных ключей и добавить репозиторий пакетов.
wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.debdpkg -i packages-microsoft-prod.debrm packages-microsoft-prod.deb
sudo apt updatesudo apt install -y dotnet-sdk-6.0
Федора
sudo dnf install -y dotnet-sdk-6.0
Федора
sudo dnf install -y dotnet-sdk-6.0
OpenSUSE
Прежде чем устанавливать .NET, выполните следующие команды, чтобы добавить ключ подписи пакета Microsoft в список доверенных ключей и добавить репозиторий пакетов.
sudo zypper install libicusudo rpm --import https://packages.microsoft.com/keys/microsoft.ascwget https://packages.microsoft.com/config/opensuse/15/prod.reposudo mv prod.repo /etc/zypp/repos.d/microsoft-prod.reposudo chown root:root /etc/zypp/repos.d/microsoft-prod.repo
Затем вы можете установить .Net SDK, используя следующую команду:
sudo zypper install -y dotnet-sdk-6.0
Убунту
sudo apt install -y dotnet-sdk-6.0
Убунту
sudo apt install -y dotnet-sdk-6.0
Убунту
sudo apt install -y dotnet-sdk-6.0
Загрузите исходный код
На GitHub есть две отдельные ветки исходного кода OR-Tools: stable и main .
stable ветка была тщательно протестирована и должна безупречно работать на всех поддерживаемых платформах.
В main ветке применены последние обновления и улучшения; он более актуален, но менее стабилен.
Загрузите стабильный исходный код
Вы можете получить стабильный исходный код OR-Tools одним из следующих способов:
Клонируйте
stableветку, введя:git clone https://github.com/google/or-toolsЗагрузите последнюю версию в сжатом файле, нажав кнопку
Clone or downloadна GitHub .
Загрузите основной исходный код
Чтобы получить исходный код из main ветки, введите:
git clone -b main https://github.com/google/or-tools
Загрузить предыдущие выпуски
Вы можете получить исходный код предыдущих выпусков одним из следующих способов:
- Загрузите предыдущий выпуск со страницы выпуска GitHub .
Предполагая, что вы уже создали локальный репозиторий (с помощью
git clone), вы можете проверить конкретный выпуск, используя тег Git. Например, чтобы работать с выпуском v9.10 вместоmainветки, введите в локальном репозитории следующие команды:git fetch --all --tags --prunegit checkout tags/v9.10 -b v9.10
Настройка сборки
Перед сборкой OR-Tools вам необходимо настроить генератор системы сборки CMake.
Откройте терминал и перейдите в каталог, в который вы извлекли файлы. Затем введите:
cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_DOTNET=ON
Подробности смотрите в документации CMake .
Использование SCIP
Начиная с версии 7.8, SCIP теперь интегрирован, поэтому вам не придется устанавливать его вручную.
Использование Гуроби
Гуроби теперь предварительно интегрирован. При необходимости во время выполнения OR-Tools будет искать общую библиотеку Gurobi в пути установки по умолчанию установщиков Gurobi в MAC OS X и Windows или с помощью переменной среды GUROBI_HOME .
Использование дополнительного стороннего решателя MIP
Вы также можете использовать OR-Tools с любым из следующих дополнительных сторонних решателей MIP, поддержка которых отключена по умолчанию:
- Комплексный комплекс
- GLPK (только Linux и MacOS)
- XPRESS-решатель
Пожалуйста, ознакомьтесь с этой документацией для получения подробной информации.
Сборка исходного кода
Чтобы создать исходный код, откройте терминал и перейдите в каталог, в который вы извлекли файлы. Затем введите следующую команду для компиляции OR-Tools:
cmake --build build --config Release --target all -j -v
Подробности смотрите в документации CMake .
Проверьте исходный код
Вы можете проверить, что все работает правильно, введя:
cmake --build build --config Release --target test -v
Это запускает примеры для OR-Tools. Если все примеры выполняются успешно, вы готовы приступить к работе с OR-Tools .
Очистка файлов сборки
Если вам нужно переустановить OR-Tools, команда:
rm -r build
удалит все скомпилированные зависимости. Это может быть полезно для сброса в чистое состояние.
Затем повторно введите команды:
cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_DOTNET=ON
cmake --build build --config Release --target all -j -v
Установка OR-Tools в вашу операционную систему
Вы можете установить OR-Tools for .Net в свою операционную систему, введя:
cmake --build build --config Release --target install -v