בנייה מהמקור OR-Tools Python ב-MacOS

מבוא

במדריך הזה מוסבר איך ליצור מהמקור OR-כלים, עם תמיכה Python, ב-MacOS.

אלא אם בכוונתך לשנות את קוד המקור או להשתמש בפותר צד שלישי עם OR-Tools, אנחנו ממליצים על התקנת החבילה.

ההוראות האלה עשויות לפעול גם בווריאציות אחרות של MacOS, אבל בדקו אותם רק במכונות שעומדות בדרישות הבאות:

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

דרישות מוקדמות

הקטעים הבאים מתארים את הדרישות המוקדמות להתקנת כלי OR.

כלי שורת הפקודה Xcode

עליכם להתקין את כלי שורת הפקודה של Xcode. כדי לעשות זאת, פותחים את טרמינל, נמצא ב-/Applications/Utilities/, מזינים:

xcode-select --install

לוחצים על 'התקנה' כדי להוריד ולהתקין את כלי שורת הפקודה של Xcode. לא צריך אל "Get Xcode" מ-App Store. אם החיבור לאינטרנט איטי, עשויות להימשך מספר דקות.

מוודאים שהתקנתם בהצלחה את כלי שורת הפקודה של Xcode:

xcode-select -p

אתם אמורים לראות:

/Library/Developer/CommandLineTools

מבשלה ביתית

כדי להתקין את שאר הדרישות המוקדמות, מומלץ להתקין תחילה את "חסר מנהל חבילות ב-macOS" שידוע גם בשם מבשלה ביתית. כדי לעשות זאת, פותחים חלון טרמינל ומזינים:

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

כדי לוודא שהתקנתם בהצלחה את החליטה:

brew --version

אתם אמורים לראות:

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

כלי C++

כדי להתקין את כלי C++, פותחים חלון טרמינל ומזינים:

brew install cmake wget pkg-config

הכלי SWIG

כדי להתקין את הכלי SWIG, פותחים חלון טרמינל ומזינים:

brew install swig

Python

צריך להתקין את גרסת Python 3.8 ומעלה.

כדי להתקין את Python מגרסה 3.8 ואילך, פותחים חלון טרמינל ומזינים:

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

לאחר מכן מאמתים את ההתקנה:

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 tag. לדוגמה: כדי לעבוד עם גרסה v9.10 במקום הסתעפות main, מזינים את הפקודות הבאות במאגר המקומי:

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

הגדרת ה-build

לפני שיוצרים כלי OR, צריך להגדיר את מערכת ה-build של CMake גנרטיבית.

פותחים טרמינל ועוברים לספרייה שאליה חילצתם את הקבצים. לאחר מכן מזינים:

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

לבדוק את מסמכי תיעוד של CMake אפשר לקבל פרטים נוספים.

שימוש ב-SCIP

החל מגרסה 7.8, SCIP משולב כעת כך שלא יהיה צורך להתקין אותו באופן ידני.

שימוש ב-Gurobi

עכשיו הגרסה של Gurobi משולבת מראש. במקרה הצורך, בזמן הריצה, כלי OR-יחפשו הספרייה המשותפת של Gurobi בנתיב ההתקנה המוגדר כברירת מחדל של מנהלי ההתקנה של Gurobi ב-MAC OS X וב-Windows, או באמצעות משתנה הסביבה GUROBI_HOME.

שימוש בפותר MIP אופציונלי של צד שלישי

אפשר גם להשתמש בכלי OR עם כל אחד מה-MIP האופציונליות הבאות של צד שלישי פתרונות שהתמיכה שלהם מושבתת כברירת מחדל:

כדאי לעיין את מסמכי התיעוד האלה אפשר לקבל פרטים נוספים.

פיתוח קוד המקור

כדי ליצור את קוד המקור, פותחים טרמינל ועוברים אל הספרייה שבה שחילצת את הקבצים. לאחר מכן מזינים את הפקודה הבאה כדי להדר את OR-Tools:

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

לבדוק את מסמכי תיעוד של CMake לקבלת פרטים.

בדיקת קוד המקור

כדי לבדוק שהכול פועל כמו שצריך, צריך להזין:

cmake --build build --config Release --target RUN_TESTS -v

הפקודה גורמת להרצת דוגמאות עבור כלי OR. אם כל הדוגמאות פועלות בהצלחה, אתם מוכנים תחילת העבודה עם כלי OR.

ניקוי קובצי ה-build

אם צריך להתקין מחדש את כלי OR, הפקודה:

rm -r build

תסיר את כל יחסי התלות האלה. הפעולה הזו יכולה להועיל לאיפוס למצב נקי.

לאחר מכן מזינים מחדש את הפקודות:

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

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

התקנת OR-Tools במערכת ההפעלה

אפשר להתקין את כלי OR-Python במערכת ההפעלה על ידי הזנת:

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