Ua hoʻoholo wau e komo i loko a ua pono e hoʻohana i nā pūʻolo no ka hoʻoponopono ʻana i nā pilikia optimization. Ua koho au i ka Google tool or-tools, he mea ia no nā mea hoʻonā like ʻole (a i ʻole nā mea hoʻonā? Loaʻa iā ia kekahi mau mea hana optimization, akā koi nā mea hana i ke kākoʻo no kekahi mau pūʻolo waho, me ka Gurobi kālepa a me CPLEX. Eia naʻe, ʻaʻole mākou he poʻe waiwai, a e hoʻohana mākou i ka SCIP manuahi a me ka GLPK (mai ka mea hoʻomohala hale, ma ke ala). I koʻu kahaha, ʻaʻole i loaʻa iaʻu kahi ʻōlelo aʻo e pili ana i ka hana ʻana i kēia hana nani a pau i loko o ke kaiapuni virtual o Python i ka nui o kā mākou ʻāpana ʻōlelo Pelekane a me ka ʻōlelo Pelekania o ka Pūnaewele a pono wau e noʻonoʻo iki. No ka poe e holo wikiwiki ana, e heluhelu koke , Ke kono nei au i nā mea ʻē aʻe e kamaʻāina me kaʻu graphomania o ka maikaʻi kānalua, e wehewehe ana i nā vicissitudes o ka hoʻokomo ʻana i nā polokalamu Google. ʻAe, poina iaʻu e ʻōlelo koke ua hoʻokomo ʻia nā mea āpau ma Manjaro Linux.

mua 'anuʻu
Aia nā ʻāpana ʻekolu i ka waihona Python, no laila mākou e hoʻokomo iā lākou mai ka pip.
Loaʻa i kēlā me kēia o lākou kona interface ponoʻī, a ua koho ʻia nā mea hana a i ʻole e hoʻāʻo i nā pūʻolo like ʻole me ka ʻole o ka kākau hou ʻana i ka papahana, no laila ʻo ka hana a i ʻole-mea hana e kiʻi i kēia mau mea hoʻonā a hoʻokuʻu iā lākou e holo ma o lākou iho. A pehea kou manao? Hoʻokomo ʻia ma o ka pip a i ʻole nā mea hana ʻaʻole ʻike i nā mea hoʻonā i hoʻokomo ʻia ma o ka pip, a ʻaʻole lākou e ʻike iā ia (ʻo wai ka mea i manaʻo). No laila, pono ʻoe e nānā i nā mea a lākou e kākau ai .
Kākau nā docs pono ʻoe e kūkulu mai ke kumu i hiki ai i nā mea hana a i ʻole ke kiʻi i nā pūʻolo waho. Ho'āʻo mākou e hōʻuluʻulu, akā ʻaʻohe mea i loaʻa mai ia mea, no ka mea ʻaʻole ʻike ʻia nā mea hoʻonā i hoʻokomo ʻia ma o ka pip.
No laila, ʻaʻole hana nā ʻano maʻalahi o ka hoʻokomo ʻana i nā pūʻolo āpau ma o ka pip, no ka mea ʻaʻole huki nā mea hana i nā solvers, ʻaʻole hoʻokomo nā solvers i nā hale waihona puke e like me ka makemake a i ʻole nā mea hana, hoʻolei nā mea āpau iā ʻoe, kāhea iā ʻoe he naʻaupō a akaaka ma na ano a pau.
Aʻe ma Kākau lākou e pono ʻoe e hōʻuluʻulu i nā mea hoʻoponopono mai nā code kumu, a laila e hōʻuluʻulu a i ʻole nā mea hana ponoʻī mai nā code kumu. ʻAʻole i ʻōlelo koke ʻia! Ua hoʻokomo au i ka SCIP, ua hoʻokomo i ka GLPK, akā ua kū mai ka nīnau, ʻaʻole i wehewehe ʻia i ka palapala, pehea e hoʻokomo ai i nā mea hana i loko o kahi kaiapuni virtual.
ʻO ke kauoha wale nō i kākau ʻia i loko o nā pahu, hana i ka python, hoʻokomo i ka pōʻai ma ka honua holoʻokoʻa ma ka ʻōnaehana (kahaha, pololei?).
Eia naʻe, ua laki au: i ka wā o ka ʻimi ʻenekinia e hoʻohana ana i ke ʻano o nā monkey pau ʻole, ua paʻi hewa wau i ke kauoha make help, a hāʻawi mai iaʻu i kahi papa inoa o nā koho āpau no ke kūkulu ʻana a i ʻole nā mea hana, ma waena o ia ke koho e kūkulu i ka huila. pūʻolo. ʻO kēia ke kauoha hana python_package, inā he mea (e hana hou wau i ka hopena). No laila, ʻo ka manawa kēia e hui a hoʻomaka?

Ke ʻimi nei mākou i kahi pilikia
ʻAʻohe mea e hana ma ke kahua kūkulu hale a i ʻole nā mea hana, hoʻopiʻi ia no nā hale waihona puke GLPK maikaʻi ʻole.

Ua kūleʻa ke kūkulu ʻana me SCIP me nā ʻāpana mai ka palapala, akā hōʻole ʻole nā mea hana i ka manawa o ka lawe ʻana mai.

ʻAʻole hiki iaʻu ke loaʻa kahi hopena i kēia mau pilikia ma oʻu iho, no laila ua hele au i GitHub e nīnau i nā mea hoʻomohala no ke aha e hoʻopuka ai ka hoʻonohonoho ʻana e like me kā lākou ʻōlelo aʻo i nā hewa ma kahi o kā lākou code.

Hmm, mahalo no ka wehewehe ʻana
ʻOiai wau e kali ana i kahi pane ma Github, ua ʻimi au i ka Pūnaewele, me ka manaʻo e loaʻa kahi mea e kōkua iaʻu. A ʻo ka mea kupanaha, ua loaʻa iaʻu. Ua ___ ia alakaʻi hui o ka papahana, kahi āna i kākau ai e pili ana i ka hoʻohui ʻana iā GLPK me nā mea hana a i ʻole. A ua hana hope kēia ʻano hana! I kēia manawa, inā ʻohi ʻoe i nā mea āpau me ka ʻole o SCIP, akā me GLPK, a laila hiki iā ʻoe ke hana pū me ia. Ua holomua.
Akā naʻe, ʻaʻole i ʻōlelo ka alakaʻi o ka hui a i ʻole nā mea hana i ka hoʻohana ʻana i ka GLPK, me ka ʻōlelo ʻana he mea nui ʻole nā hopena i hōʻike ʻia, a ke makemake nei au e lanakila iā SCIP a hoʻokō. Hoʻopili Ua hāʻawi mai ka blog iaʻu i ka manaʻo e hana ana ka pūʻolo Google me nā mana kikoʻī. E nana kakou a ʻike mākou ma laila kahi hōʻike kikoʻī o ka mana 6.0.0. ʻOiai ke hōʻike ʻia nei ka mana 6.0.2 i ka makefile, hoʻāʻo mākou e hoʻokomo i kahi mana kahiko a voila!
A i kēia manawa hou ke kaʻina hana o nā hana.
Kaʻina hoʻokomo
- Hoʻoiho i ka waihona SCIP, e ʻike pono i kēlā Ua hōʻike maopopo ʻia ke kākoʻo no ka mana āu e hoʻoiho nei (i koʻu hihia ) a wehe.
- Hoʻoiho iā GLPK (i ka manawa o kēia pou ka mana hou loa ʻo 4.65) a wehe iā ia.
- E hoʻouka i ke kauoha SCIP
make GMP=false READLINE=false TPI=tny ZIMPL=false scipoptlib install INSTALLDIR=<path>/scipoptsuite-6.0.0 - E hoʻouka iā GLPK me ke kauoha:
./configure --prefix=<install_path> --with-pic --enable-shared make make install - Hoʻoiho iā OR-Tools mai Github
git clone https://github.com/google/or-tools - E hoʻouka i OR-Tools me ka hoʻohana ʻana i nā kauoha:
make third_party make python_packageInā ʻaʻole holo ka ʻōlelo hope, e hoʻokomo i ka huila me ke kauoha:
pip install wheel - No ka hoʻoulu ʻana i ke kaiapuni virtual, e hele i ka waihona me ka pūʻulu Python a hoʻokomo iā ia mai laila.
Inā pono ʻoe e hoʻokomo ʻaʻole i kahi kaiapuni virtual, akā ma ka honua no ka ʻōnaehana holoʻokoʻa, ma kahi o:
make python_packageholo i ke kauoha:
make python
Source: www.habr.com
