Introducción
Esta guía explica cómo compilar a partir de herramientas OR de origen, con compatibilidad para .NET en Linux.
A menos que planees modificar el código fuente o usar un solucionador de problemas externo con OR-Tools, te recomendamos la instalación del paquete.
Aunque estas instrucciones también podrían funcionar en otras variantes de Linux, solo los probaron en máquinas que cumplen con los siguientes requisitos:
- Alpine Edge 64 bits (x86_64)
- Centos 7 LTS de 64 bits (x86_64)
- SID de Debian 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)
Requisitos previos
Las siguientes secciones describen los requisitos previos para instalar OR-Tools.
Herramientas de C++
Para instalar herramientas de C++, abre una ventana de terminal y escribe lo siguiente:
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
SWIG
Para instalar SWIG, abre una ventana de terminal e ingresa:
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 de .NET Core >= 3.1
A continuación, instala la versión 3 .1 o una posterior del SDK de.NET Core. Para ello, sigue estos pasos: abre una ventana de terminal y escribe lo siguiente:
Alpine
apk add dotnet6-sdk
ref: https://learn.microsoft.com/en-us/dotnet/core/install/linux-alpine
CentOS
referencia: https://learn.microsoft.com/es-mx/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 .NET, ejecuta los siguientes comandos para agregar el servidor la clave de firma del paquete a tu lista de claves de confianza y agrégala en un repositorio de confianza.
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
referencia: https://learn.microsoft.com/es-mx/dotnet/core/install/linux-debiansudo apt update
sudo apt install -y dotnet-sdk-6.0
Fedora
sudo dnf install -y dotnet-sdk-6.0
referencia: https://learn.microsoft.com/es-mx/dotnet/core/install/linux-fedora
Fedora
sudo dnf install -y dotnet-sdk-6.0
referencia: https://learn.microsoft.com/es-mx/dotnet/core/install/linux-fedora
OpenSUSE
Antes de instalar .NET, ejecuta los siguientes comandos para agregar el servidor la clave de firma del paquete a tu lista de claves de confianza y agrégala en un repositorio de confianza.
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
Luego, puedes instalar el SDK de .NET con el siguiente comando:
sudo zypper install -y dotnet-sdk-6.0
referencia: https://learn.microsoft.com/es-mx/dotnet/core/install/linux-opensuse
Ubuntu
sudo apt install -y dotnet-sdk-6.0
referencia: https://learn.microsoft.com/es-mx/dotnet/core/install/linux-ubuntu
Ubuntu
sudo apt install -y dotnet-sdk-6.0
referencia: https://learn.microsoft.com/es-mx/dotnet/core/install/linux-ubuntu
Ubuntu
sudo apt install -y dotnet-sdk-6.0
referencia: https://learn.microsoft.com/es-mx/dotnet/core/install/linux-ubuntu
Descargue el código fuente
Existen dos ramas distintas del código fuente OR-Tools en
GitHub: stable
y main
La rama stable
se probó minuciosamente y debería funcionar sin problemas en todos los
plataformas compatibles.
En la rama main
, se encuentran las últimas actualizaciones y
de los cambios que se implementaron; sea más actual, pero menos estable.
Descarga el código fuente estable
Puedes obtener el código fuente estable para OR-Tools de cualquiera de las siguientes maneras:
Para clonar la rama
stable
, ingresa lo siguiente:git clone https://github.com/google/or-tools
Descarga la versión más reciente en un archivo comprimido. Para ello, haz clic en el Botón
Clone or download
en GitHub.
Descarga el código fuente principal
Para recuperar el código fuente de la rama main
, ingresa lo siguiente:
git clone -b main https://github.com/google/or-tools
Descarga versiones anteriores
Puedes obtener el código fuente de versiones anteriores de cualquiera de las siguientes maneras:
- Descarga una versión anterior desde la página de versiones de GitHub.
Si ya creaste un repositorio local (antes del
git clone
), puedes consultar una versión específica etiqueta. Por ejemplo, para trabajar con la versión 9.10 en lugar de la versiónmain
, ingresa los siguientes comandos en tu repositorio local:git fetch --all --tags --prune
git checkout tags/v9.10 -b v9.10
Configura la compilación
Antes de compilar las herramientas OR, tendrás que configurar el sistema de compilación de CMake generador.
Abre una terminal y navega al directorio en el que extrajiste los archivos. Luego, ingresa lo siguiente:
cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_DOTNET=ON
Consulta el Documentación de CMake para conocer los detalles.
Usando SCIP
A partir de la versión 7.8, SCIP está integrado, por lo que no tendrás que instalarlo de forma manual.
Cómo usar Gurobi
Gurobi ahora está preintegrado. Cuando sea necesario, durante el tiempo de ejecución, OR-Tools buscará
la biblioteca compartida de Gurobi en la ruta de acceso de instalación predeterminada de los instaladores de Gurobi
en MAC OS X y Windows, o mediante la variable de entorno GUROBI_HOME
.
Cómo usar un solucionador de MIP externo opcional
También puedes usar las herramientas OR con cualquiera de los siguientes MIP externos opcionales solucionadores cuyo soporte está inhabilitado de forma predeterminada:
- CPLEX
- GLPK (solo Linux y MacOS)
- Resolutor de XPRESS
Consulta esta documentación para conocer los detalles.
Compila el código fuente
Para compilar el código fuente, abre una terminal y navega hasta el directorio extrajiste los archivos. Luego, ingresa el siguiente comando para compilar OR-Tools:
cmake --build build --config Release --target all -j -v
Consulta el Documentación de CMake para conocer los detalles.
Prueba el código fuente
Para verificar que todo se ejecute correctamente, ingresa lo siguiente:
cmake --build build --config Release --target test -v
Esto ejecuta ejemplos para las herramientas OR. Si todos los ejemplos se ejecutan con éxito, estás listo para comienza a usar las herramientas OR.
Cómo limpiar los archivos de compilación
Si necesitas volver a instalar OR-Tools, haz lo siguiente:
rm -r build
quitará todas las dependencias compiladas. Esto puede ser útil para restablecer a un estado limpio.
Luego, vuelve a ingresar los comandos:
cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_DOTNET=ON
cmake --build build --config Release --target all -j -v
Cómo instalar las herramientas OR en tu sistema operativo
Puedes instalar OR-Tools for .NET en tu sistema operativo ingresando:
cmake --build build --config Release --target install -v