Zagadnieniem całkowitoliczbowym nazyawć będziemy zadanie optymalizacji liniowej w którym od zmiennych lub części zmiennych wymagamy by były liczbami całkowitymi. Na przykład zadanie typu: .
Idea rozwiązania.
Skupmy się na zadaniu w którym wszystkie zmienne mają być całkowite a wielościan jest ograniczony. Jako bierzemy uwypuklenie zbioru wszystkich punktów z wielościanu o współrzędnych całkowitych. Zbiór jest rozpięty na skończonej liczbie punktów. Na mocy twierdzenia strukturalnego jest wielościanem i to takim, którego wszystkie wierzchołki mają współrzędne całkowite. Zatem zadania i mają te same wierzchołki optymalne. Metoda rozwiązania polega na przecinaniu wielościanu takimi półprzestrzeniami by uzyskać wielościan .
Rozpoczniemy od prezentacji metody zwanej ”Odcięciem Gomoryego” [7], [8], [9]. Metoda opiera się na relaksacji problemu i jej kolejnych zacieśnianiach zwanych odcięciami Gomoryego.
Relaksacją problemu nazywamy problem
: ,
gdzie obszar dopuszczalny jest większy niż .
Zwykle relaksacja jest opuszczeniem najmniej wygodnych warunków opisujących obszar dopuszczalny, np. że współrzędne są całkowite.
Zacieśnieniem relaksacji problemu nazywamy taką relaksację problemu której obszar dopuszczalny jest mniejszy niż obszar .
Odcięciem nazywamy zacieśnienie relaksacji w którym nowy obszar dopuszczalny jest przecięciem półprzestrzeni i .
Odcięcie Gomoryego wykorzystuje proste własności części całkowitej liczby:
i jeżeli jest liczbą naturalną to
Stąd jeżeli obszar dopuszczalny jest ( między innymi ) opisany równaniem to każdy punkt tego obszaru o współrzędnych całkowitych spełnia też nierówność
.
Odcięciem Gomoryego nazywamy więc ograniczenie obszaru dopuszczalnego półprzestrzenią .
0) Dane zagadnienie . |
1) Rozwiązujemy relaksację polegającą na pominięciu warunków i znajdujemy tablicę sympleks pierwotnie i dualnie dopuszczalną. |
2) Jeżeli znaleziony punkt optymalny ma współrzędne całkowite to STOP znaleźliśmy rozwiązanie. |
3) Wybieramy niecałkowitą współrzędną . Odpowiadające jej równanie ( wiersz macierzy sympleks ) ma postać , gdzie jest zmienną bazową więc . |
Dodajemy nierówność . |
4) Budujemy nową tablicę sympleks z dodatkową kolumną na nową zmienną ( tu ) i dodatkowym wierszem opisującym równanie . Musimy odjąć wyjściowe równanie by zmienna pozostała bazową. |
5) Rozwiązujemy relaksację zadaną tą tablicą i GOTO 2. |
Prześledźmy algorytm na przykładzie:
Rozwiązujemy zadanie P.
Max , gdy
, , , , .
Zaczynamy od budowy tablicy sympleks pierwszej relaksacji. Jest nią:
Otrzymaliśmy tablicę sympleks pierwotnie i dualnie dopuszczalną opisującą wierzchołek optymalny . Ponieważ punkt nie ma współrzędnych całkowitych wybieramy zmienną . Odpowiada jej pierwszy wiersz pod kreską i równanie . Półprzestrzeń odcinająca opisana jest nierównością czyli . Teraz od równania odejmujemy wyjściowe i otrzymane równanie dopisujemy do tablicy sympleks. Otrzymujemy dualnie dopuszczalną tablicę sympleks:
Stosujemy teraz dualną metodę sympleks. Wybieramy wiersz 3-ci i element centralny w piątej kolumnie. . Po redukcji Gaussa - Jordana otrzymujemy:
Teraz wierzchołkiem optymalnym jest . Poprawiamy zmienną . Do tablicy dopisujemy różnicę równań i . Otrzymujemy:
Teraz element centralny wybieramy w 4-tym wierszu i 2-giej kolumnie. Po redukcji Gaussa - Jordana otrzymujemy:
Wyznaczony przez tę tablicę punkt ma współrzędne całkowite więc jest rozwiązaniem zadania.
Odcięcie Gomoryego zawsze wyrzuca badany punkt po za obszar dopuszczalny nowej relaksacji. Rzeczywiście, jeżeli punkt ma niecałkowitą współrzędną i odpowiadające jej równanie ma postać to i jest zmienną bazową zaś dla lub . Zatem . Więc nie spełnia nierówności .
Dodawane zmienne są całkowitoliczbowe gdyż .
W przypadku gdy obszar dopuszczalny jest niepusty i ograniczony lub niepusty i współczynniki wyjściowej tablicy sympleks są wymierne to algorytm odcięcia Gomoryego kończy się po skończonej liczbie kroków, zależnej od liczby zmiennych, ograniczenia i postaci współczynników. Niestety jest to algorytm zużywający dużo czasu i pamięci. Patrz [12] Twierdzenie 23.2.
Jeżeli obszar dopuszczalny jest zbiorem pustym algorytm odcięcia Gomoryego może nie działać.
Badamy zadanie P.
Max , gdy
, ,.
Obszar dopuszczalny jest zbiorem pustym zaś algorytm urywa się na pierwszym kroku gdyż relaksacja jest zadaniem nieograniczonym.
Badamy zadanie P.
Max , gdy
, ,.
Jeżeli i są liczbami algebraicznie niezależnymi to obszar dopuszczalny jest zbiorem pustym zaś algorytm nigdy się nie kończy mimo, że obszar dopuszczalny relaksacji jest ograniczony.
Rozwiąż w liczbach całkowitych zadanie:
Stosując odcięcie Gomory'ego rozwiąż w liczbach całkowitych zadanie:
Min , gdy
, , , .
Treść automatycznie generowana z plików źródłowych LaTeXa za pomocą oprogramowania wykorzystującego LaTeXML.
strona główna | webmaster | o portalu | pomoc
© Wydział Matematyki, Informatyki i Mechaniki UW, 2009-2010. Niniejsze materiały są udostępnione bezpłatnie na licencji Creative Commons Uznanie autorstwa-Użycie niekomercyjne-Bez utworów zależnych 3.0 Polska.
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego.
Projekt współfinansowany przez Ministerstwo Nauki i Szkolnictwa Wyższego i przez Uniwersytet Warszawski.