تثبيت أو أدوات باستخدام SCIP و GLPK في بيئة افتراضية Python 3.7 على Linux

قررت المشاركة في المسابقة وكان من الضروري استخدام الحزم له لحل مشاكل التحسين. لقد اخترت أداة أو أدوات Google ، وهي واجهة لمحللين مختلفين (أو محلولين؟ محللين؟). يحتوي على العديد من أدوات التحسين ، لكن المطورين يدعون دعمهم للعديد من الحزم الخارجية ، بما في ذلك Gurobi و CPLEX التجاريين. ومع ذلك ، نحن لسنا أغنياء ، وسنستخدم SCIP و GLPK مجانًا (من مطور محلي ، بالمناسبة). لدهشتي ، ليس تعليمات واحدة حول كيفية جعل كل هذا الروعة تعمل في بيئة بيثون افتراضية ، لم أجد على المساحات المفتوحة لكل من شرائح الإنترنت الخاصة بنا والمتحدثة باللغة الإنجليزية وكان علي أن العبث قليلاً. لمن هم في عجلة من أمرهم ، اقرأ هنا، أقترح الباقي للتعرف على الجودة المريبة في الرسم البياني الخاص بي ، والذي يصف التقلبات والتثبيتات في تثبيت برنامج Google. نعم ، نسيت أن أقول على الفور أنه تم تثبيت كل شيء في Manjaro Linux.


الخطوات الأولى


توجد جميع الحزم الثلاثة في مستودع الثعبان ، لذلك نقوم بالتثبيت من خلال النقطة.

كل واحد منهم لديه واجهة خاصة به ، وتم اختيار أدوات - or فقط من أجل تجربة حزم مختلفة ، دون إعادة كتابة كبيرة للبرنامج ، وبالتالي فإن المهمة هي أدوات - لأخذ هذه المحاليل والسماح لها بالعمل من خلال نفسها. وما رأيك؟ لا يتم تثبيت المحاليل المثبتة من خلال النقاط أو الأدوات من خلال النقاط ، ولا يرونها (من كان يظن). لذا ، ما زلت بحاجة إلى إلقاء نظرة على ما يكتبونه في الوثائق .
في أرصفة السفن يكتبون ما يجب جمعه من المصدر حتى تلتقط الأدوات أو الأدوات الحزم الخارجية. نحن نحاول أن نجمع ، ولا يخرج شيء ، لأن المذيبات المثبتة من خلال النقطة غير مرئية.
وفقًا لذلك ، فإن أسهل الطرق لتثبيت جميع الحزم من خلال النقاط لا تعمل ، لأن الأدوات لا تسحب المحللون ، ولا يقوم المذيبون بتثبيت المكتبات كما تريد أو أدوات ، والجميع يصب عليك الأخطاء ، ويطلقون عليك غبيًا ويضحكون بكل طريقة ممكنة.

علاوة على ذلك ، يكتبون في الأحواض أنه من الضروري جمع المذيبات من أكواد المصدر ، ثم من المصدر إلى التجميع أو الأدوات نفسها. سيتم التنفيذ قبل الانتهاء من سرد طلبك! تثبيت SCIP ، تثبيت GLPK ، ولكن السؤال الذي لم يشر في الوثائق هو كيفية وضع أو أدوات في بيئة افتراضية.

إن الأمر make python الوحيد على الأحواض يقوم بتثبيت الحزمة عالميًا على النظام (من المستغرب ، هوة؟).

ومع ذلك ، كنت محظوظًا: أثناء البحث الهندسي باستخدام طريقة القرد اللانهائي ، كتبت عن طريق الخطأ تقديم المساعدة وتم إعطائي قائمة بجميع خيارات إنشاء الأدوات أو الأدوات ، ومن بينها كانت الفرصة لبناء مجموعة عجلات. هذا هو الأمر make python_package ، إذا كان ذلك (سوف أكرره مرة أخرى في النهاية). لذا ، هل حان الوقت لبناء وإطلاق؟



هل تبحث عن مشكلة


لا شيء يعمل في مرحلة بناء أو أدوات ، يقسم في مكتبات GLPK السيئة.



تم إنشاء برنامج SCIP باستخدام المعلمات من الوثائق بنجاح ، لكن الأدوات - أو لا تزال ترفض العمل في وقت الاستيراد.



لم أتمكن من العثور على حل لهذه المشاكل بمفردي ، لذلك ذهبت إلى github للمطورين للسؤال عن سبب تثبيت التثبيت وفقًا لتعليماتهم لأخطاء في مكان ما داخل شفرتهم.


حسنًا ، شكرًا على التوضيحات ،

بينما كنت أنتظر إجابة على github ، كنت أتفحص الإنترنت ، آملاً أن أجد شيئًا يساعدني. ولأنها ليست مفاجئة ، فقد وجدتها. كانت مدونة لقيادة فريق المشروع حيث كتب عن كيفية ربط GLPK بالأدوات أو الأدوات. وعملت هذه الطريقة أخيرا! الآن ، إذا قمت ببناء كل شيء بدون SCIP ، ولكن مع GLPK ، يمكنك حتى العمل مع هذا. تقدم بالفعل.

ومع ذلك ، لم ينصح قائد فريق or-tools باستخدام GLPK ، قائلاً إن النتائج ليست مهمة ، وما زلت أرغب في هزيمة SCIP وجعلها تعمل. جاءت المقالة المجاورة في المدونة عبر فكرة أن حزمة إصدار Google تعمل مع إصدارات محددة. نحن ننظر إلى قائمة تغييرات الإصدار ونرى إشارة صريحة للإصدار 6.0.0 هناك. على الرغم من حقيقة أن الإصدار 6.0.2 مذكور في ملف makefile ، فإننا نحاول تثبيت إصدار قديم وفويلا!

والآن مرة أخرى ، سلسلة من الإجراءات.

تسلسل التثبيت


  1. قم بتنزيل أرشيف SCIP ، مع التأكد من وجود دعم واضح للإصدار الذي تقوم بتنزيله (في حالتي developer.google.com/optimization/support/release_notes#support-for-scip-6.0.0 ) وفك حزمه.
  2. قم بتنزيل GLPK (وقت نشر أحدث إصدار 4.65) وفك ضغطه.
  3. أمر تثبيت SCIP

    make GMP=false READLINE=false TPI=tny ZIMPL=false scipoptlib install INSTALLDIR=<path>/scipoptsuite-6.0.0
    
  4. قم بتثبيت GLPK باستخدام الأمر:

    ./configure --prefix=<install_path> --with-pic --enable-shared
    make
    make install
    
  5. تنزيل أدوات OR من github

    git clone https://github.com/google/or-tools
  6. قم بتثبيت أدوات OR مع الأوامر:

    make third_party
    make python_package
    

    إذا لم يعمل الأمر الأخير ، فقم بتثبيت العجلة بالأمر:

    pip install wheel
  7. لتنشيط البيئة الافتراضية ، انتقل إلى المجلد الذي يحتوي على حزمة Python وقم بتثبيته من هناك.

    إذا كنت بحاجة إلى التثبيت ليس في بيئة افتراضية ، ولكن بشكل عام للنظام بأكمله بدلاً من ذلك:

    make python_package

    تنفيذ الأمر:

    make python
    

All Articles