Установка or-tools с SCIP ΠΈ GLPK Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Python 3.7 Π½Π° Linux

Parte hartzea erabaki nuen lehiaketa Optimizazio arazoak konpontzeko paketeak erabili behar izan nituen horretarako. Google-ren or-tools aukeratu nuen, hainbat ebazleren interfazea dena (edo ebazle? ebazle?). Hainbat optimizazio tresna ditu, baina sortzaileek kanpoko hainbat pakete onartzen dituztela diote, besteak beste, Gurobi eta CPLEX komertzialak. Hala ere, ez gara aberatsak, beraz, SCIP eta GLPK doakoak erabiliko ditugu (bide batez, bertako garatzaile batek egindakoak). Harrigarria bada ere, ez nuen argibide bakar bat ere aurkitu edertasun hori guztia Python ingurune birtual batean nola funtzionarazi jakiteko, ez errusierazko ez ingelesezko segmentuetan, beraz, pixka bat moldatu behar izan nuen. Presaka dabiltzanentzat, jarraitu irakurtzen. Hemen, ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с ΡΠΎΠΌΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ качСства ΠΌΠΎΠ΅ΠΉ Π³Ρ€Π°Ρ„ΠΎΠΌΠ°Π½ΠΈΠ΅ΠΉ, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π΅ΠΉ ΠΏΠ΅Ρ€ΠΈΠΏΠ΅Ρ‚ΠΈΠΈ установки гугловского софта. Π”Π°, Π·Π°Π±Ρ‹Π» сразу ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π»ΠΎΡΡŒ всё Π² Manjaro Linux.

Установка or-tools с SCIP ΠΈ GLPK Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Python 3.7 Π½Π° Linux

Lehen urratsak

Hiru paketeak Python biltegian daude, beraz, pip bidez instalatzen ditugu.

Bakoitzak bere interfazea du, eta or-tools bereziki aukeratu zen hainbat pakete probatzeko programa berridatzi gabe, beraz, helburua or-tools-ek ebazle hauek engantxatzea eta bere kabuz exekutatzen uztea da. Eta badakizu zer? Pip bidez instalatuta, or-tools-ek ez ditu pip bidez instalatutako ebazleak ikusten, eta ez dute ikusten (nork pentsatuko zuen). Beraz, benetan begiratu beharko genuke zer dioten... dokumentazioa.
Dokumentuek diote iturburutik eraiki behar dela or-tools-ek kanpoko paketeak jaso ahal izateko. Eraikitzen saiatu ginen, baina ez zuen funtzionatu, pip bidez instalatutako ebazleak ez zirelako ikusten.
Horrenbestez, pip bidez pakete guztiak instalatzeko metodo errazenek ez dute funtzionatzen, or-tools-ek ez dituelako ebazleak ateratzen, ebazleek ez dituztelako liburutegiak or-tools-ek nahi duen moduan instalatzen, denek erroreak botatzen dizkizute, ergela deitzen zaituzte eta modu guztietan barre egiten dizutelako.

Hurrengoa kaiak Esaten dute ebazleak iturburutik eraiki behar ditudala, eta gero or-tools bera iturburutik eraiki. Esan bezain laster, egina! SCIP eta GLPK instalatu nituen, baina dokumentatu gabeko galdera batekin egin nuen topo: nola instalatu or-tools ingurune birtual batean.

Dokumentuetan zerrendatutako komando bakarra make python da, paketea sisteman globalki instalatzen duena (harrigarria, ezta?).

Hala ere, zortea izan nuen: nire tximino-puzzle ingeniaritza bilaketa amaigabean, nahi gabe make help komandoa idatzi nuen, eta or-tools eraikitzeko aukera guztien zerrenda eman zidan, gurpil paketea eraikitzeko aukera barne. Bide batez, make python_package komandoa da hori (amaieran berriro errepikatuko dut). Beraz, eraiki eta exekutatzeko garaia al da?

Установка or-tools с SCIP ΠΈ GLPK Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Python 3.7 Π½Π° Linux

Arazo baten bila.

Ezerk ez du funtzionatzen or-tools eraikuntza fasean; GLPK liburutegi txarrez kexatzen da.

Установка or-tools с SCIP ΠΈ GLPK Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Python 3.7 Π½Π° Linux

Dokumentazioko parametroak erabiliz SCIPekin eraikitzea arrakastatsua da, baina or-tools-ek oraindik ez du funtzionatzeari inportazioan zehar.

Установка or-tools с SCIP ΠΈ GLPK Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Python 3.7 Π½Π° Linux

Ezin izan nien arazo hauei irtenbiderik aurkitu neuk bakarrik, beraz, garatzaileen GitHubera joan nintzen galdetzera zergatik haien argibideen arabera instalatzeak erroreak sortzen zituen haien kodean nonbait.

Установка or-tools с SCIP ΠΈ GLPK Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Python 3.7 Π½Π° Linux
Hmm, eskerrik asko argibideagatik.

GitHub-en erantzun baten zain nengoela, interneten arakatzen ari nintzen, laguntzeko zerbait aurkitzeko asmoz. Eta harrigarria bada ere, aurkitu nuen. Hau zen... blog Proiektuaren taldeko buruak GLPK or-tools-ekin nola lotu idatzi zuen. Eta metodo honek azkenean funtzionatu zuen! Orain, dena SCIP gabe baina GLPK-rekin eraikitzen baduzu, erabiltzea ere posible da. Aurrerapena da hori.

Hala ere, or-tools taldeko buruak GLPK ez erabiltzea gomendatu zuen, emaitza eskasak ematen dituela esanez, eta oraindik SCIP garaitu eta funtzionarazi nahi zuela. post Blogeko sarrerak iradokitzen zuen Google-ren paketeak bertsio espezifikoekin funtzionatzen duela. Ikus dezagun. argitalpen aldaketen zerrenda eta 6.0.0 bertsioaren adierazle argi bat ikusten dugu. Makefile-ak 6.0.2 bertsioa adierazten badu ere, bertsio zaharrago bat instalatzen saiatzen gara eta listo!

Eta orain berriro ere ekintzen lan-sekuentzia.

Instalazio sekuentzia

  1. Deskargatu SCIP artxiboa, ziurtatuz Hemen deskargatzen ari zaren bertsioaren euskarria argi eta garbi adierazten da (nire kasuan developers.google.com/optimization/support/release_notes#support-for-scip-6.0.0) eta deskonprimitu.
  2. Deskargatu GLPK (argitalpen hau idazteko unean, azken bertsioa 4.65 da) eta deskonprimitu.
  3. Instalatu SCIP komandoarekin
    make GMP=false READLINE=false TPI=tny ZIMPL=false scipoptlib install INSTALLDIR=<path>/scipoptsuite-6.0.0
    
  4. Instalatu GLPK komando honekin:
    ./configure --prefix=<install_path> --with-pic --enable-shared
    make
    make install
    
  5. Deskargatu OR-Tools GitHub-etik
    git clone https://github.com/google/or-tools
  6. Instalatu OR-Tools komando hauek erabiliz:
    make third_party
    make python_package
    

    Azken komandoak ez badu funtzionatzen, instalatu gurpila komando honekin:

    pip install wheel
  7. Ingurune birtuala aktibatzeko, joan Python paketea duen karpetara eta instalatu handik.

    Ingurune birtual batean ez, baizik eta sistema osoarentzat globalki instalatu behar baduzu, hau egin beharrean:

    make python_package

    exekutatu komandoa:

    make python
    

Iturria: www.habr.com

Erosi hosting fidagarria DDoS babesa duten guneetarako, VPS VDS zerbitzariak πŸ”₯ Erosi webguneentzako ostatu fidagarria DDoS babesarekin, VPS VDS zerbitzariak | ProHoster