help-glpk
[Top][All Lists]
Advanced

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

Re: [Help-glpk] Simplex vertex neighborhood


From: sgerber
Subject: Re: [Help-glpk] Simplex vertex neighborhood
Date: Mon, 19 Aug 2013 10:28:59 -0400
User-agent: Roundcube Webmail/0.8.2

Thanks for all the helpful answers. One more clarifying question.
You mentioned:
It checks all extreme rays of a cone that includes the feasible region.
The number of rays is the dimension of the problem.

The cone you described is the intersection of the half spaces of the active constraints. Does this mean that in your example one would have to potentially check an exponential number of rays? This is not what the simplex algorithm does, right? The simplex algorithm only checks adjacent bases (at most m*n), what do these geometrically correspond to? Just a subset of all neighboring vertices?

Thank you for your patience. Just learning my way around polytopes...

Sam


On 2013-08-17 00:36, Michael Hennebry wrote:
On Fri, 16 Aug 2013, sgerber wrote:

On 2013-08-16 11:48, Michael Hennebry wrote:
On Thu, 15 Aug 2013, sgerber wrote:

Is it possible to enumerate the neighboring feasible solutions of the solution of an lp? I assume that in order to decide if the simplex algorithm can stop it is necessary to check all neighboring feasible solutions. Is this right? And if so is there a way of enumerating the neighborhood of feasible solutions around the optimal one?
The simplex algorithm does not check all neighboring vertices.
It checks all extreme rays of a cone that includes the feasible region.
The number of rays is the dimension of the problem.
Allowing for degeneracy, the number of adjacent vertices
can be much larger than the dimension of the problem.

Thank you for your answer.
There is no degeneracies in my problems. I assume the cone you are describing is the intersection of the half spaces of the active constraints.

Correct.

In that case, you will have one neighbor per active constraint.
You need to persuade GLPK to perform one simplex pivot per
tight constraint, starting from the source vertex each time.
From the source vertex, adjust the objective function so
that the desired variable has the only positive reduced cost.
Tell GLPK that at most one more pivot is allowed.
Tell GLPK to use the simplex method.

I am dubious about the usefulness of doing so.

Also how does degeneracy increase the number of neighbors? Note,I ask for the neighbors of a single optimal solution, i.e. a single vertex, not the neighbors of all vertices with optimal solution.

Consider the regular solids.
Each vertex of the simplex, the cube and
the dodecahedron has three neighbors,
but the vertices of the octahedron and the
icosahedron have four and five, respectively.

Note that in n-space only 2n constraints are required
to define an n-cube which has 2**n vertices.
In n-space, only 2n-1 constraints are neessary to define
a region that has a vertex with 2**(n-1) neighbors.

-x[n] <= x[j] <= x[n]  for j in 1..n-1
x[n]<=1

The origin is a vertex with 2**(n-1) neighbors.

'Tis my understanding that the situation is actually worse.



reply via email to

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