Jump to content

Проблема типа LP

При изучении алгоритмов ( проблема типа LP также называемая обобщенной линейной программой ) представляет собой задачу оптимизации , которая имеет определенные свойства, присущие низкоразмерным линейным программам , и может быть решена с помощью аналогичных алгоритмов. Задачи типа LP включают в себя множество важных задач оптимизации, которые сами по себе не являются линейными программами, например, задачу поиска наименьшего круга , содержащего заданный набор плоских точек. Их можно решить с помощью комбинации рандомизированных алгоритмов за время, линейное по количеству элементов, определяющих проблему, и субэкспоненциальное по размерности проблемы.

Определение

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

Проблемы типа LP были определены Шариром и Вельцлом (1992) как проблемы, в которых в качестве входных данных дается конечное множество S элементов и функция f , которая отображает подмножества S в значения из полностью упорядоченного набора. Функция должна удовлетворять двум ключевым свойствам:

  • Монотонность: для каждых двух множеств A B S , f ( A ) ⩽ f ( B ) ⩽ f ( S ).
  • Локальность: для каждых двух множеств A B S и каждого элемента x в S , если f ( A ) = f ( B ) = f ( A ∪ { x }) , то f ( A ) = f ( B ∪ { x }) .

Базисом имеет задачи типа LP является множество B S, обладающее тем свойством, что каждое собственное подмножество B меньшее значение f, чем само B , а размерность (или комбинаторная размерность ) задачи типа LP определяется как — максимальная мощность базиса.

Предполагается, что алгоритм оптимизации может оценивать функцию f только на множествах, которые сами являются базисами или образуются путем добавления одного элемента к базису. Альтернативно, алгоритм может быть ограничен двумя примитивными операциями: проверкой нарушения , которая определяет для базиса B и элемента x , является ли f ( B ) = f ( B ∪ { x }) , и вычислением базиса , которое (с тем же самым входы) находит базис B ∪ { x }. Задача алгоритма состоит в том, чтобы оценить f ( S ), используя только эти ограниченные оценки или примитивы.

Примеры и приложения

[ редактировать ]
Продолжительность: 6 секунд.
LP шары

Линейная программа может быть определена системой d неотрицательных действительных переменных с учетом n линейных ограничений-неравенств вместе с неотрицательной линейной целевой функцией, которую необходимо минимизировать. Это можно поместить в структуру задач типа LP, если S будет набором ограничений и определить f ( A ) (для подмножества A ограничений) как минимальное значение целевой функции меньшей линейной программы, определяемой формулой А. ​При подходящих предположениях общего положения (во избежание того, чтобы несколько точек решения имели одно и то же оптимальное значение целевой функции) это удовлетворяет требованиям монотонности и локальности задачи LP-типа и имеет комбинаторную размерность, равную числу d переменных. [1] Аналогично, целочисленная программа (состоящая из набора линейных ограничений и линейной целевой функции, как в линейной программе, но с дополнительным ограничением, согласно которому переменные должны принимать только целочисленные значения) удовлетворяет как свойствам монотонности, так и локальности ЛП. Задача -типа с теми же общими предположениями, что и для линейных программ. Теоремы Белла (1977) и Скарфа (1977) показывают, что для целочисленной программы с d переменными комбинаторная размерность не превышает 2 д . [1]

Многие естественные задачи оптимизации в вычислительной геометрии относятся к типу ЛП:

Задача наименьшего круга
  • Задача о наименьшем круге — это задача нахождения минимального радиуса круга, содержащего заданный набор из n точек на плоскости. Он удовлетворяет монотонности (добавление дополнительных точек может только увеличить круг) и локальности (если наименьший круг для множества A содержит B и x , то тот же круг также содержит B ∪ { x }). Поскольку наименьший круг всегда определяется тремя точками, задача наименьшего круга имеет комбинаторную размерность три, хотя она определяется с использованием двумерной евклидовой геометрии. [2] В более общем смысле, наименьший охватывающий шар точек в измерениях d образует задачу типа LP комбинаторной размерности d + 1 . Задачу о наименьшем круге можно обобщить на случай наименьшего шара, заключающего в себе набор шаров: [3] до наименьшего шара, который касается или окружает каждый из набора шаров, [4] к взвешенной задаче 1 центра , [5] или к аналогичным проблемам с вмещающим шаром меньшего размера в неевклидовых пространствах, таких как пространство с расстояниями, определяемыми дивергенцией Брегмана . [6] Связанная с этим проблема поиска наименьшего охватывающего эллипсоида также является проблемой типа LP, но с большей комбинаторной размерностью d ( d + 3)/2 . [7]
  • Пусть K 0 , K 1 , ... — последовательность из n выпуклых множеств в d -мерном евклидовом пространстве и предположим, что мы хотим найти самый длинный префикс этой последовательности, имеющий общую точку пересечения. Это можно выразить как задачу типа ЛП, в которой f ( A ) = − i , где K i — первый член A , не принадлежащий пересекающемуся префиксу A , и где f ( A ) = − n, если существует нет такого члена. Комбинаторная размерность этой системы равна d + 1 . [8]
  • Предположим, нам дан набор прямоугольных блоков, выровненных по осям, в трехмерном пространстве, и мы хотим найти линию, направленную в положительный октант пространства, которая пересекает все блоки. Это можно выразить как задачу типа ЛП с комбинаторной размерностью 4. [9]
  • Задачу нахождения ближайшего расстояния между двумя выпуклыми многогранниками , заданными их наборами вершин, можно представить как задачу LP-типа. В этой формулировке набор S представляет собой набор всех вершин в обоих многогранниках, а значение функции f ( A ) представляет собой отрицание наименьшего расстояния между выпуклыми оболочками двух подмножеств A вершин в двух многогранниках. Комбинаторная размерность задачи равна d + 1 , если два многогранника не пересекаются, или d + 2, если они имеют непустое пересечение. [1]
  • Пусть S = { f 0 , f 1 , ... } — набор квазивыпуклых функций . Тогда поточечный максимум max i fi сам по себе является квазивыпуклым, и задача нахождения минимального значения max i fi является задачей типа LP. Он имеет комбинаторную размерность не более 2 d + 1 , где d — размерность области определения функций, но для достаточно гладких функций комбинаторная размерность меньше, не более d + 1 . Многие другие задачи типа ЛП также можно выразить с помощью квазивыпуклых функций; например, проблема наименьшего охватывающего круга — это задача минимизации max i fi , где каждая из функций fi измеряет евклидово расстояние от одной из заданных точек. [10]

Задачи типа LP также использовались для определения оптимальных результатов некоторых игр в алгоритмической теории игр . [11] улучшить размещение вершин в сетках метода конечных элементов , [12] решить проблемы с размещением объектов , [13] анализировать временную сложность некоторых алгоритмов поиска с экспоненциальным временем, [14] и восстанавливать трехмерное положение объектов по их двухмерным изображениям. [15]

Алгоритмы

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

Зейдель (1991) предложил алгоритм маломерного линейного программирования, который можно адаптировать к структуре задач типа LP. Алгоритм Зейделя принимает на вход набор S и отдельный набор X (изначально пустой) элементов, о которых известно, что они принадлежат оптимальному базису. Затем он рассматривает оставшиеся элементы один за другим в случайном порядке, выполняя тесты на нарушение для каждого из них и, в зависимости от результата, выполняя рекурсивный вызов того же алгоритма с большим набором известных базисных элементов. Это можно выразить с помощью следующего псевдокода:

function seidel(S, f, X) is
    R := empty set
    B := X
    for x in a random permutation of S:
        if f(B) ≠ f(B ∪ {x}):
            B := seidel(R, f, X ∪ {x})
        R := R ∪ {x}
    return B

В задаче с комбинаторной размерностью d проверка нарушения на i -й итерации алгоритма не удалась только тогда, когда x является одним из d − | Х | оставшиеся базисные элементы, что происходит с вероятностью не более ( d − | X |)/ i . На основе этого расчета можно показать, что общее ожидаемое количество тестов на нарушения, выполняемых алгоритмом, равно O( d ! n) , линейное по n , но хуже, чем экспоненциальное по d .

Кларксон

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

Кларксон (1995) определяет два алгоритма, рекурсивный алгоритм и итерационный алгоритм, для линейного программирования, основанного на методах случайной выборки, и предлагает комбинацию этих двух алгоритмов, которая вызывает итерационный алгоритм из рекурсивного алгоритма. Рекурсивный алгоритм неоднократно выбирает случайные выборки, размер которых примерно равен квадратному корню из входного размера, рекурсивно решает проблему выборки, а затем использует тесты на нарушения, чтобы найти подмножество оставшихся элементов, которое должно включать хотя бы один базовый элемент:

function recursive(S, f) is
    X := empty set
    repeat
        R := a random subset of S with size d√n
        B := basis for RX, computed recursively
        V := {x | f(B) ≠ f(B ∪ {x})}
        X := XV
    until V is empty
    return B

На каждой итерации ожидаемый размер V равен O( n ) , [16] и всякий раз, когда V непусто, он включает по крайней мере один новый элемент конечного базиса S . Следовательно, алгоритм выполняет не более d итераций, каждая из которых выполняет n тестов на нарушение и делает один рекурсивный вызов подзадачи размером O( d n ) .

Итерационный алгоритм Кларксона присваивает веса каждому элементу S , первоначально все они равны. Затем он выбирает набор R из 9 d 2 элементы из S случайным образом и вычисляет наборы B и V , как в предыдущем алгоритме. Если общий вес V не более чем в 2/(9 d − 1) раз превышает общий вес S (как это происходит с постоянной вероятностью), то алгоритм удваивает веса каждого элемента V и, как и прежде, повторяет этот процесс до тех пор, пока V становится пустым. Можно показать, что на каждой итерации вес оптимального базиса увеличивается с большей скоростью, чем общий вес S , из чего следует, что алгоритм должен завершиться за O(log n ) итераций.

Используя рекурсивный алгоритм для решения заданной задачи, переключившись на итерационный алгоритм для его рекурсивных вызовов, а затем снова переключившись на алгоритм Зейделя для вызовов, сделанных итеративным алгоритмом, можно решить данную задачу типа LP, используя O( дн + д ! О(1) log n ) тесты на нарушение.

Применительно к линейной программе этот алгоритм можно интерпретировать как двойной симплексный метод . [17] С помощью некоторых дополнительных вычислительных примитивов, помимо проверки на нарушение и примитивов базисных вычислений, этот метод можно сделать детерминированным. [18]

Матушек, Шарир и Вельцль

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

Матушек, Шарир и Вельцль (1996) описывают алгоритм, который использует дополнительное свойство линейных программ, которое не всегда сохраняется в других задачах типа LP, а именно: все базы имеют одинаковую мощность друг друга. Если задача типа LP не обладает этим свойством, ее можно добиться, добавив d новых фиктивных элементов и изменив функцию f так, чтобы она возвращала упорядоченную пару ее старого значения f ( A ) и числа min( d ,| A |) , упорядоченный лексикографически .

Вместо того, чтобы добавлять элементы S по одному или находить образцы элементов, Матушек, Шарир и Вельцль (1996) описывают алгоритм, который удаляет элементы по одному. На каждом этапе он поддерживает базис C , который первоначально может быть набором фиктивных элементов. Его можно описать следующим псевдокодом:

function msw(S, f, C) is
    if S = C then
        return C
    choose a random element x of S \ C
    B = msw(S \ x, f, C)
    if f(B) ≠ f(B ∪ {x}) then
        B := basis(B ∪ {x})
        B := msw(S, f, B)
    return B

В большинстве рекурсивных вызовов алгоритма проверка на нарушение завершается успешно, а оператор if пропускается. Однако с небольшой вероятностью тест на нарушение не пройден, и алгоритм выполняет дополнительные базисные вычисления, а затем дополнительный рекурсивный вызов. Как показывают авторы, ожидаемое время алгоритма линейно по n и экспоненциально по квадратному корню из d log n . Комбинируя этот метод с рекурсивными и итеративными процедурами Кларксона, эти две формы зависимости от времени можно отделить друг от друга, в результате чего получается алгоритм, выполняющий тесты на нарушение O( dn ) во внешнем рекурсивном алгоритме и экспоненциальное число во внешнем рекурсивном алгоритме. квадратный корень из d log d на нижних уровнях алгоритма. [19]

Вариации

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

Оптимизация с выбросами

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

Матушек (1995) рассматривает вариант задач оптимизации типа LP, в которых вместе с набором S и целевой функцией f задано число k ; задача состоит в том, чтобы удалить k элементов из S , чтобы сделать целевую функцию на оставшемся множестве как можно меньшей. Например, применительно к задаче о наименьшем круге это даст наименьший круг, содержащий все кроме k заданные плоские точки, . Он показывает, что для всех невырожденных задач типа ЛП (т. е. задач, в которых все базисы имеют различные значения) эта задача может быть решена за время O( nk д ) , решив набор O( k д ) Проблемы типа LP, определяемые подмножествами S .

Неявные проблемы

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

Некоторые задачи геометрической оптимизации могут быть выражены как задачи типа LP, в которых количество элементов в формулировке типа LP значительно больше, чем количество значений входных данных для задачи оптимизации. В качестве примера рассмотрим набор из n точек плоскости, каждая из которых движется с постоянной скоростью. В любой момент времени диаметр этой системы равен максимальному расстоянию между двумя ее точками. Задачу нахождения момента времени, в который диаметр минимизируется, можно сформулировать как минимизацию поточечного максимума O( n 2 ) квазивыпуклые функции, по одной на каждую пару точек, измеряющие евклидово расстояние между парой как функцию времени. Таким образом, ее можно решить как задачу типа ЛП комбинаторной размерности два на множестве O( n 2 ) элементов, но этот набор существенно больше количества входных точек. [20]

Чан (2004) описывает алгоритм решения неявно определенных задач типа LP, таких как эта, в которой каждый элемент типа LP определяется k -кортежом входных значений для некоторой константы k . Чтобы применить его подход, должен существовать алгоритм решения , который может определить для данного базиса B типа LP и набора S из n входных значений, является ли B базисом для проблемы типа LP, определяемой S .

Алгоритм Чана выполняет следующие шаги:

  • Если количество входных значений ниже некоторого порогового значения, найдите набор элементов типа LP, который он определяет, и решите полученную явную задачу типа LP.
  • В противном случае разделите входные значения на подходящее число, большее, чем k подмножеств одинакового размера S i .
  • Если f является целевой функцией для неявно определенной проблемы типа LP, которую необходимо решить, затем определите функцию g , которая отображает коллекции подмножеств Si в значение f в объединении коллекции. Тогда совокупность подмножеств Si . и целевая функция g сами по себе определяют задачу LP-типа той же размерности, что и неявная задача, которую необходимо решить
  • Решите (явную) задачу типа LP, определенную g, с помощью алгоритма Кларксона, который выполняет линейное количество тестов на нарушение и полилогарифмическое количество базовых оценок. Базисные оценки для g могут выполняться посредством рекурсивных вызовов алгоритма Чана, а проверки нарушений могут выполняться посредством вызовов алгоритма принятия решения.

Предполагая, что алгоритм принятия решения занимает некоторое время O( T ( n ) ) , которое растет по крайней мере полиномиально в зависимости от размера входных данных n , Чен показывает, что порог для переключения на явную формулировку LP и количество подмножеств в разбиении можно выбрать таким образом, чтобы неявный алгоритм оптимизации типа LP также выполнялся за время O( T ( n )) .

Например, для минимального диаметра движущихся точек алгоритму решения необходимо только вычислить диаметр набора точек в фиксированное время - проблема, которую можно решить за время O( n log n ), используя метод вращающихся штангенциркулей . Следовательно, алгоритм Чана для нахождения времени минимизации диаметра также требует времени O( n log n ) . Чан использует этот метод, чтобы найти точку максимальной глубины Тьюки среди заданного набора из n точек в d -мерном евклидовом пространстве за время O( n д - 1 + п журнал п ) . Похожий метод использовался Брассом, Генрихом-Литаном и Морином (2003), чтобы найти точку максимальной глубины Тьюки для равномерного распределения на выпуклом многоугольнике.

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

Открытие алгоритмов линейного времени для линейного программирования и наблюдение того, что одни и те же алгоритмы во многих случаях могут использоваться для решения задач геометрической оптимизации, которые не являются линейными программами, восходят, по крайней мере, к Мегиддо ( 1983 , 1984 ), который дал линейное ожидаемое время. алгоритм как для линейных программ с тремя переменными, так и для задачи наименьшего круга. Однако Мегиддо сформулировал обобщение линейного программирования геометрически, а не комбинаторно, как задачу выпуклой оптимизации , а не как абстрактную задачу о системах множеств. Точно так же Дайер (1986) и Кларксон (в версии Clarkson 1995 , представленной на конференции 1988 года ) заметили, что их методы можно применять как к выпуклым программам, так и к линейным программам. Дайер (1992) показал, что задачу минимального охватывающего эллипсоида можно также сформулировать как задачу выпуклой оптимизации, добавив небольшое количество нелинейных ограничений. Использование рандомизации для улучшения временных ограничений для низкоразмерного линейного программирования и связанных с ним задач было впервые использовано Кларксоном и Дайер и Фриз (1989) .

Определение задач LP-типа в терминах функций, удовлетворяющих аксиомам локальности и монотонности, взято из Шарира и Вельцла (1992) , но другие авторы в тот же период времени сформулировали альтернативные комбинаторные обобщения линейных программ. Например, в системе, разработанной (1995) , функция f заменяется полным упорядочением на подмножествах S. Гертнером В задаче типа ЛП можно разорвать связи и создать тотальный порядок, но только за счет увеличения комбинаторной размерности. [21] Кроме того, как и в задачах типа LP, Гертнер определяет определенные примитивы для выполнения вычислений над подмножествами элементов; однако его формализация не имеет аналога комбинаторного измерения.

Другое абстрактное обобщение как линейных программ, так и задач линейной дополнительности , сформулированное Стикни и Уотсоном (1978) и позднее изученное несколькими другими авторами, касается ориентации ребер гиперкуба , при которой каждая грань гиперкуба (включая весь гиперкуб) как грань) имеет уникальный сток — вершину, не имеющую исходящих ребер. Ориентацию этого типа можно сформировать из задачи типа LP, сопоставляя подмножества S вершинам гиперкуба таким образом, чтобы два подмножества отличались одним элементом тогда и только тогда, когда соответствующие вершины смежны, и ориентируя ребро между соседними множествами A B в сторону B, если f ( A ) ≠ f ( B ), и в сторону A в противном случае. Полученная ориентация обладает дополнительным свойством, заключающимся в том, что она образует ориентированный ациклический граф , из которого можно показать, что рандомизированный алгоритм может найти уникальный сток всего гиперкуба (оптимальный базис задачи типа LP) за несколько шагов. экспонента от квадратного корня из н . [22]

Недавно разработанная структура пространств нарушителей обобщает проблемы типа LP в том смысле, что каждая проблема типа LP может быть смоделирована пространством нарушителей, но не обязательно наоборот. Пространства нарушителей определяются аналогично задачам типа LP с помощью функции f, которая отображает множества в значения целевой функции, но значения f не упорядочены. Несмотря на отсутствие порядка, каждое множество S имеет четко определенный набор базисов (минимальные наборы с тем же значением, что и все множество), которые можно найти с помощью вариаций алгоритмов Кларксона для задач типа LP. Действительно, было показано, что пространства нарушителей точно характеризуют системы, которые можно решить с помощью алгоритмов Кларксона. [23]

Примечания

[ редактировать ]
  1. ^ Jump up to: Перейти обратно: а б с Матоусек, Шарир и Вельцль (1996) .
  2. ^ Хотя проблема наименьшего круга была впервые заявлена ​​как проблема типа LP Матушеком, Шариром и Вельцлем (1996) , в нескольких более ранних статьях описывались алгоритмы для этой проблемы, основанные на идеях низкомерного линейного программирования, включая Мегиддо (1983) и Вельцль (1991) .
  3. ^ Фишер и Гертнер (2004) .
  4. ^ Леффлер и ван Кревелд (2010) .
  5. ^ Дайер (1986) .
  6. ^ Нильсен и Нок (2008) .
  7. ^ Матоусек, Шарир и Вельцль (1996) ; Вельцль (1991) .
  8. ^ Чан (2004) .
  9. ^ Амента (1994) .
  10. ^ Амента, Берн и Эппштейн (1999) ; Эпштейн (2005) .
  11. ^ Халман (2007) .
  12. ^ Амента, Берн и Эппштейн (1999) .
  13. ^ Порт, Родригес-Чиа и Тамир (2010) .
  14. ^ Эппштейн (2006) .
  15. ^ Это (2007) .
  16. ^ хвостовые границы размера V Также известны : см. Gärtner & Welzl (2001) .
  17. ^ Резьба (1992) .
  18. ^ Шазель и Матушек (1996) .
  19. ^ Матушек, Шарир и Вельцль (1996) . Очень похожая временная граница для линейного программирования была дана Калаем (1992) .
  20. ^ Формулировка этой проблемы типа LP была дана Чаном (2004) , но ранее она изучалась с использованием других алгоритмических методов Гуптой, Джанарданом и Смидом (1996) . Чен также цитирует неопубликованную рукопись Кларксона, посвященную алгоритму времени O( n log n ) , соответствующему времени, которое может быть достигнуто с помощью неявного подхода типа LP.
  21. ^ Матоусек (2009) .
  22. ^ Сабо и Вельцль (2001) .
  23. ^ Гертнер и др. (2008) ; Бриз и Гертнер (2011) .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 905c618d8fe469f0ae0d53935ca5bbde__1710127740
URL1:https://arc.ask3.ru/arc/aa/90/de/905c618d8fe469f0ae0d53935ca5bbde.html
Заголовок, (Title) документа по адресу, URL1:
LP-type problem - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)