Jump to content

Алгоритм Кармаркара

(Перенаправлено из алгоритма Кармаркара )

Алгоритм Кармаркара — это алгоритм, предложенный Нарендрой Кармаркаром в 1984 году для решения линейного программирования задач . Это был первый достаточно эффективный алгоритм, решающий эти проблемы за полиномиальное время . Метод эллипсоидов также является полиномиальным по времени, но на практике оказался неэффективным.

Обозначая количество переменных, m количество ограничений-неравенств и количество бит на входе в алгоритм, алгоритм Кармаркара требует операции по -значные числа по сравнению с такие операции для алгоритма эллипсоида. [1] В «квадратных» задачах, когда m находится в O( n ), алгоритм Кармаркара требует операции по -значные числа по сравнению с такие операции для алгоритма эллипсоида. Таким образом, время выполнения алгоритма Кармаркара равно

используя умножение на основе БПФ (см. обозначение Big O ).

Алгоритм Кармаркара относится к классу методов внутренней точки : текущее предположение решения не следует границе допустимого множества, как в симплексном методе , а перемещается внутри допустимой области, улучшая аппроксимацию оптимального решения. на определенную долю на каждой итерации и сходящуюся к оптимальному решению с рациональными данными. [2]

Алгоритм

[ редактировать ]

Рассмотрим задачу линейного программирования в матричной форме:

максимизировать c Т х
при условии Ах б .

Алгоритм Кармаркара определяет следующее возможное направление к оптимальности и уменьшает его на коэффициент 0 < γ ≤ 1 . Оно описано во многих источниках. [3] [4] [5] [6] [7] [8] Кармаркар также расширил метод [9] [10] [11] [12] решать задачи с целочисленными ограничениями и невыпуклые задачи. [13]

Algorithm Affine-Scaling

Поскольку реальный алгоритм довольно сложен, исследователи искали более интуитивную его версию и в 1985 году разработали аффинное масштабирование , версию алгоритма Кармаркара, которая использует аффинные преобразования там, где Кармаркар использовал проективные преобразования, только чтобы четыре года спустя осознать, что они заново открыли алгоритм, опубликованный советским математиком И.И. Дикиным в 1967 году. [14] Метод аффинного масштабирования можно кратко описать следующим образом. [15] Хотя этот алгоритм применим к задачам небольшого масштаба, он не является алгоритмом с полиномиальным временем. [ нужна ссылка ]

Input:  A, b, c, , stopping criterion, γ.

do while stopping criterion not satisfied
    
    
    
    
    if  then
        return unbounded
    end if
    
    
    
end do
  • « ←» означает присвоение . Например, « самый большой элемент » означает, что значение самого большого изменяется на значение элемента .
  • « return » завершает алгоритм и выводит следующее значение.
Пример решения

Рассмотрим линейную программу

То есть есть 2 переменные и 11 ограничений, связанных с различными значениями . На этом рисунке каждая итерация алгоритма показана точками красного круга. Ограничения показаны синими линиями.

Патентные споры

[ редактировать ]

В то время, когда он изобрел алгоритм, Кармаркар работал в IBM в качестве постдокторанта в исследовательской лаборатории IBM в Сан-Хосе в Калифорнии. 11 августа 1983 года он провел семинар в Стэнфордском университете, объясняя алгоритм, при этом его филиал по-прежнему значился как IBM. Осенью 1983 года Кармаркар начал работать в AT&T и представил свою статью на симпозиуме ACM по теории вычислений 1984 года (STOC, состоявшийся 30 апреля - 2 мая 1984 года), указав, что AT&T Bell Laboratories является его филиалом. [16] После применения алгоритма для оптимизации телефонной сети AT&T, [17] они поняли, что его изобретение может иметь практическое значение. В апреле 1985 года AT&T незамедлительно подала заявку на патент на его алгоритм.

Этот патент стал еще одним поводом для продолжающихся споров по поводу патентов на программное обеспечение . [18] Это вызвало беспокойство у многих математиков, таких как Рональд Ривест (сам один из обладателей патента на алгоритм RSA ), который выразил мнение, что исследования проводятся на основе того, что алгоритмы должны быть свободными. Еще до того, как патент был фактически выдан, утверждалось, что, возможно, существовал предшествующий уровень техники , который был бы применим. [19] Математики, специализирующиеся на численном анализе , в том числе Филип Гилл и другие, утверждали, что алгоритм Кармаркара эквивалентен проектируемому барьерному методу Ньютона с логарифмической барьерной функцией , если параметры выбраны соответствующим образом. [20] Ученый-правовед Эндрю Чин полагает, что аргумент Гилла ошибочен, поскольку описываемый ими метод не представляет собой «алгоритм», поскольку он требует выбора параметров, которые не следуют из внутренней логики метода, а полагаются на внешнее руководство. по существу из алгоритма Кармаркара. [21] Более того, вклад Кармаркара считается далеко не очевидным в свете всех предыдущих работ, включая работы Фиакко-Маккормика, Гилла и других, на которые цитирует Зальцман. [21] [22] [23] Патент обсуждался в Сенате США. [ нужна ссылка ] и выдан в знак признания существенной оригинальности работы Кармаркара в виде патента США 4 744 028 : «Методы и устройства для эффективного распределения ресурсов» в мае 1988 года.

AT&T разработала векторную многопроцессорную компьютерную систему специально для запуска алгоритма Кармаркара, назвав полученную комбинацию аппаратного и программного обеспечения KORBX. [24] и продал эту систему по цене 8,9 миллиона долларов США. [25] [26] Его первым заказчиком стал Пентагон . [27] [28]

Противники патентов на программное обеспечение также утверждали, что патенты разрушили циклы позитивного взаимодействия, которые ранее характеризовали отношения между исследователями в области линейного программирования и промышленностью, и, в частности, изолировали самого Кармаркара от сети математических исследователей в его области. [29]

Срок действия патента истек в апреле 2006 года, и в настоящее время алгоритм находится в открытом доступе .

Верховный суд США постановил, что математика не может быть запатентована в деле Готшалк против Бенсона . [30] В этом деле Суд сначала рассмотрел вопрос о том, можно ли запатентовать компьютерные алгоритмы, но постановил, что это невозможно, поскольку патентная система не защищает идеи и подобные абстракции. В деле Даймонд против Дира , [31] Верховный суд заявил: «Математическая формула как таковая не пользуется защитой наших патентных законов, и этот принцип нельзя обойти, пытаясь ограничить использование формулы конкретной технологической средой. [32] В деле Mayo Collaborative Services против Prometheus Labs., Inc. , [33] Верховный суд далее пояснил, что «простая реализация математического принципа на физической машине, а именно на компьютере, [я] не является патентоспособным применением этого принципа». [34]

Приложения

[ редактировать ]

Алгоритм Кармаркара использовался армией США для логистического планирования во время войны в Персидском заливе . [1]

  • Адлер, Илан; Кармаркар, Нарендра; Ресенде, Маурисио Г.К .; Вейга, Джеральдо (1989). «Реализация алгоритма Кармаркара для линейного программирования». Математическое программирование . 44 (1–3): 297–335. дои : 10.1007/bf01587095 . S2CID   12851754 .
  • Нарендра Кармаркар (1984). « Новый алгоритм полиномиального времени для линейного программирования », Combinatorica , Vol 4 , nr. 4, с. 373–395.
  1. ^ Jump up to: а б Аркадий Немировский (2004). Полиномиальные методы внутренней точки в выпуклом программировании .
  2. ^ Стрэнг, Гилберт (1 июня 1987 г.). «Алгоритм Кармаркара и его место в прикладной математике». Математический интеллект . 9 (2): 4–10. дои : 10.1007/BF03025891 . ISSN   0343-6993 . МР   0883185 . S2CID   123541868 .
  3. ^ Кармаркар, Н. (1984). «Новый алгоритм линейного программирования с полиномиальным временем» . Материалы шестнадцатого ежегодного симпозиума ACM по теории вычислений - STOC '84 . стр. 302–311. дои : 10.1145/800057.808695 . ISBN  0897911334 . S2CID   13101261 ​​.
  4. ^ Кармаркар, Н. (1984). «Новый алгоритм линейного программирования с полиномиальным временем». Комбинаторика . 4 (4): 373–395. дои : 10.1007/BF02579150 . S2CID   7257867 .
  5. ^ Кармаркар, Нарендра К. (1989). «Варианты степенных рядов алгоритмов типа Кармаркара». Технический журнал AT&T . 68 (3): 20–36. дои : 10.1002/j.1538-7305.1989.tb00316.x . S2CID   42071587 .
  6. ^ Кармаркар, Нарендра (1990). «Внутренний подход к NP-полным задачам. I». Математические разработки, возникающие в результате линейного программирования (Брансуик, Мэн, 1988) . Современная математика. Том. 114. Провиденс, Род-Айленд: Американское математическое общество. стр. 297–308. дои : 10.1090/conm/114/1097880 . МР   1097880 .
  7. ^ Кармаркар, Нарендра (1990). «Риманова геометрия, лежащая в основе методов внутренних точек линейного программирования». Математические разработки, возникающие в результате линейного программирования (Брансуик, Мэн, 1988) . Современная математика. Том. 114. Провиденс, Род-Айленд: Американское математическое общество. стр. 51–75. дои : 10.1090/conm/114/1097865 . МР   1097865 .
  8. ^ Кармаркар Н.К., Лагариас Дж.К., Слутсман Л. и Ван П., Варианты степенных рядов алгоритма KarmarkarType, Технический журнал AT&T 68, № 3, май/июнь (1989).
  9. ^ Кармаркар, Н.К., Методы внутренней точки в оптимизации, Труды Второй международной конференции по промышленной и прикладной математике, SIAM, стр. 160181 (1991).
  10. ^ Кармаркар, Н.К. и Камат, А.П., Непрерывный подход к получению верхних границ в задачах квадратичной максимизации с целочисленными ограничениями, Последние достижения в глобальной оптимизации, стр. 125140, Princeton University Press (1992).
  11. ^ 26. Кармаркар Н.К., Такур С.А., Подход к внутренней точке к задаче тензорной оптимизации с применением к верхним границам в задачах целочисленной квадратичной оптимизации, Материалы второй конференции по целочисленному программированию и комбинаторной оптимизации (май 1992 г.).
  12. ^ 27. Камат А., Кармаркар Н.К. Непрерывный метод вычисления границ в задачах целочисленно-квадратичной оптимизации, Журнал глобальной оптимизации (1992).
  13. ^ Кармаркар, Н.К., За пределами выпуклости: новые перспективы в вычислительной оптимизации. Конспекты лекций Springer по информатике LNCS 6457, декабрь 2010 г.
  14. ^ Вандербей, Р.Дж.; Лагариас, Дж. К. (1990). «Результат сходимости И.И. Дикина для алгоритма аффинного масштабирования». Математические разработки, возникающие в результате линейного программирования (Брансуик, Мэн, 1988) . Современная математика. Том. 114. Провиденс, Род-Айленд: Американское математическое общество. стр. 109–119. дои : 10.1090/conm/114/1097868 . МР   1097868 .
  15. ^ Роберт Дж. Вандербей ; Мекетон, Марк; Фридман, Барри (1986). «Модификация алгоритма линейного программирования Кармаркара» (PDF) . Алгоритмика . 1 (1–4): 395–407. дои : 10.1007/BF01840454 . S2CID   779577 .
  16. ^ Алгоритм Кармаркара , IBM Research , получено 1 июня 2016 г.
  17. ^ Синха Л.П., Фридман Б.А., Кармаркар Н.К., Путча А. и Рамакришнан К.Г., Планирование зарубежных сетей, Материалы Третьего международного симпозиума по сетевому планированию, NETWORKS '86, Тарпон-Спрингс, Флорида (июнь 1986 г.).
  18. ^ Колата, Джина (12 марта 1989 г.). «ИДЕИ И ТЕНДЕНЦИИ; Математики обеспокоены претензиями на их рецепты» . Нью-Йорк Таймс .
  19. ^ Различные сообщения Мэтью Зальцмана, Университет Клемсона.
  20. ^ Гилл, Филип Э.; Мюррей, Уолтер; Сондерс, Майкл А.; Томлин, Дж.А.; Райт, Маргарет Х. (1986). «О методах спроецированного барьера Ньютона для линейного программирования и эквивалентности проективному методу Кармаркара». Математическое программирование . 36 (2): 183–209. дои : 10.1007/BF02592025 . S2CID   18899771 .
  21. ^ Jump up to: а б Эндрю Чин (2009). «Об абстракции и эквивалентности в патентной доктрине программного обеспечения: ответ Бессену, Мейреру и Клеменсу» (PDF) . Журнал права интеллектуальной собственности . 16 : 214–223.
  22. ^ Марк А. Пейли (1995). «Патент Кармаркара: почему Конгресс должен «открыть дверь» алгоритмам как патентоспособному объекту». 22 Компьютер Л. Реп.7
  23. ^ Маргарет Х. Райт (2004). «Революция внутренних точек в оптимизации: история, последние события и долгосрочные последствия» (PDF) . Бюллетень Американского математического общества . 42 : 39–56. дои : 10.1090/S0273-0979-04-01040-7 .
  24. ^ Марк С. Мекетон; Ю. К. Ченг; диджей Хоук; Ж.М.Лю; Л. Слуцман; Роберт Дж. Вандербей ; П. Ван (1989). «Система AT&T KORBX». Технический журнал AT&T . 68 (3): 7–19. дои : 10.1002/j.1538-7305.1989.tb00315.x . S2CID   18548851 .
  25. ^ Ловенштейн, Роджер (15 августа 1988 г.). «AT&T продает решение задач, основанное на находке гения-математика, за 8,9 миллиона долларов» (PDF) . Уолл Стрит Джорнал . Архивировано из оригинала (PDF) 8 июня 2016 года . Проверено 30 января 2016 г.
  26. ^ Маркофф, Джон (13 августа 1988 г.). «Большая AT&T. Компьютер для сложностей» . Нью-Йорк Таймс .
  27. ^ «Военные — первый заявленный клиент программного обеспечения AT&T» . Ассошиэйтед Пресс . АП Новости . Проверено 11 июня 2019 г.
  28. ^ Кеннингтон, Дж. Л. (1989). «Использование KORBX для военных воздушных перевозок». Материалы 28-й конференции IEEE по принятию решений и управлению . стр. 1603–1605. дои : 10.1109/CDC.1989.70419 . S2CID   60450719 .
  29. ^ «Хироши Конно: Патент и программное обеспечение Камаркара - стала ли математика патентоспособной . FFII Архивировано из оригинала 27 июня 2008 г. Проверено 27 июня 2008 г. » .
  30. ^ 409 США 63 (1972). Дело касалось алгоритма преобразования десятичных чисел в двоичном коде в чисто двоичные.
  31. ^ 450 США 175 (1981).
  32. ^ 450 США, 191. См. также Паркер против Флука , 437 US 584, 585 (1978) («открытие новой и полезной математической формулы не может быть запатентовано»).
  33. ^ 566 США __, 132 S. Ct. 1289 (2012).
  34. ^ Accord Alice Corp. против CLS Bank Int'l , 573 США __, 134 S. Ct. 2347 (2014).
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 2362f93c0bb0fed37bb3e40403a54d7a__1718616660
URL1:https://arc.ask3.ru/arc/aa/23/7a/2362f93c0bb0fed37bb3e40403a54d7a.html
Заголовок, (Title) документа по адресу, URL1:
Karmarkar's algorithm - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)