Kompilowanie ze źródłowego kodu OR-Tools w Pythonie w systemie macOS

Wprowadzenie

W tym przewodniku wyjaśniamy, jak tworzyć na podstawie źródeł LUB-Narzędzia, z uwzględnieniem Python w systemie macOS.

Chyba że zamierzasz modyfikować kod źródłowy lub korzystać z rozwiązania innej firmy przy użyciu narzędzi LUB, zalecamy instalację pakietu.

Choć instrukcje te mogą zadziałać również w innych wersjach systemu macOS, zostały przetestowane tylko na komputerach spełniających następujące wymagania:

  • MacOS 13.0.1 (Ventura) Intel 64-bitowy (x86_64)
  • MacOS 13.0.1 (Ventura) M1 (arm64)

Wymagania wstępne

W kolejnych sekcjach opisano wymagania wstępne dotyczące instalacji narzędzi OR.

Narzędzia wiersza poleceń Xcode

Musisz zainstalować narzędzia wiersza poleceń Xcode. W tym celu otwórz Terminal znaleziony w folderze /Applications/Utilities/ i wpisz:

xcode-select --install

Kliknij „Zainstaluj”, aby pobrać i zainstalować narzędzia wiersza poleceń Xcode. Nie potrzebujesz do „Pobierz Xcode” w App Store. Jeśli masz wolne połączenie internetowe, może potrwać wiele minut.

Sprawdź, czy narzędzia wiersza poleceń Xcode zostały zainstalowane:

xcode-select -p

Zobaczysz, że:

/Library/Developer/CommandLineTools

Piwo domowe

Aby zainstalować pozostałe wymagania wstępne, zalecamy, by najpierw zainstalować „brakujący menedżer pakietów dla macOS” (inaczej: Domowy piwa. Aby to zrobić, otwórz okno terminala i wpisz:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew update

Aby sprawdzić, czy masz zainstalowaną wersję piwa:

brew --version

Zobaczysz, że:

Homebrew 1.6.9-8-g25542d7
Homebrew/homebrew-core (git revision 0e0c84; last commit 2018-06-20)

Narzędzia C++

Aby zainstalować narzędzia C++, otwórz okno terminala i wpisz:

brew install cmake wget pkg-config

Narzędzie SWIG

Aby zainstalować narzędzie SWIG, otwórz okno terminala i wpisz:

brew install swig

Python

Musisz mieć zainstalowany Python w wersji 3.8 lub nowszej.

Aby zainstalować Pythona w wersji 3.8 lub nowszej, otwórz okno terminala i wpisz:

brew install python
python3 -m pip install -U --user wheel six

Następnie sprawdź instalację:

python3 --version
python3 -c "import platform; print(platform.architecture()[0])"
python3 -m pip --version

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. obraz przycisku klonowania lub pobierania

.

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_PYTHON=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:

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_BUILD -j -v

Sprawdź Dokumentacja CMake .

Testowanie kodu źródłowego

Aby sprawdzić, czy wszystko działa poprawnie, wpisz:

cmake --build build --config Release --target RUN_TESTS -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_PYTHON=ON

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

Instalowanie narzędzi LUB w systemie operacyjnym

Aby zainstalować narzędzia OR-Narzędzia dla Pythona w swoim systemie operacyjnym, wpisz:

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