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ę ![]() ![]() ![]() |
2) Jeżeli znaleziony punkt optymalny ![]() |
3) Wybieramy niecałkowitą współrzędną ![]() ![]() ![]() ![]() |
Dodajemy nierówność ![]() |
4) Budujemy nową tablicę sympleks z dodatkową kolumną na nową zmienną ( tu ![]() ![]() ![]() |
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.