Karmarkar's algorithm
{{Short description|Linear programming algorithm}}
{{CS1 config|mode=cs1}}
Karmarkar's algorithm is an algorithm introduced by Narendra Karmarkar in 1984 for solving linear programming problems. It was the first reasonably efficient algorithm that solves these problems in polynomial time. The ellipsoid method is also polynomial time but proved to be inefficient in practice.
Denoting by the number of variables, m the number of inequality constraints, and the number of bits of input to the algorithm, Karmarkar's algorithm requires operations on -digit numbers, as compared to such operations for the ellipsoid algorithm.{{Cite book |last=Arkadi Nemirovsky |url=https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=8c3cb6395a35cb504019f87f447d65cb6cf1cdf0 |title=Interior point polynomial-time methods in convex programming |year=2004}} In "square" problems, when m is in O(n), Karmarkar's algorithm requires operations on -digit numbers, as compared to such operations for the ellipsoid algorithm. The runtime of Karmarkar's algorithm is thus
:
using FFT-based multiplication (see Big O notation).
Karmarkar's algorithm falls within the class of interior-point methods: the current guess for the solution does not follow the boundary of the feasible set as in the simplex method, but moves through the interior of the feasible region, improving the approximation of the optimal solution by a definite fraction with every iteration and converging to an optimal solution with rational data.{{cite journal |last=Strang |first=Gilbert |author-link=Gilbert Strang |title=Karmarkar's algorithm and its place in applied mathematics |journal=The Mathematical Intelligencer |date=1 June 1987 |issn=0343-6993 |pages=4–10 |volume=9 |number=2 |doi=10.1007/BF03025891 |mr=883185 |s2cid=123541868}}
The algorithm
Consider a linear programming problem in matrix form:
colspan="2" | maximize {{math|cTx}} |
subject to
| {{math|Ax ≤ b}}. |
Karmarkar's algorithm determines the next feasible direction toward optimality and scales back by a factor {{math|0 < γ ≤ 1}}. It is described in a number of sources.{{Cite book|chapter-url=http://dl.acm.org/citation.cfm?id=808695|doi = 10.1145/800057.808695|chapter = A new polynomial-time algorithm for linear programming|title = Proceedings of the sixteenth annual ACM symposium on Theory of computing - STOC '84|year = 1984|last1 = Karmarkar|first1 = N.|pages = 302–311|isbn = 0897911334|s2cid = 13101261}}{{cite journal | doi=10.1007/BF02579150 | volume=4 |issue = 4| title=A new polynomial-time algorithm for linear programming | journal=Combinatorica | pages=373–395 | last1 = Karmarkar | first1 = N.|year = 1984| s2cid=7257867 }}{{cite journal|doi=10.1002/j.1538-7305.1989.tb00316.x | volume=68 | issue=3 | title=Power Series Variants of Karmarkar-Type Algorithms | journal=AT&T Technical Journal | pages=20–36 | last1 = Karmarkar | first1 = Narendra K.| year=1989 | s2cid=42071587 }}{{cite conference
| last = Karmarkar | first = Narendra
| contribution = An interior-point approach to NP-complete problems. I
| doi = 10.1090/conm/114/1097880
| mr = 1097880
| pages = 297–308
| publisher = American Mathematical Society | location = Providence, RI
| series = Contemporary Mathematics
| title = Mathematical developments arising from linear programming (Brunswick, ME, 1988)
| volume = 114
| year = 1990| isbn = 978-0-8218-5121-0
| last = Karmarkar | first = Narendra
| contribution = Riemannian geometry underlying interior-point methods for linear programming
| doi = 10.1090/conm/114/1097865
| mr = 1097865
| pages = 51–75
| publisher = American Mathematical Society | location = Providence, RI
| series = Contemporary Mathematics
| title = Mathematical developments arising from linear programming (Brunswick, ME, 1988)
| volume = 114
| year = 1990| isbn = 978-0-8218-5121-0
}}Karmarkar N. K., Lagarias, J.C., Slutsman, L., and Wang, P., Power Series Variants of KarmarkarType Algorithm, AT & T technical Journal 68, No. 3, May/June (1989). Karmarkar also has extended the methodKarmarkar, N.K., Interior Point Methods in Optimization, Proceedings of the Second International Conference on Industrial and Applied Mathematics, SIAM, pp. 160181 (1991)Karmarkar, N. K. and Kamath, A. P., A continuous Approach to Deriving Upper Bounds in Quadratic Maximization Problems with Integer Constraints, Recent Advances in Global Optimization, pp. 125140, Princeton University Press (1992).26. Karmarkar, N. K., Thakur, S. A., An Interior Point Approach to a Tensor Optimisation Problem with Application to Upper Bounds in Integer Quadratic Optimization Problems, Proceedings of Second Conference on Integer Programming and Combinatorial Optimisation, (May 1992).27. Kamath, A., Karmarkar, N. K., A Continuous Method for Computing Bounds in Integer Quadratic Optimisation Problems, Journal of Global Optimization (1992). to solve problems with integer constraints and non-convex problems.Karmarkar, N. K., Beyond Convexity: New Perspectives in Computational Optimization. Springer Lecture Notes in Computer Science LNCS 6457, Dec 2010
{{algorithm-begin|name=Affine-Scaling}}
Since the actual algorithm is rather complicated, researchers looked for a more intuitive version of it, and in 1985 developed affine scaling, a version of Karmarkar's algorithm that uses affine transformations where Karmarkar used projective ones, only to realize four years later that they had rediscovered an algorithm published by Soviet mathematician I. I. Dikin in 1967.{{cite conference
| last1 = Vanderbei | first1 = R. J.
| last2 = Lagarias | first2 = J. C.
| contribution = I. I. Dikin's convergence result for the affine-scaling algorithm
| doi = 10.1090/conm/114/1097868
| mr = 1097868
| pages = 109–119
| publisher = American Mathematical Society | location = Providence, RI
| series = Contemporary Mathematics
| title = Mathematical developments arising from linear programming (Brunswick, ME, 1988)
| url = https://vanderbei.princeton.edu/tex/myPapers/VanderbeiLagarias_OCR.pdf
| volume = 114
| year = 1990| isbn = 978-0-8218-5121-0
}} The affine-scaling method can be described succinctly as follows.{{cite journal
| doi = 10.1007/BF01840454
| author = Robert J. Vanderbei |author2=Meketon, Marc |author3=Freedman, Barry
| year = 1986
| title = A Modification of Karmarkar's Linear Programming Algorithm
| journal = Algorithmica
| volume = 1
| issue = 1–4 | pages = 395–407 | s2cid = 779577 |url=https://www.princeton.edu/~rvdb/tex/myPapers/VanderbeiMeketonFreedman.pdf
| author-link = Robert J. Vanderbei }} While applicable to small scale problems, it is not a polynomial time algorithm.
{{nowrap|Input: A, b, c, ,}} stopping criterion, {{mvar|γ}}.
{{nowrap|}}
{{nowrap|do while stopping criterion not satisfied}}
{{nowrap|}}
{{nowrap|}}
{{nowrap|}}
{{nowrap|}}
{{nowrap|if then}}
return unbounded
end if
{{nowrap|}}
{{nowrap|}}
{{nowrap|}}
end do
{{algorithm-end}}
Example
Consider the linear program
:
\text{maximize}
&
x_1
+
x_2
\\
\text{subject to}
&
2p x_1
+
x_2
& \leq & p^2+1, & p=0.0, 0.1, 0.2,\ldots, 0.9, 1.0.
\end{array}
That is, there are 2 variables and 11 constraints associated with varying values of . This figure shows each iteration of the algorithm as red circle points. The constraints are shown as blue lines.
Patent controversy
At the time he invented the algorithm, Karmarkar was employed by IBM as a postdoctoral fellow in the IBM San Jose Research Laboratory in California. On August 11, 1983 he gave a seminar at Stanford University explaining the algorithm, with his affiliation still listed as IBM. By the fall of 1983 Karmarkar started to work at AT&T and submitted his paper to the 1984 ACM Symposium on Theory of Computing (STOC, held April 30 - May 2, 1984) stating AT&T Bell Laboratories as his affiliation.{{cite web|title=Karmarkar Algorithm|url=http://researcher.watson.ibm.com/researcher/view_page.php?id=6900|publisher=IBM Research|archive-url=https://web.archive.org/web/20160803144332/http://researcher.watson.ibm.com/researcher/view_page.php?id=6900|archive-date=2016-08-03|url-status=dead }} After applying the algorithm to optimizing AT&T's telephone network,Sinha L.P., Freedman, B. A., Karmarkar, N. K., Putcha, A., and Ramakrishnan K.G., Overseas Network Planning, Proceedings of the Third International Network Planning Symposium, NETWORKS' 86, Tarpon Springs, Florida (June 1986). they realized that his invention could be of practical importance. In April 1985, AT&T promptly applied for a patent on his algorithm.
The patent became more fuel for the ongoing controversy over the issue of software patents.
{{cite news
| first = Gina
| last = Kolata
| title = IDEAS & TRENDS; Mathematicians Are Troubled by Claims on Their Recipes
| url = https://query.nytimes.com/gst/fullpage.html?res=950DEFD61038F931A25750C0A96F948260
| work = The New York Times
| date = 1989-03-12
}} This left many mathematicians uneasy, such as Ronald Rivest (himself one of the holders of the patent on the RSA algorithm), who expressed the opinion that research proceeded on the basis that algorithms should be free. Even before the patent was actually granted, it was argued that there might have been prior art that was applicable.[https://www.cs.cmu.edu/afs/cs.cmu.edu/academic/class/15850c-s96/www/interiorpoint.txt Various posts by Matthew Saltzman, Clemson University] Mathematicians who specialized in numerical analysis, including Philip Gill and others, claimed that Karmarkar's algorithm is equivalent to a projected Newton barrier method with a logarithmic barrier function, if the parameters are chosen suitably.
{{cite journal
| last1 = Gill
| first1 = Philip E.
| last2 = Murray |first2= Walter |last3= Saunders |first3= Michael A. |last4= Tomlin |first4= J. A. |last5= Wright |first5= Margaret H.
| year = 1986
| title = On projected Newton barrier methods for linear programming and an equivalence to Karmarkar's projective method
| journal = Mathematical Programming
| volume = 36
| issue = 2
| pages = 183–209
| doi = 10.1007/BF02592025
| s2cid = 18899771
}} Legal scholar Andrew Chin opines that Gill's argument was flawed, insofar as the method they describe does not constitute an "algorithm", since it requires choices of parameters that don't follow from the internal logic of the method, but rely on external guidance, essentially from Karmarkar's algorithm.
{{cite journal
| author = Andrew Chin
| year = 2009
| title = On Abstraction and Equivalence in Software Patent Doctrine: A Response to Bessen, Meurer and Klemens
| journal = Journal of Intellectual Property Law
| volume = 16
| pages = 214–223
| url = http://andrewchin.com/chin/scholarship/abstraction-equivalence.pdf
}} Furthermore, Karmarkar's contributions are considered far from obvious in light of all prior work, including Fiacco-McCormick, Gill and others cited by Saltzman.Mark A. Paley (1995). "The Karmarkar Patent: Why Congress Should "Open the Door" to Algorithms as Patentable Subject Matter". 22 Computer L. Rep. 7{{cite journal
| author = Margaret H. Wright
| year = 2004
| title = The Interior-Point Revolution in Optimization: History, Recent Developments, and Lasting Consequences
| journal = Bulletin of the American Mathematical Society
| volume = 42
| pages = 39–56
| url = https://www.ams.org/journals/bull/2005-42-01/S0273-0979-04-01040-7/S0273-0979-04-01040-7.pdf
| doi=10.1090/S0273-0979-04-01040-7
| doi-access = free
}} The patent was granted in recognition of the essential originality of Karmarkar's work, as {{US patent|4744028}}: "Methods and apparatus for efficient resource allocation" in May 1988.
AT&T designed a vector multi-processor computer system specifically to run Karmarkar's algorithm, calling the resulting combination of hardware and software KORBX,
{{cite journal
| author = Marc S. Meketon
|author2=Y.C. Cheng |author3=D.J. Houck |author4=J.M.Liu |author5=L. Slutsman |author6-link=Robert J. Vanderbei |author6=Robert J. Vanderbei |author7=P. Wang
| year = 1989
| title = The AT&T KORBX System
| journal = AT&T Technical Journal
| volume = 68
|issue=3 | pages = 7–19
|doi=10.1002/j.1538-7305.1989.tb00315.x |s2cid=18548851 }} and marketed this system at a price of US$8.9 million.{{cite news |title=AT&T markets problem solver, based on math whiz's find, for $8.9 million |newspaper=Wall Street Journal |date=15 August 1988 |first=Roger |last=Lowenstein |url=http://orfe.princeton.edu/~rvdb/307/lectures/lec19.pdf |access-date=30 January 2016 |archive-date=8 June 2016 |archive-url=https://web.archive.org/web/20160608080507/https://orfe.princeton.edu/~rvdb/307/lectures/lec19.pdf |url-status=dead }}{{cite news |title=Big A.T.&T. Computer for Complexities |first=John |last=Markoff |work=The New York Times |date=13 August 1988 |url=https://www.nytimes.com/1988/08/13/business/big-at-t-computer-for-complexities.html}} Its first customer was the Pentagon.{{Cite news|url=https://apnews.com/8a376783cd62cdf141de700a7c948f61|title=Military Is First Announced Customer Of AT&T Software|website=Associated Press|agency=AP News|access-date=2019-06-11}}{{Cite book | doi=10.1109/CDC.1989.70419| chapter=Using KORBX for military airlift applications| title=Proceedings of the 28th IEEE Conference on Decision and Control| pages=1603–1605| year=1989| last1=Kennington| first1=J.L.| s2cid=60450719}}
Opponents of software patents have further argued that the patents ruined the positive interaction cycles that previously characterized the relationship between researchers in linear programming and industry, and specifically it isolated Karmarkar himself from the network of mathematical researchers in his field.{{Cite web
|url=http://eupat.ffii.org/papers/konno95/index.ja.html
|title=今野浩: カーマーカー特許とソフトウェア – 数学は 特許に なるか (Konno Hiroshi: The Kamarkar Patent and Software – Has Mathematics Become Patentable?)
|publisher=FFII
|access-date=2008-06-27
|archive-url=https://web.archive.org/web/20080627203001/http://eupat.ffii.org/papers/konno95/index.ja.html
|archive-date=2008-06-27
|url-status=dead
}}
The patent itself expired in April 2006, and the algorithm is presently in the public domain.
The United States Supreme Court has held that mathematics cannot be patented in Gottschalk v. Benson,409 U.S. 63 (1972). The case concerned an algorithm for converting binary-coded decimal numerals to pure binary. In that case, the Court first addressed whether computer algorithms could be patented and it held that they could not because the patent system does not protect ideas and similar abstractions. In Diamond v. Diehr,450 U.S. 175 (1981). the Supreme Court stated, "A mathematical formula as such is not accorded the protection of our patent laws, and this principle cannot be circumvented by attempting to limit the use of the formula to a particular technological environment.450 U.S. at 191. See also Parker v. Flook, 437 U.S. 584, 585 (1978) ("the discovery of a novel and useful mathematical formula may not be patented"). In Mayo Collaborative Services v. Prometheus Labs., Inc.,566 U.S. __, 132 S. Ct. 1289 (2012). the Supreme Court explained further that "simply implementing a mathematical principle on a physical machine, namely a computer, [i]s not a patentable application of that principle."Accord Alice Corp. v. CLS Bank Int’l, 573 U.S. __, 134 S. Ct. 2347 (2014).
Applications
Karmarkar's algorithm was used by the US Army for logistic planning during the Gulf War.
References
- {{cite journal | last1 = Adler | first1 = Ilan | last2 = Karmarkar | first2 = Narendra | last3 = Resende | first3 = Mauricio G.C. | author3-link = Mauricio Resende | last4 = Veiga | first4 = Geraldo | year = 1989 | title = An Implementation of Karmarkar's Algorithm for Linear Programming | journal = Mathematical Programming | volume = 44 | issue = 1–3| pages = 297–335 | doi=10.1007/bf01587095| s2cid = 12851754 }}
- Narendra Karmarkar (1984). "[https://web.archive.org/web/20131228145520/http://retis.sssup.it/~bini/teaching/optim2010/karmarkar.pdf A New Polynomial Time Algorithm for Linear Programming]", Combinatorica, Vol 4, nr. 4, p. 373–395.
{{reflist|30em}}
{{Optimization algorithms|convex}}
{{DEFAULTSORT:Karmarkar's Algorithm}}
Category:Optimization algorithms and methods