Алгоритм Кармаркара — алгоритм для розв'язування задач лінійного програмування, який 1984 року запропонував Нарендра Кармаркар. Це був перший досить ефективний алгоритм, який розв'язував задачу за поліноміальний час. Метод еліпсоїдів є також алгоритмом поліноміального часу, але він виявився неефективним у практичних застосуваннях.
Якщо — число змінних, і — число бітів вхідних даних, алгоритм Кармаркара вимагає операцій над числами з знаками, тоді як метод еліпсоїдів вимагає таких операцій. Час роботи алгоритму Кармаркара дорівнює
за використання методу множення Шьонхаге — Штрассена (див. («O» велике)).
Алгоритм Кармаркара належить класу методів внутрішньої точки — поточний допустимий розв'язок не пересувається межею області допустимих розв'язків, як у симплекс-методі, а рухається по внутрішніх точках області допустимих значень, покращуючи з кожною ітерацією апроксимацію оптимального розв'язку певним дробом і приводячи до оптимального розв'язку з раціональними даними.
Алгоритм
Розглянемо задачу лінійного програмування у матричній формі:
- максимізувати cTx
- при обмеженнях Ax ⩽ b.
Алгоритм визначає черговий допустимий напрямок у бік оптимального розв'язку і відступає на множник 0 < γ ⩽ 1.
Алгоритм Кармаркара дуже складний. Зацікавлені читачі можуть знайти інформацію за посиланнями. Спрощену версія, що має назву «Метод афінного масштабування», аналізовану в інших статтях, можна описати коротко так (зверніть увагу, що метод афінного масштабування, коли використовується для задач малих розмірів, не є алгоритмом поліноміального часу. Для задач великого розміру та складних задач слід дотримуватись початкового підходу):
Вхід: A, b, c, , критерій зупинки, .
do while критерій зупинки не виконується if then return необмежений розв'язок end if end do
- «←» позначає «замінити на». Наприклад, «largest ← item» означає, що значення змінної largest замінюється на значення змінної item.
- «return» перериває роботу алгоритму і виводить значення, записане після команди.
Кармаркар також розширив методологію розв'язування задач і цілими обмеженнями та неопуклих задач.
Приклад
Нехай дано задачу лінійного програмування:
- максимізувати
- за умов
Тобто, є дві змінні та 11 обмежень, що відповідають різним значенням . Малюнок показує кожну ітерацію алгоритму як червону точку. Обмеження зображено синіми прямими.
Дебати про патентування Чи можна патентувати математику?
Коли Наренда Кармаркар запропонував свій алгоритм, він працював у . Після впровадження алгоритму для оптимізації телефонної мережі AT&T там усвідомили, що він може мати практичну важливість. У квітні 1985 року AT&T швидко подала заявку на патент алгоритму Кармаркара, і ця подія пожвавила дебати навколо патентування програмного забезпечення. Це занепокоїло багатьох математиків, як, наприклад, Рональда Рівеста (він сам є одним із власників патенту на алгоритм RSA), який висловив думку, що дослідження, засновані на базі цього алгоритму, мають бути вільними. Навіть ще до затвердження патенту дехто стверджували, що існував нездійснений прототип.
Математики, що спеціалізуються на чисельних методах, такі як Філіп Гілл (Philip Gill) та інші, стверджували, що алгоритм Кармаркара еквівалентний проєктивному бар'єрному методу Ньютона з логарифмічною бар'єрною функцією, якщо правильно вибрати параметри. Однак аргумент Гілла має недолік, оскільки метод, який він описує, навіть не вважають алгоритмом, оскільки вимагає вибору параметрів, які не обумовлені внутрішньою логікою методу і повністю покладаються на зовнішнє керування, особливо щодо алгоритму Кармаркара. Більш того, внесок Кармаркара далекий від очевидного у світлі всіх попередніх робіт, включно з працями Фіако — МакКорміка (Fiacco — McCormick), Гілла (Gill) та інших, перерахованими Зальцманом (Saltzman). Патент обговорювано в сенаті США, схвалено як визнання суттєвої оригінальності роботи Кармаркара та у травні 1988 року оформлено як патент США 4744026 «Методи та апаратура для ефективного розподілу ресурсів». AT&T поставила систему KORBX, що базується на цьому патенті, Пентагону, який використовував її для розв'язання математичних задач, які до цього вважали нерозв'язними.
Опоненти програмного патентування пізніше заявляли, що патенти зруйнували позитивний цикл взаємодії, притаманний зв'язку дослідників у лінійному програмуванні з виробництвом, і, зокрема, ізолювали самого Кармаркара від математичних досліджень у його галузі.
Дія патенту закінчилася у квітні 2006 року, і алгоритм нині є загальним надбанням.
Примітки
- Gilbert Strang. Karmarkar’s algorithm and its place in applied mathematics // The Mathematical Intelligencer. — New York : Springer, 1987. — Vol. 9, iss. 2 (4 June). — P. 4—10. — ISSN 0343-6993. — DOI: .
- A new polynomial-time algorithm for linear programming. оригіналу за 14 лютого 2019. Процитовано 26 серпня 2015.
- A new polynomial-time algorithm for linear programming — Springer. оригіналу за 6 вересня 2017. Процитовано 29 вересня 2017.
- Power Series Variants of Karmarkar-Type Algorithms — Karmarkar — 2013 — AT&T Technical Journal — Wiley Online Library. оригіналу за 16 липня 2015. Процитовано 26 серпня 2015.
- Karmarkar N. K., Lagarias, J. C., Slutsman, L., Wang, P., Power Series Variants of KarmarkarType Algorithm, AT & T technical Journal 68, No. 3, May/June (1989).
- (PDF). Архів оригіналу (PDF) за 4 березня 2016. Процитовано 26 серпня 2015.
- , Marc Meketon, Barry Freedman. A Modification of Karmarkar's Linear Programming Algorithm // Algorithmica. — 1986. — Т. 1 (4 червня). — С. 395—407. — DOI: .
- Karmarkar, N. K., Interior Point Methods in Optimization, Proceedings of the Second International Conference on Industrial and Applied Mathematics, SIAM, p. 160181 (1991).
- Karmarkar, N. K. Kamath, A. P., A continuous Approach to Deriving Upper Bounds in Quadratic Maximization Problems with Integer Constraints, Recent Advances in Global Optimization, p. 125140, Princeton University Press (1992).
- 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).
- Kamath, A., Karmarkar, N. K., A Continuous Method for Computing Bounds in Integer Quadratic Optimisation Problems, Journal of Global Optimization (1992).
- Karmarkar, N. K., Beyond Convexity: New Perspectives in Computational Optimization. Springer Lecture Notes in Computer Science LNCS 6457, Dec 2010.
- Sinha L.P., Freedman, B. A., Karmarkar, N. K., Putcha, A., Ramakrishnan K. G., Overseas Network Planning, Proceedings of the Third International Network Planning Symposium, NETWORKS' 86, Tarpon Springs, Florida (June 1986).
- Gina Kolata. IDEAS & TRENDS; Mathematicians Are Troubled by Claims on Their Recipes // The New York Times. — 1989. — 12 March.
- Various posts by Matthew Saltzman, Clemson University. оригіналу за 23 вересня 2015. Процитовано 26 серпня 2015.
- Philip E. Gill, Walter Murray, Michael A. Saunders, J. A. Tomlin, Margaret H. Wright. On projected Newton barrier methods for linear programming and an equivalence to Karmarkar’s projective method // Mathematical Programming. — 1986. — Т. 36, вип. 2 (4 червня). — С. 183—209. — DOI: .
- Andrew Chin. On Abstraction and Equivalence in Software Patent Doctrine: A Response to Bessen, Meurer and Klemens // Journal Of Intellectual Property Law. — 2009. — Т. 16 (4 червня). — С. 214—223.
- Mark A. Paley (1995). «The Karmarkar Patent: Why Congress Should „Open the Door“ to Algorithms as Patentable Subject Matter». 22 COMPUTER L. REP. 7.
- Margaret H. Wright. The Interior-Point Revolution in Optimization: History, Recent Developments, and Lasting Consequences // Bulletins of the American Mathematical Society. — 2004. — Т. 42 (4 червня). — С. 39—56.
- Marc S. Meketon, Y. C. Cheng, D. J. Houck, J. M. Liu, L. Slutsman, , P. Wang. The AT&T KORBX System // AT&T Technical Journal. — 1989. — Т. 68 (4 червня). — С. 7—19.
- Big A.T.&T. Computer for Complexities — NYTimes.com. оригіналу за 1 лютого 2018. Процитовано 29 вересня 2017.
- Military Is First Announced Customer Of AT&T Software. оригіналу за 6 вересня 2015. Процитовано 26 серпня 2015.
- IEEE Xplore Abstract — Using KORBX for military airlift applications. оригіналу за 13 листопада 2014. Процитовано 26 серпня 2015.
- 今野浩: カーマーカー特許とソフトウェア – 数学は 特許に なるか (Konno Hiroshi: The Kamarkar Patent and Software – Has Mathematics Become Patentable?). — . з джерела 27 червня 2008. Процитовано 2008-06-27.
Література
- Ilan Adler, Narendra Karmarkar, Mauricio G.C. Resende and Geraldo Veiga (1989). «An Implementation of Karmarkar's Algorithm for Linear Programming». Mathematical Programming, Vol 44, p. 297—335.
- Narendra Karmarkar (1984). «», , Vol 4, nr. 4, p. 373—395.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Algoritm Karmarkara algoritm dlya rozv yazuvannya zadach linijnogo programuvannya yakij 1984 roku zaproponuvav Narendra Karmarkar Ce buv pershij dosit efektivnij algoritm yakij rozv yazuvav zadachu za polinomialnij chas Metod elipsoyidiv ye takozh algoritmom polinomialnogo chasu ale vin viyavivsya neefektivnim u praktichnih zastosuvannyah Yaksho n displaystyle n chislo zminnih i L displaystyle L chislo bitiv vhidnih danih algoritm Karmarkara vimagaye O n 3 5 L displaystyle O n 3 5 L operacij nad chislami z O L displaystyle O L znakami todi yak metod elipsoyidiv vimagaye O n 6 L displaystyle O n 6 L takih operacij Chas roboti algoritmu Karmarkara dorivnyuye O n 3 5 L 2 log L log log L displaystyle O n 3 5 L 2 cdot log L cdot log log L za vikoristannya metodu mnozhennya Shonhage Shtrassena div O velike Algoritm Karmarkara nalezhit klasu metodiv vnutrishnoyi tochki potochnij dopustimij rozv yazok ne peresuvayetsya mezheyu oblasti dopustimih rozv yazkiv yak u simpleks metodi a ruhayetsya po vnutrishnih tochkah oblasti dopustimih znachen pokrashuyuchi z kozhnoyu iteraciyeyu aproksimaciyu optimalnogo rozv yazku pevnim drobom i privodyachi do optimalnogo rozv yazku z racionalnimi danimi AlgoritmRozglyanemo zadachu linijnogo programuvannya u matrichnij formi maksimizuvati cTx pri obmezhennyah Ax b Algoritm viznachaye chergovij dopustimij napryamok u bik optimalnogo rozv yazku i vidstupaye na mnozhnik 0 lt g 1 Algoritm Karmarkara duzhe skladnij Zacikavleni chitachi mozhut znajti informaciyu za posilannyami Sproshenu versiya sho maye nazvu Metod afinnogo masshtabuvannya analizovanu v inshih stattyah mozhna opisati korotko tak zvernit uvagu sho metod afinnogo masshtabuvannya koli vikoristovuyetsya dlya zadach malih rozmiriv ne ye algoritmom polinomialnogo chasu Dlya zadach velikogo rozmiru ta skladnih zadach slid dotrimuvatis pochatkovogo pidhodu Vhid A b c x 0 displaystyle x 0 kriterij zupinki g displaystyle gamma k 0 displaystyle k leftarrow 0 do while kriterij zupinki ne vikonuyetsya v k b A x k displaystyle v k leftarrow b Ax k D v diag v 1 k v m k displaystyle D v leftarrow operatorname diag v 1 k ldots v m k h x A T D v 2 A 1 c displaystyle h x leftarrow A T D v 2 A 1 c h v A h x displaystyle h v leftarrow Ah x if h v 0 displaystyle h v geqslant 0 then return neobmezhenij rozv yazok end if a g min v i k h v i h v i lt 0 i 1 m displaystyle alpha leftarrow gamma cdot min v i k h v i mid h v i lt 0 i 1 ldots m x k 1 x k a h x displaystyle x k 1 leftarrow x k alpha h x k k 1 displaystyle k leftarrow k 1 end do poznachaye zaminiti na Napriklad largest item oznachaye sho znachennya zminnoyi largest zaminyuyetsya na znachennya zminnoyi item return pererivaye robotu algoritmu i vivodit znachennya zapisane pislya komandi Karmarkar takozh rozshiriv metodologiyu rozv yazuvannya zadach i cilimi obmezhennyami ta neopuklih zadach PrikladPriklad rozv yazku Nehaj dano zadachu linijnogo programuvannya maksimizuvati x 1 x 2 displaystyle x 1 x 2 za umov 2 p x 1 x 2 p 2 1 p 0 0 0 1 0 2 0 9 1 0 displaystyle 2px 1 x 2 leqslant p 2 1 p 0 0 0 1 0 2 ldots 0 9 1 0 Tobto ye dvi zminni x 1 x 2 displaystyle x 1 x 2 ta 11 obmezhen sho vidpovidayut riznim znachennyam p displaystyle p Malyunok pokazuye kozhnu iteraciyu algoritmu yak chervonu tochku Obmezhennya zobrazheno sinimi pryamimi Debati pro patentuvannya Chi mozhna patentuvati matematiku Koli Narenda Karmarkar zaproponuvav svij algoritm vin pracyuvav u AT amp T Pislya vprovadzhennya algoritmu dlya optimizaciyi telefonnoyi merezhi AT amp T tam usvidomili sho vin mozhe mati praktichnu vazhlivist U kvitni 1985 roku AT amp T shvidko podala zayavku na patent algoritmu Karmarkara i cya podiya pozhvavila debati navkolo patentuvannya programnogo zabezpechennya Ce zanepokoyilo bagatoh matematikiv yak napriklad Ronalda Rivesta vin sam ye odnim iz vlasnikiv patentu na algoritm RSA yakij visloviv dumku sho doslidzhennya zasnovani na bazi cogo algoritmu mayut buti vilnimi Navit she do zatverdzhennya patentu dehto stverdzhuvali sho isnuvav nezdijsnenij prototip Matematiki sho specializuyutsya na chiselnih metodah taki yak Filip Gill Philip Gill ta inshi stverdzhuvali sho algoritm Karmarkara ekvivalentnij proyektivnomu bar yernomu metodu Nyutona z logarifmichnoyu bar yernoyu funkciyeyu yaksho pravilno vibrati parametri Odnak argument Gilla maye nedolik oskilki metod yakij vin opisuye navit ne vvazhayut algoritmom oskilki vimagaye viboru parametriv yaki ne obumovleni vnutrishnoyu logikoyu metodu i povnistyu pokladayutsya na zovnishnye keruvannya osoblivo shodo algoritmu Karmarkara Bilsh togo vnesok Karmarkara dalekij vid ochevidnogo u svitli vsih poperednih robit vklyuchno z pracyami Fiako MakKormika Fiacco McCormick Gilla Gill ta inshih pererahovanimi Zalcmanom Saltzman Patent obgovoryuvano v senati SShA shvaleno yak viznannya suttyevoyi originalnosti roboti Karmarkara ta u travni 1988 roku oformleno yak patent SShA 4744026 Metodi ta aparatura dlya efektivnogo rozpodilu resursiv AT amp T postavila sistemu KORBX sho bazuyetsya na comu patenti Pentagonu yakij vikoristovuvav yiyi dlya rozv yazannya matematichnih zadach yaki do cogo vvazhali nerozv yaznimi Oponenti programnogo patentuvannya piznishe zayavlyali sho patenti zrujnuvali pozitivnij cikl vzayemodiyi pritamannij zv yazku doslidnikiv u linijnomu programuvanni z virobnictvom i zokrema izolyuvali samogo Karmarkara vid matematichnih doslidzhen u jogo galuzi Diya patentu zakinchilasya u kvitni 2006 roku i algoritm nini ye zagalnim nadbannyam PrimitkiGilbert Strang Karmarkar s algorithm and its place in applied mathematics The Mathematical Intelligencer New York Springer 1987 Vol 9 iss 2 4 June P 4 10 ISSN 0343 6993 DOI 10 1007 BF03025891 A new polynomial time algorithm for linear programming originalu za 14 lyutogo 2019 Procitovano 26 serpnya 2015 A new polynomial time algorithm for linear programming Springer originalu za 6 veresnya 2017 Procitovano 29 veresnya 2017 Power Series Variants of Karmarkar Type Algorithms Karmarkar 2013 AT amp T Technical Journal Wiley Online Library originalu za 16 lipnya 2015 Procitovano 26 serpnya 2015 Karmarkar N K Lagarias J C Slutsman L Wang P Power Series Variants of KarmarkarType Algorithm AT amp T technical Journal 68 No 3 May June 1989 PDF Arhiv originalu PDF za 4 bereznya 2016 Procitovano 26 serpnya 2015 Marc Meketon Barry Freedman A Modification of Karmarkar s Linear Programming Algorithm Algorithmica 1986 T 1 4 chervnya S 395 407 DOI 10 1007 BF01840454 Karmarkar N K Interior Point Methods in Optimization Proceedings of the Second International Conference on Industrial and Applied Mathematics SIAM p 160181 1991 Karmarkar N K Kamath A P A continuous Approach to Deriving Upper Bounds in Quadratic Maximization Problems with Integer Constraints Recent Advances in Global Optimization p 125140 Princeton University Press 1992 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 Kamath A Karmarkar N K A Continuous Method for Computing Bounds in Integer Quadratic Optimisation Problems Journal of Global Optimization 1992 Karmarkar N K Beyond Convexity New Perspectives in Computational Optimization Springer Lecture Notes in Computer Science LNCS 6457 Dec 2010 Sinha L P Freedman B A Karmarkar N K Putcha A Ramakrishnan K G Overseas Network Planning Proceedings of the Third International Network Planning Symposium NETWORKS 86 Tarpon Springs Florida June 1986 Gina Kolata IDEAS amp TRENDS Mathematicians Are Troubled by Claims on Their Recipes The New York Times 1989 12 March Various posts by Matthew Saltzman Clemson University originalu za 23 veresnya 2015 Procitovano 26 serpnya 2015 Philip E Gill Walter Murray Michael A Saunders J A Tomlin Margaret H Wright On projected Newton barrier methods for linear programming and an equivalence to Karmarkar s projective method Mathematical Programming 1986 T 36 vip 2 4 chervnya S 183 209 DOI 10 1007 BF02592025 Andrew Chin On Abstraction and Equivalence in Software Patent Doctrine A Response to Bessen Meurer and Klemens Journal Of Intellectual Property Law 2009 T 16 4 chervnya S 214 223 Mark A Paley 1995 The Karmarkar Patent Why Congress Should Open the Door to Algorithms as Patentable Subject Matter 22 COMPUTER L REP 7 Margaret H Wright The Interior Point Revolution in Optimization History Recent Developments and Lasting Consequences Bulletins of the American Mathematical Society 2004 T 42 4 chervnya S 39 56 Marc S Meketon Y C Cheng D J Houck J M Liu L Slutsman P Wang The AT amp T KORBX System AT amp T Technical Journal 1989 T 68 4 chervnya S 7 19 Big A T amp T Computer for Complexities NYTimes com originalu za 1 lyutogo 2018 Procitovano 29 veresnya 2017 Military Is First Announced Customer Of AT amp T Software originalu za 6 veresnya 2015 Procitovano 26 serpnya 2015 IEEE Xplore Abstract Using KORBX for military airlift applications originalu za 13 listopada 2014 Procitovano 26 serpnya 2015 今野浩 カーマーカー特許とソフトウェア 数学は 特許に なるか Konno Hiroshi The Kamarkar Patent and Software Has Mathematics Become Patentable z dzherela 27 chervnya 2008 Procitovano 2008 06 27 LiteraturaIlan Adler Narendra Karmarkar Mauricio G C Resende and Geraldo Veiga 1989 An Implementation of Karmarkar s Algorithm for Linear Programming Mathematical Programming Vol 44 p 297 335 Narendra Karmarkar 1984 Vol 4 nr 4 p 373 395