GALAHAD هي مكتبة لحزم Fortran الحديثة للتحسين غير الخطي مع واجهات C وPython وJulia وMATLAB. يحتوي على حزم للتحسين العام المقيد وغير المقيد، والبرمجة الخطية والتربيعية، وتركيب المربعات الصغرى غير الخطية، والتحسين الشامل، بالإضافة إلى حزم لحل مجموعة كبيرة ومتنوعة من المشكلات الفرعية الأساسية للتحسين.
يمكن العثور على مزيد من المعلومات حول الحزم في GALAHAD على https://www.galahad.rl.ac.uk.
جميع حزم GALAHAD الرئيسية موثقة بلغات Fortran وC وPython وJulia:
يتم توفير ملفات المساعدة لوظائف MATLAB.
نحن نقدم مكتبة GALAHAD مجمعة مسبقًا في علامة تبويب الإصدارات لنظام التشغيل Linux وmacOS (Intel & Silicon) وWindows.
يمكن تثبيت GALAHAD من المصدر باستخدام نظام بناء Meson (جميع الأوامر أدناه سيتم تشغيلها من أعلى الشجرة المصدر):
meson setup builddir -Dtests=true
meson compile -C builddir
meson install -C builddir
meson test -C builddir
للحصول على خيارات Meson أكثر شمولاً ( -Doption=value
)، بما في ذلك كيفية تحديد المسارات إلى المكتبات والحزم المتنوعة، يرجى مراجعة meson_options.txt و README.meson. نعطي بعض الأمثلة أدناه لأهم خيارات ميسون.
يدعم GALAHAD عددًا كبيرًا من حزم البرامج الاختيارية لتحسين الوظائف، وأهمها:
افتراضيًا، سيتم إنشاء GALAHAD باستخدام OpenBLAS إذا تمكن من تحديد موقعه (وإلا فقد تحتاج إلى تمرير مسارات OpenBLAS عبر خيارات libblas_path
و liblapack_path
meson setup
). قد ترغب أيضًا في استخدام تطبيق BLAS/LAPACK خاص بالمورد مثل أحد الإجراءات التالية:
الرجاء مراجعة README.meson للحصول على إرشادات حول كيفية إخبار Meson بمكان العثور على هذه التبعيات الاختيارية.
بشكل افتراضي، سيقوم GALAHAD ببناء الحل الخطي SSIDS، والحلول الخطية البديلة الأخرى هي:
الرجاء مراجعة README.meson للحصول على إرشادات حول كيفية إخبار Meson بمكان العثور على هذه التبعيات الاختيارية.
يمكن لـ GALAHAD استخدام مشكلات اختبار التحسين من مجموعة اختبار CUTEst. على سبيل المثال، لربط GALAHAD بدقة مضاعفة مع CUTEst المترجمة باستخدام gfortran على جهاز Linux 64 بت:
meson setup builddir -Dlibcutest_double_path=/path/to/CUTEst/objects/pc64.lnx.gfo/double/ -Dlibcutest_double_modules=/path/to/CUTEst/modules/pc64.lnx.gfo/double/ -Dsingle=false
meson compile -C builddir
meson install -C builddir
يمكن للمرء أيضًا ربط GALAHAD بدقة واحدة CUTEst، يرجى الاطلاع على meson_options.txt.
لتثبيت واجهة C باستخدام نظام بناء Meson:
meson setup builddir -Dciface=true
meson compile -C builddir
meson install -C builddir
meson test -C builddir --suite=C
لتثبيت واجهة Python باستخدام نظام بناء Meson:
meson setup builddir -Dpythoniface=true -Dpython.install_env=auto
meson compile -C builddir
meson install -C builddir
meson test -C builddir --suite=Python
يرجى الاطلاع على GALAHAD.jl والوثائق المرتبطة بها.
يرجى الاطلاع على README.matlab والتعليمات المقدمة هناك.
يمكن أيضًا تثبيت GALAHAD عبر أمر "make" كجزء من النظام البيئي للتحسين Optrove الذي يتضمن أيضًا CUTEst وSIFDecode وARCHDefs. يتمتع هذا بميزة توفير البرامج النصية لتشغيل أمثلة CUTEst مباشرة من GALAHAD والسماح بالمكالمات من Matlab، ولكنه يعاني من أوقات إنشاء أطول بكثير.
لاستخدام هذا المتغير، اتبع الإرشادات الموجودة في موقع GALAHAD wiki.