מבוא
המדריך הזה מסביר איך לפתח מכלי OR-Tools, עם תמיכה ב-C++, ב-Linux.
אלא אם אתם מתכננים לשנות את קוד המקור או להשתמש בכלי של צד שלישי לפתרון באמצעות OR-Tools, מומלץ התקנת החבילה.
יכול להיות שההוראות האלה יפעלו גם בגרסאות אחרות של Linux, אבל בדקנו אותן רק במכונות שעומדות בדרישות הבאות:
- Alpine Edge בגרסת 64 ביט (x86_64)
- Centos 7 LTS בגרסת 64 סיביות (x86_64)
- Debian SID של 64 סיביות (x86_64)
- Debian 11 (bullseye) ב-64 סיביות (x86_64)
- Fedora 38 ב-64 סיביות (x86_64)
- Fedora 37 ב-64 סיביות (x86_64)
- OpenSuse Leap 64-bit (x86_64)
- Ubuntu 23.10 ב-64 סיביות (x86_64)
- Ubuntu 22.04 LTS ב-64 סיביות (x86_64)
- Ubuntu 20.04 LTS בגרסת 64 סיביות (x86_64)
דרישות מוקדמות
הקטעים הבאים מתארים את הדרישות המוקדמות להתקנת OR-כלים.
כלי C++
כדי להתקין כלי C++, פתחו חלון מסוף ומזינים:
Alpine
apk add alpine-sdk linux-headers cmake lsb-release-minimal
סנטוס
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
פדורה
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
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
איך מורידים את קוד המקור
יש שתי הסתעפויות נפרדות לקוד המקור של OR-Tools ב-GitHub: stable
ו-main
.
ההסתעפות stable
נבדקה באופן יסודי, והיא אמורה לפעול בצורה חלקה בכל הפלטפורמות הנתמכות.
ההסתעפות main
היא המקום שבו הוחלו העדכונים והשיפורים האחרונים. הוא עדכני יותר אבל פחות יציב.
הורדת קוד המקור היציב
ניתן לקבל את קוד המקור היציב עבור כלי OR באחת מהדרכים הבאות:
משכפלים את ההסתעפות
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. לדוגמה, כדי לעבוד עם גרסה 9.9 במקום עם ההסתעפותmain
, מזינים את הפקודות הבאות במאגר המקומי:git fetch --all --tags --prune
git checkout tags/v9.9 -v v9.9
מגדירים את ה-build
לפני שיוצרים כלי OR-Tools, צריך להגדיר את מחולל המערכת של CMake build.
פותחים טרמינל ומנווטים לספרייה שממנה חילצתם את הקבצים. בשלב הבא מזינים:
cmake -S . -B build -DBUILD_DEPS=ON
לפרטים נוספים, אפשר לעיין במסמכי התיעוד של CMake.
שימוש ב-SCIP
החל מגרסה 7.8, SCIP משולב כעת כך שלא יהיה צורך להתקין אותו באופן ידני.
שימוש ב-Gurobi
Gurobi משולב מראש. בעת הצורך, בזמן הריצה, OR-Tools יחפש את הספרייה המשותפת Gurobi בנתיב ההתקנה המוגדר כברירת מחדל של מנהלי ההתקנה של Gurobi ב-MAC OS X וב-Windows, או באמצעות משתנה הסביבה GUROBI_HOME
.
שימוש בכלי אופציונלי של צד שלישי לפתרון MIP
תוכלו גם להשתמש בכלי OR-Tools עם כל אחד מפותרי ה-MIP האופציונליים הבאים של צד שלישי שהתמיכה בהם מושבתת כברירת מחדל:
- CPLEX
- GLPK (ב-Linux וב-MacOS בלבד)
- XPRESS Solver
לפרטים נוספים, קראו את התיעוד הזה.
יצירת קוד המקור
כדי ליצור את קוד המקור, פותחים טרמינל ועוברים לספרייה שממנה חילצתם את הקבצים. לאחר מכן מזינים את הפקודה הבאה כדי להדר את OR-Tools:
cmake --build build --config Release --target all -j -v
לפרטים נוספים, אפשר לעיין במסמכי התיעוד של CMake.
בדיקת קוד המקור
כדי לבדוק שהכול פועל כמו שצריך על ידי הזנת:
cmake --build build --config Release --target test -v
פעולה זו מפעילה דוגמאות עבור OR-Tools. אם הפעלתם את כל הדוגמאות, תוכלו להתחיל להשתמש ב-OR-Tools.
ניקוי קובצי ה-build
אם תצטרכו להתקין מחדש את OR-Tools, הפקודה:
rm -r build
המערכת תסיר את כל יחסי התלות המורכבים. אפשרות זו יכולה להיות שימושית אם אתם רוצים לאפס את המכשיר למצב נקי.
לאחר מכן, מזינים מחדש את הפקודות:
cmake -S . -B build -DBUILD_DEPS=ON
cmake --build build --config Release --target all -j -v
התקנת OR-Tools במערכת ההפעלה שלך
כדי להתקין את האפשרות OR-Tools עבור C++ במערכת ההפעלה שלכם, מזינים:
cmake --build build --config Release --target install -v