مقدمة
يشرح هذا الدليل كيفية الإنشاء من المصدر OR-أدوات، مع دعم .Net على نظام التشغيل Linux.
ما لم تكن تخطط لتعديل رمز المصدر أو استخدام أداة حلّ تابعة لجهة خارجية مع OR-الأدوات، ننصحك بتثبيت الحزمة.
وعلى الرغم من أن هذه الإرشادات قد تنطبق أيضًا على متغيرات Linux الأخرى، إلا أننا قد اختبروها فقط على أجهزة تفي بالمتطلبات التالية:
- Alpine Edge 64-bit (x86_64)
- Centos 7 LTS 64 بت (x86_64)
- Debian SID 64 بت (x86_64)
- Debian 11 (مركز الهدف) 64 بت (x86_64)
- Fedora 38 64 بت (x86_64)
- Fedora 37 64 بت (x86_64)
- OpenSuse Leap 64-bit (x86_64)
- Ubuntu 24.04 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
نظام التشغيل دبيان
sudo apt updatesudo 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 refreshsudo zypper install -y git gcc11 gcc11-c++ lsb-release
Ubuntu
sudo apt updatesudo apt install -y build-essential cmake lsb-release
Ubuntu
sudo apt updatesudo apt install -y build-essential cmake lsb-release
Ubuntu
sudo apt updatesudo apt install -y build-essential cmake lsb-release
SWIG
لتثبيت SWIG، افتح نافذة طرفية وأدخِل ما يلي:
Alpine
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
Ubuntu
sudo apt install -y swig
Ubuntu
sudo apt install -y swig
Ubuntu
sudo apt install -y swig
.Net Core SDK >= 3.1
بعد ذلك، ثبِّت الإصدار 3.1 من حزمة Net Core SDK أو إصدارًا أحدث. لإجراء ذلك، افتح نافذة طرفية وأدخِل ما يلي:
Alpine
apk add dotnet6-sdkref: https://learn.microsoft.com/en-us/dotnet/core/install/linux-alpine
سينتوس
المرجع: https://learn.microsoft.com/en-us/dotnet/core/install/linux-centos#centos-7sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpmsudo yum install -y dotnet-sdk-6.0
نظام التشغيل دبيان
قبل تثبيت NET.، قم بتشغيل الأوامر التالية لإضافة مجلد مفتاح توقيع الحزمة إلى قائمة المفاتيح الموثوق بها وإضافة الحزمة المستودع.
wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.debdpkg -i packages-microsoft-prod.debrm packages-microsoft-prod.deb
المرجع: https://learn.microsoft.com/en-us/dotnet/core/install/linux-debiansudo apt updatesudo apt install -y dotnet-sdk-6.0
قبعة فيدورا
sudo dnf install -y dotnet-sdk-6.0
المرجع: https://learn.microsoft.com/ar-sa/dotnet/core/install/linux-fedora
قبعة فيدورا
sudo dnf install -y dotnet-sdk-6.0
المرجع: https://learn.microsoft.com/ar-sa/dotnet/core/install/linux-fedora
OpenSUSE
قبل تثبيت NET.، قم بتشغيل الأوامر التالية لإضافة مجلد مفتاح توقيع الحزمة إلى قائمة المفاتيح الموثوق بها وإضافة الحزمة المستودع.
sudo zypper install libicusudo rpm --import https://packages.microsoft.com/keys/microsoft.ascwget https://packages.microsoft.com/config/opensuse/15/prod.reposudo mv prod.repo /etc/zypp/repos.d/microsoft-prod.reposudo chown root:root /etc/zypp/repos.d/microsoft-prod.repo
بعد ذلك، يمكنك تثبيت Net SDK باستخدام الأمر التالي:
sudo zypper install -y dotnet-sdk-6.0
المرجع: https://learn.microsoft.com/ar-sa/dotnet/core/install/linux-opensuse
Ubuntu
sudo apt install -y dotnet-sdk-6.0
المرجع: https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu
Ubuntu
sudo apt install -y dotnet-sdk-6.0
المرجع: https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu
Ubuntu
sudo apt install -y dotnet-sdk-6.0
المرجع: https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu
تنزيل رمز المصدر
يوجد فرعان مختلفان لرمز المصدر 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 --prunegit checkout tags/v9.10 -b v9.10
ضبط الإصدار
قبل إنشاء OR-Tools، ينبغي تهيئة نظام إنشاء CMake منشئ المحتوى.
افتح نافذة طرفية وانتقِل إلى الدليل الذي استخرجت الملفات منه. ثم أدخل:
cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_DOTNET=ON
الاطّلاع على مستندات CMake لمزيد من التفاصيل.
استخدام SCIP
بدءًا من الإصدار 7.8، تم دمج SCIP الآن، لذلك لن تحتاج إلى تثبيته يدويًا.
استخدام Gurobi
أصبحت Gurobi مدمجة مسبقًا الآن. وعند الحاجة، وفي وقت التشغيل، تبحث أدوات OR عن
مكتبة Gurobi المشتركة في مسار التثبيت التلقائي لأدوات تثبيت Gurobi
على MAC OS X وWindows، أو باستخدام متغير بيئة GUROBI_HOME.
استخدام أداة اختيارية تابعة لجهة خارجية لحل ملفات MIP
يمكنك أيضًا استخدام أدوات OR مع أي من عناصر MIP الاختيارية التالية والتابعة لجهات خارجية أدوات الحلّ التي يكون دعمها غير مفعَّل تلقائيًا:
- CPLEX
- GLPK (لأجهزة Linux وMacOS فقط)
- أداة حلّ XPRESS
يُرجى إلقاء نظرة على هذه المستندات لمزيد من التفاصيل.
إنشاء رمز المصدر
لإنشاء رمز المصدر، افتح نافذة طرفية وانتقِل إلى الدليل حيث قمت باستخراج الملفات. ثم أدخل الأمر التالي لتجميع OR-Tools:
cmake --build build --config Release --target all -j -v
الاطّلاع على مستندات CMake لمزيد من التفاصيل.
اختبار رمز المصدر
يمكنك التحقّق من سير كل الأمور بشكل صحيح من خلال إدخال ما يلي:
cmake --build build --config Release --target test -v
هذا يقوم بتشغيل أمثلة لأدوات OR. إذا تم تشغيل جميع الأمثلة بنجاح، فأنت على استعداد بدء استخدام أدوات OR.
تنظيف ملفات الإصدار
إذا كنت بحاجة إلى إعادة تثبيت OR-Tools، فالأمر:
rm -r build
سيزيل جميع التبعيات المجمعة. ويمكن الاستفادة من ذلك في إعادة الضبط على الحالة النظيفة.
بعد ذلك، أعِد إدخال الطلبات:
cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_DOTNET=ON
cmake --build build --config Release --target all -j -v
تثبيت أدوات OR على نظام التشغيل
يمكنك تثبيت OR-Tools لـ .Net على نظام التشغيل الخاص بك عن طريق إدخال:
cmake --build build --config Release --target install -v