Abstract

The objective function and the constraints can be formulated as linear functions of independent variables in most of the real-world optimization problems. Linear Programming (LP) is the process of optimizing a linear function subject to a finite number of linear equality and inequality constraints. Solving linear programming problems efficiently has always been a fascinating pursuit for computer scientists and mathematicians. The computational complexity of any linear programming problem depends on the number of constraints and variables of the LP problem. Quite often large-scale LP problems may contain many constraints which are redundant or cause infeasibility on account of inefficient formulation or some errors in data input. The presence of redundant constraints does not alter the optimal solutions(s). Nevertheless, they may consume extra computational effort. Many researchers have proposed different approaches for identifying the redundant constraints in linear programming problems. This paper compares five of such methods and discusses the efficiency of each method by solving various size LP problems and netlib problems. The algorithms of each method are coded by using a computer programming language C. The computational results are presented and analyzed in this paper.

1. Introduction

Many researchers [117] have proposed different algorithms to identify the redundancies and removed them to get a reduced model for linear programming. In 1965, Zionts [17] suggested some improvements upon the implementation of Boot method, but not to the point where it achieved practical value. In addition, a number of other methods were developed that deal with redundancy, among which the geometric vertex enumeration method is the most well known. In geometric vertex enumeration method, the essential characteristic is the establishment of a number of situations in which redundancy can be recognized immediately without further computations.

In 1971, Lisy [12] used the rules given by Ziont to identify all redundant constraints in systems of linear constraints. Gal [7] enlarged this approach by adding rules for situations in which constraints can be identified immediately as being nonredundant. Gal proposed another method to classify constraints as redundant or necessary. They produce results that are unconditionally correct; they perform iterations of an active set linear programming algorithm. Later Caron et al. [6] appended the above methods by adding rules to deal with degeneracy.

Brearly et al. [4] proposed a simple method to identify redundant constraints from a system of linear constraints. This method involves the lower and upper bounds of the variables. Telgan [15] proposed a deterministic method to identify redundant constraints by using minimum ratio criteria as in simplex method. Stojković and Stanimirović [13] proposed a method to identify redundant constraints by applying the maximum and minimum principle. Paulraj et al. [14] proposed a heuristic method to identify redundant constraints by using the intercept matrix of constraints of a linear programming problem. Gutman and Ioslovich [8] described a new approach to preprocess nonnegative large-scale problems so as to reduce the dimensions considerably by defining and removing redundant constraints and variables. This test is applicable to all nonnegative large-scale linear programming problem with group constraints. Group constraints only contain zeros and ones coefficients. Constraints and variables are removed by primal and dual tests. This method is applicable to constraints of knapsack problems.

A brief introduction to the redundant constraints of linear programming problems is presented in Section 2. Section 3 discusses the methods for identifying redundant constraints in linear problems. Section 4 deals with the computational results of the methods, and Section 5 concludes the paper.

2. Redundant Constraints

A redundant constraint is a constraint that can be removed from a system of linear constraints without changing the feasible region.

Consider the following system of nonnegative linear inequality constraints and variables (): where , and .

Let be the th constraint of the system (2.1) and let be the feasible region associated with system (2.1).

Let be the feasible region associated with the system of equations . The th constraint is redundant for the system (2.1) if and only if .

Definition 2.1. Redundant constraints can be classified as weakly and strongly redundant constraints.

Weakly Redundant Constraints
The constraint is weakly redundant if it is redundant and for some .

Strongly Redundant Constraints
The constraint is strongly redundant if it is redundant and for all .

Binding Constraint
Binding constraint is the one which passes through the optimal solution point. It is also called a relevant constraint.

Nonbinding Constraint
Nonbinding constraint is the one which does not pass through the optimal solution point. But it can determine the boundary of the feasible region.

Example 2.2. Consider the following linear inequality constraints:
(1) ,
(2) ,
(3) ,
(4) ,
(5) ,
(6) ,
where .
In Figure 1, the region OABCD is the feasible region and the vertex is the optimal point. The constraints , , and are binding, and are strictly redundant. The 2nd constraint is non-binding. Among the binding constraints, (6) is weakly redundant.

3. Methods for Identification of Redundant Constraints

Many methods are available in the literature to identify the redundant constraints in linear programming problems. In this paper, the following five methods are discussed and compared (1)bounds method [4](2)linear programming method [6](3)deterministic method [15](4)stojković and Stanimirović method [13](5)heuristic method [14].

3.1. Bounds Method

Brearly et al. [4] proposed a simple method for identifying redundant constraints for a Linear Programming Problem (LPP) with bounded variables. This method involves the lower and upper bounds of the variables. The upper and lower bounds of each constraint are computed and compared with the right-hand side of that constraint to decide if it is a redundant constraint or not.

Procedure of the Method.
The general form of an LPP with bounded variables is

Step 1. Compute upper and lower bounds for each constraint by where , and , may be 0, and may be .

Step 2. Test whether . The th constraint is redundant if .

Example 3.1. Consider the following LPP:

Solution 1. Step 1. Define where is the empty set.Step 2. Compute Since all , , there is no redundant constraint found by this method.

3.2. Linear Programming Method

Caron et al. [6] developed an algorithm for identifying redundant constraints. This method will take more computational effort to identify the redundant constraints. To identify the redundant constraints, the left-hand side of each constraint is optimized subject to the remaining constraints. The optimal objective functional value is compared with the right-hand side value of corresponding constraints to decide if it is redundant or not. In this method, the objective function of the original LPP is not considered.

Let denote the given linear programming problem.

Let denote the LP Problem without the th constraint of and let the objective function of LP problem be .

Step 1. Find the optimal objective function value to the problem , , by using the simplex method. Let be the optimal objective function value of problem .

Step 2. Check whether . The th constraint is redundant if .
Otherwise, it is not redundant.

Example 3.2. Consider the Example 3.1 presented in Section 3.1.

Solution 2. By solving the above Example 3.2, we get ,  ,  , and .Step 1. For , consider the problem as follows:
Using the simplex method,the solution of problem is , , , and .the solution of problem is , , , and .the solution of problem is , , , and .the solution of problem is , , , and .
Step 2. Here , and . Therefore, the constraints (1) and (4) are redundant.

3.3. Deterministic Method

Telgan [15] developed an algorithm for identifying redundant constraints and implicit equalities in system of linear constraints using minimum ratio criteria as in the simplex method.

Procedure of the Method
Assume that a basic feasible solution is given, and the corresponding contracted simplex tableau is set up. Let be the entries of this tableau with the right-hand side coefficients, and let and represent the basic and nonbasic variables, respectively. Let be the set of all indices of constraints to be identified as either redundant or nonredundant.
Let be the slack variable corresponding to the th constraint.
Step 1. If the solution is nondegenerate, all correspond to nonredundant inequalities, remove from and continue with Step 3.Step 2. In a degenerate solution check all nonbasic variables with . Check the property for all with . If this holds, then the constraint is not redundant, and remove from .Step 3. Check all basic variables with for the property 0 for all . If this holds, then the constraint is redundant, and remove from .Step 4. Check all basic variables with for the property is attained at a unique for some . If this holds, the constraint is not redundant, and remove from .Step 5. If , then stop. Else, go to Step 6.Step 6. If there is no basic variable with , then introduce a nonbasic variable with (e.g., the one with the smallest index ) into the basis and continue with Step 1.Step 7. Select a basic variable with (e.g., the one with the smallest index ) and perform a feasible pivot step in column with . Continue with Step 1.

Example 3.3. Consider Example 3.1 presented in Section 3.1.Solution 3. Iteration. Contracted simplex table, see Table 1.Step 1. , and are not redundant.Step 4. Now, divide the RHS values by the first column and take the minimum of it , which corresponds to the 2nd row. Therefore, constraint (2) is not redundant. Now, .Step 7. Select and find the maximum , which corresponds to the 1st column. Therefore, pivoting on , we obtain, see what is Table 2.Iteration. Divide the RHS values by the 2nd column and take minimum of it. , which corresponds to the 3rd row. Therefore, constraint (3) is not redundant. Now, .Step 4. Selecting we cannot pivot. So select and the maximum corresponds to the 2nd column. Therefore, pivoting on , we obtain, see what is Table 3. Step 3. In the first and last row, all the coefficients are ≤0.Step 5. . Therefore, Constraints (1) and (4) are redundant.

3.4. Stojković and Stanimirović Method

This method is proposed by Stojković and Stanimirović [13]. It is a simple method. It verifies the existence of the saddle point of payoff matrix for the game problem by applying the maxmin and minmax principles.

Procedure of the Method
Step 1. Compute , and . Step 2. If , then there are no redundant constraints. Stop.
Else, if there exist and such that , for all , then the th constraint is redundant.

Example 3.4. Consider the Example 3.1 presented in Section 3.1.Solution 4. Step 1. Step 2. There must be at least one redundant constraint in the above problem.
Here , , hence the constraint (1) is redundant.

3.5. Heuristic Method

Paulraj et al. [14] proposed a heuristic method to identify redundant constraint by using the intercept matrix of constraints of a linear programming problem.

Procedure of the Method
Step 1. Let be the set of subscripts associated with the initial basic variables (slack variables). Initially let that set be .
Let be the set of subscripts associated with the initial decision variables. Initially let that set be .
Step 2. Construct an intercept matrix “” using the following relationship Step 3. Determine the entering variables making use of the following steps.(i)Calculate for all nonbasic variables .(ii)Let for.(iii)Compute for.Step 4. (i) Let .
(ii) If , then the problem has no redundant constraints and stop.
(iii) Otherwise, take away the element from the set , that is, .
(iv) Let .
(v) Take away the element l from the set , that is, .
(vi) Find such that min for . If so, take away such elements from the set , that is, .
Step 5. If , then go to Step 6. Otherwise, go to Step 4.Step 6. If , then the problem has no redundant constraints and stop. Otherwise, all the constraints whose intercepts on coordinate axis satisfy the condition where and are redundant. Stop.

Example 3.5. Consider the Example 3.1 presented in Section 3.1Solution 5. Step 1. (i) , (ii) .Step 2. [see Table 4].Step 3. [see Table 4]. Step 4. [see Table 5]. Step 5. . Constraints (1) and (4) are redundant constraints.

4. Numerical Results

The comparative results of the five methods are presented in the following tables. Table 6 shows the comparison results of small-scale problems, Table 7 shows the comparison results of medium-scale problems, and Table 8 shows the comparison results of netlib problems [18]. Comparison results of large size problems from OR library [19] are presented in Table 9.

In Figures 2, 3, 4 and 5, the comparative results of small scale problems, medium scale problems, netlib

problems and large size problems are shown graphically. Figure 2 shows that the heuristic and linear programming methods identify more redundant constraints than the other three methods. Figure 3 indicates that the Stojkovic and stanimirovic method identifies no redundant constraints where as deterministic method identifies very low redundant constraints compared with other methods. Figure 4 indicates that the deterministic method identifies nothing; brearly’s, Stojkovic and stanimirovic methods identify very low redundant constraints and the remaining methods more or less coincide. Figure 5 shows that the Stojkovic and stanimirovic method identifies very less redundant constraints where as heuristic method identify more redundant constraints than the others.

The tables deal with the identification of the number of redundant constraints in linear programming problems by using the five methods. It is very easy to identify quickly the best method in finding redundant constraints of LP problems. Heuristic method seems to be less time consuming, and it requires less computational effort. It also finds more redundant constraints when compared with the other four methods. So this method would be easy and reliable method for identifying redundant constraints. Even though the LP method identifies more redundant constraints, it needs more computational work and takes more time. Brearly’s method identifies less redundant constraints with less computational effort than heuristic and LP methods. Deterministic methods identify more redundant constraints with more computational effort. So time consumption is bigger when compared with heuristic method. Stojković and Stanimirović identified a smaller number of redundant constraints than the others.

The efficiency of the algorithms was also tested by solving the first set of Linear Programming Problems mentioned before and after removing the redundant constraints, identified by each method. Table 6 gives the computational results.

5. Conclusions

In this paper, the heuristic approach [14] for identifying redundant constraints has been compared with other four methods. Each method has its own role in viewing computational effort and time factor. Linear programming method [6] and deterministic method [15] more or less coincide with heuristic method in most of the problems. Brearly et al. [4] method depends on the upper and lower bounds of the decision variables for identifying the redundant constraints. Hence, the heuristic method is more useful than the other methods.