help-glpk
[Top][All Lists]
Advanced

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

Re: [Help-glpk] Getting more info from presolver


From: Andrew Makhorin
Subject: Re: [Help-glpk] Getting more info from presolver
Date: Sat, 14 Jun 2008 12:27:14 +0400

> I saw a couple of threads on this topic, but I don't think they
> completely answered my question.  I am getting the "PROBLEM HAS NO
> PRIMAL FEASIBLE SOLUTION" from glpsol.  This doesn't surprise me as I
> am currently debugging my input file.   I have a  MathProg model of my
> problem by my data sets are so large, I am trying to produce a CPLEX
> LP format file for input instead to avoid the long model translation
> step.  The reason I mention this is that I know the MathProg model is
> good but my Java code to generate a CPLEX LP format file must not
> correspond to the MathProg model exactly yet.  So this brings me to
> the hope that the glpk presolver could offer more insight about which
> constraints it finds unsatisfiable.  Even if it told me one of them,
> it would be a great clue for my debugging.  If there is a way to do
> this through the API (vs. glpsol), that's fine too.

You may look at the output listing produced by either glpsol (with
-o option) or the api routine lpx_print_sol. If your lp instance has
no primal feasible solution, at the bottom of the listing, where KKT
are printed, you see the lines like follows:

KKT.PB: max.abs.err. = 1.00e+00 on column 26
        max.rel.err. = 5.00e-01 on column 141
        PRIMAL SOLUTION IS INFEASIBLE

Here the row/column number indicates a constraint/variable, which is
"unsatisfiable" in the sense that decreasing its primal infeasibility
leads to increasing primal infeasibility of other constraints/vars.

Note that on running glpsol you need to disable the lp presolver
(--nopresol), because it is unable to recover non-optimal solutions.





reply via email to

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