help-glpk
[Top][All Lists]
Advanced

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

[Help-glpk] basis invalid after lpx_del_cols


From: Brady Hunsaker
Subject: [Help-glpk] basis invalid after lpx_del_cols
Date: Sat, 11 Mar 2006 23:42:35 -0500
User-agent: Debian Thunderbird 1.0.7 (X11/20051017)

Some unexpected behavior came up when using the COIN-OR OSI interface to
GLPK.

After a call to lpx_del_cols that removes one column (evidently a basic
one), the code calls lpx_simplex to optimize the changed problem.
However, this call fails with a "basis is invalid" error.

I have traced through the code, so I think I have a sense of what's
happening, which I've listed below.  I'm not sure how this should be
handled.  Andrew (or anyone), what is your advice?  How can we call
lpx_simplex after a call to lpx_del_cols?

Brady


How I think the code works:
- when columns are added, they are by default made nonbasic
- when rows are added, they are by default made basic
- the basis can be changed with a call to lpx_adv_basis or a prior call
to lpx_simplex
- when lpx_simplex is called, it calls spx_simplex, which eventually
calls spx_warm_up
- spx_warm_up will cause the program to fail if the basis is the wrong
size or not invertible
- although I haven't tested them, there seem to be a number of ways the
basis could become invalid:
  + lpx_del_cols removes a basic column
  + lpx_del_rows removes a nonbasic row
  + lpx_add_rows adds a row that is linearly dependent on the current basis




reply via email to

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