Problem typu LP

W badaniu algorytmów problem typu LP (zwany także uogólnionym programem liniowym ) jest problemem optymalizacyjnym , który ma pewne właściwości wspólne z niskowymiarowymi programami liniowymi i który można rozwiązać za pomocą podobnych algorytmów. Problemy typu LP obejmują wiele ważnych problemów optymalizacyjnych, które same w sobie nie są programami liniowymi, takich jak problem znalezienia najmniejszego okręgu zawierającego dany zbiór punktów planarnych. Można je rozwiązać za pomocą kombinacji losowych algorytmów w określonym czasie liniowy pod względem liczby elementów definiujących problem i podwykładniczy w wymiarze problemu.

Definicja

Problemy typu LP zostały zdefiniowane przez Sharira i Welzla (1992) jako problemy, w których jako dane wejściowe podaje się skończony zbiór S elementów oraz funkcję f , która odwzorowuje podzbiory S na wartości z całkowicie uporządkowanego zbioru. Funkcja musi spełniać dwie kluczowe właściwości:

  • Monotoniczność: dla każdych dwóch zbiorów A B S , f ( A ) ≤ f ( B ) ≤ f ( S ).
  • Lokalność: dla każdych dwóch zbiorów A B S i każdego elementu x w S , jeśli f ( A ) = f ( B ) = f ( A ∪ { x }) , to f ( A ) = f ( B ∪ { x }) .

Podstawą problemu typu LP jest zbiór B S z tą właściwością, że każdy właściwy podzbiór B ma mniejszą wartość f niż samo B , a wymiar (lub wymiar kombinatoryczny ) problemu typu LP jest zdefiniowany jako będzie maksymalną licznością bazy.

Zakłada się, że algorytm optymalizacyjny może oceniać funkcję f tylko na zbiorach, które same są bazami lub które powstają przez dodanie do bazy pojedynczego elementu. Alternatywnie, algorytm można ograniczyć do dwóch prymitywnych operacji: testu naruszenia , który określa, dla bazy B i elementu x , czy f ( B ) = f ( B ∪ { x }) , oraz obliczenia podstawy , które (z tym samym dane wejściowe) znajduje bazę B ∪ { x }. Zadaniem algorytmu jest oszacowanie f ( S ) tylko przy użyciu tych ograniczonych ocen lub prymitywów.

Przykłady i zastosowania

Piłki LP

Program liniowy można zdefiniować za pomocą układu d nieujemnych zmiennych rzeczywistych , podlegających n liniowym ograniczeniom nierówności, wraz z nieujemną liniową funkcją celu, którą należy zminimalizować. Można to umieścić w ramach problemów typu LP, pozwalając S być zbiorem ograniczeń i definiując f ( A ) (dla podzbioru A ograniczeń) jako minimalną wartość funkcji celu mniejszego programu liniowego zdefiniowanego przez A . Przy odpowiednich ogólnych założeniach dotyczących pozycji (aby zapobiec temu, aby wiele punktów rozwiązania miało tę samą optymalną wartość funkcji celu), spełnia to wymagania monotoniczności i lokalności problemu typu LP i ma wymiar kombinatoryczny równy liczbie d zmiennych . Podobnie program całkowitoliczbowy (składający się ze zbioru ograniczeń liniowych i liniowej funkcji celu, jak w programie liniowym, ale z dodatkowym ograniczeniem, że zmienne muszą przyjmować tylko wartości całkowite) spełnia zarówno właściwości monotoniczności, jak i lokalności problemu typu LP, z te same ogólne założenia dotyczące pozycji, jak dla programów liniowych. Twierdzenia Bella (1977) i Scarfa (1977) pokazują, że dla programu całkowitoliczbowego z d zmiennymi wymiar kombinatoryczny wynosi co najwyżej 2 d .

Wiele naturalnych problemów optymalizacyjnych w geometrii obliczeniowej jest typu LP:

Problem najmniejszego koła
  • najmniejszego koła to problem znalezienia minimalnego promienia okręgu zawierającego dany zbiór n punktów na płaszczyźnie. Spełnia monotoniczność (dodanie większej liczby punktów może tylko powiększyć okrąg) i lokalność (jeśli najmniejszy okrąg dla zbioru A zawiera B i x , to ten sam okrąg zawiera również B ∪ { x }). Ponieważ najmniejszy okrąg jest zawsze określony przez jakieś trzy punkty, problem najmniejszego koła ma trzeci wymiar kombinatoryczny, mimo że jest zdefiniowany za pomocą dwuwymiarowej geometrii euklidesowej. Mówiąc bardziej ogólnie, najmniejsza otaczająca kula punktów w d tworzą problem typu LP o wymiarze kombinatorycznym d + 1 . Problem najmniejszego koła można uogólnić na najmniejszą kulę zawierającą zestaw kul, na najmniejszą kulkę, która dotyka lub otacza każdy zestaw kul, na ważony problem 1-środka lub na podobne problemy z mniejszymi otaczającymi kulkami w nie- Przestrzenie euklidesowe, takie jak przestrzeń z odległościami określonymi przez dywergencję Bregmana . Powiązany problem znalezienia najmniejszej obejmującej elipsoidy jest również problemem typu LP, ale ma większy wymiar kombinatoryczny, d ( re + 3)/2 .
  • Niech 0 K , K 1 , ... będzie ciągiem n zbiorów wypukłych w d -wymiarowej przestrzeni euklidesowej i załóżmy, że chcemy znaleźć najdłuższy przedrostek tego ciągu, który ma wspólny punkt przecięcia. Można to wyrazić jako problem typu LP, w którym f ( A ) = − i gdzie K i jest pierwszym elementem A , który nie należy do przecinającego się przedrostka A , i gdzie f ( A ) = − n jeśli nie ma takiego członka. Wymiar kombinatoryczny tego systemu to d + 1 .
  • Załóżmy, że mamy zbiór ustawionych w osi prostokątnych pudełek w trójwymiarowej przestrzeni i chcemy znaleźć linię skierowaną do dodatniej oktany przestrzeni, która przecina wszystkie pudełka. Można to wyrazić jako problem typu LP o kombinatorycznym wymiarze 4.
  • Problem znalezienia najbliższej odległości między dwoma wypukłymi polytopami , określonymi przez ich zbiory wierzchołków, można przedstawić jako problem typu LP. W tym sformułowaniu zbiór S jest zbiorem wszystkich wierzchołków w obu polytopach, a wartość funkcji f ( A ) jest negacją najmniejszej odległości między wypukłymi otoczkami dwóch podzbiorów A wierzchołków w dwóch polytopach. Kombinatoryczny wymiar problemu to d + 1, jeśli dwa polytopy są rozłączne, lub d + 2 , jeśli mają niepuste skrzyżowanie.
  • Niech 0 S = { f , f 1 , ... } będzie zbiorem funkcji quasiwypukłych . Wówczas max i fi jest punktowe maksimum max i fi problemem jest samo w sobie quasi-wypukłe, a problem znalezienia minimalnej wartości typu LP. Ma wymiar kombinatoryczny co najwyżej 2 d + 1 , gdzie d jest wymiarem dziedziny funkcji, ale dla wystarczająco gładkich funkcji wymiar kombinatoryczny jest mniejszy, co najwyżej re + 1 . Wiele innych problemów typu LP można również wyrazić w ten sposób za pomocą funkcji quasi-wypukłych; fi okręgu otaczającego jest problem minimalizacji max i fi , gdzie każda z funkcji mierzy odległość euklidesową od jednego z podanych punktów.

Problemy typu LP zostały również wykorzystane do określenia optymalnych wyników niektórych gier w algorytmicznej teorii gier , poprawy rozmieszczenia wierzchołków w siatkach metody elementów skończonych , rozwiązania problemów lokalizacji obiektów , analizy złożoności czasowej niektórych algorytmów wyszukiwania w czasie wykładniczym i zrekonstruowania trójwymiarowe pozycje obiektów z ich dwuwymiarowych obrazów.

Algorytmy

Seidela

Seidel (1991) podał algorytm niskowymiarowego programowania liniowego, który można dostosować do struktury problemu typu LP. Algorytm Seidela przyjmuje jako dane wejściowe zbiór S i oddzielny zbiór X (początkowo pusty) elementów, o których wiadomo, że należą do bazy optymalnej. Następnie analizuje pozostałe elementy jeden po drugim w przypadkowej kolejności, przeprowadzając testy naruszeń dla każdego z nich i, w zależności od wyniku, wykonując rekurencyjne wywołanie tego samego algorytmu z większym zestawem znanych elementów podstawowych. Można to wyrazić następującym pseudokodem:

    
       funkcja  seidel(  S  ,  f  ,  X  )  to  R  := zbiór pusty  B  :=  X  dla  x  w losowej permutacji  S  :  if  (  B  ) ≠  f  (  B  ∪ {  x  }):  B :   =  seidel(  R  ,  fa  ,  X  ∪ {  x  })  R  :=  R   ∪ {  x  }  powrót  B 

W problemie o kombinatorycznym wymiarze d test łamania w i - tej iteracji algorytmu kończy się niepowodzeniem tylko wtedy, gdy x jest jednym z d − | X | pozostałych elementów bazowych, co dzieje się co najwyżej z prawdopodobieństwem ( d − | X |)/ i . Na podstawie tych obliczeń można wykazać, że ogólnie oczekiwana liczba testów naruszeń przeprowadzonych przez algorytm wynosi O( d ! n) , liniowo w n , ale gorzej niż wykładniczo w re .

Clarksona

Clarkson (1995) definiuje dwa algorytmy, algorytm rekurencyjny i algorytm iteracyjny, do programowania liniowego opartego na technikach losowego próbkowania i sugeruje kombinację tych dwóch, która wywołuje algorytm iteracyjny z algorytmu rekurencyjnego. Algorytm rekurencyjny wielokrotnie wybiera losowe próbki, których rozmiar jest w przybliżeniu pierwiastkiem kwadratowym z rozmiaru wejściowego, rekurencyjnie rozwiązuje próbkowany problem, a następnie używa testów naruszenia, aby znaleźć podzbiór pozostałych elementów, który musi zawierać co najmniej jeden element podstawowy:

    
        
      funkcja  rekurencyjna(  S  ,  f  )  to  X  :=  powtórzenie zbioru pustego   R  := losowy podzbiór  S  o rozmiarze d√n  B  := baza dla  R  X  , obliczona rekurencyjnie  V  := {  x  |  fa  (  b  ) ≠  fa  (  b  ∪ {  x  })}  X  :=  X  V  do  V   jest pusty  powrót  B 

W każdej iteracji oczekiwany rozmiar V to O( n ) , a zawsze, gdy V jest niepuste, zawiera co najmniej jeden nowy element ostatecznej bazy S . Dlatego algorytm wykonuje co najwyżej iteracje , z których każda wykonuje n testów naruszenia i wykonuje pojedyncze rekurencyjne wywołanie podproblemu o rozmiarze O( d n ) .

Algorytm iteracyjny Clarksona przypisuje wagi każdemu elementowi S , początkowo wszystkie są równe. Następnie wybiera losowo zbiór R składający się z 9 d 2 elementów z S i oblicza zbiory B i V , tak jak w poprzednim algorytmie. Jeśli całkowita waga V jest co najwyżej 2/(9 d - 1) razy większa od całkowitej wagi S (co dzieje się ze stałym prawdopodobieństwem), to algorytm podwaja wagi każdego elementu V i tak jak poprzednio powtarza ten proces, aż V stanie się pusty. W każdej iteracji można wykazać, że waga podstawy optymalnej rośnie szybciej niż całkowita waga S , z czego wynika, że ​​algorytm musi kończyć się w ciągu O(log n ) iteracji.

Wykorzystując algorytm rekurencyjny do rozwiązania danego problemu, przełączając się na algorytm iteracyjny dla jego wywołań rekurencyjnych, a następnie ponownie przełączając się na algorytm Seidela dla wywołań wykonywanych przez algorytm iteracyjny, możliwe jest rozwiązanie danego problemu typu LP za pomocą O ( dn + d ! d O(1) log n ) testy naruszenia.

W zastosowaniu do programu liniowego algorytm ten można interpretować jako metodę dual simplex . Z pewnymi dodatkowymi prymitywami obliczeniowymi poza testem naruszenia i podstawowymi prymitywami obliczeniowymi, metoda ta może być deterministyczna.

Matoušek, Sharir i Welzl

Matoušek, Sharir i Welzl (1996) opisują algorytm, który wykorzystuje dodatkową właściwość programów liniowych, która nie zawsze jest utrzymywana przez inne problemy typu LP, że wszystkie bazy mają tę samą liczność względem siebie. Jeśli problem typu LP nie ma tej właściwości, można go mieć, dodając d nowych elementów fikcyjnych i modyfikując funkcję f , aby zwracała uporządkowanej parze jej starą wartość f ( A ) i liczbę min ( d , | A |) , uporządkowane leksykograficznie .

Zamiast dodawać elementy S pojedynczo lub znajdować próbki elementów, Matoušek, Sharir i Welzl (1996) opisują algorytm, który usuwa elementy pojedynczo. Na każdym kroku utrzymuje bazę C , która początkowo może być zbiorem elementów fikcyjnych. Można to opisać następującym pseudokodem:

      
         
     
         funkcja  msw(  S  ,  f  ,  C  )  to  jeśli  S  =  C  to  zwróć  C  wybierz losowy element x z  S  \  C  B  = msw(  S  \  x  ,  f  ,  C  )  jeśli  f  (  B  ) ≠ f(B ∪ {x })  następnie  B  := podstawa(  B  ∪ {  x  })  B  := msw(   S  ,  fa  ,  B  )  powrót  B 

W większości rekurencyjnych wywołań algorytmu test naruszenia kończy się powodzeniem i instrukcja if jest pomijana. Jednak z małym prawdopodobieństwem test łamania kończy się niepowodzeniem i algorytm wykonuje dodatkowe obliczenie bazy, a następnie dodatkowe wywołanie rekurencyjne. Jak pokazują autorzy, oczekiwany czas algorytmu jest liniowy w n i wykładniczy w pierwiastku kwadratowym z d log n . Łącząc tę ​​​​metodę z rekurencyjnymi i iteracyjnymi procedurami Clarksona, te dwie formy zależności od czasu można od siebie oddzielić, co daje algorytm wykonujący O ( dn ) testy naruszenia w zewnętrznym algorytmie rekurencyjnym i liczba, która jest wykładnicza w pierwiastku kwadratowym z d log d na niższych poziomach algorytmu.

Wariacje

Optymalizacja z wartościami odstającymi

Matoušek (1995) rozważa odmianę problemów optymalizacyjnych typu LP, w których razem ze zbiorem S i funkcją celu f dana jest liczba k ; zadaniem jest usunięcie k elementów z S , aby funkcja celu na pozostałym zbiorze była jak najmniejsza. Na przykład, po zastosowaniu do problemu najmniejszego koła, dałoby to najmniejsze koło, które zawiera wszystko oprócz k danego zbioru punktów planarnych. Pokazuje, że dla wszystkich niezdegenerowanych problemów typu LP (tj. problemów, w których wszystkie podstawy mają różne wartości) problem ten można rozwiązać w czasie O( nk d ) , rozwiązując zbiór O ( k d ) LP -problemy typu zdefiniowane przez podzbiory S .

Ukryte problemy

Niektóre problemy optymalizacji geometrycznej można wyrazić jako problemy typu LP, w których liczba elementów w sformułowaniu typu LP jest znacznie większa niż liczba wartości danych wejściowych dla problemu optymalizacji. Jako przykład rozważmy zbiór n punktów na płaszczyźnie, z których każdy porusza się ze stałą prędkością. W dowolnym momencie średnica tego układu jest maksymalną odległością między dwoma jego punktami. Problem znalezienia czasu, w którym średnica jest minimalizowana, można sformułować jako minimalizację punktowego maksimum O( n 2 ) funkcje kwaziwypukłe, po jednej dla każdej pary punktów, mierzące odległość euklidesową między parą w funkcji czasu. Zatem można go rozwiązać jako problem typu LP o kombinatorycznym wymiarze dwa na zbiorze O( n 2 ) , ale zbiór ten jest znacznie większy niż liczba punktów wejściowych.

Chan (2004) opisuje algorytm rozwiązywania niejawnie zdefiniowanych problemów typu LP, takich jak ten, w którym każdy element typu LP jest określony przez k - krotkę wartości wejściowych dla pewnej stałej k . Aby zastosować jego podejście, musi istnieć algorytm decyzyjny , który może określić, dla danej bazy B typu LP i zbioru S n wartości wejściowych, czy B jest bazą dla problemu typu LP określonego przez S .

Algorytm Chana wykonuje następujące kroki:

  • Jeśli liczba wartości wejściowych jest poniżej pewnej wartości progowej, znajdź zestaw elementów typu LP, który określa i rozwiąż wynikowy jawny problem typu LP.
  • W przeciwnym razie podziel wartości wejściowe na odpowiednią liczbę większą od k równych podzbiorów S i .
  • Jeśli f jest funkcją celu dla niejawnie zdefiniowanego problemu typu LP, który ma zostać rozwiązany, to zdefiniuj funkcję g , która odwzorowuje zbiory podzbiorów Si na wartość f na sumie zbioru. Wówczas zbiór podzbiorów S i oraz sama funkcja celu g definiuje problem typu LP, o tym samym wymiarze co uwikłany problem do rozwiązania.
  • Rozwiąż (jawny) problem typu LP zdefiniowany przez g za pomocą algorytmu Clarksona, który przeprowadza liniową liczbę testów naruszenia i polilogarytmiczną liczbę ocen bazowych. Oceny bazowe dla g mogą być wykonywane przez rekurencyjne wywołania algorytmu Chana, a testy łamania przez wywołania algorytmu decyzyjnego.

Przy założeniu, że algorytm decyzyjny zajmuje pewien czas O( T ( n )) , który rośnie co najmniej wielomianowo jako funkcja wielkości wejściowej n , Chan pokazuje, że próg przełączania na jawne sformułowanie LP i liczba podzbiorów w podziale można wybrać w taki sposób, aby niejawny algorytm optymalizacji typu LP działał również w czasie O( T ( n )) .

Na przykład dla minimalnej średnicy ruchomych punktów algorytm decyzyjny musi jedynie obliczyć średnicę zestawu punktów w ustalonym czasie, problem, który można rozwiązać w czasie O ( n log n ) za pomocą techniki obrotowych suwmiarek . Dlatego algorytm Chana do znajdowania czasu, w którym średnica jest minimalizowana, również wymaga czasu O( n log n ) . Chan używa tej metody, aby znaleźć punkt o maksymalnej głębokości Tukeya wśród danego zbioru n punktów w d -wymiarowa przestrzeń euklidesowa w czasie O( n d − 1 + n log n ) . Podobną technikę zastosowali Braß, Heinrich-Litan i Morin (2003) , aby znaleźć punkt o maksymalnej głębokości Tukeya dla rozkładu jednorodnego na wypukłym wielokącie.

Historia i problemy z nią związane

Odkrycie liniowych algorytmów czasu dla programowania liniowego i obserwacja, że ​​te same algorytmy mogą w wielu przypadkach być użyte do rozwiązywania problemów optymalizacji geometrycznej, które nie były programami liniowymi, sięga co najmniej Megiddo (1983, 1984), który podał liniowy oczekiwany czas algorytm zarówno dla programów liniowych z trzema zmiennymi, jak i problemu najmniejszego koła. Jednak Megiddo sformułował uogólnienie programowania liniowego raczej geometrycznie niż kombinatorycznie, jako optymalizacji wypukłej , a nie abstrakcyjny problem dotyczący systemów zbiorów. Podobnie Dyer (1986) i Clarkson (w wersji konferencyjnej Clarkson 1995 z 1988 r .) zauważyli, że ich metody można zastosować zarówno do programów wypukłych, jak i programów liniowych. Dyer (1992) wykazał, że problem minimalnej elipsoidy obejmującej można również sformułować jako problem optymalizacji wypukłej, dodając niewielką liczbę ograniczeń nieliniowych. Pionierami zastosowania randomizacji w celu poprawy ograniczeń czasowych dla niskowymiarowego programowania liniowego i powiązanych problemów byli Clarkson oraz Dyer i Frieze (1989) .

Definicja problemów typu LP w kategoriach funkcji spełniających aksjomaty lokalności i monotoniczności pochodzi od Sharira i Welzla (1992) , ale inni autorzy w tym samym przedziale czasowym sformułowali alternatywne kombinatoryczne uogólnienia programów liniowych. Na przykład w modelu opracowanym przez Gärtnera (1995) funkcja f jest zastąpiona całkowitym uporządkowaniem podzbiorów S . Możliwe jest zerwanie więzi w problemie typu LP w celu stworzenia porządku totalnego, ale tylko kosztem wzrostu wymiaru kombinatorycznego. Dodatkowo, podobnie jak w problemach typu LP, Gärtner definiuje pewne prymitywy do wykonywania obliczeń na podzbiorach elementów; jego formalizacja nie ma jednak odpowiednika wymiaru kombinatorycznego.

Inne abstrakcyjne uogólnienie zarówno programów liniowych, jak i problemów liniowej komplementarności , sformułowane przez Stickneya i Watsona (1978) , a później zbadane przez kilku innych autorów, dotyczy orientacji krawędzi hipersześcianu z tą właściwością, że każda ściana hipersześcianu (w tym cały hipersześcian jako twarz) ma unikalny zlew , wierzchołek bez wychodzących krawędzi. Orientacja tego typu może być utworzona z problemu typu LP przez odpowiednie podzbiory S z wierzchołkami hipersześcianu w taki sposób, że dwa podzbiory różnią się pojedynczym elementem wtedy i tylko wtedy, gdy odpowiednie wierzchołki są przyległe, oraz przez zorientowanie krawędzi między sąsiednimi zbiorami A ⊆ B w kierunku B , jeśli f ( A ) ≠ f ( B ) i w kierunku A inaczej. Otrzymana orientacja ma dodatkową właściwość polegającą na tym, że tworzy skierowany graf acykliczny , z którego można wykazać, że losowy algorytm może znaleźć unikalne ujście całego hipersześcianu (optymalna podstawa problemu typu LP) w wielu krokach wykładniczych w pierwiastku kwadratowym z n .

Niedawno opracowane ramy przestrzeni naruszających uogólniają problemy typu LP w tym sensie, że każdy problem typu LP może być modelowany przez przestrzeń naruszającą, ale niekoniecznie odwrotnie. Przestrzenie naruszające są definiowane podobnie do problemów typu LP, przez funkcję f , która odwzorowuje zbiory na wartości funkcji celu, ale wartości f nie są uporządkowane. Mimo braku zamawiania każdy zestaw S ma dobrze zdefiniowany zestaw baz (zbiory minimalne o tej samej wartości co cały zbiór), które można znaleźć za pomocą odmian algorytmów Clarksona dla problemów typu LP. Rzeczywiście, wykazano, że przestrzenie naruszające dokładnie charakteryzują systemy, które można rozwiązać za pomocą algorytmów Clarksona.

Notatki