Creazione da sorgente OR-Tools .Net su Linux

Introduzione

Questa guida spiega come creare dall'origine OR-Strumenti, con il supporto per .Net, su Linux.

A meno che tu non abbia intenzione di modificare il codice sorgente o di utilizzare un risolutore di terze parti con OR-Strumenti, consigliamo l'installazione del pacchetto.

Anche se queste istruzioni potrebbero funzionare anche su altre varianti Linux, li hanno testati solo su macchine che soddisfano i seguenti requisiti:

  • Alpine Edge a 64 bit (x86_64)
  • Centos 7 LTS 64-bit (x86_64)
  • SID Debian a 64 bit (x86_64)
  • Debian 11 (bullseye) a 64 bit (x86_64)
  • Fedora 38 a 64 bit (x86_64)
  • Fedora 37 a 64 bit (x86_64)
  • OpenSuse Leap a 64 bit (x86_64)
  • Ubuntu 24.04 a 64 bit (x86_64)
  • Ubuntu 22.04 LTS a 64 bit (x86_64)
  • Ubuntu 20.04 LTS a 64 bit (x86_64)

Prerequisiti

Le seguenti sezioni descrivono i prerequisiti per l'installazione di OR-Tools.

Strumenti C++

Per installare gli strumenti C++, apri una finestra del terminale e inserisci:

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

Cappello fedora

sudo dnf groupinstall -y 'Development Tools'
sudo dnf install -y gcc-c++ cmake redhat-lsb-core

Cappello 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

Per installare SWIG, apri una finestra del terminale e inserisci:

Alpine

apk add swig

Centos

sudo yum install -y swig

Debian

sudo apt install -y swig

Cappello fedora

sudo dnf install -y swig

Cappello 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

Successivamente, installa l'SDK .Net Core versione 3.1 o successive. Per farlo, apri una finestra del terminale e inserisci:

Alpine

apk add dotnet6-sdk
    

ref: https://learn.microsoft.com/en-us/dotnet/core/install/linux-alpine

Centos

sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
sudo yum install -y dotnet-sdk-6.0
riferimento: https://learn.microsoft.com/it-it/dotnet/core/install/linux-centos#centos-7
.
.

Debian

Prima di installare .NET, esegui questi comandi per aggiungere l'interfaccia la chiave di firma del pacchetto al tuo elenco di chiavi attendibili e aggiungi il pacchetto repository Git.

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
sudo apt update
sudo apt install -y dotnet-sdk-6.0
riferimento: https://learn.microsoft.com/it-it/dotnet/core/install/linux-debian

Cappello fedora

sudo dnf install -y dotnet-sdk-6.0
riferimento: https://learn.microsoft.com/it-it/dotnet/core/install/linux-fedora
.
.

Cappello fedora

sudo dnf install -y dotnet-sdk-6.0
riferimento: https://learn.microsoft.com/it-it/dotnet/core/install/linux-fedora
.
.

OpenSUSE

Prima di installare .NET, esegui questi comandi per aggiungere l'interfaccia la chiave di firma del pacchetto al tuo elenco di chiavi attendibili e aggiungi il pacchetto repository Git.

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

Quindi, puoi installare l'SDK .Net utilizzando il seguente comando:

sudo zypper install -y dotnet-sdk-6.0
riferimento: https://learn.microsoft.com/it-it/dotnet/core/install/linux-opensuse
.
.

Ubuntu

sudo apt install -y dotnet-sdk-6.0
riferimento: https://learn.microsoft.com/it-it/dotnet/core/install/linux-ubuntu
.
.

Ubuntu

sudo apt install -y dotnet-sdk-6.0
riferimento: https://learn.microsoft.com/it-it/dotnet/core/install/linux-ubuntu
.
.

Ubuntu

sudo apt install -y dotnet-sdk-6.0
riferimento: https://learn.microsoft.com/it-it/dotnet/core/install/linux-ubuntu
.

Scarica il codice sorgente

Esistono due rami distinti del codice sorgente di OR-Strumenti GitHub: stable e main.

La filiale stable è stata accuratamente testata e dovrebbe funzionare perfettamente su tutte piattaforme supportate.
Nella filiale main si trovano gli ultimi aggiornamenti sono stati applicati miglioramenti. è più attuale, ma meno stabile.

Scarica il codice sorgente stabile

Puoi ottenere il codice sorgente stabile per OR-Tools in uno dei seguenti modi:

  • Clona il ramo stable inserendo:

    git clone https://github.com/google/or-tools
    
  • Scarica la release più recente in un file compresso facendo clic sull'icona Pulsante Clone or download in GitHub. immagine del pulsante di clone o download

di Gemini Advanced.

Scarica il codice sorgente principale

Per recuperare il codice sorgente dal ramo main, inserisci:

git clone -b main https://github.com/google/or-tools

Scaricare release precedenti

Puoi recuperare il codice sorgente delle versioni precedenti in uno dei seguenti modi:

  • Scarica una release precedente dalla pagina di rilascio di GitHub.
  • Supponendo che tu abbia già creato un repository locale (entro git clone), puoi controllare una release specifica usando un tag. Ad esempio, per lavorare con la release v9.10 anziché con Ramo main, inserisci i seguenti comandi nel tuo repository locale:

    git fetch --all --tags --prune
    git checkout tags/v9.10 -b v9.10
    

Configura la build

Prima di creare OR-Tools, devi configurare il sistema di compilazione CMake generatore.

Apri un terminale e vai alla directory in cui hai estratto i file. Inserisci quindi:

cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_DOTNET=ON

Controlla il Documentazione di CMake per maggiori dettagli.

Utilizzo di SCIP

Dalla versione 7.8, SCIP è ora integrato, quindi non sarà necessario installarlo manualmente.

Utilizzo di Gurobi

Gurobi è ora preintegrato. Se necessario, in fase di runtime, OR-Tools cercherà La libreria condivisa di Gurobi nel percorso di installazione predefinito degli utenti che hanno eseguito l'installazione di Gurobi. su MAC OS X e Windows oppure usando la variabile di ambiente GUROBI_HOME.

Utilizzo di un risolutore MIP di terze parti facoltativo

Puoi anche usare OR-Tools con uno qualsiasi dei seguenti MIP facoltativi di terze parti risolutori il cui supporto è disattivato per impostazione predefinita:

Consulta questi dati: questa documentazione per maggiori dettagli.

Crea il codice sorgente

Per creare il codice sorgente, apri un terminale e vai alla directory in cui hai estratto i file. Quindi, inserisci il comando seguente per compilare OR-Tools:

cmake --build build --config Release --target all -j -v

Controlla il Documentazione di CMake per maggiori dettagli.

Testa il codice sorgente

Per verificare che tutto funzioni correttamente, inserisci:

cmake --build build --config Release --target test -v

Vengono eseguiti esempi per OR-Tools. Se tutti gli esempi vengono eseguiti puoi iniziare inizia a utilizzare OR-Tools.

Pulizia dei file di build

Per reinstallare OR-Tools, il comando:

rm -r build

rimuoverà tutte le dipendenze compilate. Questo può essere utile per ripristinare uno stato pulito.

Quindi, inserisci di nuovo i comandi:

cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_DOTNET=ON

cmake --build build --config Release --target all -j -v

Installazione di OR-Tools nel sistema operativo

Puoi installare OR-Tools per .Net nel tuo sistema operativo inserendo:

cmake --build build --config Release --target install -v