Re: Solver performance solving examples/life_goe.mod
Domingo Alvarez Duarte <[email protected]> Sat, 26 Sep 2020 18:38:40 +0200
| Newsgroups | gmane.comp.gnu.glpk |
|---|---|
| Message-ID | <[email protected]> |
Hello Chris ! Thank you for reply ! Please commit your "probing" code to a new branch in your repository, this way maybe someone can give you some help polishing it. Also about the problem with "avl_tree" do you plan to review and fix your repository ? Cheers ! On 26/9/20 17:30, Chris Matrakidis wrote: > A brief description of the changes is in > https://lists.gnu.org/archive/html/help-glpk/2018-02/msg00018.html - > those considerably increased the number of miplib problems that can be > solved, in particular using pseudocost branching. Do ask if you have > any specific questions, but it was some time ago so it will take me a > bit to dig up the details. > > Note that for problems like the one you are using with lots of binary > variables, a pre-processing technique called probing is very effective > but not available in GLPK. I have a draft implementation but I'm not > very happy with it, so it isn't committed to my tree. > > Best Regards, > > Chris Matrakids > > On Sat, 26 Sep 2020 at 17:55, Domingo Alvarez Duarte > <[email protected] <mailto:[email protected]>> wrote: > > Hello Chris ! > > Thank you for reply ! > > Can you describe in a few lines what your improvements achieved ? > > I've been looking at your changes and found that you've bitten by > "src/env/avl.c" avl_tree do not reject duplicate keys but do not > provide a way to recover duplicates, I fixed this here > https://github.com/mingodad/GLPK/commit/502da3ae23ffb4c1731cc437fd6b420ac82443d5 > and I found it while trying to update your code to work with > splay_tree. > > See this thread > https://lists.gnu.org/archive/html/bug-glpk/2020-08/msg00018.html . > > Comparing your glpsol with mine solving hashi.mod we get this: > > ===== > > # your repository compiled with -O3 -DNDEBUG -march=native > -ffp-contract=off > > ... > > INTEGER OPTIMAL SOLUTION FOUND > Time used: 91.6 secs > Memory used: 19.6 Mb (20560460 bytes) > > ... > > Model has been successfully processed > 91.72user 0.64system 1:32.37elapsed 100%CPU (0avgtext+0avgdata > 23032maxresident)k > 0inputs+0outputs (0major+764597minor)pagefaults 0swaps > > ===== > > # your repository compiled with -O2 -MT -MD -MP -MF > > ... > > INTEGER OPTIMAL SOLUTION FOUND > Time used: 120.9 secs > Memory used: 19.6 Mb (20560460 bytes) > > ... > > Model has been successfully processed > 120.93user 1.23system 2:02.16elapsed 99%CPU (0avgtext+0avgdata > 22900maxresident)k > 0inputs+0outputs (0major+764575minor)pagefaults 0swaps > > ===== > > #my repository compiled with -g -O3 -DNDEBUG -march=native > -ffp-contract=off -DWITH_SPLAYTREE > > INTEGER OPTIMAL SOLUTION FOUND > Time used: 59.2 secs > Memory used: 10.6 Mb (11130654 bytes) > ... > > Model has been successfully processed > 58.99user 0.60system 0:59.59elapsed 99%CPU (0avgtext+0avgdata > 13664maxresident)k > 0inputs+0outputs (0major+397605minor)pagefaults 0swaps > > ===== > > # ubuntu 18.04 glpsol package > > INTEGER OPTIMAL SOLUTION FOUND > Time used: 70.5 secs > Memory used: 19.8 Mb (20725782 bytes) > ... > > Model has been successfully processed > 71.49user 0.22system 1:11.71elapsed 99%CPU (0avgtext+0avgdata > 23500maxresident)k > 0inputs+0outputs (0major+135565minor)pagefaults 0swaps > > ===== > > Cheers ! > > On 26/9/20 16:20, Chris Matrakidis wrote: >> I made some performance improving patches a few years ago. You >> can find them in: https://github.com/cmatraki/GLPK >> >> Best Regards, >> >> Chris Matrakidis >> >> On Sat, 26 Sep 2020 at 14:54, Domingo Alvarez Duarte >> <[email protected] <mailto:[email protected]>> wrote: >> >> Hello ! >> >> Testing GLPK I left it solving examples/lie_goe.mod for more >> than 2 >> hours and it didn't found a solution (wasm and native) then I >> stopped >> then and tried with cplex/gurobi/xpress/scip all of then gives a >> solution instantly (except scip that takes 3s). >> >> The difference is so big, have someone managed through >> command line >> options or other means managed to get a solution quickly with >> glpsol ? >> >> Any idea of how to improve GLPK to not be so behind ? >> >> Cheers ! >> >>