help-glpk
[Top][All Lists]
Advanced

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

[Help-glpk] non-negativity and structural vars


From: Robbie Morrison
Subject: [Help-glpk] non-negativity and structural vars
Date: Thu, 22 May 2008 20:52:13 +0200
User-agent: Thunderbird 1.5.0.14ubu (X11/20080306)

Hello everyone

This relates to GLPK 4.25 (I did not want to upgrade
past 4.25 while the database functionality was being
resolved, for the record 4.28 is current).

I have been trying to find out how deep the
non-negativity condition on structural variables is.

So I took the tutorial problem from the manual -- a
maximization exercise -- and ran it:

    *     0:   objval =   0.000000000e+00   infeas =   0.000000000e+00 (0)
    *     2:   objval =   7.333333333e+02   infeas =   0.000000000e+00 (0)
    OPTIMAL SOLUTION FOUND

    Z = 733.333; x1 = 33.3333; x2 = 66.6667; x3 = 0

So far so good!  I then commented out statements s13,
s16, s19 which prevent the x's from being negative
definite (meaning zero is okay).  And reran the
problem:

    !     0:   objval =   0.000000000e+00   infeas =   0.000000000e+00
    OPTIMAL SOLUTION FOUND

    Z = 0; x1 = 0; x2 = 0; x3 = 0

Oops!  Given that the three removed statements are
mathematically redundant in this case, this result
looks puzzling.

Commenting out just one of the three statements gave
different results in some cases but never a negative
definite x.  For instance, disabling s16 for x2
yielded:

    *     0:   objval =   0.000000000e+00   infeas =   0.000000000e+00 (0)
    *     1:   objval =   6.000000000e+02   infeas =   0.000000000e+00 (0)
    OPTIMAL SOLUTION FOUND

    Z = 600; x1 = 60; x2 = 0; x3 = 0

Changing the three statements in question from 'GLP_LO'
to 'GLP_FR' (free) resulted in this:

    *     0:   objval =   0.000000000e+00   infeas =   0.000000000e+00 (0)
    *     2:   objval =   7.333333333e+02   infeas =   0.000000000e+00 (0)
    PROBLEM HAS UNBOUNDED SOLUTION

    Z = 733.333; x1 = 33.3333; x2 = 66.6667; x3 = 0

The solver call returned zero in all cases.  Note that
the column one '!' in the second case is not documented
(at least not on page 44).

In addition, the manual does not indicate what the
default on unspecified col bounds is (or at least I
could not find it).

Does this mean that the non-negativity conditions are
required by the solver but not necessarily by the
problem statement?  Or am I missing something
important?

Ultimately I would like to know if I need to continue
to make non-negativity a mandatory condition in my
application program or not -- thus far it would seem
so.

many thanks in advance and with best wishes
Robbie Morrison
PhD student -- policy-oriented energy system simulation
Institute for Energy Engineering (IET)
Technical University of Berlin (TU-Berlin), Germany
University email (redirected) : address@hidden
Webmail (preferred)           : address@hidden
[from IMAP client]





reply via email to

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