Metody optymalizacji, wykład nr 9 Paweł Zieliński Programowanie całkowitoliczbowe PLC Literatura [] S.P. Bradley, A.C. Hax, T. L. Magnanti Applied Mathematical Programming Addison-Wesley Pub. Co. (Reading, Mass.), 977. [] R.S. Garfinkel, G.L. Nemhauser Programowanie całkowitoliczbowe PWN, 978. [] M.M. Sysło, M. Deo, J.S. Kowalik Algorytmy optymalizacji dyskretnej z programami w języku PASCAL PWN, 99. Znaczna część wykładu została przygotowana na podstawie książki [].. Metody programowania całkowitoliczbowego Wyróżnia się trzy podejścia do rozwiązywania zagadnień programowania całkowitoliczbowego metody przeglądu pośredniego (niebezpośredniego), m.in. metody podziału i ograniczeń, metody płaszczyzn odcinających, metody oparte na dekompozycji (podziale)... Rozwiązanie PCL za pomocą LP Przykład. z =maxz =x +8x x + x 6 x + 9x x,x 0 icałkowite x 6 x + x =6 Optymalne rozwiązanie ciągłe z =x +8x =. x +9x = 6 7 8 9 x
Metody optymalizacji, wykład nr 9 Paweł Zieliński Rozwiązanie Rozwiązanie Rozwiązanie Rozwiązanie optymalne zaokrąglone najbliższe optymalne ciągłe całkowite całkowite =. 0 =.7 z. niedopuszcz. 0 x 9 x.. Metoda podziału i ograniczeń dla PCL Metoda podziału i ograniczeń jest oparta na podejściu dziel i zwyciężaj. Kluczowe fakty: PCL= LP + ograniczenia całkowitoliczbowości Fakt. Wartość optymalna funkcji celu LP jest górnym ograniczeniem (maksymalizacja funkcji celu) optymalnej wartości funkcji celu PCL. Fakt. Wartość funkcji celu PCL dla dowolnego rozwiązania całkowitoliczbowego jest dolnym ograniczeniem (maksymalizacja funkcji celu) optymalnej wartości funkcji celu PCL. Pomijamy warunki całkowitoliczbowości i rozwiązujemy następujące zagadnienie LP z =maxz =x +8x = x + x 6 x + 9x x,x 0 Otrzymujemy: x =, x =, z0 = oraz górne ograniczenie z. Ponieważ współczynniki funkcji celu są całkowitoliczbowe, możemy poprawić górne ograniczenie z. Wybieramy zmienną decyzyjną o wartości ułamkowej np. x wybórjest heurystyczny (możemy wybrać również x ). Narzucamy warunki, x lub x, wykluczające przedział (, ).
Metody optymalizacji, wykład nr 9 Paweł Zieliński x 6 L Optymalne rozwiązanie ciągłe L 6 7 8 9 x x =. x =.7 z =. z x x L L L = max z =x +8x max z =x +8x x + x 6 x + 9x L x = x,x 0 x + x 6 x + 9x x x,x 0 Wybór węzła L czy L jest heurystyczny. Rozpatrzmy L. Otrzymujemy: x =.8, x =, z =. Wybieramy zmienną decyzyjną o wartości ułamkowej x Narzucamy warunki, x lub x, wykluczające przedział (, ). x 6 L Optymalne rozwiązanie ciągłe L 6 7 8 9 x
Metody optymalizacji, wykład nr 9 Paweł Zieliński x =. x =.7 z =. z x x x =.8 x = z = L L x x L L Zadanie sprzeczne L = max z =x +8x max z =x +8x x + x 6 x + 9x x L = x x,x 0 x + x 6 x + 9x x x x,x 0 sprzeczne x =,x = 9,z =0 9 Wybieramy zmienną decyzyjną o wartości ułamkowej x Narzucamy warunki, x lub x, wykluczające przedział (, ). x 6 L 6 L L Optymalne rozwiązanie ciągłe L 6 7 8 9 x Rozpatrujemy L.
Metody optymalizacji, wykład nr 9 Paweł Zieliński x =. x =.7 z =. z x x x =.8 x = z = L L x x L L Zadanie sprzeczne x = x = 9 z =0 9 co najwyzej 0% od optimum! x Dolne ograniczenie x x = L L 6 x = z =7 z 7 x =. x =.7 z =. z x x x =.8 x = z = L L x x L L Zadanie sprzeczne x = x = 9 z =0 9 x co najwyzej.% od optimum! x dolne ograniczenie L L 6 x = x = z =7 z 7 x =0 x = z =0 z 0
Metody optymalizacji, wykład nr 9 Paweł Zieliński 6 x =. x =.7 z =. z x x L L x =.8 x = z = x = x = z =9 x>= x=< L L Zadanie sprzeczne x = x= /9 z=0 /9 x x x = optimum! L L 6 x = z =7 z>=7 x =0 x = z =0 z>=0 x 6 L 6 L L Optymalne rozwiązanie całkowitoliczbowe Optymalne rozwiązanie ciągłe L 6 7 8 9 x Czy można poprawić górne ograniczenie? x =. x =.7 z =. z x x x =.8 x = z = L L x = x = z =9 x x L L Zadanie sprzeczne x = x = 9 z =0 9 Załóżmy, że w naszym przykładzie rozpatrujemy węzeł L przed L lub L 6.
Metody optymalizacji, wykład nr 9 Paweł Zieliński 7 Optymalne rozwiązanie leży w L lub L.Stądz jest ograniczone przez 0 9. Ponieważ współczynniki funkcji celu są całkowitoliczbowe, możemy poprawić górne ograniczenie na 0. Podsumowanie Załóżmy rozpatrzyliśmy węzeł L j. Nie ma sensu dzielić L j (rozgałęziać) jeśli: LP w L j jest sprzeczne, optymalne rozwiązanie LP jest całkowitoliczbowe, wartość funkcji celu LP w L j jest nie większa niż aktualne dolne ograniczenie. Uwagi Relaksacje LP rozwiązuje się efektywnie, Nie ma ogólnej metody wyboru zmiennej decyzyjne. Nie ma ogólnej metody wyboru węzła po rozgałęzieniu... Metoda przeglądu dla problemów 0- W metodzie tej stosuje się metodę podziału i ograniczeń w celu inteligentnego ustalania wartości zmiennych decyzyjnym na 0 lub. Zmienne, które nie są ustalone będziemy nazywać wolnymi. Zakłada się,że wszystkie współczynniki celu są niedodatnie (w zadaniu maksymalizacji), Jeżeli współczynnik przy x i jest dodatni, to podstawiamy x i = x i, x i {0, }, ograniczenia są postaci. Rozpatrzmy przykład. z =maxz = 8x x x 7x x +0 x x + x +x +x x x x x + x x,x,x,x,x {0, }
Metody optymalizacji, wykład nr 9 Paweł Zieliński 8 0 z 0 x = x =0 z węzeł 0: Wszystkie zmienne decyzyjne są wolne. Jeżeli chwilowo nadamy im wartość 0, to z 0, ponieważ współczynniki funkcji celu są ujemne. Rozwiązanie to nie spełnia ograniczeń, więc dokonujemy rozgałęzienia. węzeł :x =jest ustalona x,x,x,x są wolne. Nadajmy im chwilowo wartość 0 z = 8() (0) (0) 7(0) (0)+0 =. Rozwiązanie to spełnia ograniczenia, więc z. Dalej nie rozgałęziamy. węzeł :x = 0 jest ustalona. x,x,x,x są wolne. Nadajmy im chwilowo wartość 0. Przypadek jak węzeł 0. Rozgałęziamy. 0 z 0 x = x =0 z x = x =0 węzeł :x = 0 i x = są ustalone, x,x,x są wolne. Nadajemy im wartość 0. Rozwiązanie nie spełnia ograniczeń. Rozgałęziamy.
Metody optymalizacji, wykład nr 9 Paweł Zieliński 9 0 z 0 x = x =0 z x = x =0 x = x =0 z 6 x = x =0 z< 7 8 0 z 0 x = x =0 z x = x =0 x = x =0 węzeł : x =0i x = x =są ustalone, x,x są wolne. Nadajemy im wartość 0.Rozwiązanie to jest dopuszczalne z =. Więc otrzymujemy lepsze dolne ograniczenie z węzeł 6: x = x =0i x =są ustalone, x,x są wolne. Nadajemy im wartość 0. Rozwiązanie nie spełnia ograniczeń (jak w węźle ). Rozgałęziamy. węzeł 7: x = x =0i x = x =są ustalone, x jest wolna. Nadajemy jej wartość 0. Rozwiązanie jest niedopuszczalne i z =<, a więc nie ma sensu rozgałęziać. węzeł 8: jak dla węzła 6. węzeł 9: x = x = x =0x = x = są ustalone. Jest to jedyne rozwiązanie i w dodatku niedopuszczalne. Nie rozgałęziamy. węzeł 0: x = x = x = x =0x = są ustalone. Jest to jedyne rozwiązanie i jest niedopuszczalne. Nie rozgałęziamy. węzeł : x = x = 0 są ustalone x,x,x są wolne. Ograniczenie z 6 x = x =0 x x x x + x redukuje się do z< 7 8 x = x =0 9 0 x x + x. Nie istnieje 0- podstawienie do x,x,x spełniające powyższe ograniczenie. Nie ma sensu rozgałęziać.
Metody optymalizacji, wykład nr 9 Paweł Zieliński 0 0 z 0 x = x =0 z x = x =0 x = x =0 optimum z 6 x = x =0 Rozpatrzyliśmy wszystkie węzły. Rozwiązaniem optymalnym jest x = x = x = 0, x = x =. z =. z< 7 8 x = x =0 9 0 Podsumowanie Nie rozgałęziamy w węźle jeżeli: kiedy zadanie PCL w węźle jest sprzeczne. Np. po podstawieniu zmiennych ustalonych do ograniczeń nie istnieje 0- podstawienie do zmiennych wolnych spełniające ograniczenia. rozwiązanie binarne po podstawieniu pod zmienne wolne wartości 0 jest dopuszczalne, wartość funkcji celu jest nie większa od aktualnego dolnego ograniczenia.