Central European Journal of Operations Research

, Volume 25, Issue 4, pp 967–984 | Cite as

Parallel search paths for the simplex algorithm

Original Paper


It is well known that the simplex method is inherently a sequential algorithm with little scope for parallelization. Even so, during the last decades several attempts were made to parallelize it since it is one of the most important algorithms for solving linear optimization problems. Such parallelization ideas mostly rely on iteration parallelism and overlapping. Since the simplex method goes through a series of basic solutions until it finds an optimal solution, each of them must be available before performing the next basis change. This phenomenon imposes a limit on the performance of the parallelized version of the simplex method which uses overlapping iterations. Another approach can be considered if we think about alternative paths on the n-dimensional simplex polyhedron. As the simplex method goes through the edges of this polyhedron it is generally true that the speed of convergence of the algorithm is not smooth. It depends on the actual part of the surface. If a parallel version of the simplex algorithm simultaneously goes on different paths on this surface a highly reliable algorithm can be constructed. There is no known dominating strategy for pivot selection. Therefore, one can try different pivot selection methods in parallel in order to guide the algorithm on different pathways. This approach can be used effectively with periodic synchronization on shared memory multi-core computing environments to speed up the solution algorithm and get around numerically and/or algorithmically difficult situations throughout the computations.


Linear programming Simplex method Parallelization 



This publication/research has been supported by the European Union and Hungary and co-financed by the European Social Fund through the Project TÁMOP-4.2.2.C-11/1/KONV-2012-0004—National Research Center for Development and Market Introduction of Advanced Information and Communication Technologies.


  1. Bieling J, Peschlow P, Martini P (2010) An efficient GPU implementation of the revised simplex method. In: 2010 IEEE international symposium on parallel distributed processing, workshops and PhD Forum (IPDPSW), pp 1–8Google Scholar
  2. Bixby R (2002) Solving real-world linear programs: a decade and more of progress. Oper Res 50(1):3–15CrossRefGoogle Scholar
  3. Bixby R, Martin A (2000) Parallelizing the dual simplex method. INFORMS J Comput 12(1):45–56CrossRefGoogle Scholar
  4. Carolan W, Hill J, Kennington J, Niemi S, Wichmann S (1990) An empirical evaluation of the KORBX algorithms for military airlift applications. Oper Res 38(2):240–248CrossRefGoogle Scholar
  5. Cvetanovic Z, Freedman E, Nofsinger C (1991) Efficient decomposition and performance of parallel PDE, FFT, Monte Carlo simulations, simplex, and Sparse solvers. J Supercomput 5(2–3):219–238CrossRefGoogle Scholar
  6. Dantzig G (1963) Linear programming and extensions. Princeton University Press, PrincetonCrossRefGoogle Scholar
  7. Dantzig G, Orchard-Hays W (1954) The product form for the inverse in the simplex method. Math Tables Other Aids Comput 8(46):64–67CrossRefGoogle Scholar
  8. Eckstein J, Boduroğlu I, Polymenakos L, Goldfarb D (1995) Data-parallel implementations of dense simplex methods on the connection machine CM-2. ORSA J Comput 7(4):402–416CrossRefGoogle Scholar
  9. Gay D (1985) Electronic mail distribution of linear programming test problems. Math Program Soc COAL Newsl 13:10–12Google Scholar
  10. Gill P, Murray W, Saunders M, Wright M (1989) A practical anti-cycling procedure for linearly constrained optimization. Math Program 45(1–3):437–474CrossRefGoogle Scholar
  11. Grama A, Karypia G, Gupta A, Kumar V (2003) Introduction to parallel computing: design and analysis of algorithms. Addison-Wesley, ReadingGoogle Scholar
  12. Hall J (2010) Towards a practical parallelisation of the simplex method. Comput Manag Sci 7(2):139–170CrossRefGoogle Scholar
  13. Hall J, Huangfu Q (2012) A high performance dual revised simplex solver. In: Wyrzykowski R, Dongarra J, Karczewski K, Waśniewski J (eds) Parallel Processing and Applied Mathematics. Lecture Notes in Computer Science, vol 7203. Springer, Berlin, pp 143–151CrossRefGoogle Scholar
  14. Hall J, McKinnon K (1996) PARSMI, a parallel revised simplex algorithm incorporating minor iterations and Devex pricing. In: Waśniewski J, Dongarra J, Madsen K, Olesen D (eds) Applied parallel computing industrial computation and optimization. Lecture notes in computer science, vol 1184. Berlin, Springer, pp 359–368Google Scholar
  15. Hall J, McKinnon K (1998) ASYNPLEX, an asynchronous parallelrevised simplex algorithm. Ann Oper Res 81:27–50CrossRefGoogle Scholar
  16. Hall J, McKinnon K (2005) Hyper-sparsity in the revised simplex method and how to exploit it. Comput Optim Appl 32(3):259–283CrossRefGoogle Scholar
  17. Helgason R, Kennington J, Zaki H (1988) A parallelization of the simplex method. Ann Oper Res 14(1):17–40CrossRefGoogle Scholar
  18. Ho J, Sundarraj R (1994) On the efficacy of distributed simplex algorithms for linear programming. Comput Optim Appl 3(4):349–363CrossRefGoogle Scholar
  19. Huangfu Q, Hall J (2015a) Novel update techniques for the revised simplex method. Comput Optim Appl 60(3):587–608CrossRefGoogle Scholar
  20. Huangfu Q, Hall J (2015b) Parallelizing the dual revised simplex method. Technical report, Cornell UniversityGoogle Scholar
  21. Koberstein A (2005) The dual simplex method, techniques for a fast and stable implementation. PhD thesis, Universität Paderborn, PaderbornGoogle Scholar
  22. Lalami M, Boyer V, El-Baz D (2011) Efficient implementation of the simplex method on a CPU-GPU system. In: Proceedings of the 2011 IEEE international symposium on parallel and distributed processing workshops and PhD Forum, IPDPSW’11, Washington, DC, USA. IEEE Computer Society, pp 1999–2006Google Scholar
  23. Markowitz HM (1957) The elimination form of the inverse and its application to linear programming. Manag Sci 3(3):255–269CrossRefGoogle Scholar
  24. Maros I (2003a) A general pricing scheme for the simplex method. Ann Oper Res 124(1–4):193–203CrossRefGoogle Scholar
  25. Maros I (2003b) Computational techniques of the simplex method. Kluwer Academic Publishers, NorwellCrossRefGoogle Scholar
  26. Maros I, Khaliq M (2002) Advances in design and implementation of optimization software. Eur J Oper Res 140(2):322–337CrossRefGoogle Scholar
  27. Maros I, Mitra G (2000) Investigating the sparse simplex algorithm on a distributed memory multiprocessor. Parallel Comput 26(1):151–170CrossRefGoogle Scholar
  28. Shu W (1995) Parallel Implementation of a sparse simplex algorithm on MIMD distributed memory computers. J Paral Distrib Comput 31(1):25–40CrossRefGoogle Scholar
  29. Stágel B, Tar P, Maros I (2015) The Pannon Optimizer - a linear programming solver for research purposes. In: Proceedings of the 5th international conference on recent achievements in mechatronics, automation, computer science and robotics, vol 1(1), pp 293–301Google Scholar
  30. Tar P, Maros I (2012) Product form of the inverse revisited. In: 3rd student conference on operational research, Ravizza S, Holborn P (eds) OpenAccess Series in Informatics (OASIcs), Dagstuhl, Germany. Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, vol 22, pp 64–74Google Scholar
  31. University of Pannonia (2015) Pannon optimizer. http://sourceforge.net/projects/pannonoptimizer/
  32. Yarmish G (2001) A distributed implementation of the simplex method. PhD thesis, Polytechnic University, Brooklyn, NY, USA. AAI3006399Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2016

Authors and Affiliations

  1. 1.University of PannoniaVeszprémHungary

Personalised recommendations