A primal-Dual exterior point algorithm for linear programming problems

This paper presents a comparative computational study between the revised primal Simplex algorithm and PDEPSA as well as the built-in IPM algorithm of MATLAB in randomly generated sparse linear problems. All of our computational measurements and the programming of the algorithms were realized into the MATLAB programming environment. As the results show, PDEPSA is clearly superior to the revised Primal Simplex in all densities and sizes. We should also note here that these differences between these two algorithms would be much larger unless scaling techniques were used for the Simplex algorithm, meanwhile PDEPSA is characterized by the same behavior whether scaling is used or not. For the IPM algorithm, we should note that our measurements do not include iteration numbers. This is because such algorithms as the IPM, are known to converge after very few iterations, but with large computation cost for each one. As so, this could not be a reliable criterion to compare the competitive algorithms. Due to this reason, only the total cpu-time needed is used which is a robust criterion. Additionally in the levels of 2.5% and 5% of density, IPM seems to outperform in general PDEPSA, in the rest two levels of 10% and 20% density the IPM method fails to solve all problems terminating

pdf10 trang | Chia sẻ: huongthu9 | Lượt xem: 440 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu A primal-Dual exterior point algorithm for linear programming problems, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Yugoslav Journal of Operations Research Vol 19 (2009), Number 1, 123-132 DOI:10.2298/YUJOR0901123S A PRIMAL-DUAL EXTERIOR POINT ALGORITHM FOR LINEAR PROGRAMMING PROBLEMS Nikolaos SAMARAS Angelo SIFELARAS Charalampos TRIANTAFYLLIDIS Department of Applied Informatics, University of Macedonia Greece, Thessaloniki samaras,sifalera,mai0629@uom.gr Received: December 2007 / Accepted: June 2009 Abstract: The aim of this paper is to present a new simplex type algorithm for the Linear Programming Problem. The Primal - Dual method is a Simplex - type pivoting algorithm that generates two paths in order to converge to the optimal solution. The first path is primal feasible while the second one is dual feasible for the original problem. Specifically, we use a three-phase-implementation. The first two phases construct the required primal and dual feasible solutions, using the Primal Simplex algorithm. Finally, in the third phase the Primal - Dual algorithm is applied. Moreover, a computational study has been carried out, using randomly generated sparse optimal linear problems, to compare its computational efficiency with the Primal Simplex algorithm and also with MATLAB’s Interior Point Method implementation. The algorithm appears to be very promising since it clearly shows its superiority to the Primal Simplex algorithm as well as its robustness over the IPM algorithm. Keywords: Linear optimization, simplex-type algorithms, primal-dual exterior point algorithm, computational study. 1. INTRODUCTION Linear Programming (LP) is perhaps the most important and best-studied optimization problem. A lot of real world problems can be formulated as linear problems [1], [2] and [4]. The simplex algorithm developed by Dantzig, starts with a primal N. Samaras, A. Sifaleras, C. Triantafyllidis / A Primal Dual Exterior Point 124 feasible basis and uses pivot operations in order to preserve the feasibility of the basis and guarantee monotonicity of the objective value. Many pivot rules are known for simplex type algorithms. Much recent research around linear programming algorithms aims to efficiently combine both primal and dual paths thus reducing the duality gap and converging to the optimal solution faster. It is well known that simplex type algorithms behavior can be improved by modifying: (i) the initial solution and (ii) the pivoting rule. A relative new idea is to combine interior point methods and pivoting algorithms for solving linear programming problems [5]. This paper takes advantage of the new primal potential – dual exterior point algorithm [6], [8], [9] and [10], by employing a totally new-in-way constructive implementation. Primal- Dual exterior point algorithm traverses across the interior of the feasible region in an attempt to avoid the combinatorial complexities of vertex-following algorithms. In this paper, we will examine in detail the construction of an initial primal and dual basis, required to initialize the algorithm, along with a computational study to examine its practical effectiveness versus some well known linear programming algorithms. The paper is organized as follows. In Section 2 we have presented a new method for acquiring the pair of primal and dual solutions; both of which need to start with the algorithm. In Section 3 we have described the primal-dual algorithm. In Sections 4 and 5 we have presented the implementation techniques and the computational results and finally, in Section 6 we have given our conclusions. 2. ALGORITHM INITIALIZATION The proposed algorithm is directly applied to the primal problem. However, the first step is to obtain a set of primal and dual solutions for this primal problem. The linear optimization problem, in standard form, is as follows: min subject to 0. Tc x Ax b x = ≥ (LP. 1) , , , mxn n mwhere A c x b∈ ∈ ∈\ \ \ . The corresponding problem to the primal dual one is shown below: max subject to 0. T T b y A y z c z + = ≥ (DP. 1) , mwhere y z∈\ We will use a two-phase-technique to acquire the required set of solutions, and we will apply the algorithm in the third, final phase. The first two phases will use Primal Simplex algorithm in order to solve the modified problems. N. Samaras, A. Sifaleras, C. Triantafyllidis / A Primal Dual Exterior Point 125 2.1 Constructing a primal feasible solution Primal means that this solution refers to the primal problem and not the dual one. Such a requirement is easy to implement using a modified problem with one artificial variable. This problem is capable of providing an initial primal feasible partition by giving priority to the artificial variable to leave the basis. Meanwhile this problem has always an initial feasible algorithm solution applicable by its own unique and strictly constructive format. As so, by applying primal Simplex algorithm to this modified problem, due to the fact that this algorithm constructs finite sequences of feasible basic partitions, this solution will remain feasible after the artificial variable leaves the basis. There is also the case that the artificial variable has not yet left the basis but the problem has already been solved. A careful pivot should then be able to remove the artificial variable. The modified problem of Phase I is constructed following the procedure below: We insert the artificial variable 1nx + to our initial linear problem as an extra column in matrix A which is: Bd A e= − where e is a column vector of ones, having as many rows as matrix A does. The problem which is solved in Phase I is as follows: 1 1 1 min subject to , 0. n n n x Ax dx b x x + + + + = ≥ (LP. 2) A pivot must now be done in order to enter the artificial variable to the basis. The leaving variable is selected by the following minimum ratio test: ( ) ( )min{ : 1, 2,..., }k B r B ix x x i m= = = The new basic partition is: { } { 1} { 1} { } B B k n N N n k ← ∼ ∪ + ← ∼ + ∪ The pivoting column which corresponds to the artificial variable is: 1 1 .( 1)n nh B A − + += The above selections of entering and leaving variables, assures the feasibility of the first partition in order to apply the primal Simplex algorithm to (LP. 2). This procedure provides us the initial feasible point y for PDTPSA. We can also detect infeasibility through the criterion 1 0.nx + > 2.2 Constructing a dual feasible solution The dual feasible solution is also constructed using a similar procedure. Let us now assume that the initial linear problem we aim to solve is the following one: N. Samaras, A. Sifaleras, C. Triantafyllidis / A Primal Dual Exterior Point 126 min subject to , 0. Tc x Ax s b x s + = ≥ (LP. 3) We will now formulate a second modified problem which differs from the original as shown below: min subject to 0 , 0. Tc x Ax s x s + = ≥ (LP. 4) It can be observed that the right hand side is zero. This gives us the ability to apply the Simplex algorithm from the beginning because the initial partition will be feasible: 1 0 0Bx B b −= = ≥ This problem has the same solution type as the original one. If the original is optimal, or unbounded this one is also optimal or unbounded correspondingly. This is because the existence or non-existence of optimal points in functions, is not affected by the existence of constant terms. This problem is also not infeasible because the trivial solution x = 0 always exists. Regardless, we must construct this modified problem only if Phase I has proved that our original problem is not infeasible. In any case (LP. 4) is either optimal or unbounded. If it is optimal, its optimal partition is also dual feasible to (LP. 3) because the right hand side does not participate in the computation of the dual slack variables, and so remains the same for the pair of problems. On the other hand in case the problem is unbounded, then (LP. 3) is unbounded also, because such a system remains so regardless of its right hand side. 3. ALGORITHM DESCRIPTION The algorithm geometrically moves from an exterior dual feasible point towards the interior of the feasible region using either a boundary or an interior starting point. If an interior point is used then the direction drawn crosses the polyhedron at a boundary point. By making then a dual feasible pivot using this point we acquire a new basis and the process continues iteratively until we reach optimality conditions, implying primal feasibility since we use a dual in nature algorithm. A detailed description of the primal- dual exterior point algorithm can be found in [7]. Translating the above geometry into algebra the algorithm takes the following form: Step 0 (initialization): Start with a primal feasible solution y and a dual feasible basic partition (B, N) to problem (LP. 1). Set: 1 1( ) , ( ) ( ) , ( ) ( ) , T T T T TB B B B N N Nx A b w c A s c w A d y x − −= = = − = − N. Samaras, A. Sifaleras, C. Triantafyllidis / A Primal Dual Exterior Point 127 Step 1 (general step): while ( )( {1, 2,..., } : 0)B ii m x∃ ∈ < ( ) ( ) ( ) ( ) ( ) max{ : 0}B r B i B i B r B i x x x d d λ = = <− − 1 . ( ) ( ) ( ) ( ) ( ) 1 1 min{ : 0} ( ), ( ), ( ) , ( ) ( ) , ( ) ( ) , ( ) ( ) rN r N N t N j rN j rN t rN j T T T T T B B B B N N N y x d H B A s s H H H k B r p N t B r p N t k x A b w c A s c w A d y x λ μ − − − = + = = = <− = = = = = = = − = − 4. IMPLEMENTATION ISSUES In this Section, we will briefly discuss some important characteristics of this implementation. Programming a linear optimization algorithm differs much more from its simple pseudo-code description. Linear problems of small sizes can be easily solved without emphasizing the implementation. But this is not feasible for large scale linear programming. One of the main characteristics of the benchmark problems, for example, is that most of them are degenerated. During our implementations we have given priority to the variables having the minimum index value at the basic list [3], excluding phase I, where the artificial variable must leave as soon as possible so we have given priority to the maximum value at this point. In order to increase numerical stability we use the equilibration scaling technique. In this method, all the elements of the coefficient matrix A have values between -1 and 1. One of the common reasons personal computers fail to solve linear problems is the existence of pivoting elements of absolute value being very close to zero. This is usually encountered because of the problem’s size and of the class difference of the numerical values. Linear problems including well-scaled matrices and vectors reduce the computational effort needed to solve them because the numerical accuracy problems are avoided. An algorithm which usually converges after some thousands of iterations is hard to avoid numerical accuracy errors. To handle numerical errors, several tolerances are used. The usual value for these cases is 1.0E-08. This value can vary from 1.0E-10 to 8.0E-05 according to the difficulties each problem shows. One of the most time consuming steps of these algorithms is to compute the inverse of the current basis matrix. If we think that this matrix has usually some thousands of rows and columns it is clear that using determinants is prohibited. Therefore the procedure we followed is as follows: We initially compute the inverse matrix using the built - in function inv of MATLAB. In every other iteration and for a specific number, we make use of the eta-matrices. When we reach this specific arbitrary number we use again inv and the process repeats itself. In order to guarantee the accuracy, N. Samaras, A. Sifaleras, C. Triantafyllidis / A Primal Dual Exterior Point 128 periodically we compute the inverse of the basis from scratch. A good choice is usually to apply inversion every 80 iterations. 5. COMPUTATIONAL STUDY To test the practical effectiveness of our implementations we performed a computational study using randomly generated sparse linear problems. We consider large scale instances where the coefficient matrix A will be large and sparse. It must be mentioned that, sparse linear problems arise in a plethora of applications. We compared the revised Primal Simplex Algorithm (rPSA) with the Primal-Dual Exterior Point Simplex Algorithm (PDEPSA), and the last one with LIPSOL built-in function of MATLAB’s optimization toolbox. This is a variant of Mehrotra’s predictor corrector Interior Point Method (IPM). The algorithms have been coded in MATLAB. Matlab is an interactive environment that provides high performance computational routines. All the test problems were generated with the following properties. All technological constraints are tangent to a unit ball. None of the constraints is redundant. The computing environment had an Intel Core 2 Duo 1,73 GHz and 1 GB DDR2 RAM. The operating system was MS Windows Vista Business 64-bit edition. The reported CPU times were measured in seconds with MATLAB’s built-in function cputime. The figures shown below, are normalized graphs of the results on the ratio of total cpu-time needed and also of the total number of active iterations covered by each algorithm. We used 10 instances at each problem size category starting from 750 to 2,000 with step size equal to 250. The density varies from 5 to 20%. Figure 1: 5% Density, ratios of rPSA over PDEPSA N. Samaras, A. Sifaleras, C. Triantafyllidis / A Primal Dual Exterior Point 129 Figure 2: 10% Density, ratios of rPSA over PDEPSA Figure 3: 15% Density, ratios of rPSA over PDEPSA Figure 4: 20% Density, ratios of rPSA over PDEPSA N. Samaras, A. Sifaleras, C. Triantafyllidis / A Primal Dual Exterior Point 130 IPM /PDEPSA Figure 5: 2.5% Density, ratios of LIPSOL over PDEPSA IPM /PDEPSA Figure 6: 5% Density, ratios of LIPSOL over PDEPSA IPM /PDEPSA RATIOS OF IPM/PDEPSA Figure 7: 10% Density, ratios of LIPSOL over PDEPSA N. Samaras, A. Sifaleras, C. Triantafyllidis / A Primal Dual Exterior Point 131 Figure 8: 20% Density, ratios of LIPSOL over PDEPSA From the figures it is clear that the PDEPSA is far more superior compared to the rPSA for the range of the optimal randomly generated sparse problems. More specifically, the PDEPSA was found to be better in all of our measurements versus Simplex being in the worst case 4,39 times better in terms of cpu - time and 3,66 times better in terms of number of iterations at the size of 750x750, of 2.5% density, and in the best case 14,9 times better in cpu-time and 13,5 times better in number of iterations, at problems of size 2000x2000 and 20% density. This algorithm also showed remarkable stability and robustness versus the IPM algorithm, as densities became larger. That is because for the categories of 10% and 20% density the IPM method failed to solve all problems terminating either saying that the problem is unbounded or infeasible, while PDEPSA did not faced difficulties solving these instances to optimality correctly. 6. CONCLUSION This paper presents a comparative computational study between the revised primal Simplex algorithm and PDEPSA as well as the built-in IPM algorithm of MATLAB in randomly generated sparse linear problems. All of our computational measurements and the programming of the algorithms were realized into the MATLAB programming environment. As the results show, PDEPSA is clearly superior to the revised Primal Simplex in all densities and sizes. We should also note here that these differences between these two algorithms would be much larger unless scaling techniques were used for the Simplex algorithm, meanwhile PDEPSA is characterized by the same behavior whether scaling is used or not. For the IPM algorithm, we should note that our measurements do not include iteration numbers. This is because such algorithms as the IPM, are known to converge after very few iterations, but with large computation cost for each one. As so, this could not be a reliable criterion to compare the competitive algorithms. Due to this reason, only the total cpu-time needed is used which is a robust criterion. Additionally in the levels of 2.5% and 5% of density, IPM seems to outperform in general PDEPSA, in the rest two levels of 10% and 20% density the IPM method fails to solve all problems terminating N. Samaras, A. Sifaleras, C. Triantafyllidis / A Primal Dual Exterior Point 132 either the problem being unbounded or infeasible. This implies great stability for the PDEPSA which does not fail to solve the problems correctly and in most cases faster than the IPM algorithm. REFERENCES [1] Bazaraa, M.S., Jarvis, J.J., and Sherali H.D., Linear Programming and Network Flows, 3rd ed., John Wiley & Sons, 2005. [2] Bertsimas, D., and Tsitsiklis, J.N., Introduction to Linear Optimization, Athena Scientific, 1997. [3] Bland, G.R., “New finite pivoting rules for the Simplex method”, Mathematics of Operations Research, 2 (1977) 103-107. [4] Dantzig, G.B., Linear Programming and Extensions, Princeton, University Press, Princeton, NJ, 1963. [5] Erling, D., Andersen, and Yinyu, Ye, “Combining interior-point and pivoting algorithms for Linear Programming”, Management Science, 42 (12) (1996) 1719-1731. [6] Gondzio, J., “Multiple centrality corrections in a primal-dual method for linear programming”, Computational Optimization and Applications, 6 (2) (1996) 137-156. [7] Paparrizos, K., Samaras, N., and Stephanides, G., “A new efficient primal dual simplex algorithm”, Computers and Operations Research, 30 (2003) 1383-1399. [8] Paparrizos, K., “Pivoting algorithms generating two paths”, presented in ISMP ’97, Lausanne, EPFL Switzerland, 1997. [9] Samaras, N., “Computational improvements and efficient implementation of two path pivoting algorithms”, PhD Thesis, Department of Applied Informatics, University of Macedonia, 2001. [10] Triantafyllidis, Ch., “Comparative computational study on Exterior Point Algorithms”, BSc Thesis, Department of Applied Informatics, University of Macedonia, 2005.

Các file đính kèm theo tài liệu này:

  • pdfa_primal_dual_exterior_point_algorithm_for_linear_programmin.pdf