ساختن از منبع OR-Tools Java در لینوکس

مقدمه

این راهنما نحوه ساخت از منبع OR-Tools، با پشتیبانی از جاوا، در لینوکس را توضیح می دهد.

نصب بسته را توصیه می کنیم مگر اینکه قصد تغییر کد منبع را داشته باشید یا از یک حل کننده شخص ثالث با OR-Tools استفاده کنید.

اگرچه این دستورالعمل‌ها ممکن است بر روی انواع دیگر لینوکس نیز کار کنند، ما آنها را فقط روی ماشین‌هایی آزمایش کرده‌ایم که شرایط زیر را داشته باشند:

  • Alpine Edge 64 بیتی (x86_64)
  • Centos 7 LTS 64 بیتی (x86_64)
  • Debian SID 64 بیتی (x86_64)
  • دبیان 11 (bullseye) 64 بیتی (x86_64)
  • فدورا 38 64 بیتی (x86_64)
  • فدورا 37 64 بیتی (x86_64)
  • OpenSuse Leap 64 بیتی (x86_64)
  • اوبونتو 24.04 64 بیتی (x86_64)
  • اوبونتو 22.04 LTS 64 بیتی (x86_64)
  • اوبونتو 20.04 LTS 64 بیتی (x86_64)

پیش نیازها

بخش های زیر پیش نیازهای نصب OR-Tools را شرح می دهند.

ابزارهای C++

برای نصب ابزارهای C++، یک پنجره ترمینال را باز کرده و وارد کنید:

آلپاین

apk add alpine-sdk linux-headers cmake lsb-release-minimal

سنتوس

sudo yum groupinstall -y 'Development Tools'
sudo yum install -y pkgconfig redhat-lsb-core

دبیان

sudo apt update
sudo apt install -y build-essential cmake lsb-release

فدورا

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

فدورا

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

اوبونتو

sudo apt update
sudo apt install -y build-essential cmake lsb-release

اوبونتو

sudo apt update
sudo apt install -y build-essential cmake lsb-release

اوبونتو

sudo apt update
sudo apt install -y build-essential cmake lsb-release

SWIG

برای نصب SWIG، یک پنجره ترمینال را باز کنید و وارد کنید:

آلپاین

apk add swig

سنتوس

sudo yum install -y swig

دبیان

sudo apt install -y swig

فدورا

sudo dnf install -y swig

فدورا

sudo dnf install -y swig

OpenSUSE

sudo zypper install -y swig

اوبونتو

sudo apt install -y swig

اوبونتو

sudo apt install -y swig

اوبونتو

sudo apt install -y swig

Java JDK >= 8.0

برای نصب Java JDK نسخه 8.0 یا بالاتر، یک پنجره ترمینال را باز کرده و وارد کنید:

آلپاین

sudo apk add openjdk8
export JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk

سنتوس

sudo yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

دبیان

sudo apt install -y default-jdk
export JAVA_HOME=/usr/lib/jvm/default-java

فدورا

sudo dnf install -y java-openjdk java-openjdk-devel

فدورا

sudo dnf install -y java-openjdk java-openjdk-devel

OpenSUSE

sudo zypper install -y java-1_8_0-openjdk java-1_8_0-openjdk-devel

اوبونتو

sudo apt install -y default-jdk

اوبونتو

sudo apt install -y default-jdk

اوبونتو

sudo apt install -y default-jdk

Maven >= 3.3

برای نصب Maven نسخه 3.3 یا بالاتر، یک پنجره ترمینال را باز کنید و وارد کنید:

آلپاین

sudo apk add maven

سنتوس

sudo yum install -y maven

دبیان

sudo apt install -y maven

فدورا

sudo dnf install -y maven

فدورا

sudo dnf install -y maven

OpenSUSE

sudo zypper install -y maven

اوبونتو

sudo apt install -y maven

اوبونتو

sudo apt install -y maven

اوبونتو

sudo apt install -y maven

می توانید تست کنید Maven به درستی نصب شده است و می توانید جاوا را با استفاده از دستور زیر پیدا کنید:

mvn -v

کد منبع را دانلود کنید

دو شاخه مجزا از کد منبع OR-Tools در GitHub وجود دارد: stable و main .

شاخه stable به طور کامل آزمایش شده است و باید در تمام پلتفرم های پشتیبانی شده بدون نقص کار کند.
شعبه main جایی است که آخرین به روز رسانی ها و بهبودها اعمال شده است. این جریان بیشتر است، اما کمتر پایدار است.

کد منبع پایدار را دانلود کنید

می توانید کد منبع پایدار OR-Tools را به یکی از روش های زیر دریافت کنید:

  • کلون شاخه stable را با وارد کردن:

    git clone https://github.com/google/or-tools
    
  • با کلیک روی دکمه Clone or download در GitHub ، آخرین نسخه را در یک فایل فشرده دانلود کنید. تصویر کلون یا دکمه دانلود

کد منبع اصلی را دانلود کنید

برای بازیابی کد منبع از شعبه main ، وارد کنید:

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

دانلود نسخه های قبلی

می توانید کد منبع نسخه های قبلی را به یکی از راه های زیر دریافت کنید:

  • نسخه قبلی را از صفحه انتشار GitHub دانلود کنید.
  • با فرض اینکه قبلاً یک مخزن محلی ایجاد کرده اید (با git clone )، می توانید یک نسخه خاص را با استفاده از تگ Git بررسی کنید. به عنوان مثال، برای کار با نسخه v9.10 به جای شاخه main ، دستورات زیر را در مخزن محلی خود وارد کنید:

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

ساخت را پیکربندی کنید

قبل از ساختن OR-Tools، باید مولد سیستم ساخت CMake را پیکربندی کنید.

یک ترمینال را باز کنید و به دایرکتوری که فایل ها را در آن استخراج کرده اید بروید. سپس وارد کنید:

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

برای جزئیات ، اسناد CMake را بررسی کنید.

با استفاده از SCIP

از نسخه 7.8، SCIP اکنون یکپارچه شده است، بنابراین نیازی به نصب دستی آن ندارید.

با استفاده از Gurobi

Gurobi اکنون از قبل یکپارچه شده است. در صورت نیاز، در زمان اجرا، OR-Tools کتابخانه مشترک Gurobi را در مسیر نصب پیش‌فرض نصب‌کننده‌های Gurobi در MAC OS X و Windows یا با استفاده از متغیر محیطی GUROBI_HOME جستجو می‌کند.

با استفاده از یک حل کننده MIP شخص ثالث اختیاری

همچنین می‌توانید از OR-Tools با هر یک از حل‌کننده‌های MIP شخص ثالث اختیاری زیر که پشتیبانی آن به‌طور پیش‌فرض غیرفعال است، استفاده کنید:

لطفاً برای جزئیات بیشتر به این مستند نگاهی بیندازید.

کد منبع را بسازید

برای ساختن کد منبع، یک ترمینال را باز کنید و به دایرکتوری که فایل ها را در آن استخراج کرده اید بروید. سپس دستور زیر را برای کامپایل OR-Tools وارد کنید:

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

برای جزئیات ، اسناد CMake را بررسی کنید.

کد منبع را تست کنید

با وارد کردن زیر می توانید بررسی کنید که همه چیز به درستی اجرا می شود:

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

این نمونه هایی را برای OR-Tools اجرا می کند. اگر همه نمونه ها با موفقیت اجرا شوند، آماده شروع با OR-Tools هستید.

پاک کردن فایل های ساخت

اگر نیاز به نصب مجدد OR-Tools دارید، دستور:

rm -r build

تمام وابستگی های کامپایل شده را حذف می کند. این می تواند برای بازنشانی به حالت تمیز مفید باشد.

سپس دوباره دستورات را وارد کنید:

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

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

نصب OR-Tools بر روی سیستم عامل شما

با وارد کردن موارد زیر می توانید OR-Tools for Java را بر روی سیستم عامل خود نصب کنید:

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