A Simple Rule to find a Basic Feasible Solution
Rene Grothmann

TL;DR
This paper introduces a straightforward algorithm, similar to Bland's rule, for efficiently finding a basic feasible solution in the initial phase of the Simplex Algorithm.
Contribution
It presents a simple, proven rule to identify a basic feasible solution, enhancing the initial step of the Simplex Method.
Findings
The algorithm reliably finds basic feasible solutions.
It simplifies the initial phase of the Simplex Algorithm.
The method is easy to implement and understand.
Abstract
This short note provides and proves an easy algorithm to find a basic feasible solution for the Simplex Algorithm. The method uses a rule similar to Bland's rule for the initial phase of the algorithm.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsIterative Methods for Nonlinear Equations · Advanced Optimization Algorithms Research
A Simple Rule to find a Basic Feasible Solution
R. Grothmann, Kath. Univ. Eichstätt-Ingolstadt
Abstract
This short note provides and proves an easy algorithm to find a basic feasible solution for the Simplex Algorithm. The method uses a rule similar to Bland’s rule for the initial phase of the algorithm.
Keywords: Simplex Algorithm, Linear Programming
1 Introduction
We want to solve a linear optimization problem in the so-called standard form.
[TABLE]
Here, is a real matrix, , , . We may assume . A basic solution of the system is an connected to a tupel of column indices
[TABLE]
such that the matrix consisting of the columns in of is regular (called a column base), and
[TABLE]
Then clearly .
Such a basic solution can be determined easily with the Gauß-algorithm. If the corresponding solution satisfies then is feasible and the Simplex algorithm can be started to find an optimal feasible solution, or to find that the problem is unbounded.
If is not feasible the standard method of finding a basic feasible solution is to extend the problem (P) to
[TABLE]
Since equalities can be multiplied by we can assume in (P). So (PE) has the basic feasible solution and , and the corresponding column base contains the columns of the .
Moreover, (P) has a feasible point if and only if (PE) has the minimal value [math]. The columns of the optimal basic solution of (PE) can be easily used to find a basic feasible solution (P).
This extension is proposed in many books. Examples are the introductions by Dantzig and Tapa [2], Alevras and Padberg [1], Kosmol [3], and of course the Wikipedia articles about the Simplex algorithm.
However, this extension is not at all necessary, and there is a much easier way to find a basic feasible solution using a rule similar to Bland’s rule (see [2]). The purpose of this paper is to propose such a rule for the initial phase, and to prove that the algorithm succeeds after a finite number of steps.
2 The Algorithm
Starting with a basic solution as above, let us assume that does not hold.
Let us denote the scheme after the Gauß-Algorithm as
[TABLE]
Note . Note that we still assume that is sorted, so that the unit vectors in appear in in the correct order. By the way, the target function does not matter for the initial phase.
We then proceed as follows.
We determine the minimal , such that . 2. 2.
In the -th row of we determine a minimal such that . 3. 3.
We then exchange the column for .
Note that the problem cannot have a feasible point if the second step fails since
[TABLE]
In other words, the Gauß-algorithm transforms the system to the equivalent system . But is not possible if the -th row of is non-negative and , due to the restriction .
We continue the three steps until either , or we see that there is no feasible solution.
Theorem 1
The Algorithm as described above ends after a finite number of steps, with either a feasible basic solution, or a failure of the second step showing that there is no feasible solution.
Proof:
If the algorithm does not terminate we get a cyclic repetition of column bases
[TABLE]
In these tupels there is a maximal column index that is at one point inserted and at another point removed in the cycle. There may be larger columns
[TABLE]
which are in all column bases of the cycle.
Now there is one of the column bases in the cycle where the is going to be inserted in the next step. This can only happen if
[TABLE]
in some row for the scheme corresponding to . The columns of each scheme in the cycle contain the unit vectors , and thus
[TABLE]
We deduce that there is no such that
[TABLE]
and
[TABLE]
which solves our system of equations, no matter what values we assign to the variables .
Then there is another basis in the cycle where the column is going to be removed in the next step. By our rule in step 1, this can only happen if
[TABLE]
where is the right hand side in our scheme corresponding to . The corresponding basic solution now satisfies
[TABLE]
and
[TABLE]
Since the schemes are equivalent this is a contradiction. We conclude that a cycle cannot happen, and thus the algorithm must end.
q.e.d.
It can be shown that we can remove all columns and rows that are never used for a Pivot element during the scheme, so effectively . However, this additional step requires some additional arguments, and we found the proof above easier to understand.
If the algorithm is computed with the Gauß-Algorithmus without sorting the base columns, we have to follow the following rule: Search for a Pivot such that
[TABLE]
in the scheme, and such that it removes a column with minimal column from the base, and adds a column with minimal index. Since the selection of determines the column that will be removed this must be done first. Then can simply be chosen as the minimal index that satisfies .
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] D. Alevras, M. Padberg, Linear Optimization and Extensions: Problems and Solutions , Springer, 2001.
- 2[2] G.B. Dantzig, M.N. Tapa, Linear Programming 1 : Introduction , Springer series in operations research, 1997.
- 3[3] P. Kosmol, Optimierung und Approximation , De Gruyter, 2010.
