aa r X i v : . [ m a t h . O C ] J a n Cycling problems in linear programming
Yaguang Yang ∗ January 13, 2021
Abstract
This paper provides a set of cycling problems in linear programming. Theseproblems should be useful for researchers to develop and test new simplex algo-rithms. As a matter of the fact, this set of problems is used to test a recentlyproposed double pivot simplex algorithm for linear programming.
Keywords: linear programming, degenerate solution, cycling, Dantzig’s rule, steep-est edge rule. ∗ US NRC, Office of Research, 11555 Rockville Pike, Rockville, 20852. Email:[email protected]. Introduction
Since Dantzig formulated linear programming (LP) problem [5] and invented the sim-plex method, LP has been extensively studied for more then seven decades.There are two important classes of methods that have been developed for solving LP.The first one is the simplex method which searches optimizer along edges of the poly-hedra from one vertex to the next vertex. Many different pivot rules, such as Dantzig’smost negative rule [6], the best improvement rule [14], Bland’s least index pivotingrule [3], the steepest edge simplex rule [7], Zadeh’s rule [27], among others [20], havebeen developed. The second class is the interior-point method which searches optimizerfrom interior of the polyhedra along the central path using either line search technique[22] or arc-search technique [24]. When solving LP problems, these two methods facedifferent challenges. For the simplex method, the cycling, due to degeneracy of severalbasic feasible solutions for which the update cycles in a loop and stays away from theoptimal solution, can be a problem. Although the degenerate/cycling case would seem(on mathematical grounds) to be rare, this is not so in practice [8]. As a matter offact, many benchmark problems in Netlib repository have the degeneracy/cycling is-sue. Therefore, several anti-cycling methods were developed. The degeneracy/cycling,however, is not a severe problem for the interior-point method because the latter doesnot search among vertices and its iterates in a carefully designed algorithm do not ap-proach the boundary before they approach to the optimal solution. A challenge forinterior-point method is that many LP problems do not have an interior point, but thiswas resolved by using infeasible interior-point algorithms.An obvious merit of the interior-point method is that many algorithms in this classare polynomial while none of the existing algorithms in simplex method has the prop-erty. However, the computational efficiency of the simplex method has been demon-strated by many years of experience. Moreover, if one finds a polynomial simplex algo-rithm, it will be strongly polynomial [18], a very attractive property that interior-pointalgorithms do not have. To develop and test potentially better simplex algorithms,such as recently proposed double pivot algorithms [21, 24], it is desired to test themon large size benchmark problems in Netlib repository. Since many problems in Netlibrepository have the cycling issue, one may want to start working on small size cyclingLP problems before testing more challenging large size problems in Netlib repository.This motivated us to collect small size cycling LP problems. Cycling is a phenomenon that the iterates move in a cycle from vertex to vertex with-out improvement in objective function and they stay away from the optimal solution.Cycling happens when several conditions are met. First, the problem has degeneratebasic feasible solutions ; the initial basic feasible solution is also a fact to determineif the cycling will happen; moreover, cycling for one pivot rule does not mean that itwill happen for other pivot rules; finally, when entering or leaving variables have a tie, We realize that there exist several systematic methods to create simple cycling LP problems [12, 28],but significant efforts are required and we try to avoid repeating the efforts. Having some degenerate basic feasible solutions is necessary for a linear programming problem tocycle in iterations, but it is not sufficient for cycling to occur.
We divide problems in this group by either using the least index rule or the largestpivot rule to break ties in leaving variables.
Problem 1
The first cycling example was given in [13, 9, 10] by Hoffman as follows : min − . x + 2 x + 4 x + 3 . x + 3 . x + 3 . x + 0 . x s.t. x = 1 x + 0 . x − . x − . x − . x +0 . x + 0 . x + 0 . x + 0 . x = 0 x . x + 0 . x + 1 . x − . x − . x − . x + 0 . x + 0 . x = 0 x j ≥ , j = 1 , . . . , . The optimal solution is x = 1 and x j = 0 ( j = 2 . . . ) with minimization value of . Problem 2
The second cycling example was given in [2] by Beale as follows: min − / x + 150 x − / x + 6 x s.t. / x − x − / x + 9 x + x = 01 / x − x − / x + 3 x + x = 0 x + x = 1 x j ≥ , j = 1 , . . . , . Starting with initial base [ x , x , x ] shows the cycling for Dantzig’s pivot rule. Theoptimal solution is x = 1 / , x = 1 , x = 3 / with minimization value of − / . The original paper [13] was not published. A detailed description of this problem was given in [9].The form presented here was given in [10]. roblem 3 The following linear program problem was given in [4, 10] : min 10 x − x − x − x s.t. . x − . x − . x + 9 x + x = 00 . x − . x − . x + x + x = 0 x + x = 1 x j ≥ , j = 1 , . . . , . In [10], the optimal solution was given as: x = 1 , x = 1 , x = 2 ; and min = 1 . Asa matter of fact, this problem has an unbounded solution given as: x = x = x = 0 , x = 1 , x = . x , and x = (cid:0) . ∗ . − (cid:1) x ; while x → ∞ , the objective goes to −∞ . Problem 4
The following linear program problem was presented in [26]: max x − x + x − x s.t. x + x − x − x + 4 x = 0 x + 4 x − x − x + x = 0 x + x + x + x + x = 1 x j ≥ , j = 1 , . . . , . The optimal solution was given in [10] as: x = 3 , x = 2 , x = 1 ; and max = 1 . Forthis problem, there is another optimal solution which is given as x = , x = , and x = with max = 1 . Problem 5
The following linear program problem was presented in [26]: min − x + x − x + x s.t. x + 2 x − x − x + 6 x = 0 x + 6 x − x − x + 2 x = 03 x + x + 2 x + 4 x + x = 1 x j ≥ , j = 1 , . . . , . The optimal solution is given as: x = 2 . , x = 1 . , x = 0 . ; and min = − . . Problem 6
The following linear program problem was presented in [1]: min − x − x + x + 12 x s.t. x − x − x + x + 9 x = 0 x + 1 / x + x − / x − x = 0 x + 2 x + 3 x − x − x = 2 x j ≥ , j = 1 , . . . , . Starting with initial base [ x , x , x ] shows the cycling for Dantzig’s pivot rule. Theoptimal solution is given as: x = 2 , x = 2 , x = 2 ; and min = − . The following three problems were given in [10] without providing initial points. roblem 7 The following linear program problem was presented in [15]: min − . x − . x + 1 . x s.t. x + 0 . x − . x + 4 . x = 0 x + 0 . x − . x + 0 . x = 0 x + 0 . x − . x + 0 . x = 0 x + x = 1 x j ≥ , j = 1 , . . . , . Starting with initial base [ x , x , x , x ] shows the cycling for Dantzig’s pivot rule.The optimal solution is given as: x = 4 , x = 1 , x = 4 , x = 1 with min = − . Problem 8
The following linear program problem was presented in [19, 10] : min − x − x + 8 x + 2 x s.t. x − x − x + 7 x + 2 x = 0 x + 2 x + x − x − x = 0 x j ≥ , j = 1 , . . . , . The optimal solution is given as: all variables are zeros with min = 0 . Problem 9
The following linear program problem was presented in [17]: min − x + 80 x − x + 24 x s.t. x − x − x + 36 x + x = 0 x − x − x + 6 x + x = 0 x j ≥ , j = 1 , . . . , . The optimal solution is given as: unbounded.
Problem 10
The following linear program problem was presented in [16]: min 3 x − x + 6 x + 4 x s.t. x + x + 1 / x + 1 / x = 29 x + x − x − x − / x + x = 0 x + 1 / x − x − / x − / x + x = 2 x j ≥ , j = 1 , . . . , . The optimal solution is given as: unbounded.
Problem 11
The following linear program problem was presented in [28]: min − x − / x + 50 x + 2 / x s.t. / x + 1 / x + 3 x + 2 x + x = 01 / x + 9 / x − / x + 2 / x + x = 0 x j ≥ , j = 1 , . . . , . Starting with initial base [ x , x ] and breaking the tie by using the first pivot, the problemis cycling for Dantzig’s rule. The optimal solution is given as: all variables are zerowith min = 0 . The following three problems were given in [10] without providing initial points roblem 12 The following linear program problem was presented in [28]: min − x + 25 x − / x + 20 x s.t. x − x − / x + 5 x + x = 07 / x − / x − / x + 19 / x + x = 0 x j ≥ , j = 1 , . . . , . Starting with initial base [ x , x ] and breaking the tie by using the first pivot, the problemis cycling for Dantzig’s rule. The optimal solution is given as: unbounded. Problem 13
The following linear program problem was presented in [28]: min − / x − / x + 5 x + 1 / x s.t. / x − / x + 3 x + 2 x + x = 01 / x + 1 / x + 1 / x + 2 / x + x = 0 x j ≥ , j = 1 , . . . , . Starting with initial base [ x , x ] and breaking the tie by using the first pivot, the problemis cycling for Dantzig’s rule. The optimal solution is given as: all variables are zeros. Problem 14
The following linear program problem was presented in [28]: min − x + 25 x − / x + 20 x s.t. x − x − / x + 5 x + x = 07 / x − / x − / x + 19 / x + x = 0 x + x + x + x + x = 5 x + 2 x + 3 x + x + x = 10 x j ≥ , j = 1 , . . . , . Starting with initial base [ x , x , x , x ] and breaking the tie by using the first pivot, theproblem is cycling for Dantzig’s rule. The optimal solution is given as: x = 10 / , x = 0 , x = 700 / , x = 0 , x = 0 , x = 0 , x = 0 , and x = 0 . Problem 15
The following linear program problem was presented in [28]: min − / x + 1 / x − / x + 3 / x − / x + 3 / x s.t. / x − x − / x − x − x + 65 x + x = 09 / x − x + 3 / x − / x − / x + 1 / x + x = 0 x j ≥ , j = 1 , . . . , . Starting with initial base [ x , x ] and breaking the tie by using the first pivot, the problemis cycling for Dantzig’s rule. The optimal solution is given as: unbounded. Problem 16
The following linear program problem was presented in [28]: min − / x − / x − / x + x / x + 1 / x + 2 / x + 1 / x s.t. / x − x − x − / x − x + 23 / x + 1 / x + 10 x + x = 01 / x + 3 / x + 2 / x − x − x − / x − / x + 1 / x + x = 0 x j ≥ , j = 1 , . . . , . Starting with initial base [ x , x ] and breaking the tie by using the first pivot, theproblem is cycling for Dantzig’s rule. The optimal solution is given as: unbounded. roblem 17 The following linear program problem was presented in [28]: min − x + 25 x − / x + 20 x s.t. x − x − / x + 5 x + x = 07 / x − / x − / x + 19 / x + x = 0 x j ≥ , j = 1 , . . . , . Starting with initial base [ x , x ] and breaking the tie by using the first pivot, the problemis cycling for steepest edge rule. The optimal solution is given as: unbounded. Problem 18
The following linear program problem was presented in [28]: min − / x − / x − / x + 21 / x − / x − / x + 4511 / x s.t. x + 2 x + 6 / x + 13 / x + 1 / x + 7 / x + 1 / x + 3 / x = 0 x + 7 / x + 13 / x + 34 / x + 1 / x + 6 / x + 13 / x + 23 / x = 0 x − x − / x − / x − / x − x − / x + 15 x = 0 x j ≥ , j = 1 , . . . , . Starting with initial base [ x , x , x ] and breaking the tie by using the first pivot, theproblem is cycling for Dantzig’s rule. The optimal solution is given as: all variables arezeros. Problem 19
The following linear program problem was presented in [15]: min − x + 7 x + x + 2 x s.t. x + 0 . x − . x − . x + 9 x = 0 x + 0 . x − . x − . x + x = 0 x j ≥ , j = 1 , . . . , . Starting with initial base [ x , x ] and breaking the tie by using the largest pivot, (asis normal for numerical stability), the problem is cycling for Dantzig’s pivot rule. Theoptimal solution is given as: all variables are zero and min = 0 . Problem 20
The following linear program problem was also presented in [12] whichintroduces two additional constraints to make it a bounded problem: min − . x − . x + 13 . x + 0 . x s.t. . x + 0 . x − . x − . x + x = 0 − . x − . x + 7 . x + 0 . x + x = 0 x + x = 1 x + x = 1 x j ≥ , j = 1 , . . . , . Starting with initial base [ x , x , x , x ] and breaking the tie by using the largest pivot,(as is normal for numerical stability), the problem is cycling for Dantzig’s pivot rule.The optimal solution is given as: x = 1 , x = 1 , x = 3 , x = 8 with min = − . . roblem 21 The following linear program problem was presented in [12]: min − . x − . x + 13 . x + 0 . x s.t. . x + 0 . x − . x − . x + x = 0 − . x − . x + 7 . x + 0 . x + x = 0 x j ≥ , j = 1 , . . . , . Starting with initial base [ x , x ] and breaking the tie by using the largest pivot, (asis normal for numerical stability), the problem is cycling for Dantzig’s pivot rule. Theoptimal solution is given as: unbounded. Problem 22
The following linear program problem was presented in [28]: min − / x − / x − / x + 63 / x s.t. x + 7 / x − / x + 100 x + x = 0 − x − / x − / x + 1 / x + x = 0 x j ≥ , j = 1 , . . . , . Starting with initial base [ x , x ] and breaking the tie by using the largest pivot, (asis normal for numerical stability), the problem is cycling for Dantzig’s pivot rule. Theoptimal solution is given as: unbounded. Problem 23
The following linear program problem was presented in [28]: min − / x + 1 / x − / x + 3 / x + 1 / x + 1 / x s.t. x − x − / x − / x − / x + 3 / x + x = 01 / x − / x + 1 / x − / x − / x + 1 / x + x = 0 x j ≥ , j = 1 , . . . , . Starting with initial base [ x , x ] and breaking the tie by using the largest pivot, (asis normal for numerical stability), the problem is cycling for Dantzig’s pivot rule. Theoptimal solution is given as: unbounded. Problem 24
The following linear program problem was presented in [28]: min − x + 25 x − / x + 3182 / x − / x +4713 / x − / x + 247367 / x s.t. / x − x − x + 12 x − x + 1 / x − x + 50 x x = 02 / x + x + 9 / x − / x − / x − / x − / x + 1 / x + x = 0 x j ≥ , j = 1 , . . . , . Starting with initial base [ x , x ] and breaking the tie by using the largest pivot, (asis normal for numerical stability), the problem is cycling for Dantzig’s pivot rule. Theoptimal solution is given as: unbounded. roblem 25 The following linear program problem was presented in [28]: min − x + 340 x + 71 / x + 107 / x − / x + 1469 / x − / x + 15627 / x s.t. / x − x − / x + 6 / x − / x + 11 / x − / x − / x + x = 09 / x + 28 x + 10 x − x − / x − x − x + 100 x + x = 0 x j ≥ , j = 1 , . . . , . Starting with initial base [ x , x ] and breaking the tie by using the largest pivot, (as isnormal for numerical stability), the optimal problem is cycling for Dantzig’s pivot rule.The solution is given as: unbounded. Problem 26
The following linear program problem was presented in [28]: min − / x − / x − / x + 1 / x − / x − / x + 33 / x s.t. / x − / x + 5 x + 8 / x + 1 / x + 3 / x + 3 / x + x = 012 / x + 2 / x + 2 x − / x + 1 / x + 7 / x − / x + x = 0 − x − / x − x − / x − x − x + 5 x + x = 0 x j ≥ , j = 1 , . . . , . Starting with initial base [ x , x , x ] and breaking the tie by using the largest pivot,(as is normal for numerical stability), the problem is cycling for Dantzig’s pivot rule.The optimal solution is given as: unbounded. The following problems shows cycling behavior for steepest edge rule.
Problem 27
This linear program problem was presented in [12] which introduces twoadditional constraints in Problem 20 to make it a bounded problem: min − . x − . x + 12 . x + 0 . x s.t. . x + 0 . x − . x − . x + x = 0 − . x − . x + 7 . x + 0 . x + x = 0 − x + 156 x + 8 . x + x = 1 x j ≥ , j = 1 , . . . , . Starting with initial base [ x , x , x ] and breaking the tie by using the larger pivot, (asis normal for numerical stability), the problem is cycling for steepest edge rule. Theoptimal solution is given as: unbounded. Problem 28
The following linear program problem was presented in [23] which is ver-ified by the author: min − x + 57 x + 9 x + 24 x s.t. . x − . x − . x + 9 x + x = 00 . x − . x − . x + x + x = 0 x + x + x + x + x = 1 x j ≥ , j = 1 , . . . , . tarting with initial base [ x , x , x ] and breaking the tie by using the first pivot, theproblem is cycling for steepest edge rule. The optimal solution is given as: x = 0 . , x = 0 . , x = 1 with min = − . . Problem 29
This linear program problem was also presented in [28]: min − / x − / x + 11 / x + 133 / x s.t. / x + 1 / x − / x − / x + x = 0 − x − / x + 6 x + 33 / x + x = 01319 / x − x + 2123 / x + 1173 / x + x = 0 x j ≥ , j = 1 , . . . , . Starting with initial base [ x , x , x ] and breaking the tie by using the larger pivot, (asis normal for numerical stability), the problem is cycling for steepest edge rule. Theoptimal solution is given as: unbounded. Problem 30
This linear program problem was also presented in [28]: min 36 x − / x + 20 x + 1 / x − / x − / x s.t. x + 1 / x − x − / x + x + 23 / x + x = 0 − x − / x + 12 x + 1 / x − / x − / x + x = 0165000 x + 2600 x + 9600 x + 125 x − x − x + x = 0 x j ≥ , j = 1 , . . . , . Starting with initial base [ x , x , x ] and breaking the tie by using the larger pivot, (asis normal for numerical stability), the problem is cycling for steepest edge rule. Theoptimal solution is given as: unbounded. Although Bland’s rule can prevent cycling from happening, it is not as efficient asthe Dantzig’s pivot rule [8]. A double pivot simplex algorithm was recently proposed[24] aiming at dealing with degeneracy/cycling problem and improving the efficiency ofDantzig’s pivot rule. This algorithm updates two pivots at a time which is different fromthe traditional simplex algorithms. An important feature of the algorithm is that oneof the pivot takes the longest step among all possible entering variables. This featuremakes it possible to avoid cycling problems. The promising result of the double pivotsimplex algorithm for large size LP problems has been discussed in [24].Because the double pivot algorithm achieves at least the same cost reduction as thelongest step rule, if the longest step rule results in a positive step size, the double pivotrule will also achieve a positive step size in the same iteration. This strategy greatlyincreases the chance of bringing a non-degenerate variable (whose step length is greaterthan zero) into the next basic feasible solution. The test shows that the double pivotalgorithm finds the optimal solutions for all cycling problems provided in this paper.The test result is summarized in the table below. In this table, only basic feasiblesolutions and optimal basic solutions are provided. All non-basic variables are zeros.10 roblem Initial point Iteration Optimal solution Objective function1 [ x , x , x ] = [1 , ,
0] 2 [ x , x , x ] = [1 , ,
0] 02 [ x , x , x ] = [0 , ,
1] 1 [ x , x , x ] = [0 . , , .
03] -0.053 [ x , x , x ] = [0 , ,
1] 1 unbounded −∞ x , x , x ] = [0 , ,
1] 1 [ x , x , x ] = [3 , ,
1] 15 [ x , x , x ] = [0 , ,
1] 1 [ x , x , x ] = [2 . , . , .
5] -0.56 [ x , x , x ] = [0 , ,
2] 6 [ x , x , x ] = [2 , ,
2] -27 [ x , x , x , x ] = [0 , , ,
1] 1 [ x , x , x , x ] = [4 , , ,
1] -28 [ x , x ] = [0 ,
0] 3 [ x , x ] = [0 ,
0] 09 [ x , x ] = [0 ,
0] 1 unbounded −∞
10 [ x , x , x ] = [2 , ,
2] 1 unbounded −∞
11 [ x , x ] = [0 ,
0] 4 [ x , x ] = [0 ,
0] 012 [ x , x ] = [0 ,
0] 1 unbounded −∞
13 [ x , x ] = [0 ,
0] 4 [ x , x ] = [0 ,
0] 014 [ x , x , x , x ] = [0 , , ,
10] 1 [ x , x , x , x ] = [0 . , . , . , . x , x ] = [0 ,
0] 1 unbounded −∞
16 [ x , x ] = [0 ,
0] 2 unbounded −∞
17 [ x , x ] = [0 ,
0] 1 unbounded −∞
18 [ x , x , x ] = [0 , ,
0] 7 [ x , x , x ] = [0 , ,
0] 019 [ x , x ] = [0 ,
0] 4 [ x , x ] = [0 ,
0] 020 [ x , x , x , x ] = [0 , , ,
1] 2 [ x , x , x , x ] = [1 , , ,
8] -3.250021 [ x , x ] = [0 ,
0] 1 unbounded −∞
22 [ x , x ] = [0 ,
0] 1 unbounded −∞
23 [ x , x ] = [0 ,
0] 2 unbounded −∞
24 [ x , x ] = [0 ,
0] 1 unbounded −∞
25 [ x , x ] = [0 ,
0] 1 unbounded −∞
26 [ x , x , x ] = [0 , ,
0] 6 unbounded −∞
27 [ x , x , x ] = [0 , ,
1] 3 unbounded −∞
28 [ x , x , x ] = [0 , ,
1] 5 [ x , x , x ] = [0 . , . , − .
529 [ x , x , x ] = [0 , ,
0] 3 unbounded −∞
30 [ x , x , x ] = [0 , ,
0] 3 unbounded −∞ Table 1: Numerical test for double pivot method
In this paper, we collected a set of cycling problems in linear programming. This setof problems is used to test a double pivot simplex algorithm. The test result indeedshows that the double pivot algorithm prevents the cycling from happening for all theproblems presented in this paper.Declarations of interest: none.
References ∼∼