الإنشاء من المصدر OR-أدوات C++ على نظام التشغيل MacOS

مقدمة

يشرح هذا الدليل كيفية الإنشاء من المصدر OR-أدوات، مع دعم C++، على MacOS.

ما لم تكن تخطط لتعديل رمز المصدر أو استخدام أداة حلّ تابعة لجهة خارجية مع OR-الأدوات، ننصحك بتثبيت الحزمة.

وعلى الرغم من أن هذه الإرشادات قد تنطبق أيضًا على متغيرات أخرى من نظام التشغيل 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 وتثبيتها. لا تحتاج إلى إلى "الحصول على 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

تنزيل رمز المصدر

يوجد فرعان مختلفان لرمز المصدر OR-أدوات على 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.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

الاطّلاع على مستندات 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.

تنظيف ملفات الإصدار

إذا كنت بحاجة إلى إعادة تثبيت OR-Tools، فالأمر:

rm -r build

سيزيل جميع التبعيات المجمعة. ويمكن الاستفادة من ذلك في إعادة الضبط على الحالة النظيفة.

بعد ذلك، أعِد إدخال الطلبات:

cmake -S . -B build -DBUILD_DEPS=ON

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

تثبيت أدوات OR على نظام التشغيل

يمكنك تثبيت OR-أدوات لـ C++ على نظام التشغيل الخاص بك عن طريق إدخال:

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