Abstract
Since the elimination algorithm of Fourier and Motzkin, many different methods have been developed for solving linear programs. When analyzing the time complexity of LP algorithms, it is typically either assumed that calculations are performed exactly and bounds are derived on the number of elementary arithmetic operations necessary, or the cost of all arithmetic operations is considered through a bit-complexity analysis. Yet in practice, implementations typically use limited-precision arithmetic. In this paper we introduce the idea of a limited-precision LP oracle and study how such an oracle could be used within a larger framework to compute exact precision solutions to LPs. Under mild assumptions, it is shown that a polynomial number of calls to such an oracle and a polynomial number of bit operations, is sufficient to compute an exact solution to an LP. This work provides a foundation for understanding and analyzing the behavior of the methods that are currently most effective in practice for solving LPs exactly.
Similar content being viewed by others
Notes
Otherwise, as noted in [16], an oracle that guarantees a solution with residual errors bounded by a fixed constant could be queried for solutions of arbitrarily high precision in a single call by first scaling the problem data by a large constant. As we will see, this type of manipulation is not used by our algorithms. Moreover, the requirement in the definition of the oracle that the input data entries are in the bounded set \(\mathbb {F}(p)\) would forbid the input of arbitrarily scaled LPs.
In order to account fairly for small arbitrary deviations in time measurements, an algorithm is considered “fastest” if it solves an instance in no more than 5% of the time taken by the fastest method. Hence, the numbers do not add up to the total of 1202 instances. Furthermore, note that the same picture holds also when excluding easy instances that took less than 2 s by all solvers: SoPlex\(_{\text {fac}}\) wins more than twice as often as QSopt_ex.
On three instances, floating-point SoPlex could not solve the first refinement LP within the time limit. For three further instances, the initial floating-point solve incorrectly claimed unboundedness and for one instance it incorrectly claimed infeasibility; in all of these cases, the incorrect claims were rejected successfully using feasibility and unboundedness tests as described in [16], but after starting to refine the original LP again, floating-point SoPlex failed to return an approximately optimal solution even when trying to run with different floating-point settings.
References
Abbott, J., Mulders, T.: How tight is Hadamard’s bound? Exp. Math. 10(3), 331–336 (2001). http://projecteuclid.org/euclid.em/1069786341
Applegate, D.L., Cook, W., Dash, S., Espinoza, D.G.: QSopt_ex. http://www.dii.uchile.cl/~daespino/ESolver_doc/
Applegate, D.L., Cook, W., Dash, S., Espinoza, D.G.: Exact solutions to linear programming problems. Oper. Res. Lett. 35(6), 693–699 (2007). https://doi.org/10.1016/j.orl.2006.12.010
Azulay, D.O., Pique, J.F.: Optimized \(Q\)-pivot for exact linear solvers. In: Maher, M., Puget, J.F. (eds.) Principles and Practice of Constraint Programming—CP98. Lecture Notes in Computer Science, vol. 1520, pp. 55–71. Springer, Berlin (1998). https://doi.org/10.1007/3-540-49481-2_6
Chen, Z., Storjohann, A.: A BLAS based C library for exact linear algebra on integer matrices. In: Proceedings of the 2005 International Symposium on Symbolic and Algebraic Computation, ISSAC ’05, pp. 92–99 (2005). https://doi.org/10.1145/1073884.1073899
Cheung, D., Cucker, F.: Solving linear programs with finite precision: II. Algorithms. J. Complex. 22(3), 305–335 (2006). https://doi.org/10.1016/j.jco.2005.10.001. http://www.sciencedirect.com/science/article/pii/S0885064X05000956
Computational Optimization Research at Lehigh: MIP Instances. http://coral.ie.lehigh.edu/data-sets/mixed-integer-instances/
Cook, W., Steffy, D.E.: Solving very sparse rational systems of equations. ACM Trans. Math. Softw. 37(4), 1–39 (2011). https://doi.org/10.1145/1916461.1916463
Dhiflaoui, M., Funke, S., Kwappik, C., Mehlhorn, K., Seel, M., Schömer, E., Schulte, R., Weber, D.: Certifying and repairing solutions to large LPs: How good are LP-solvers? In: Proceedings of the 14th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA ’03, SIAM, pp. 255–256 (2003)
Edmonds, J.: Systems of distinct representatives and linear algebra. J. Res. Natl. Bur. Stand. 71B(4), 241–245 (1967)
Edmonds, J., Maurras, J.F.: Note sur les \(Q\)-matrices d’Edmonds. RAIRO. Recherche Opérationnelle 31(2), 203–209 (1997). http://www.numdam.org/item?id=RO_1997__31_2_203_0
Escobedo, A.R., Moreno-Centeno, E.: Roundoff-error-free algorithms for solving linear systems via Cholesky and LU factorizations. INFORMS J. Comput. 27(4), 677–689 (2015). https://doi.org/10.1287/ijoc.2015.0653
Escobedo, A.R., Moreno-Centeno, E.: Roundoff-error-free basis updates of LU factorizations for the efficient validation of optimality certificates. SIAM J. Matrix Anal. Appl. 38(3), 829–853 (2017). https://doi.org/10.1137/16M1089630
Espinoza, D.G.: On linear programming, integer programming and cutting planes. Ph.D. Thesis, Georgia Institute of Technology (2006). http://hdl.handle.net/1853/10482
Gärtner, B.: Exact arithmetic at low cost—a case study in linear programming. Comput. Geom. 13(2), 121–139 (1999). https://doi.org/10.1016/S0925-7721(99)00012-7
Gleixner, A.M., Steffy, D.E., Wolter, K.: Iterative refinement for linear programming. INFORMS J. Comput. 28(3), 449–464 (2016). https://doi.org/10.1287/ijoc.2016.0692
Grötschel, M., Lovász, L., Schrijver, A.: Geometric Algorithms and Combinatorial Optimization, Algorithms and Combinatorics, vol. 2. Springer, Berlin (1988)
Karmarkar, N.: A new polynomial-time algorithm for linear programming. Combinatorica 4(4), 373–395 (1984). https://doi.org/10.1007/BF02579150
Khachiyan, L.G.: Polynomial algorithms in linear programming (in Russian). Zhurnal Vychislitel’noi Matematiki i Matematicheskoi Fiziki 20(1), 51–68 [English translation: USSR Computational Mathematics and Mathematical Physics, 20(1):53–72, 1980] (1980). https://doi.org/10.1016/0041-5553(80)90061-0
Koch, T.: The final NETLIB-LP results. Oper. Res. Lett. 32(2), 138–142 (2004). https://doi.org/10.1016/S0167-6377(03)00094-4
Kwappik, C.: Exact linear programming. Master’s Thesis, Universität des Saarlandes (1998)
Lenstra, A.K., Lenstra, H.W., Lovász, L.: Factoring polynomials with rational coefficients. Math. Ann. 261(4), 515–534 (1982). https://doi.org/10.1007/BF01457454
Mészáros, C.: LP test set. http://www.sztaki.hu/~meszaros/public_ftp/lptestset/
Mittelmann, H.: LP test set. http://plato.asu.edu/ftp/lptestset/
Nguyen, P.Q., Stehlé, D.: An LLL algorithm with quadratic complexity. SIAM J. Comput. 39(3), 874–903 (2009). https://doi.org/10.1137/070705702
Renegar, J.: A polynomial-time algorithm based on Newton’s method, for linear programming. Math. Program. 40(1–3), 59–93 (1988). https://doi.org/10.1007/BF01580724
Schrijver, A.: Theory of Linear and Integer Programming. Wiley, New York (1986)
Steffy, D.E.: Exact solutions to linear systems of equations using output sensitive lifting. ACM Commun. Comput. Algebra 44(3/4), 160–182 (2011). https://doi.org/10.1145/1940475.1940513
University of Tennessee Knoxville and Oak Ridge National Laboratory: Netlib LP Library. http://www.netlib.org/lp/
Wang, X., Pan, V.Y.: Acceleration of euclidean algorithm and rational number reconstruction. SIAM J. Comput. 2(32), 548–556 (2003)
Zuse Institute Berlin: MIPLIB—Mixed Integer Problem Library. http://miplib.zib.de/
Zuse Institute Berlin: SoPlex. Sequential object-oriented simPlex. http://soplex.zib.de/
Acknowledgements
The authors would like to thank the anonymous reviewers for their detailed study of the manuscript and their comments, which were of exceptionally high quality.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
An extended abstract of this work appeared as: Gleixner A., Steffy D.E. (2019) Linear Programming Using Limited-Precision Oracles. In: Lodi A., Nagarajan V. (eds) Integer Programming and Combinatorial Optimization. IPCO 2019. Lecture Notes in Computer Science, vol 11480. Springer, Cham.
Ambros Gleixner was supported by the Research Campus MODAL Mathematical Optimization and Data Analysis Laboratories funded by the German Ministry of Education and Research (BMBF Grant Number 05M14ZAM).
Electronic supplementary material
Below is the link to the electronic supplementary material.
Rights and permissions
About this article
Cite this article
Gleixner, A., Steffy, D.E. Linear programming using limited-precision oracles. Math. Program. 183, 525–554 (2020). https://doi.org/10.1007/s10107-019-01444-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10107-019-01444-6
Keywords
- Linear programming
- Oracle complexity
- Diophantine approximation
- Exact solutions
- Symbolic computation
- rational arithmetic
- Extended-precision arithmetic
- Iterative refinement