Advertisement

Implementation Issues

  • Robert J. Vanderbei
Part of the International Series in Operations Research & Management Science book series (ISOR, volume 196)

Abstract

In the previous chapter, we rewrote the simplex method using matrix notation. This is the first step toward our aim of describing the simplex method as one would implement it as a computer program. In this chapter, we shall continue in this direction by addressing some important implementation issues.

Bibliography

  1. Adler, I., and Berenguer, S. (1981). Random linear programs (Techincal Report 81-4). Operations Research Center Report, U.C. Berkeley.Google Scholar
  2. Adler, I., and Megiddo, N. (1985). A simplex algorithm whose average number of steps is bounded between two quadratic functions of the smaller dimension. Journal of the ACM, 32, 871–895.CrossRefGoogle Scholar
  3. Adler, I., Karmarkar, N., Resende, M., and Veiga, G. (1989). An implementation of Karmarkar’s algorithm for linear programming. Mathematical Programming, 44, 297–335.CrossRefGoogle Scholar
  4. Ahuja, R., Magnanti, T., and Orlin, J. (1993). Network flows: Theory, algorithms, and applications. Englewood Cliffs: Prentice Hall.Google Scholar
  5. Anstreicher, K. (1996). http://www-unix.mcs.anl.gov/otc/InteriorPoint/abstracts/Anstreicher-1.html Potential reduction algorithms (Technical Report). Department of Management Sciences, University of Iowa.
  6. Barnes, E. (1986). A variation on Karmarkar’s algorithm for solving linear programming problems. Mathematical Programming, 36, 174–182.CrossRefGoogle Scholar
  7. Bayer, D., and Lagarias, J. (1989a). The nonlinear geometry of linear programming. I. Affine and projective scaling trajectories. Transactions of the AMS, 314, 499–525.Google Scholar
  8. Bayer, D., and Lagarias, J. (1989b). The nonlinear geometry of linear programming. II. Legendre transform coordinates and central trajectories. Transactions of the AMS, 314, 527–581.Google Scholar
  9. Bazaraa, M., Jarvis, J., and Sherali, H. (1977). Linear programming and network flows (2nd ed.). New York: Wiley.Google Scholar
  10. Bellman, R. (1957). Dynamic programming. Princeton: Princeton University Press.Google Scholar
  11. Bendsøe, M., Ben-Tal, A., and Zowe, J. (1994). Optimization methods for truss geometry and topology design. Structural Optimization, 7, 141–159.CrossRefGoogle Scholar
  12. Bertsekas, D. (1991). Linear network optimization. Cambridge: MIT.Google Scholar
  13. Bertsekas, D. (1995). Nonlinear programming. Belmont: Athena Scientific.Google Scholar
  14. Bland, R. (1977). New finite pivoting rules for the simplex method. Mathematics of Operations Research, 2, 103–107.CrossRefGoogle Scholar
  15. Bloomfield, P., and Steiger, W. (1983). Least absolute deviations: Theory, applications, and algorithms. Boston: Birkhäuser.Google Scholar
  16. Borgwardt, K. -H. (1982). The average number of pivot steps required by the simplex-method is polynomial. Zeitschrift für Operations Research, 26, 157–177.Google Scholar
  17. Borgwardt, K. -H. (1987a). Probabilistic analysis of the simplex method. In Operations research proceedings, 16th DGOR meeting, (pp. 564–576).Google Scholar
  18. Borgwardt, K. -H. (1987b). The simplex method—A probabilistic approach. Berlin/Heidelberg/New York: Springer.CrossRefGoogle Scholar
  19. Bradley, S., Hax, A., and Magnanti, T. (1977). Applied mathematical programming. Reading: Addison Wesley.Google Scholar
  20. Carathéodory, C. (1907). Über den variabilitätsbereich der koeffizienten von potenzreihen, die gegebene werte nicht annehmen. Mathematische Annalen, 64, 95–115.CrossRefGoogle Scholar
  21. Carpenter, T., Lustig, I., Mulvey, J., and Shanno, D. (1993). Higher order predictor-corrector interior point methods with application to quadratic objectives. SIAM Journal on Optimization, 3, 696–725.CrossRefGoogle Scholar
  22. Charnes, A. (1952). Optimality and degeneracy in linear programming. Econometrica, 20, 160–170.CrossRefGoogle Scholar
  23. Christofides, N. (1975). Graph theory: An algorithmic approach. New York: Academic.Google Scholar
  24. Chvátal, V. (1983). Linear programming. New York: Freeman.Google Scholar
  25. Cook, W. (2012). In pursuit of the traveling salesman. Princeton: Princeton University Press.Google Scholar
  26. Dantzig, G. (1951a). Application of the simplex method to a transportation problem. In T. Koopmans (Ed.), Activity analysis of production and allocation (pp. 359–373). New York: Wiley.Google Scholar
  27. Dantzig, G. (1951b). A proof of the equivalence of the programming problem and the game problem. In T. Koopmans (Ed.), Activity analysis of production and allocation (pp. 330–335). New York: Wiley.Google Scholar
  28. Dantzig, G. (1955). Upper bounds, secondary constraints, and block triangularity in linear programming. Econometrica, 23, 174–183.CrossRefGoogle Scholar
  29. Dantzig, G. (1963). Linear programming and extensions. Princeton: Princeton University Press.CrossRefGoogle Scholar
  30. Dantzig, G., and Orchard-Hayes, W. (1954). The product form for the inverse in the simplex method. Mathematical Tables and Other Aids to Computation, 8, 64–67.CrossRefGoogle Scholar
  31. Dantzig, G., Orden, A., and Wolfe, P. (1955). The generalized simplex method for minimizing a linear form under linear inequality constraints. Pacific Journal of Mathematics, 5, 183–195.CrossRefGoogle Scholar
  32. den Hertog, D. (1994). Interior point approach to linear, quadratic, and convex programming. Dordrecht: Kluwer.CrossRefGoogle Scholar
  33. Dijkstra, E. (1959). A note on two problems in connexion with graphs. Numerische Mathematik, 1, 269–271.CrossRefGoogle Scholar
  34. Dikin, I. (1967). Iterative solution of problems of linear and quadratic programming. Soviet Mathematics Doklady, 8, 674–675.Google Scholar
  35. Dikin, I. (1974). On the speed of an iterative process. Upravlyaemye Sistemi, 12, 54–60.Google Scholar
  36. Dodge, Y. (Ed.). (1987). Statistical data analysis based on the L 1 -norm and related methods. Amsterdam: North-Holland.Google Scholar
  37. Dorn, W., Gomory, R., and Greenberg, H. (1964). Automatic design of optimal structures. Journal de Mécanique, 3, 25–52.Google Scholar
  38. Dresher, M. (1961). Games of strategy: Theory and application. Englewood Cliffs: Prentice-Hall.Google Scholar
  39. Duff, I., Erisman, A., and Reid, J. (1986). Direct methods for sparse matrices. Oxford: Oxford University Press.Google Scholar
  40. Elias, P., Feinstein, A., and Shannon, C. (1956). Note on maximum flow through a network. IRE Transactions on Information Theory, 2, 117–119.CrossRefGoogle Scholar
  41. Farkas, J. (1902). Theorie der einfachen Ungleichungen. Journal für die reine und angewandte Mathematik, 124, 1–27.Google Scholar
  42. Fiacco, A., and McCormick, G. (1968). Nonlinear programming: Sequential unconstrained minimization techniques. McLean: Research Analysis Corporation. Republished in 1990 by SIAM, Philadelphia.Google Scholar
  43. Ford, L., and Fulkerson, D. (1956). Maximal flow through a network. Canadian Journal of Mathematics, 8, 399–404.CrossRefGoogle Scholar
  44. Ford, L., and Fulkerson, D. (1958). Constructing maximal dynamic flows from static flows. Operations Research, 6, 419–433.CrossRefGoogle Scholar
  45. Ford, L., and Fulkerson, D. (1962). Flows in networks. Princeton: Princeton University Press.Google Scholar
  46. Forrest, J., and Tomlin, J. (1972). Updating triangular factors of the basis to maintain sparsity in the product form simplex method. Mathematical Programming, 2, 263–278.CrossRefGoogle Scholar
  47. Fourer, R., and Mehrotra, S. (1991). Solving symmetric indefinite systems in an interior point method for linear programming. Mathematical Programming, 62, 15–40.CrossRefGoogle Scholar
  48. Fourer, R., Gay, D., and Kernighan, B. (1993). AMPL: A modeling language for mathematical programming. Belmont: Duxbury Press.Google Scholar
  49. Fulkerson, D., and Dantzig, G. (1955). Computation of maximum flow in networks. Naval Research Logistics Quarterly, 2, 277–283.CrossRefGoogle Scholar
  50. Gal, T. (Ed.). (1993). Degeneracy in optimization problems (Vol. 46/47 of annals of operations research). Basel: J.C. Baltzer.Google Scholar
  51. Gale, D., Kuhn, H., and Tucker, A. (1951). Linear programming and the theory of games. In T. Koopmans (Ed.), Activity analysis of production and allocation (pp. 317–329). New York: Wiley.Google Scholar
  52. Garey, M., and Johnson, D. (1977). Computers and intractability. San Francisco: W.H. Freeman.Google Scholar
  53. Garfinkel, R., and Nemhauser, G. (1972). Integer programming. New York: Wiley.Google Scholar
  54. Gass, S., and Saaty, T. (1955). The computational algorithm for the parametric objective function. Naval Research Logistics Quarterly, 2, 39–45.CrossRefGoogle Scholar
  55. Gay, D. (1985). Electronic mail distribution of linear programming test problems. Mathematical Programming Society COAL Newslettter, 13, 10–12.Google Scholar
  56. Gill, P., Murray, W., and Wright, M. (1991). Numerical linear algebra and optimization (Vol. 1). Redwood City: Addison-Wesley.Google Scholar
  57. Gill, P., Murray, W., Ponceleón, D., and Saunders, M. (1992). Preconditioners for indefinite systems arising in optimization. SIAM Journal on Matrix Analysis and Applications, 13(1), 292–311.CrossRefGoogle Scholar
  58. Goldfarb, D., and Reid, J. (1977). A practicable steepest-edge simplex algorithm. Mathematical Programming, 12, 361–371.CrossRefGoogle Scholar
  59. Golub, G., and VanLoan, C. (1989). Matrix computations (2nd ed.). Baltimore: The Johns Hopkins University Press.Google Scholar
  60. Gonin, R., and Money, A. (1989). Nonlinear L p -norm estimation. New York/Basel: Marcel Dekker.Google Scholar
  61. Gordan, P. (1873). Über die Auflösung linearer Gleichungen mit reelen coefficienten. Mathematische Annalen, 6, 23–28.CrossRefGoogle Scholar
  62. Hall, L., and Vanderbei, R. (1993). Two-thirds is sharp for affine scaling. OR Letters, 13, 197–201.Google Scholar
  63. Harris, P. (1973). Pivot selection methods of the Devex LP code. Mathematical Programming, 5, 1–28.CrossRefGoogle Scholar
  64. Hemp, W. (1973). Optimum structures. Oxford: Clarendon Press.Google Scholar
  65. Hillier, F., and Lieberman, G. (1977). Introduction to mathematical programming (2nd ed.). New York: McGraw-Hill.Google Scholar
  66. Hitchcock, F. (1941). The distribution of a produce from several sources to numerous localities. Journal of Mathematical Physics, 20, 224–230.CrossRefGoogle Scholar
  67. Hoffman, A. (1953). Cycling in the simplex algorithm (Techincal Report 2974). National Bureau of Standards.Google Scholar
  68. Howard, R. (1960). Dynamic programming and Markov processes. New York: Wiley.Google Scholar
  69. Huard, P. (1967). Resolution of mathematical programming with nonlinear constraints by the method of centers. In J. Abadie (Ed.), Nonlinear programming (pp. 209–219). Amsterdam: North-Holland.Google Scholar
  70. Jensen, P., and Barnes, J. (1980). Network flow programming. New York: Wiley.Google Scholar
  71. John, F. (1948). Extremum problems with inequalities as subsidiary conditions. In K. Fredrichs, O. Neugebauer, and J. Stoker (Eds.), Studies and essays: Courant anniversary volume (pp. 187–204). New York: Wiley.Google Scholar
  72. Kantorovich, L. (1960). Mathematical methods in the organization and planning of production. Management Science, 6, 550–559. Original Russian version appeared in 1939.Google Scholar
  73. Karlin, S. (1959). Mathematical methods and theory in games, programming, and economics (Vols. 1 and 2). Reading: Addison-Wesley.Google Scholar
  74. Karmarkar, N. (1984). A new polynomial time algorithm for linear programming. Combinatorica, 4, 373–395.CrossRefGoogle Scholar
  75. Karush, W. (1939). Minima of functions of several variables with inequalities as side conditions (Technical report, M.S. thesis) Department of Mathematics, University of Chicago.Google Scholar
  76. Kennington, J., and Helgason, R. (1980). Algorithms for network programming. New York: Wiley.Google Scholar
  77. Khachian, L. (1979). A polynomial algorithm in linear programming. Doklady Academiia Nauk SSSR, 244, 191–194 (in Russian) (English translation: Soviet Mathematics Doklady, 20, 191–194)Google Scholar
  78. Klee, V., and Minty, G. (1972). How good is the simplex algorithm? In O. Shisha (Ed.), Inequalities–III (pp. 159–175). New York: Academic.Google Scholar
  79. Kojima, M., Mizuno, S., and Yoshise, A. (1989). A primal-dual interior point algorithm for linear programming. In N. Megiddo (Ed.), Progress in mathematical programming (pp. 29–47). New York: Springer.CrossRefGoogle Scholar
  80. Kotzig, A. (1956). Súvislost’ a Pravideliná Súvislots’ Konečných Grafov (Techincal Report). Bratislava: Vysoká Škola Ekonomická.Google Scholar
  81. Kuhn, H. (1950). A simplified two-person poker. Annals of Mathematics Studies, 24, 97–103.Google Scholar
  82. Kuhn, H. (1976). Nonlinear prgramming: A historical view. In R. Cottle and C. Lemke (Eds.), Nonlinear programming, SIAM-AMS proceedings (Vol. 9, pp. 1–26). Providence: American Mathetical Society.Google Scholar
  83. Kuhn, H., and Tucker, A. (1951). Nonlinear prgramming. In J. Neyman (Ed.), Proceedings of the second Berkeley symposium on mathematical statistics and probability (pp. 481–492). Berkeley: University of California Press.Google Scholar
  84. Lawler, E. (1976). Combinatorial optimization: Networks and matroids. New York: Holt, Rinehart and Winston.Google Scholar
  85. Lemke, C. (1954). The dual method of solving the linear programming problem. Naval Research Logistics Quarterly, 1, 36–47.CrossRefGoogle Scholar
  86. Lemke, C. (1965). Bimatrix equilibrium points and mathematical programming. Management Science, 11, 681–689.CrossRefGoogle Scholar
  87. Luenberger, D. (1984). Introduction to linear and nonlinear programming. Reading: Addison-Wesley.Google Scholar
  88. Lustig, I. (1990). Feasibility issues in a primal-dual interior-point method for linear programming. Mathematical Programming, 49(2), 145–162.CrossRefGoogle Scholar
  89. Lustig, I., Marsten, R., and Shanno, D. (1994). Interior point methods for linear programming: Computational state of the art. ORSA Journal on Computing, 6, 1–14.CrossRefGoogle Scholar
  90. Markowitz, H. (1957). The elimination form of the inverse and its application to linear programming. Management Science, 3, 255–269.CrossRefGoogle Scholar
  91. Markowitz, H. (1959). Portfolio selection: Efficient diversification of investments. New York: Wiley.Google Scholar
  92. Marshall, K., and Suurballe, J. (1969). A note on cycling in the simplex method. Naval Research Logistics Quarterly, 16, 121–137.CrossRefGoogle Scholar
  93. Mascarenhas, W. (1997). The affine scaling algorithm fails for λ = 0. 999. SIAM Journal on Optimization, 7, 34–46.Google Scholar
  94. Megiddo, N. (1989). Pathways to the optimal set in linear programming. In N. Megiddo (Ed.), Progress in mathematical programming (pp. 131–158). New York: Springer.CrossRefGoogle Scholar
  95. Mehrotra, S. (1989). Higher order methods and their performance (Techincal Report TR 90-16R1) Department of Industrial Engineering and Management Sciences, Northwestern University, Evanston. Revised July 1991.Google Scholar
  96. Mehrotra, S. (1992). On the implementation of a (primal-dual) interior point method. SIAM Journal on Optimization, 2, 575–601.CrossRefGoogle Scholar
  97. Michell, A. (1904). The limits of economy of material in frame structures. Philosophical Magazine Series, 8, 589–597.CrossRefGoogle Scholar
  98. Mizuno, S., Todd, M., and Ye, Y. (1993). On adaptive-step primal-dual interior-point algorithms for linear programming. Mathematics of Operations Research, 18, 964–981.CrossRefGoogle Scholar
  99. Monteiro, R., and Adler, I. (1989). Interior path following primal-dual algorithms: Part i: Linear programming. Mathematical Programming, 44, 27–41.CrossRefGoogle Scholar
  100. Nash, S., and Sofer, A. (1996). Linear and nonlinear programming. New York: McGraw-Hill.Google Scholar
  101. Nazareth, J. (1986). Homotopy techniques in linear programming. Algorithmica, 1, 529–535.CrossRefGoogle Scholar
  102. Nazareth, J. (1987). Computer solutions of linear programs. Oxford: Oxford University Press.Google Scholar
  103. Nazareth, J. (1996). The implementation of linear programming algorithms based on homotopies. Algorithmica, 15, 332–350.CrossRefGoogle Scholar
  104. Nemhauser, G., and Wolsey, L. (1988). Integer and combinatorial optimization. New York: Wiley.CrossRefGoogle Scholar
  105. Nesterov, Y., and Nemirovsky, A. (1993). Interior point polynomial methods in convex programming: Theory and algorithms. Philadelphia: SIAM.Google Scholar
  106. Recski, A. (1989). Matroid theory and its applications in electric network theory and in statics. Berlin/Heidelberg/New York: Springer.CrossRefGoogle Scholar
  107. Reid, J. (1982). A sparsity-exploiting variant of the Bartels-Golub decomposition for linear programming bases. Mathematical Programming, 24, 55–69.CrossRefGoogle Scholar
  108. Rockafellar, R. (1970). Convex analysis. Princeton: Princeton University Press.CrossRefGoogle Scholar
  109. Rozvany, G. (1989). Structural design via optimality criteria. Dordrecht: Kluwer.CrossRefGoogle Scholar
  110. Ruszczyński, A., and Vanderbei, R. (2003). http://www.princeton.edu/~rvdb/tex/lpport/lpport8.pdf Frontiers of stochastically nondominated portfolios. Econometrica, 71(4), 1287–1297.
  111. Saigal, R. (1995). Linear programming. Boston: Kluwer.CrossRefGoogle Scholar
  112. Saunders, M. (1973). The complexity of LU updating in the simplex method. In R. Andersen and R. Brent (Eds.), The complexity of computational problem solving (pp. 214–230). St. Lucia: University of Queensland Press.Google Scholar
  113. Smale, S. (1983). On the average number of steps of the simplex method of linear programming. Mathematical Programming, 27, 241–262.CrossRefGoogle Scholar
  114. Stiemke, E. (1915). Über positive Lösungen homogener linearer Gleichungen. Mathematische Annalen, 76, 340–342.CrossRefGoogle Scholar
  115. Todd, M. (1986). Polynomial expected behavior of a pivoting algorithm for linear complementarity and linear programming. Mathematical Programming, 35, 173–192.CrossRefGoogle Scholar
  116. Todd, M. (1995). http://www-unix.mcs.anl.gov/otc/InteriorPoint/abstracts/Todd.html Potential-reduction methods in mathematical programming (Techincal Report 1112). SORIE, Cornell University, Ithaca.
  117. Tsuchiya, T., and Muramatsu, M. (1992). Global convergence of a long-step affine scaling algorithm for degenerate linear programming problems. SIAM Journal on Optimization, 5(3), 525–551.CrossRefGoogle Scholar
  118. Tucker, A. (1956). Dual systems of homogeneous linear equations. Annals of Mathematics Studies, 38, 3–18.Google Scholar
  119. Turner, K. (1991). Computing projections for the Karmarkar algorithm. Linear Algebra and Its Applications, 152, 141–154.CrossRefGoogle Scholar
  120. Vanderbei, R. (1989). Affine scaling for linear programs with free variables. Mathematical Programming, 43, 31–44.CrossRefGoogle Scholar
  121. Vanderbei, R. (1994). Interior-point methods: Algorithms and formulations. ORSA Journal on Computing, 6, 32–34.CrossRefGoogle Scholar
  122. Vanderbei, R. (1995). Symmetric quasi-definite matrices. SIAM Journal on Optimization, 5(1), 100–113.CrossRefGoogle Scholar
  123. Vanderbei, R. (1999). LOQO: An interior point code for quadratic programming. Optimization Methods and Software, 12, 451–484.CrossRefGoogle Scholar
  124. Vanderbei, R., and Carpenter, T. (1993). Symmetric indefinite systems for interior-point methods. Mathematical Programming, 58, 1–32.CrossRefGoogle Scholar
  125. Vanderbei, R., and Shanno, D. (1999). http://www.sor.princeton.edu/~rvdb/ps/nonlin.pdfAn interior-point algorithm for nonconvex nonlinear programming. Computational Optimization and Applications, 13, 231–252.
  126. Vanderbei, R., Meketon, M., and Freedman, B. (1986). A modification of Karmarkar’s linear programming algorithm. Algorithmica, 1, 395–407.CrossRefGoogle Scholar
  127. Ville, J. (1938). Sur la théorie général des jeux ou intervient l’habileté des jouers. In E. Borel (Ed.), Traité du Calcul des probabilités et des ses applications. Paris: Gauthiers-Villars.Google Scholar
  128. von Neumann, J. (1928). Zur Theorie der Gesselschaftschpiele. Mathematische Annalen, 100, 295–320.CrossRefGoogle Scholar
  129. von Neumann, J., and Morgenstern, O. (1947). Theory of games and economic behavior (2nd ed.). Princeton: Princeton University Press.Google Scholar
  130. Wright, S. (1996). Primal-dual interior-point methods. Philadelphia: SIAM.Google Scholar
  131. Xu, X., Hung, P., and Ye, Y. (1993). A simplified homogeneous and self-dual linear programming algorithm and its implementation (Techincal Report). College of Business Administration, University of Iowa. To appear in Annals of Operations Research.Google Scholar
  132. Ye, Y., Todd, M., and Mizuno, S. (1994). An \(o(\sqrt{n}l)\)-iteration homogeneous and self-dual linear programming algorithm. Mathematics of Operations Research, 19, 53–67.CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2014

Authors and Affiliations

  • Robert J. Vanderbei
    • 1
  1. 1.Department of Operations Research and Financial EngineeringPrinceton UniversityPrincetonUSA

Personalised recommendations