Podstawa Gravera

W matematyce stosowanej podstawy Gravera umożliwiają iteracyjne rozwiązania liniowych i różnych nieliniowych problemów programowania liczb całkowitych w czasie wielomianowym . Zostały one wprowadzone przez Jacka E. Gravera. Ich związek z teorią baz Gröbnera omówił Bernd Sturmfels . Algorytmiczną teorię baz Gravera i jej zastosowanie do programowania liczb całkowitych opisuje Shmuel Onn .

Definicja formalna

Podstawa Gravera macierzy liczb całkowitych m × n jest skończonym zbiorem minimalnych elementów w zestawie

pod dobrze częściowym porządkiem na zdefiniowany przez kiedy i dla wszystkich ja. Na przykład podstawa Gravera składa się z wektorów (2, −1,0), (0, −1,2), (1,0, −1), (1, −1, 1) i ich negacje.

Rozwiązywanie programowania całkowitoliczbowego z wykorzystaniem podstaw Gravera

Programowanie całkowitoliczbowe to problem optymalizacji liniowej lub nieliniowej funkcji celu na zbiorze punktów całkowitych spełniających układ nierówności liniowych. Formalnie można to zapisać w standardowej postaci w następujący sposób:

Jest to jeden z najbardziej podstawowych problemów optymalizacji dyskretnej i ma bardzo szeroką moc modelowania oraz liczne zastosowania w różnych obszarach, ale zazwyczaj jest bardzo trudny obliczeniowo, jak wspomniano poniżej. Jednak biorąc pod podstawę Gravera problem z liniowymi i różnymi nieliniowymi funkcjami celu można rozwiązać w czasie wielomianowym

Liniowe programowanie całkowitoliczbowe

Najbardziej zbadanym przypadkiem, dokładnie omówionym w, jest przypadek liniowego programowania całkowitoliczbowego ,

Można przyjąć, że wszystkie zmienne są ograniczone z dołu iz góry: takie ograniczenia albo pojawiają się naturalnie w danej aplikacji, albo można je wymusić bez utraty optymalnych rozwiązań. Ale nawet przy liniowych funkcjach celu problem jest NP-trudny i dlatego prawdopodobnie nie można go rozwiązać w czasie wielomianowym.

Jednak podstawa _ Dla każdego możliwego punktu x :

  • Albo x jest optymalne (tj. minimalizuje biorąc pod uwagę ograniczenia);
  • Albo istnieje wektor w , taki, że + g jest i (tj. x można poprawić, dodając do niego element bazy Gravera).

podstawę Gravera ILP można rozwiązać za pomocą następującego prostego algorytmu iteracyjnego dany jest pewien początkowy możliwy punkt x . Jeśli to następującą iterację: znajdź dodatnią liczbę całkowitą q i element g w że + qg nie narusza granic i daje najlepszą możliwą poprawę; zaktualizuj x := x + qg i przejdź do następnej iteracji. Ostatni punkt x jest optymalny, a liczba iteracji jest wielomianem.

Aby znaleźć początkowy możliwy punkt, można ustawić i rozwiązać odpowiedni program pomocniczy w podobny sposób.

Nieliniowe programowanie całkowitoliczbowe

Wracając do przypadku ogólnych funkcji celu f , jeśli zmienne są nieograniczone, to problem może być w rzeczywistości nieobliczalny: z rozwiązania 10. problemu Hilberta ( zob . stopień 8 w 58 zmiennych, decyduje, czy minimalna wartość f dla wszystkich 58-wymiarowych wektorów liczb całkowitych wynosi 0. Jednak gdy zmienne są ograniczone, problem

można rozwiązać za pomocą podstawy Gravera czasie wielomianowym dla kilku nieliniowych funkcji celu [ potrzebne ] :

  • rozdzielno-wypukłe postaci ;
  • szczególności norma _ _ _
  • Funkcje złożone-wklęsłe f ( x ) = g ( Wx ), gdzie W jest macierzą liczb całkowitych d × n z ustalonym d i gdzie g jest funkcją wklęsłą o zmiennej d ;
  • Pewne (nie)określone funkcje kwadratowe i wielomiany wyższego stopnia .

Niektóre aplikacje

Tabele wielowymiarowe

Rozważ następujący problem optymalizacyjny na trójwymiarowych tabelach z określonymi sumami wierszy,

za , , nieujemne liczby całkowite (których maksimum value pośrednio wiąże wszystkie zmienne z góry). przez ( lm + ln + mn × ( lmn ) definiującą macierz tego systemu. Zauważ, że ta macierz generalnie nie jest całkowicie jednomodułowy . Niemniej wykazano, że dla każdego ustalonego i m jego podstawę Gravera można obliczyć w czasie, który n . Powyższe wyniki pozwalają zatem na rozwiązanie tego problemu w czasie wielomianowym dla stałych l i m oraz zmiennej n . Zauważ, że jeśli tylko jedna strona l stołu jest stała (nawet przy l = 3), podczas gdy zarówno m , jak i n są zmienne, to problem jest NP trudny, jak pokazano w . Bardziej ogólnie, podobne pozytywne wyniki utrzymują się dla wielowymiarowych problemów stołowych (wprowadzonych w ): dla każdego ustalonego d i m 1 , , , (nie) -optymalizacja liniowa nad tablice ze zmienną n i zadanymi marginesami można wykonać w czasie wielomianowym. Ma to dalsze zastosowania w problemach związanych z bezpieczeństwem wpisów i prywatnością w statystycznych bazach danych.

Przepływy wielu towarów

Rozważ problem przepływu wielu towarów całkowitych polegający na kierowaniu k rodzajów towarów całkowitych od m dostawców do n konsumentów podlegających ograniczeniom podaży, zużycia i wydajności, tak aby zminimalizować sumę kosztów wypukłych liniowych lub zależnych od zatorów na łukach. Następnie dla każdego ustalonego k i m można obliczyć podstawę Gravera systemu definiującego, a wynikową funkcję celu rozdzielnie wypukłą zminimalizować w czasie, który jest wielomianem w zmiennej o liczbie n konsumentów oraz w pozostałych danych.

Inne aplikacje

Wiele zastosowań algorytmicznej teorii baz Gravera obejmuje również:

  • stochastyczne programowanie całkowitoliczbowe,
  • N -krotne programowanie całkowitoliczbowe,
  • N -krotne 4-blokowe programowanie całkowitoliczbowe rozkładalne,
  • grupowanie,
  • kontrola jawności w bazach statystycznych,
  • i sprawiedliwy podział niepodzielnych przedmiotów.

W niektórych z tych aplikacji odpowiednia podstawa Gravera nie może być obliczona w czasie wielomianowym, ale można uzyskać do niej dostęp w sposób pośredni, który pozwala na użycie jej w czasie wielomianowym.

Uniwersalność i parametryzacja

Wykazano, że każdy (ograniczony) problem programowania liczb całkowitych jest dokładnie równoważny omówionemu powyżej problemowi tablicowemu 3 × m × n dla pewnych m i n oraz pewnych sum wierszy. Zatem takie problemy tablicowe 3 × m × n są uniwersalne dla programowania liczb całkowitych. Ponadto dla każdego ustalonego m wynikową klasę programów całkowitoliczbowych można rozwiązać w czasie wielomianowym za pomocą opisanej powyżej iteracyjnej metody bazowej Gravera. Tak więc szerokość tabeli m zapewnia parametryzację wszystkich problemów programowania całkowitoliczbowego.

Hierarchia przybliżeń dla programowania całkowitoliczbowego

przez macierzy uniwersalny 3 × m × powyżej Elementy to tabele 3 × m × n ze wszystkimi sumami wierszy równymi 0. Typ takiej tabeli to liczba jej niezerowych 3 × m warstw . Okazuje się, że istnieje skończona Gravera ( m ) taka, że ​​dla dowolnego dowolnego elementu podstawy Gravera najwyżej g ( m ). Wynika z tego, że podstawa Gravera sumą odpowiednio osadzone kopie podstawy Gravera sol . Aby w przybliżeniu rozwiązać w praktyce dowolny problem programowania liczb całkowitych, wykonaj następujące czynności. Najpierw umieść go w odpowiednim problemie stołowym 3 × m × n , na co pozwala wspomniana powyżej uniwersalność. Teraz zastosuj następującą hierarchię przybliżeń: . Na poziomie tej hierarchii niech podzbiorem składającym się tylko z ) tych elementów typu co najwyżej k ; użyj tego przybliżenia w algorytmie iteracyjnym tak długo, jak to możliwe, aby uzyskać jak najlepszy możliwy punkt dla problemu programowania całkowitoliczbowego zawartego w problemie tablicowym 3 × m × n ; jeśli wartość funkcji celu tego punktu jest zadowalająca (powiedzmy w porównaniu z wartością relaksacji programowania liniowego ), to użyj tego punktu; w przeciwnym razie zwiększ k i przejdź do następnego poziomu hierarchii. Można pokazać, że dla dowolnego ustalonego poziomu k przybliżenie podstawa Gravera ma liczność wielomianową i można je obliczyć w tak długim czasie.

Stała plastyczność parametrów: od złożoności wielomianowej do sześciennej złożoności czasowej

Złożoność czasowa rozwiązywania niektórych z omówionych powyżej aplikacji, takich jak wielowymiarowe problemy z tablicami, problemy z przepływem wielu towarów i problemy z programowaniem N -krotnych liczb całkowitych, jest zdominowana przez liczność odpowiedniej podstawy Gravera, która jest wielomianem z zazwyczaj dużym stopniem g , który jest odpowiednią złożonością Gravera systemu. Przedstawiono znacznie szybszy algorytm, który w każdej iteracji znajduje najlepsze ulepszenie x + qg z q dodatnia liczba całkowita i element g w bez jawnego konstruowania podstawy Gravera w czasie sześciennym niezależnie od systemu. W terminologii złożoności sparametryzowanej oznacza to, że wszystkie te problemy są odpowiednio sparametryzowane, aw szczególności problemy tablicowe l × m × n sparametryzowane przez l i m , są stałymi parametrami możliwymi do zastosowania .

Zobacz też

  • Lemat Gordana - kolejne narzędzie związane z zerowymi zbiorami macierzy liczb całkowitych.