مقدمه
این راهنما نحوه ساخت از منبع OR-Tools، با پشتیبانی از Python، در لینوکس را توضیح می دهد.
نصب بسته را توصیه می کنیم مگر اینکه قصد تغییر کد منبع را داشته باشید یا از یک حل کننده شخص ثالث با 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
پایتون
باید پایتون 3.8+ را نصب کرده باشید.
برای نصب Python 3.8+، یک پنجره ترمینال را باز کنید و وارد کنید:
آلپاین
apk add python3-dev py3-pip py3-wheel
سنتوس
sudo yum install -y python3 python3-devel python3-pip numpy
دبیان
sudo apt install -y python3-dev python3-pip python3-venv
فدورا
sudo dnf install -y python3-devel python3-pip python3-venv
فدورا
sudo dnf install -y python3-devel python3-pip python3-venv
OpenSUSE
sudo zypper install -y python3-devel python3-pip python3-wheel
اوبونتو
sudo apt install -y python3-dev python3-pip python3-venv
اوبونتو
sudo apt install -y python3-dev python3-pip python3-venv
اوبونتو
sudo apt install -y python3-dev python3-pip python3-venv
می توانید نصب پایتون 3 خود را با استفاده از:
python3 --version
python3 -c "import platform; print(platform.architecture()[0])"
python3 -m pip --version
کد منبع را دانلود کنید
دو شاخه مجزا از کد منبع 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_PYTHON=ON
برای جزئیات ، اسناد CMake را بررسی کنید.
با استفاده از SCIP
از نسخه 7.8، SCIP اکنون یکپارچه شده است، بنابراین نیازی به نصب دستی آن ندارید.
با استفاده از Gurobi
Gurobi اکنون از قبل یکپارچه شده است. در صورت نیاز، در زمان اجرا، OR-Tools کتابخانه مشترک Gurobi را در مسیر نصب پیشفرض نصبکنندههای Gurobi در MAC OS X و Windows یا با استفاده از متغیر محیطی GUROBI_HOME
جستجو میکند.
با استفاده از یک حل کننده MIP شخص ثالث اختیاری
همچنین میتوانید از OR-Tools با هر یک از حلکنندههای MIP شخص ثالث اختیاری زیر که پشتیبانی آن بهطور پیشفرض غیرفعال است، استفاده کنید:
- CPLEX
- GLPK (فقط لینوکس و MacOS)
- حل کننده XPRESS
لطفاً برای جزئیات بیشتر به این مستند نگاهی بیندازید.
کد منبع را بسازید
برای ساختن کد منبع، یک ترمینال را باز کنید و به دایرکتوری که فایل ها را در آن استخراج کرده اید بروید. سپس دستور زیر را برای کامپایل 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_PYTHON=ON
cmake --build build --config Release --target all -j -v
نصب OR-Tools بر روی سیستم عامل شما
می توانید OR-Tools for Python را با وارد کردن زیر بر روی سیستم عامل خود نصب کنید:
cmake --build build --config Release --target install -v