help-glpk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Help-glpk] Print names of all rows after presolve?


From: Joey Rios
Subject: [Help-glpk] Print names of all rows after presolve?
Date: Fri, 20 Jun 2008 17:13:58 -0700

I am debugging the code I plan to use to generate cplex-format input files.  I am comparing my generated files to my "gold standard" which is a MathProg model.  I provide the MathProg model to glpsol and write out a cplex translation to compare against my directly-generated cplex file.  I am at the point where I can't do much more debugging through text-parsing tools (sed, awk, etc.).  I would love to see a list of row names that glpk finds after the presolve.  Here is why:

Output from my directly generated cplex file:

...
lpx_read_cpxlp: 504148 rows, 299500 columns, 1096954 non-zeros
lpx_read_cpxlp: 299500 integer columns, all of which are binary
lpx_read_cpxlp: 1128550 lines were read
glp_simplex: original LP has 504148 rows, 299500 columns, 1096954 non-zeros
glp_simplex: presolved LP has 504148 rows, 299500 columns, 1096954 non-zeros
lpx_adv_basis: size of triangular part = 504148
      0:   objval =   0.000000000e+00   infeas =   1.000000000e+00 (0)
...


And here is the output from my reference model:

...
lpx_read_cpxlp: 547545 rows, 302843 columns, 1418415 non-zeros
lpx_read_cpxlp: 302843 integer columns, all of which are binary
lpx_read_cpxlp: 1851799 lines were read
glp_simplex: original LP has 547545 rows, 302843 columns, 1418415 non-zeros
glp_simplex: presolved LP has 504162 rows, 299500 columns, 1097272 non-zeros
lpx_adv_basis: size of triangular part = 504162
      0:   objval =   0.000000000e+00   infeas =   1.000000000e+00 (0)
...


So for my directly generated model I am trying to do my own "presolving" (in a sense) by avoiding generation of trivial rows/cols.  You can see that I am producing 14 too few rows (504162 - 504148) in my directly generated cplex file.  Oh, how I'd love to know the names of those rows.  Any thoughts on how to tease those out?  I am fine using the API.  It seems that the presolver is too much of a "black box" to get at via the API?  Ideally before the phase I simplex takes over but after the presolver, I'd like to dump that column name info.  Will I have to hack into the source to do this?  Any suggestions appreciated.  I can provide more info if it's helpful.

Thanks in advance,
Joey


Earn cashback on your purchases with Live Search - the search that pays you back! Learn More

reply via email to

[Prev in Thread] Current Thread [Next in Thread]