Pag-instalar sa or-tools gamit ang SCIP ug GLPK sa usa ka Python 3.7 virtual environment Linux

Nakahukom ko nga moapil kompetisyon ug gikinahanglan ang paggamit sa mga pakete alang sa pagsulbad sa mga problema sa pag-optimize. Gipili nako ang Google tool or-tools, nga usa ka interface alang sa lainlaing mga solver (o solver? solver?). Naglangkob kini og daghang mga himan sa pag-optimize, apan ang mga tiglalang nag-angkon nga suporta alang sa daghang mga eksternal nga pakete, lakip ang komersyal nga Gurobi ug CPLEX. Bisan pa, dili kami mga adunahan, ug mogamit kami nga libre nga SCIP ug GLPK (gikan sa usa ka domestic developer, sa paagi). Sa akong katingala, wala akoy nakit-an nga bisan usa ka panudlo kung giunsa ang paghimo sa tanan nga kini nga kahalangdon nga molihok sa virtual nga palibot sa Python sa kadaghanon sa among duha ug ang nagsultig English nga mga bahin sa Internet ug kinahanglan nako nga mag-tinker gamay. Sa mga nagdali, basaha dayon dinhiPara sa uban, gisugyot ko nga basahon ninyo ang akong mga kadudahan nga sinulat nga naghulagway sa mga detalye sa pag-install sa Google software. Ah, ug nakalimot ko sa paghisgot nga ang tanan na-install sa Manjaro. Linux.

Pag-instalar sa or-tools gamit ang SCIP ug GLPK sa usa ka Python 3.7 virtual environment Linux

unang lakang

Ang tanan nga tulo ka mga pakete anaa sa Python repository, mao nga atong i-install kini gikan sa pinaagi sa pip.

Ang matag usa kanila adunay kaugalingon nga interface, ug ang or-tools gipili aron lang sulayan ang lainlaing mga pakete nga wala’y hinungdanon nga pagsulat pag-usab sa programa, mao nga ang tahas alang sa o-mga himan aron makuha kini nga mga solver ug tugotan sila nga modagan sa iyang kaugalingon. Ug unsa sa imong hunahuna? Ang gi-install pinaagi sa pip or-tools wala makakita sa mga solver nga na-install pinaagi sa pip, ug dili nila kini makita (kinsa ang makahunahuna). Busa, kinahanglan nimo nga tan-awon kung unsa ang ilang gisulat dokumentasyon.
Gisulat sa mga doc nga kinahanglan nimo nga magtukod gikan sa gigikanan aron ang or-tools makakuha mga eksternal nga pakete. Gisulayan namon nga i-compile kini, apan wala’y moabut niini, tungod kay ang mga solver nga gi-install pinaagi sa pip dili makita.
Tungod niini, ang pinakasimple nga mga pamaagi sa pag-instalar sa tanan nga mga pakete pinaagi sa pip dili molihok, tungod kay ang or-tools wala magbira sa mga solver, ang mga solver wala mag-instalar sa mga librarya sa paagi nga gusto o-tools, ang tanan naglabay sa mga sayup kanimo, nagtawag kanimo nga hungog ug mokatawa sa tanang posibleng paagi.

Sunod sa mga pantalan Gisulat nila nga kinahanglan nimo nga i-compile ang mga solver gikan sa mga source code, unya pag-compile o-tools mismo gikan sa source codes. Wala dayon gisulti kaysa nahuman! Gi-install nako ang SCIP, gi-install ang GLPK, apan mitungha ang pangutana, nga wala gihulagway sa dokumentasyon, kung giunsa ang pag-install o-mga himan sa usa ka virtual nga palibot.

Ang bugtong sugo nga gisulat sa mga pantalan, paghimo og python, pag-instalar sa package sa tibuok kalibutan sa sistema (makapatingala, di ba?).

Bisan pa, swerte ako: sa usa ka pagpangita sa inhenyeriya gamit ang pamaagi sa walay katapusan nga mga unggoy, wala tuyoa nga na-type nako ang make help command, ug naghatag kini kanako og usa ka lista sa tanan nga mga kapilian alang sa pagtukod o-mga himan, diin ang kapilian mao ang paghimo sa ligid. pakete. Kini ang paghimo sa python_package nga mando, kung adunay bisan unsa (balikon nako kini pag-usab sa katapusan). Busa, panahon na ba sa pagtigom ug paglansad?

Pag-instalar sa or-tools gamit ang SCIP ug GLPK sa usa ka Python 3.7 virtual environment Linux

Nangita ug problema

Wala’y nagtrabaho sa yugto sa pagtukod sa or-tools, nagreklamo kini bahin sa dili maayo nga mga librarya sa GLPK.

Pag-instalar sa or-tools gamit ang SCIP ug GLPK sa usa ka Python 3.7 virtual environment Linux

Ang pagtukod sa SCIP nga adunay mga parameter gikan sa dokumentasyon malampuson, apan ang or-tools nagdumili gihapon sa pagtrabaho sa panahon sa pag-import.

Pag-instalar sa or-tools gamit ang SCIP ug GLPK sa usa ka Python 3.7 virtual environment Linux

Dili nako makit-an ang solusyon sa kini nga mga problema sa akong kaugalingon, mao nga miadto ako sa GitHub aron pangutan-on ang mga nag-develop kung ngano nga ang pag-install sumala sa ilang mga panudlo nagpatunghag mga sayup sa usa ka lugar sa sulod sa ilang code.

Pag-instalar sa or-tools gamit ang SCIP ug GLPK sa usa ka Python 3.7 virtual environment Linux
Hmm, salamat sa pagklaro

Samtang naghulat ko og tubag sa Github, nagsuroy-suroy ko sa Internet, naglaom nga makakita ko og makatabang nako. Ug katingad-an, nakit-an nako kini. Kadto mao blog team lead sa proyekto, diin siya misulat mahitungod sa unsa nga paagi sa pagkonektar sa GLPK sa o-mga himan. Ug kini nga pamaagi sa katapusan nagtrabaho! Karon, kung kolektahon nimo ang tanan nga wala ang SCIP, apan sa GLPK, mahimo ka pa nga magtrabaho niini. Nag-uswag na.

Bisan pa, ang nanguna sa team sa or-tools team wala magrekomendar sa paggamit sa GLPK, nga nag-ingon nga ang mga resulta nga gipakita niini dili importante, ug gusto ko gihapon nga pildihon ang SCIP ug himoon kini nga trabaho. Silingan post Ang blog naghatag kanako sa ideya nga ang Google nga pakete nagtrabaho uban sa piho nga mga bersyon. Atong tan-awon listahan sa mga pagbag-o sa pagpagawas ug atong makita didto ang usa ka tin-aw nga timailhan sa bersyon 6.0.0. Bisan pa sa kamatuoran nga ang bersyon 6.0.2 gipakita sa makefile, among gisulayan ang pag-instalar sa mas daan nga bersyon ug voila!

Ug karon sa makausa pa ang pagtrabaho nga han-ay sa mga aksyon.

Pagkasunod-sunod sa pag-instalar

  1. I-download ang SCIP archive, pagsiguro nga kana dinhi Ang suporta alang sa bersyon nga imong gi-download klaro nga gipakita (sa akong kaso developers.google.com/optimization/support/release_notes#support-for-scip-6.0.0) ug unpack.
  2. I-download ang GLPK (sa panahon niini nga post ang pinakabag-o nga bersyon mao ang 4.65) ug i-unpack kini.
  3. I-install ang SCIP command
    make GMP=false READLINE=false TPI=tny ZIMPL=false scipoptlib install INSTALLDIR=<path>/scipoptsuite-6.0.0
    
  4. I-install ang GLPK gamit ang command:
    ./configure --prefix=<install_path> --with-pic --enable-shared
    make
    make install
    
  5. Pag-download sa OR-Tools gikan sa Github
    git clone https://github.com/google/or-tools
  6. I-install ang OR-Tools gamit ang mga sugo:
    make third_party
    make python_package
    

    Kung ang katapusan nga sugo dili molihok, i-install ang ligid gamit ang sugo:

    pip install wheel
  7. Aron ma-aktibo ang virtual nga palibot, adto sa folder nga adunay pakete sa Python ug i-install kini gikan didto.

    Kung kinahanglan nimo nga i-install dili sa usa ka virtual nga palibot, apan sa tibuuk kalibutan alang sa tibuuk nga sistema, imbis sa:

    make python_package

    padagana ang sugo:

    make python
    

Source: www.habr.com

Pagpalit kasaligan nga pag-host alang sa mga site nga adunay proteksyon sa DDoS, mga server sa VPS VDS 🔥 Pagpalit og kasaligang website hosting nga adunay proteksyon sa DDoS, VPS VDS servers | ProHoster