Introdução
Este guia explica como criar a partir de ferramentas OR de origem, com suporte para .Net, no Linux.
A menos que você pretenda modificar o código-fonte ou usar um solucionador de terceiros com ferramentas OR, recomendamos a instalação do pacote (link em inglês).
Embora essas instruções também possam funcionar em outras variantes do Linux, as testamos apenas em máquinas que atendem aos seguintes requisitos:
- Alpine Edge de 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 23.10 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 as Ferramentas OU.
Ferramentas C++
Para instalar ferramentas C++, abra uma janela do terminal e digite:
Alpine
apk add alpine-sdk linux-headers cmake lsb-release-minimal
Centos
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
MUDAR
Para instalar o SWIG, abra uma janela do terminal e digite:
Alpine
apk add swig
Centos
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 o SDK do .Net Core versão 3.1 ou mais recente. Para fazer 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
Centos
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 chave de assinatura do pacote da Microsoft à sua lista de chaves confiáveis e adicionar o repositório de pacotes.
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/en-us/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 chave de assinatura do pacote da Microsoft à sua lista de chaves confiáveis e adicionar o repositório de pacotes.
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
Depois, 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 OR-Tools no
GitHub: stable
e main
.
A ramificação stable
foi testada e funciona perfeitamente em todas as
plataformas com suporte.
A ramificação main
é onde as atualizações e
melhorias mais recentes foram aplicadas. Ela é mais atual, mas menos estável.
Fazer o download do código-fonte estável
É possível obter o código-fonte estável para OR-Tools de uma das seguintes maneiras:
Clone a ramificação
stable
digitando:git clone https://github.com/google/or-tools
Faça o download da 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
, digite:
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ão do GitHub.
Supondo que você já tenha criado um repositório local (por
git clone
), confira uma versão específica usando uma tag do Git. Por exemplo, para trabalhar com a versão v9.9 em vez da ramificaçãomain
, insira os seguintes comandos no seu repositório local:git fetch --all --tags --prune
git checkout tags/v9.9 -v v9.9
Configure o build
Antes de criar ferramentas OR, configure o gerador do sistema de build do CMake.
Abra um terminal e navegue até o diretório 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 v7.8, o SCIP agora está integrado para que você não precise instalá-lo manualmente.
Como usar o Gurobi
O Gurobi agora está pré-integrado. Quando necessário, no ambiente de execução, as ferramentas OR vão procurar
a biblioteca compartilhada Gurobi no caminho de instalação padrão dos instaladores do Gurobi
no MAC OS X e no Windows ou usando a variável de ambiente GUROBI_HOME
.
Como usar um solucionador MIP de terceiros opcional
Também é possível usar ferramentas OU com qualquer um dos seguintes solucionadores de MIP de terceiros opcionais com suporte desativado por padrão:
- CPLEX (link em inglês)
- GLPK (somente Linux e MacOS)
- Solucionador XPRESS
Consulte 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. Insira o seguinte comando para compilar 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
Você pode verificar se tudo está funcionando corretamente inserindo:
cmake --build build --config Release --target test -v
Isso executa exemplos de ferramentas OU. Se todos os exemplos forem executados com sucesso, você estará pronto para começar a usar as ferramentas OR.
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 para redefinir para um estado limpo.
Em seguida, insira os comandos novamente:
cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_DOTNET=ON
cmake --build build --config Release --target all -j -v
Como instalar o OR-Tools em seu sistema operacional
Você pode instalar OR-Tools para .Net em seu sistema operacional digitando:
cmake --build build --config Release --target install -v