Introduzione
Questa guida spiega come creare dati da O-Strumenti di origine, con 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, ti consigliamo l'installazione del pacchetto.
Sebbene queste istruzioni possano funzionare anche su altre varianti Linux, le abbiamo testate 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-Strumenti.
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
CANNOT TRANSLATE
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
Quindi, 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
riferimento: https://learn.microsoft.com/it-it/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
Prima di installare .NET, esegui questi comandi per aggiungere la chiave di firma del pacchetto Microsoft all'elenco di chiavi attendibili e aggiungi il repository dei pacchetti.
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
Rif: https://learn.microsoft.com/it-it/dotnet/core/install/linux-debiansudo apt update
sudo apt install -y dotnet-sdk-6.0
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 la chiave di firma del pacchetto Microsoft all'elenco di chiavi attendibili e aggiungi il repository dei pacchetti.
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
Ci sono due rami distinti del codice sorgente OR-Tools su
GitHub: stable
e main
.
Il ramo stable
è stato testato in modo approfondito e dovrebbe funzionare perfettamente su tutte
le piattaforme supportate.
Nel ramo main
sono stati applicati gli ultimi aggiornamenti e 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 sul pulsante
Clone or download
in GitHub.
Scaricare il codice sorgente principale
Per recuperare il codice sorgente dal ramo main
, inserisci:
git clone -b main https://github.com/google/or-tools
Scaricare le release precedenti
Puoi ottenere il codice sorgente delle release precedenti in uno dei seguenti modi:
- Scaricare una release precedente dalla pagina di rilascio di GitHub.
Supponendo che tu abbia già creato un repository locale (entro il giorno
git clone
), puoi controllare una release specifica utilizzando un tag Git. Ad esempio, per lavorare con la release v9.10 anziché il ramomain
, inserisci i seguenti comandi nel 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 generatore di sistema di compilazione CMake.
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
Per i dettagli, consulta la documentazione di CMake.
Utilizzo di SCIP
Dalla versione 7.8, SCIP è integrato in modo da non doverlo installare manualmente.
Utilizzo di Gurobi
Ora Gurobi è preintegrato. Se necessario, in fase di runtime, OR-Tools cercherà la libreria condivisa Gurobi nel percorso di installazione predefinito dei programmi di installazione di Gurobi su MAC OS X e Windows oppure utilizzando la variabile di ambiente GUROBI_HOME
.
Utilizzo di un risolutore MIP di terze parti facoltativo
Puoi anche utilizzare OR-Tools con uno dei seguenti risolutori MIP di terze parti facoltativi il cui supporto è disattivato per impostazione predefinita:
- CPLEX
- GLPK (solo Linux e MacOS)
- Risolutore XPRESS
Per informazioni dettagliate, consulta questa documentazione.
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 seguente comando per compilare OR-Strumenti:
cmake --build build --config Release --target all -j -v
Per i dettagli, consulta la documentazione di CMake.
Testare il codice sorgente
Puoi verificare che tutto funzioni correttamente inserendo:
cmake --build build --config Release --target test -v
Vengono eseguiti esempi per OR-Tools. Se tutti gli esempi vengono eseguiti correttamente, puoi iniziare a utilizzare OR-Strumenti.
Pulizia dei file di build
Se devi reinstallare OR-Strumenti, il comando:
rm -r build
rimuove tutte le dipendenze compilate. Questo può essere utile per ripristinare lo stato originale.
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-Strumenti sul sistema operativo
Puoi installare OR-Tools per .Net sul tuo sistema operativo inserendo:
cmake --build build --config Release --target install -v