Efficient GPU-based implementations of simplex type algorithms

Recent hardware advances have made it possible to solve large scale Linear Programming problems in a short amount of time. Graphical Processing Units (GPUs) have gained a lot of popularity and have been applied to linear programming algorithms. In this paper, we propose two efficient GPU-based implementations of the Revised Simplex Algorithm and a Primal–Dual Exterior Point Simplex Algorithm. Both parallel algorithms have been implemented in MATLAB using MATLAB’s Parallel Computing Toolbox. Computational results on randomly generated optimal sparse and dense linear programming problems and on a set of benchmark problems (netlib, kennington, Meszaros) are also presented. The results show that the proposed GPU implementations outperform MATLAB’s interior point method.

[1]  James K. Ho,et al.  On the efficacy of distributed simplex algorithms for linear programming , 1994, Comput. Optim. Appl..

[2]  Mongi Benhamadou,et al.  On the simplex algorithm 'revised form' , 2002 .

[3]  Didier El Baz,et al.  Multi GPU Implementation of the Simplex Algorithm , 2011, 2011 IEEE International Conference on High Performance Computing and Communications.

[4]  K. I. M. McKinnon,et al.  ASYNPLEX, an asynchronous parallelrevised simplex algorithm , 1998, Ann. Oper. Res..

[5]  Darius Burschka,et al.  Efficient occupancy grid computation on the GPU with lidar and radar for road boundary detection , 2010, 2010 IEEE Intelligent Vehicles Symposium.

[6]  István Maros,et al.  Advances in design and implementation of optimization software , 2002, Eur. J. Oper. Res..

[7]  George B. Dantzig,et al.  Linear programming and extensions , 1965 .

[8]  Yin Zhang,et al.  Solving large-scale linear programs by interior-point methods under the Matlab ∗ Environment † , 1998 .

[9]  J. Xu OpenCL – The Open Standard for Parallel Programming of Heterogeneous Systems , 2009 .

[10]  John Bagterp Jørgensen,et al.  MPC Toolbox with GPU Accelerated Optimization Algorithms , 2012 .

[11]  Anne C. Elster,et al.  Linear optimization on modern GPUs , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[12]  Zarka Cvetanovic,et al.  Efficient decomposition and performance of parallel PDE, FFT, Monte Carlo simulations, simplex, and Sparse solvers , 2004, The Journal of Supercomputing.

[13]  Peter Martini,et al.  An efficient GPU implementation of the revised simplex method , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum (IPDPSW).

[14]  W. Shu Parallel Implementation of a Sparse Simplex Algorithm on MIMD Distributed Memory Computers , 1995, J. Parallel Distributed Comput..

[15]  Xipeng Shen,et al.  Streamlining GPU applications on the fly: thread divergence elimination through runtime thread-data remapping , 2010, ICS '10.

[16]  Nikolaos Ploskas,et al.  A Parallel Implementation of the Revised Simplex Algorithm Using OpenMP: Some Preliminary Results , 2013 .

[17]  J. A. Julian Hall,et al.  Towards a practical parallelisation of the simplex method , 2010, Comput. Manag. Sci..

[18]  Jyh-Charn Liu,et al.  An efficient steepest-edge simplex algorithm for SIMD computers , 1996, ICS '96.

[19]  Nikolaos Ploskas,et al.  A computational comparison of scaling techniques for linear optimization problems on a graphical processing unit , 2015, Int. J. Comput. Math..

[20]  Jacek Gondzio,et al.  GPU Acceleration of the Matrix-Free Interior Point Method , 2011, PPAM.

[21]  Nikolaos Ploskas,et al.  GPU accelerated pivoting rules for the simplex algorithm , 2014, J. Syst. Softw..

[22]  Donald Goldfarb,et al.  Data-Parallel Implementations of Dense Simplex Methods on the Connection Machine CM-2 , 1995, INFORMS J. Comput..

[23]  Angelo Sifaleras,et al.  Some Computational Results on MPI Parallel Implementation of Dense Simplex Method , 2008 .

[24]  Donald Goldfarb,et al.  A practicable steepest-edge simplex algorithm , 1977, Math. Program..

[25]  G. Dantzig,et al.  THE PRODUCT FORM FOR THE INVERSE IN THE SIMPLEX METHOD , 1954 .

[26]  Nikolaos Ploskas,et al.  The impact of scaling on simplex type algorithms , 2013, BCI '13.

[27]  C. B. Stunkel,et al.  Hypercube implementation of the simplex algorithm , 1989, C3P.

[28]  Karl-Heinz Borgwardt,et al.  The Average number of pivot steps required by the Simplex-Method is polynomial , 1982, Z. Oper. Research.

[29]  Gavriel Yarmish,et al.  A distributed, scaleable simplex method , 2008, The Journal of Supercomputing.

[30]  Konstantinos Paparrizos,et al.  An efficient simplex type algorithm for sparse and dense linear programs , 2003, Eur. J. Oper. Res..

[31]  Didier El Baz,et al.  Efficient Implementation of the Simplex Method on a CPU-GPU System , 2011, 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum.

[32]  K. I. M. McKinnon,et al.  PARSMI, a Parallel Revised Simplex Algorithm Incorporating Minor Iterations and Devex Pricing , 1996, PARA.

[33]  J. A. Tomlin,et al.  On scaling linear programming problems , 1975 .

[34]  Alexander Martin,et al.  Parallelizing the Dual Simplex Method , 2000, INFORMS J. Comput..

[35]  V. Klee,et al.  HOW GOOD IS THE SIMPLEX ALGORITHM , 1970 .

[36]  Nikolaos Ploskas,et al.  A Computational Comparison of Basis Updating Schemes for the Simplex Algorithm on a CPU-GPU System , 2013 .

[37]  Dianne P. O'Leary,et al.  IMPLEMENTING AN INTERIOR POINT METHOD FOR LINEAR PROGRAMS ON A CPU-GPU SYSTEM , 2010 .

[38]  Jason Papathanasiou,et al.  A Web-Based Decision Support System Using Basis Update on Simplex Type Algorithms , 2012, EWG-DSS.

[39]  Konstantinos Paparrizos,et al.  An infeasible (exterior point) simplex algorithm for assignment problems , 1991, Math. Program..

[40]  Konstantinos Paparrizos,et al.  A new efficient primal dual simplex algorithm , 2003, Comput. Oper. Res..

[41]  Xiangpei Hu,et al.  A GPU-Based Parallel Algorithm for Large Scale Linear Programming Problem , 2011 .