Rozważmy -wymiarowej przestrzeni , niech być liniowy ograniczenie formy 1 x 1 + 2 x 2 + 3 x 3 + . . . + a n - 1 x n - 1 + a n x n ≥ k , gdzie a i ∈ R , x i ∈ a K ∈ R .
Najwyraźniej powoduje podział { 0 , 1 } n na dwa podzbiory S c i S ¬ c . S c zawiera wszystkie i tylko punkty spełniające c , podczas gdy S ¬ c zawiera wszystkie i tylko te punkty fałszujące c .
Załóżmy, że . Teraz niech będzie podzbiorem tak że wszystkie trzy następujące instrukcje będą zawierały:
- zawiera dokładnie punktów.
- Takie punktów jest liniowo niezależnych.
- Takie punktów to punkty w minimalnej odległości od hiperpłaszczyzny reprezentowane przez c . Dokładniej, niech d ( x , c ) będzie odległością punktu x ∈ { 0 , 1 } n od hiperpłaszczyzny c . Następnie, ∀ B ⊆ S c tak, że B spełnia 1 i 2, jest tak, że ∑ x ∈ B d ( x , c ) ≥ ∑ x ∈ O d . Innymi słowy O jest spośród wszystkich podzbiorów S c spełniające oba warunki 1 i 2, jeden, który minimalizuje sumę odległości punktami z hiperpłaszczyznę C .
pytania
- Biorąc pod uwagę , czy możliwe jest wydajne obliczenie O ?
- Jaki jest najbardziej znany algorytm do jego obliczania?
Przykład z
, O = { ( 0 , 0 , 1 ) , ( 1 , 1 , 1 ) , ( 1 , 0 , 0 ) } .
Aktualizacja 05.12.2012
Motywacja
Motywacja jest, że za pomocą powinno być możliwe do określenia optymalnego wiązania c * , a powinien on być określony przez hiperpłaszczyzna n punktów O .
Optymalne ograniczenie to takie, które prowadzi do optymalnego polytopu P ∗ .
Optymalnym polytopem jest ten, którego wierzchołki są wszystkie i tylko wierzchołkami całkowitymi początkowego polytopu P (wierzchołek całkowity jest wierzchołkiem, którego współrzędne są liczbami całkowitymi).
Proces można iterować dla każdego ograniczenia instancji I 0-1 L P , za każdym razem zastępując c odpowiadającym mu ograniczeniem optymalnym c ∗ . Na koniec, doprowadzi to do optymalnego Polytope P * z I . Następnie, ponieważ wierzchołki P ∗ są jedynymi wierzchołkami liczb całkowitych początkowego politopu P z I , można zastosować dowolny algorytm dla L P do obliczenia optymalnego rozwiązania liczby całkowitej. Wiem, że umiejętność skutecznego obliczenia P ∗ oznaczałaby P , jednak nadal pojawia się następujące dodatkowe pytanie:
Dodatkowe pytanie
Czy są jakieś wcześniejsze prace w tym zakresie? Czy ktoś badał już zadanie obliczeniowe, biorąc pod uwagę polytop , odpowiadający mu optymalny polytop P ∗ ? Który algorytm jest najbardziej znany?
źródło
Odpowiedzi:
Wydaje się, że jest to trudne do zrobienia dokładnie przez redukcję sumy podzbioru. Załóżmy, że mieliśmy skuteczną procedurę, aby obliczyć . Biorąc pod uwagę dodatnie liczby całkowite v 1 , … , v n zakodowane binarnie, chcemy przetestować, czy istnieje podzbiór sumujący do s . Przetwarzaj wstępnie, wyrzucając liczby całkowite większe niż s .O v1,…,vn s s
Wywołaj procedurę, aby uzyskać mały zbiór punktów spełniających v 1 x 1 + ⋯ + v 1 x n ≤ s , spełniających twoje warunki minimalności (wstępne przetwarzanie zapewnia | S c | ≥ n ). Ten zestaw z pewnością będzie zawierał punkt na hiperpłaszczyźnie v 1 x 1 + ⋯ + v 1 x n = s, jeśli taki istnieje.O v1x1+⋯+v1xn≤s |Sc|≥n v1x1+⋯+v1xn=s
źródło
Wydaje mi się, że próbujesz dostać się do wypukłego kadłuba IP - w zasadzie to właśnie próbują osiągnąć algorytmy cięcia. Mimo, że te metody są atrakcyjne, w praktyce źle się sprawdzają.
Istnieje cała teoria na temat generowania ważnych nierówności. Dobrym punktem wyjścia będzie książkowa teoria programowania liczb całkowitych Shrijvera.
źródło