[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Help-glpk] Objective value returns even though dual infeasibility i
From: |
Andrew Makhorin |
Subject: |
Re: [Help-glpk] Objective value returns even though dual infeasibility is reported |
Date: |
Fri, 21 Aug 2009 01:01:07 +0400 |
> I'm using Flux Variability Analysis to understand how a metabolic
> network may change under different conditions. I'm using glpk, and
> for all of the reactions, I am able to get an objective value. For
> some of the reactions, glpk reports that the primal solution is
> unbounded because the dual solution is infeasible. However, the very
> same program still prints out an objective value, and not necessarily
> zero, or infinity. Furthermore, the objective value is reasonable.
> Firstly, I do not understand how LP can calculate an objective value
> if it can prove that the primal solution is unbounded.
On normal exit from the glpk simplex solver (i.e. if it returns 0)
the objective value always corresponds to the final basic solution.
If glp_get_status reports unboundedness, the final solution corresponds
to a vertex of the polyhedron, at which an unbounded ray was detected;
in other word, next simplex step would lead to infinite moving along that
ray.
> Secondly, I
> would like to know, since the metabolic network is a published
> standard, how I can tackle the dual infeasibilities without making any
> changes to the network. Is it possible to use the objective values
> despite the dual infeasibilities, and whether I can or cannot, what
> should I say to an audience of bioengineers about these dual
> infeasibilities?
As a rule unboundedness means that some essential constraints are
missing in the model. If you are using glpsol, you can specify the
option '-o filename' to write the solution to a text file and then
find the variable causing unboundedness (it will be printed on the
bottom of the sheet).