[Coin-discuss] clp alternate basis / seed

Matthew Saltzman mjs at ces.clemson.edu
Thu Oct 26 17:08:49 EDT 2006


On Thu, 26 Oct 2006 bremner at unb.ca wrote:

>>>>>> "Matthew" == Matthew Saltzman <mjs at ces.clemson.edu> writes:
>    >> John J. Forrest writes:
>    >>
>    >> For degenerate bases you could pass all basic variables to
>    >> primalRanging and pick up which pivots would not move solution.
>    >> You could repeat the process as long as you check you are not
>    >> revisiting previous bases.  On a large problem might take a
>    >> long time.
>
>    Matthew> I have a student starting to work on an OSI-based code
>    Matthew> for this problem.
>
>    Matthew> There's a fair bit of literature on it.  Systematic
>    Matthew> searches are necessary to avoid revisiting vertices.
>    Matthew> Chvatal's LP book describes a depth-first traversal of
>    Matthew> the edge graph of the optimal face.  There's also an
>    Matthew> algorithm based on the representation theorem that builds
>    Matthew> the vertex list and the inequality list in parallel.
>
> Hi all;
>
> There are two pretty robust research codes (cdd by Fukuda and lrs by
> Avis) for enumerating all extreme rays and vertices of a convex
> polyhedron. Lrs will also find you all lex-positive bases
> of each vertex (corresponding to a triangulation of the polar facet).
>
> Both of these work in exact arithmetic (for pivoting based enumeration
> of bases/vertices, I believe experience in extremely degenerate cases
> with floating point was pretty unpromising).  They use gmp, which is
> fast, given that it works in arbitrary precision, but nowhere near as
> fast as hardware floating point.
>
> lrs only computes lexico-positive bases (one can think of
> these as bases of a perturbed system).  If you really want all bases,
> then you will have to implement the kind of basis graph traversal the
> John alludes to. The advantage of lrs over this is that it does not
> store the many bases generated. Another alternative would be to look
> at the old version of lrs, called rs. I believe it used bland's pivot
> rule, and hence (I hope I'm not saying something idiotic here) visited
> all bases.  I don't see it around, but if you ask David Avis he might
> be able to help you.
>
> Cdd, as far as I remember, has really no concept of bases.
>
> http://cgm.cs.mcgill.ca/~avis
> http://www.ifor.math.ethz.ch/~fukuda/cdd_home/cdd.html

Thanks for the information.  I knew of these codes and we are planning to 
build on the techniques in them.  Among other things, we wanted seamless 
integration with other COIN codes.

>
> David
>
>

-- 
 		Matthew Saltzman

Clemson University Math Sciences
mjs AT clemson DOT edu
http://www.math.clemson.edu/~mjs



More information about the Coin-discuss mailing list