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

מבוא

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

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

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

  • MacOS 13.0.1 (Ventura) Intel של 64 סיביות (x86_64)
  • MacOS 13.0.1 (Ventura) M1 (arm64)

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

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

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

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

xcode-select --install

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

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

xcode-select -p

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

/Library/Developer/CommandLineTools

בירה ביתית

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

/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

.Net 6.0 SDK

עליך להתקין את .Net 6.0 SDK.

אחרי שמתקינים את Homebrew, אפשר להתקין את חבילת dotnet-sdk על ידי פתיחת חלון טרמינל ומזינים:

brew cask install dotnet-sdk

אפשר לבדוק שה-cli של dotnet מותקן כמו שצריך באמצעות הפקודה הבאה:

dotnet --info

איך מורידים את קוד המקור

יש שתי הסתעפויות נפרדות לקוד המקור של 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 -DBUILD_DOTNET=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_BUILD -j -v

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

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

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

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

פעולה זו מפעילה דוגמאות עבור OR-Tools. אם הפעלתם את כל הדוגמאות, תוכלו להתחיל להשתמש ב-OR-Tools.

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

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

rm -r build

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

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

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

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

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

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

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