|
From: | Kevin Hunter |
Subject: | Re: [Help-glpk] manipulating parameter indices |
Date: | Wed, 04 Jul 2012 09:09:10 -0400 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120615 Thunderbird/13.0.1 |
At 6:34am -0400 Mon, 02 Jul 2012, Kevin Hunter wrote:
For a fairly small input data file (18k rows, 16k cols, 94k nz), the GMPL avenue takes about 40 seconds to generate and solve on my machine, while Pyomo takes about 11 seconds to generate and solve, /including/ using GLPK as the solver. (This is a stable average of ~10 runs.)
Is there common wisdom on what I might be doing wrong? If I had to guess, I'd suspect I'm hitting some O(n) wall in regards to GMPL's just-in-time instantiation of derived set and parameter elements.
http://cygnus.ce.ncsu.edu/~kevin/tmp/model.zip
Alright, I gather speed of execution is not a thrilling topic to dive into ... Are there known or common routes for diagnosing GMPL model manipulations? i.e. profiling of some sort? I can tell by the GMPL output which of my constraints are taking the longest to build, but looking at the indices, it doesn't immediately strike me as to why.
After interspersing some fprintf calls into the GLPK codebase, my first constraint, over a sparse, 5-dimensional set of 690 items, generates 2.49 million calls to expand_tuple in glpmpl03.c. Does that sound right?
Thanks, Kevin
[Prev in Thread] | Current Thread | [Next in Thread] |