296 Programowanie wypukłe i kwadratowe
Ponadto mówimy, że spełniony jest warunek Slatera, jeżeli w zbiórce rozwiązań dopuszczalnych istnieje taki punkt x*, że dla każdej funkcji g„ która nie jest liniowa, zachodzi g,(x*)>0. Warunek ten spełniony jest we wszystkich rozpatrywanych dalej problemach.
Rozwiązaniem problemu Kuhna-Tuckera jest taki wektor (x°, y°), że spełnione są jednocześnie warunki 1-4 i warunek Slatera.
Istotne znaczenie dla rozwiązywania zadań programowania wypukłego ma przytoczone poniżej twierdzenie Kuhna-Tuckera.
Twierdzenie 6.3
Problem programowania wypukłego i problem Kuhna-Tuckera są sobie równoważne.
Z powyższego twierdzenia wynika, że zamiast rozwiązywać problem programowania wypukłego, można skonstruować odpowiadający mu problem Kuhna--Tuckera. Jego rozwiązaniem jest para wektorów (x°, y°). Otrzymany wektor x° jest jednocześnie rozwiązaniem wyjściowego problemu programowania wypukłego.
Rozwiązanie problemu Kuhna-Tuckera może być bezpośrednio wykorzystywane do rozwiązania problemu programowania wypukłego. W celu zilustrowania tej możliwości rozpatrzymy ponownie zadanie z przykładu 6.1. Tworzymy funkcję Lagrange’a i obliczamy pochodne cząstkowe względem x2- Mamy:
L(xi, x2, y„ y2, y3) = x, + x2+yl(8-xl-xj)+y2x] + y2x2,
— = 1 —2 y,x,+y2,
(./X |
—= 1-2 y,x2+yv 0X2
Układ warunków Kuhna-Tuckera zapisujemy następująco:
• warunek 1:
— = 1 -2y,.*| +y2 = 0,
|^=l-2y,x2 + y, = 0.
CJX 2
• warunek 2:
.V! (8 - x f - x\) + y2 x, + y2x2 = 0.
• warunek 3:
gl(x) = S-x^-xj^0, g2{x)-x| >0,
£3tr) = *22s0.
• warunek 4:
yi >0, > 0, y3 ^ 0.
Warunek 2 jest sumą trzech składników, z których każdy jest iloczynem dwóch nieujemnych czynników. Jeżeli taka suma jest równa zeru, oznacza to, że każdy ze składników jest równy zeru, czyli y,(8-;c1 2-.r2) = 0, y2-ri=0 i y}x2 = o.
Zbiór rozwiązań dopuszczalnych, określony przez warunki g, ^ 0, g2 > 0, g3^0 i przedstawiony graficznie na rys. 6.6, dzielimy na podzbiory następująco2:
Podzbiór 1
Wszystkie warunki są spełnione jako ostre nierówności, czyli:
giC*i. -*2) > o, g2(x,, .r2) > 0, gj(jc„ x2) > 0.
Zbiór punktów płaszczyzny spełniających wszystkie powyższe warunki przedstawiono na rys. 6.6. Jest to wnętrze wycinka koła OAB. Linia przerywana wskazuje na to, że punkty brzegowe nie należą do rozpatrywanego zbioru.
Rysunek 6.6 Rysunek 6.7
Idea podziału zbioru rozwiązań dopuszczalnych na podzbiory i poszukiwanie w nich punktów
spełniających warunki Kuhna-Tuckera zostały zaczerpnięte z pracy W. Grabowskiego, Programowanie matematyczne, PWE, Warszawa 1980.