Programowanie wypukłe i kwadratowe
Scharakteryzujemy wykorzystywane dalej funkcje wypukłe i wklęsłe. Funk-
cja liniowa ma postać:
n
a(x) = pTx = z PjXj. j= I
Funkcja liniowa jest jednocześnie funkcją wypukłą i funkcją wklęsłą. Formą kwadratową nazywamy funkcję:
n n
(3(x) = xTCx= X X CijXiXj.
•= t j-1
Zakładamy przy tym, że C=[c,v] jest macierzą symetryczną, czyli zachodzi ■ związek cij = cJi. Jeżeli tak nie jest, można łatwo do tego doprowadzić, definiując : nowe współczynniki:
Wówczas Cij = Cji.
Chcąc zbadać, czy forma kwadratowa jest funkcją wypukłą lub wklęsłą, należy sprawdzić, czy macierz C tej formy jest nieujemnie lub niedodatnio określona.
Macierz C formy kwadratowej jest nieujemnie określona, jeżeli dla dowolnego wektora x:
xTCx > 0,
a niedodatnio określona, jeżeli dla dowolnego wektora x: xTCx ^ 0.
Związek między określonością formy kwadratowej oraz wypukłością (wklęsłością) tej formy jest następujący:
Forma kwadratowa jest funkcją wypukłą (wklęsłą) wtedy i tylko wtedy, gdy macierz formy C jest nieujemnie (niedodatnio) określona.
Funkcją kwadratową nazywamy funkcję będącą różnicą funkcji liniowej i formy kwadratowej:
Y(x) = pTx-xTCx.
Jeżeli macierz formy kwadratowej C jest nieujemnie określona, wtedy macierz . -C jest niedodatnio określona i funkcja y(x) jest funkcją wklęsłą.
$
Zadanie programowania wypukłego
293
Zadanie programowania nieliniowego można w sposób ogólny zapisać następująco:
/(x) -> max, 5i(x)3sO,
(6.2)
gm(x) > 0.
Przyjmując:
2(x) = mamy:
/(x) —> max,
g(x) > 0. (6.3)
Zadanie (6.3) jest zadaniem programowania wypukłego, jeżeli funkcja celu / oraz wszystkie funkcje gh opisujące warunki ograniczające, są funkcjami wklęsłymi.
Przedstawimy dwa przykładowe problemy programowania wypukłego.
Rozpatrujemy zadanie:
/(x) = X|+x2 —» max, g,(x) = 8SsO, g2(x)=X| JłO, g,(x)=x2>0.
Funkcje/, g2, g3 są wklęsłe jako funkcje liniowe. Na podstawie definicji można sprawdzić, że funkcja g, jest wklęsła. Tak więc rozpatrywany problem jest zadaniem programowania wypukłego. Zbiór rozwiązań dopuszczalnych tego zadania wyznaczamy jako część wspólną okręgu o środku w początku układu współrzędnych i promieniu 2 oraz pierwszej ćwiartki układu współrzędnych. Jest on przedstawiony na rys. 6.5. Punkty A i B, będące punktami przecięcia osi układu współrzędnych z rozpatrywanym okręgiem, mają współrzędne: .4(0, 2a/2), B(2yl2, 0). Zadanie to można rozwiązać geometrycznie. Po dołączeniu warstwicy funkcji celu, przechodzącej przez początek układu współrzędnych, i znalezieniu