Wstęp
Ten przewodnik wyjaśnia, jak tworzyć kompilacje z narzędzi źródłowych LUB-Tools z obsługą .Net w systemie Linux.
Jeśli nie chcesz modyfikować kodu źródłowego ani używać rozwiązań innej firmy za pomocą narzędzi LUB, zalecamy instalację pakietu.
Chociaż te instrukcje mogą też działać w innych wersjach systemu Linux, przetestowaliśmy je tylko na komputerach spełniających te wymagania:
- Alpine Edge w wersji 64-bitowej (x86_64)
- Centos 7 LTS 64-bitowy (x86_64)
- Debian SID 64-bitowy (x86_64)
- Debian 11 (bullseye) 64-bitowy (x86_64)
- Fedora 38 64-bitowa (x86_64)
- Fedora 37 64-bitowa (x86_64)
- OpenSuse Leap 64-bit (x86_64)
- Ubuntu 23.10 w wersji 64-bitowej (x86_64)
- Ubuntu 22.04 LTS 64-bitowy (x86_64)
- Ubuntu 20.04 LTS 64-bitowy (x86_64)
Wymagania wstępne
W kolejnych sekcjach opisano wymagania wstępne instalacji narzędzi LUB.
Narzędzia C++
Aby zainstalować narzędzia C++, otwórz okno terminala i wpisz:
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
Aby zainstalować SWIG, otwórz okno terminala i wpisz:
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
.Net Core SDK >= 3,1
Następnie zainstaluj pakiet .Net Core SDK w wersji 3.1 lub nowszej. Aby to zrobić, otwórz okno terminala i wpisz:
Alpine
apk add dotnet6-sdk
ref: https://learn.microsoft.com/en-us/dotnet/core/install/linux-alpine
Cento
ref.: https://learn.microsoft.com/pl-pl/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
Zanim zainstalujesz .NET, uruchom poniższe polecenia, aby dodać klucz podpisywania pakietu Microsoft do listy zaufanych kluczy i dodać repozytorium pakietów.
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/pl-pl/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/pl-pl/dotnet/core/install/linux-fedora
Fedora
sudo dnf install -y dotnet-sdk-6.0
ref.: https://learn.microsoft.com/pl-pl/dotnet/core/install/linux-fedora
OpenSUSE
Zanim zainstalujesz .NET, uruchom poniższe polecenia, aby dodać klucz podpisywania pakietu Microsoft do listy zaufanych kluczy i dodać repozytorium pakietów.
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
Następnie możesz zainstalować pakiet .Net SDK za pomocą tego polecenia:
sudo zypper install -y dotnet-sdk-6.0
ref.: https://learn.microsoft.com/pl-pl/dotnet/core/install/linux-opensuse
Ubuntu
sudo apt install -y dotnet-sdk-6.0
ref: https://learn.microsoft.com/pl-pl/dotnet/core/install/linux-ubuntu
Ubuntu
sudo apt install -y dotnet-sdk-6.0
ref: https://learn.microsoft.com/pl-pl/dotnet/core/install/linux-ubuntu
Ubuntu
sudo apt install -y dotnet-sdk-6.0
ref.: https://learn.microsoft.com/pl-pl/dotnet/core/install/linux-ubuntu
Pobieranie kodu źródłowego
W GitHub istnieją 2 różne gałęzie kodu źródłowego OR-Tools: stable
i main
.
Gałąź stable
została dokładnie przetestowana i powinna działać prawidłowo na wszystkich obsługiwanych platformach.
Gałąź main
to miejsce, w którym wprowadzono najnowsze aktualizacje i ulepszenia. Jest bardziej aktualna, ale mniej stabilna.
Pobieranie stabilnego kodu źródłowego
Stabilny kod źródłowy dla OR-Tools możesz uzyskać na jeden z tych sposobów:
Skopiuj gałąź
stable
, wpisując:git clone https://github.com/google/or-tools
Pobierz najnowszą wersję w skompresowanym pliku, klikając przycisk
Clone or download
na GitHub.
Pobierz główny kod źródłowy
Aby pobrać kod źródłowy z gałęzi main
, wpisz:
git clone -b main https://github.com/google/or-tools
Pobieranie poprzednich wersji
Kod źródłowy poprzednich wersji możesz pobrać na następujące sposoby:
- Pobierz poprzednią wersję ze strony wersji na GitHubie.
Zakładając, że masz już utworzone repozytorium lokalne (do
git clone
), możesz sprawdzić konkretną wersję za pomocą tagu Git. Aby na przykład pracować z wersją 9.9 zamiast gałęzimain
, wpisz w lokalnym repozytorium te polecenia:git fetch --all --tags --prune
git checkout tags/v9.9 -v v9.9
Konfigurowanie kompilacji
Przed utworzeniem narzędzi LUB musisz skonfigurować generator systemu kompilacji CMake.
Otwórz terminal i przejdź do katalogu, z którego zostały wyodrębnione pliki. Potem wpisz:
cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_DOTNET=ON
Więcej informacji znajdziesz w dokumentacji CMake.
Korzystanie z SCIP
Od wersji 7.8 rozwiązanie SCIP jest teraz zintegrowane, więc nie musisz instalować go ręcznie.
Korzystanie z Gurobi
Usługa Gurobi jest teraz wstępnie zintegrowana. W razie potrzeby w czasie działania narzędzi OR-Tools wyszuka zasoby udostępniane Gurobi w domyślnej ścieżce instalacji instalatorów Gurobi w systemie MAC OS X i Windows lub za pomocą zmiennej środowiskowej GUROBI_HOME
.
Korzystanie z opcjonalnego rozwiązania MIP innej firmy
Możesz też używać LUB z dowolnym z tych opcjonalnych rozwiązań MIP innych firm, których obsługa domyślnie jest wyłączona:
- CPLEX
- GLPK (tylko Linux i macOS)
- Rozwiązanie XPRESS
Więcej informacji znajdziesz w tej dokumentacji.
Tworzenie kodu źródłowego
Aby utworzyć kod źródłowy, otwórz terminal i przejdź do katalogu, z którego zostały wyodrębnione pliki. Następnie wpisz to polecenie, aby skompilować OR-Tools:
cmake --build build --config Release --target all -j -v
Więcej informacji znajdziesz w dokumentacji CMake.
Testowanie kodu źródłowego
Aby sprawdzić, czy wszystko działa poprawnie, wpisz:
cmake --build build --config Release --target test -v
Uruchamiają się przykłady z operatora LUB. Jeśli wszystkie przykłady się uruchomią, możesz zacząć korzystać z OR-Tools.
Czyszczenie plików kompilacji
Jeśli musisz ponownie zainstalować OR-Tools, polecenie:
rm -r build
usuwa wszystkie skompilowane zależności. Może to być przydatne podczas przywracania ustawień fabrycznych.
Następnie ponownie wpisz polecenia:
cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_DOTNET=ON
cmake --build build --config Release --target all -j -v
Instalowanie narzędzi OR-Tools w swoim systemie operacyjnym
Możesz zainstalować OR-Tools for .Net w swoim systemie operacyjnym, wpisując:
cmake --build build --config Release --target install -v