Introdução
Este guia explica como criar a partir do código OR-Tools, com suporte para .Net no Linux.
A menos que você planeje modificar o código-fonte ou usar um solucionador de terceiros com OR-Tools, recomendamos a instalação do pacote.
Embora essas instruções também possam funcionar em outras variantes do Linux, nós os testou apenas em máquinas que atendem aos seguintes requisitos:
- Alpine Edge 64 bits (x86_64)
- Centos 7 LTS de 64 bits (x86_64)
- Debian SID de 64 bits (x86_64)
- Debian 11 (Bullseye) de 64 bits (x86_64)
- Fedora 38 de 64 bits (x86_64)
- Fedora 37 de 64 bits (x86_64)
- OpenSuse Leap de 64 bits (x86_64)
- Ubuntu 24.04 de 64 bits (x86_64)
- Ubuntu 22.04 LTS de 64 bits (x86_64)
- Ubuntu 20.04 LTS de 64 bits (x86_64)
Pré-requisitos
As seções a seguir descrevem os pré-requisitos para instalar o OR-Tools.
Ferramentas C++
Para instalar as ferramentas C++, abra uma janela de terminal e digite:
Alpine
apk add alpine-sdk linux-headers cmake lsb-release-minimal
Cento
sudo yum groupinstall -y 'Development Tools'
sudo yum install -y pkgconfig redhat-lsb-core
Debian
sudo apt update
sudo apt install -y build-essential cmake lsb-release
Fedora
sudo dnf groupinstall -y 'Development Tools'
sudo dnf install -y gcc-c++ cmake redhat-lsb-core
Fedora
sudo dnf groupinstall -y 'Development Tools'
sudo dnf install -y gcc-c++ cmake redhat-lsb-core
OpenSUSE
sudo zypper refresh
sudo zypper install -y git gcc11 gcc11-c++ lsb-release
Ubuntu
sudo apt update
sudo apt install -y build-essential cmake lsb-release
Ubuntu
sudo apt update
sudo apt install -y build-essential cmake lsb-release
Ubuntu
sudo apt update
sudo apt install -y build-essential cmake lsb-release
SWIG
Para instalar o SWIG, abra uma janela de terminal e digite:
Alpine
apk add swig
Cento
sudo yum install -y swig
Debian
sudo apt install -y swig
Fedora
sudo dnf install -y swig
Fedora
sudo dnf install -y swig
OpenSUSE
sudo zypper install -y swig
Ubuntu
sudo apt install -y swig
Ubuntu
sudo apt install -y swig
Ubuntu
sudo apt install -y swig
SDK .Net Core 3.1 ou mais recente
Em seguida, instale a versão 3 .1 ou mais recente do SDK do.Net Core. Para isso, abra uma janela de terminal e digite:
Alpine
apk add dotnet6-sdk
ref: https://learn.microsoft.com/en-us/dotnet/core/install/linux-alpine
Cento
ref: https://learn.microsoft.com/pt-br/dotnet/core/install/linux-centos#centos-7sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
sudo yum install -y dotnet-sdk-6.0
Debian
Antes de instalar o .NET, execute os seguintes comandos para adicionar a biblioteca Microsoft a chave de assinatura do pacote à lista de chaves confiáveis e adicione o pacote repositório de dados.
wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
ref: https://learn.microsoft.com/pt-br/dotnet/core/install/linux-debiansudo apt update
sudo apt install -y dotnet-sdk-6.0
Fedora
sudo dnf install -y dotnet-sdk-6.0
ref: https://learn.microsoft.com/pt-br/dotnet/core/install/linux-fedora
Fedora
sudo dnf install -y dotnet-sdk-6.0
ref: https://learn.microsoft.com/pt-br/dotnet/core/install/linux-fedora
OpenSUSE
Antes de instalar o .NET, execute os seguintes comandos para adicionar a biblioteca Microsoft a chave de assinatura do pacote à lista de chaves confiáveis e adicione o pacote repositório de dados.
sudo zypper install libicu
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
wget https://packages.microsoft.com/config/opensuse/15/prod.repo
sudo mv prod.repo /etc/zypp/repos.d/microsoft-prod.repo
sudo chown root:root /etc/zypp/repos.d/microsoft-prod.repo
Em seguida, instale o SDK do .Net usando o seguinte comando:
sudo zypper install -y dotnet-sdk-6.0
ref: https://learn.microsoft.com/pt-br/dotnet/core/install/linux-opensuse
Ubuntu
sudo apt install -y dotnet-sdk-6.0
ref: https://learn.microsoft.com/pt-br/dotnet/core/install/linux-ubuntu
Ubuntu
sudo apt install -y dotnet-sdk-6.0
ref: https://learn.microsoft.com/pt-br/dotnet/core/install/linux-ubuntu
Ubuntu
sudo apt install -y dotnet-sdk-6.0
ref: https://learn.microsoft.com/pt-br/dotnet/core/install/linux-ubuntu
Faça o download do código-fonte
Há duas ramificações distintas do código-fonte das ferramentas OR em
GitHub: stable
e main
.
A ramificação stable
foi totalmente testada e vai funcionar sem falhas em todos
plataformas com suporte.
A ramificação main
é onde as atualizações e
melhorias foram aplicadas. é mais atual, mas menos estável.
Fazer o download do código-fonte estável
Você pode obter o código-fonte estável para as ferramentas OR de uma das seguintes maneiras:
Clone a ramificação
stable
digitando:git clone https://github.com/google/or-tools
Baixe a versão mais recente em um arquivo compactado, clicando no Botão
Clone or download
no GitHub.
Fazer o download do código-fonte principal
Para recuperar o código-fonte da ramificação main
, insira:
git clone -b main https://github.com/google/or-tools
Fazer o download de versões anteriores
É possível conseguir o código-fonte de versões anteriores de uma das seguintes maneiras:
- Faça o download de uma versão anterior na página de versões do GitHub.
Supondo que você já tenha criado um repositório local (por
git clone
), é possível conferir uma versão específica usando Tag. Por exemplo, para trabalhar com a versão v9.10 em vez damain
, insira os seguintes comandos no repositório local:git fetch --all --tags --prune
git checkout tags/v9.10 -b v9.10
Configure o build
Antes de criar o OR-Tools, você precisa configurar o sistema de build CMake gerador.
Abra um terminal e navegue até o diretório de onde você extraiu os arquivos. Em seguida, insira o seguinte comando:
cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_DOTNET=ON
Confira a Documentação do CMake para mais detalhes.
Como usar o SCIP
Desde a versão 7.8, o SCIP agora está integrado para que você não precise instalá-lo manualmente.
Como usar o Gurobi
Agora o Gurobi está pré-integrado. Quando necessário, no ambiente de execução, o OR-Tools procurará
a biblioteca compartilhada Gurobi no caminho de instalação padrão dos instaladores Gurobi
no MAC OS X e Windows ou usando a variável de ambiente GUROBI_HOME
.
Como usar um solucionador MIP de terceiros opcional
Também é possível usar as ferramentas OR com qualquer um dos seguintes MIPs de terceiros opcionais solucionadores com suporte desativado por padrão:
- CPLEX
- GLPK (somente Linux e MacOS)
- Solucionador XPRESS
Consulte o esta documentação para mais detalhes.
Criar o código-fonte
Para criar o código-fonte, abra um terminal e navegue até o diretório em que você extraiu os arquivos. Depois, digite o seguinte comando para compilar as ferramentas OR:
cmake --build build --config Release --target all -j -v
Confira a Documentação do CMake para mais detalhes.
Testar o código-fonte
Para verificar se tudo está funcionando corretamente, insira:
cmake --build build --config Release --target test -v
Isso executa exemplos para o OR-Tools. Se todos os exemplos forem executados com sucesso, está tudo pronto começar a usar o OR-Tools.
Como limpar os arquivos de build
Se você precisar reinstalar o OR-Tools, o comando:
rm -r build
vai remover todas as dependências compiladas. Isso pode ser útil na redefinição para um estado limpo.
Em seguida, insira novamente os comandos:
cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_DOTNET=ON
cmake --build build --config Release --target all -j -v
Como instalar o OR-Tools no seu sistema operacional
Para instalar o OR-Tools para .Net no sistema operacional, digite:
cmake --build build --config Release --target install -v