Wprowadzenie
W tym przewodniku wyjaśniamy, jak tworzyć na podstawie źródeł LUB-Narzędzia, z uwzględnieniem .Net w systemie Linux.
Chyba że zamierzasz modyfikować kod źródłowy lub korzystać z rozwiązania innej firmy przy użyciu narzędzi LUB, zalecamy instalację pakietu.
Chociaż instrukcje te mogą zadziałać również w innych wersjach Linuksa, zostały przetestowane tylko na komputerach spełniających następujące wymagania:
- Alpine Edge 64-bitowa (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-bitowy (x86_64)
- OpenSuse Leap 64-bitowy (x86_64)
- Ubuntu 24.04 64-bitowy (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 dotyczące instalacji narzędzi OR.
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 w wersji 3.1 lub nowszej
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
Przed zainstalowaniem .NET uruchom następujące polecenia, aby dodać program Microsoft klucz podpisywania pakietu do listy zaufanych kluczy i dodaj pakiet z repozytorium.
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
Przed zainstalowaniem .NET uruchom następujące polecenia, aby dodać program Microsoft klucz podpisywania pakietu do listy zaufanych kluczy i dodaj pakiet z repozytorium.
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
Kod źródłowy narzędzi LUB jest podzielony na dwie osobne gałęzie:
GitHub: stable
i main
.
Gałąź stable
została dokładnie przetestowana i powinna działać bez problemów na wszystkich
obsługiwanych platform.
Gałąź main
zawiera najnowsze aktualizacje i
wprowadzono ulepszenia; jest bardziej aktualny, ale mniej stabilny.
Pobierz stabilny kod źródłowy
Stabilny kod źródłowy narzędzi LUB można uzyskać na jeden z tych sposobów:
Skopiuj gałąź
stable
, wpisując:git clone https://github.com/google/or-tools
Pobierz najnowszą wersję w pliku skompresowanym, klikając
Clone or download
w serwisie 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 jeden z tych sposobów:
- Pobierz poprzednią wersję ze strony wersji GitHub.
Zakładając, że masz już utworzone repozytorium lokalne (do
git clone
), możesz sprawdzić konkretną wersję za pomocą Git . Aby na przykład pracować z wersją 9.10,main
, wpisz w lokalnym repozytorium te polecenia:git fetch --all --tags --prune
git checkout tags/v9.10 -b v9.10
Konfigurowanie kompilacji
Przed utworzeniem narzędzi LUB musisz skonfigurować system kompilacji CMake generatora.
Otwórz terminal i przejdź do katalogu, w którym zostały rozpakowane pliki. Potem wpisz:
cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_DOTNET=ON
Sprawdź Dokumentacja CMake .
Korzystanie z SCIP
Od wersji 7.8 system SCIP jest teraz zintegrowany, więc nie musisz go instalować ręcznie.
Korzystanie z Gurobi
Aplikacja Gurobi jest teraz wstępnie zintegrowana. W razie potrzeby, w trakcie działania, funkcja LUB-Narzędzia wyszuka
wspólne biblioteki 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żyć narzędzi LUB z dowolnym z poniższych opcjonalnych MIP innych firm: rozwiązań, których obsługa jest domyślnie wyłączona:
- CPLEX
- GLPK (tylko Linux i macOS)
- Rozwiązania do rozwiązywania problemów XPRESS
Zwróć uwagę na tej dokumentacji .
Kompilowanie kodu źródłowego
Aby utworzyć kod źródłowy, otwórz terminal i przejdź do katalogu, w którym wyodrębniono pliki. Następnie wpisz następujące polecenie, aby skompilować narzędzia OR-Narzędzia:
cmake --build build --config Release --target all -j -v
Sprawdź Dokumentacja CMake .
Testowanie kodu źródłowego
Aby sprawdzić, czy wszystko działa poprawnie, wpisz:
cmake --build build --config Release --target test -v
Uruchomiono przykłady dla narzędzi LUB. Jeśli wszystkie przykłady są uruchamiane możesz przejść do zacznij korzystać z narzędzi LUB.
Czyszczenie plików kompilacji
Jeśli chcesz ponownie zainstalować narzędzia OR-Narzędzia, użyj polecenia:
rm -r build
spowoduje usunięcie wszystkich skompilowanych zależności. Może to być przydatne, gdy chcesz przywrócić stan „czysty”.
Następnie wpisz te polecenia ponownie:
cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_DOTNET=ON
cmake --build build --config Release --target all -j -v
Instalowanie narzędzi LUB w systemie operacyjnym
Możesz zainstalować narzędzia OR-Narzędzia dla domeny .Net w swoim systemie operacyjnym, wpisując:
cmake --build build --config Release --target install -v