On the change of objective function values between Simplex-Iterations

linear programmingoptimizationsimplex

Background (skippable):
I asked this question in a lecture quite some time ago and the lecturer couldn't really answer it. This question bothered me since then, since I couldn't be able to answer it.


Given an arbitrary linear program in standard form

$\text{maximize }c^T \cdot x \\
\text{subject to }Ax \leq b, \forall i:x_i \geq 0.$

Let the Simplex-Algorithm be applied to it and let $x^0$ denote objective function value for the first basis.
My question then is:

Does every additional iteration, which means a variable enters and another leaves the basis, yield an improvement on the last? That is, if the Simplex
algorithm didn't terminate yet. So formally, if the algorithm does $n$ iterations, is it always true that $x^{k+1} > x^{k} \ \forall k \in \{0,1,…,n-1\}$?

If so, why does this hold?

If not, does there exist a rule on the choice of the new pivot element that guarantees the objective function value to always increase? If so, what rule guarantees that? If not, why does there not exist such a rule?

Best Answer

No, this need not be true. In case of degeneracy, you will change the basis but not improve the objective value. Geometrically this means that you are in a vertex of the polyhedron describing the feasible set and the change of basis does not lead you to a new vertex. Hence, you are stuck in the same vertex for one (or possibly more) iterations and you do not improve the objective value. Degeneracy occurs when there are redundant constraints in the problem.

Related Question