S t a n is ła w L. K r y ń sk i (Warszawa)
Minimalizacja wklęsłej funkcji na wielościanie wypukłym*
(Praca wpłynęła do Redakcji 20. 11. 1979)
1. Wstęp.
1.1. Rozważamy problem wyznaczenia globalnego minimum wklęsłej funkcji na wielościanie wypukłym: dla danego wielościanu D a R n i wklęsłej funkcji / : R" ->
R znaleźć z e D takie, że:
(PW) f(z) = min f(x).
x e D
Problem ten krótko nazwiemy zadaniem programowania wklęsłego (PW).
1.2. Wprost z definicji funkcji wklęsłej i podstawowych własności wielościanu wypukłego wynika, źe dla każdego zadania (PW) istnieje rozwiązanie z e D będące wierzchołkiem wielościanu D. Spostrzeżenie to pozwala sprowadzić rozwiązywanie zadania do przeglądu wszystkich wierzchołków wielościanu i badania wartości funkcji/ w tych wierzchołkach. Jednak podobnie, jak na przykład w programowaniu liniowym, pożądane jest znalezienie metody nie wymagającej wyznaczania całego zbioru wierzchołków, który, aczkolwiek skończony, może mieć przecież dowolnie dużą moc. Podstawowym problemem, który zjawia się przy konstruowaniu takiego algorytmu dla zadania (PW), podobnie zresztą jak dla innych nie wypukłych zadań programowania matematycznego, jest to, że funkcja / może mieć na D minima lokalne nie będące minimami globalnymi. Wobec tego błędna byłaby np. metoda, która ograniczałaby się jedynie do badania wartości funkcji w wierzchołkach są- siednich (zob. definicja w § 2.1) dla danego wierzchołka i wyznaczająca ciąg wierz- chołków®1,®2, ..., ®fc, ®fe+1, ..., ®r taki, że l°®fc, ®fc+1 są sąsiednie dla k = 1 ,..., r — 1;
2 °/(®fc+1) < f(v k) ,k = 1, . . . , r —1; 3° dla każdego wierzchołka ® sąsiedniego dla vr jest/(®) ^ /(®r)- Zauważmy, że ten schemat jest wykorzystany w znanej metodzie
„sympleks” dla programowania liniowego, przy czym, o ile tam wiadomo, że ®r jest istotnie rozwiązaniem optymalnym, to w przypadku programowania wklęsłego jedyną dostępną informacją jest, że vr jest minimum lokalnym.
* Praca wykonana w ramach problemu 49/13.3.
5*
[63]
1.3. Tuy [5] zaproponował metodę, która wychodząc z wierzchołka będącego minimum lokalnym / na D, konstruuje ciąg pomocniczych zadań programowania liniowego. W pracy [5] nie podano jednak dowodu zbieżności tego algorytmu. Co więcej, okazało się później (Zwart [6]), że algorytm Tuy’a w ogólnym przypadku nie jest skończony i nie wyznacza rozwiązania zadania (PW).
W niniejszej pracy opisany jest algorytm będący modyfikacją oryginalnej kon- cepcji Tuy’a. Algorytm ten zawsze, tj. dla każdej pary D , f wyznacza minimum glo- balne funkcji/ na wielościanie D. Dowód zbieżności podany jest w pkcie 8 artykułu.
2. Podstawowe założenia, definicje i oznaczenia.
2.1. Wprowadzimy i przypomnimy tu pewne pojęcia i fakty niezbędne w dalszych częściach artykułu. Opieramy się przy tym głównie na monografii [4].
Zbiorem wielościennym nazywamy podzbiór przestrzeni Rn będący przecięciem skończonej liczby półprzestrzeni domkniętych. Wielościan jest ograniczonym zbio- rem wielościennym. Nie będziemy definiować takich obiektów, jak wierzchołek zbioru wielościennego, krawędź, promień ekstremalny, kombinacja wypukła punktów, powłoka wypukła zbioru, czy stożek wypukły, zakładając, że są one znane czytelni- kowi. Dla zbiorów P lt P2 <= Rn ich suma algebraiczna jest zdefiniowana jako zbiór P x+ P 2 = { * i+ x 2| g P i >x 2 e P 2}- Symbole convP oraz coneP oznaczają, od- powiednio, powłokę wypukłą zbioru P cz Rn oraz najmniejszy stożek wypukły za- wierający P. Dla zbioru wielościennego W cz R” przez V{W) oznaczymy zbiór jego wierzchołków, natomiast przez R(W ) zbiór jego promieni ekstremalnych. Przy- pomnijmy, że dla każdego zbioru wielościennego W cz Rn zachodzi
W = conv V( JF)+coneP( W).
Jeśli W jest wielościanem, to R (W ) = 0 i powyższa równość redukuje się do W = convF(JP).
Jeśli x jest wierzchołkiem wielościanu W, to wierzchołkiem sąsiednim dla x nazy- wamy każdy wierzchołek w taki, że odcinek o końcach x, w jest krawędzią wielo- ścianu. Zbiór wierzchołków sąsiednich dla x (przy ustalonym wielościanie) ozna- czymy Vs(x).
Niech W cz R n będzie wielościanem mającym niepuste wnętrze. Powiemy, że jest on niezdegenerowanyij), jeśli każdy jego wierzchołek ma dokładnie n sąsiednich
wierzchołków.
Przypomnijmy ponadto, że f : P - > R jest funkcją wklęsłą na zbiorze wypukłym P cz Rn, jeśli dla dowolnych x , y e P oraz każdej liczby A takiej, że 0 < A ^ 1 za- chodzi
f(X x + (1 - X)y) » A/(x) + (1 - X)f(y) .
2.2. Zakładamy, że wielościan D występujący w sformułowaniu zadania (PW) jest dany za pomocą układu nierówności liniowych, to jest
O Podana tu definicja wielościanu niezdegenerowanego jest innym sformułowaniem warunku
niezdegenerowania występującego w programowaniu liniowym.
D = {x e R n\Ax ^ b},
gdzie A jest macierzą w x « , natomiast b e R m. (Nierówność w' < w" dla wektorów w’, w" przestrzeni Rm jest równoważna temu, źe w- < w" dla / = 1, m).
Bez straty ogólności możemy przyjąć, że intD ^ 0 . W celu uproszczenia roz- ważań zakładamy(2) ponadto, że D jest wielościanem niezdegenerowanym (podobne założenie występuje w pracy [5]).
3. Pewne własności funkcji wklęsłej. Podamy tu kilka prostych lematów dotyczą- cych funkcji wklęsłej określonej na zbiorze wielościennym. Będą one wykorzystane przy konstrukcji algorytmu i dowodzie jego zbieżności.
Wprost z definicji funkcji wklęsłej i równości W = eonvV (W ) dla wielościanu wynika poniższy lemat:
L
e m a t1. Jeśli W jest wielościanem w R" oraz f: W -*• R jest funkcją wklęsłą, to istnieje wierzchołek w taki, że
(Vx e W )f(x) ^ /(w),
Inaczej mówiąc, funkcja wklęsła osiąga minimum globalne na wielościanie w jednym z jego wierzchołków.
Zwróćmy uwagę na następującą własność funkcji wklęsłej:
L
e m a t2. Niech f: R” -* R będzie wklęsła oraz załóżmy, że dla pewnych a e R"
i a g R zachodzi
(V t ^ 1 )f(ta) ^ a.
Wówczas dla każdego b e Rn i każdego t ^ 0 spełnione jest Ą b + ta) ^ f(b).
D o w ó d . Ustalmy b e Rn, t ^ 1. Dla każdego e > 1 mamy z definicji funkcji wklęsłej
f i b + ta ) - / ( l ( rt ) + - ? = l . ( - ^ r „ ) ) > L n O H - l z L Ą - J L - a ) .
Et l Et \
Ale ——— ^ 1, z założenia wynika więc, że / I——— a l ^ “ i w konsekwencji
f ( b + ta) ^ — f(e b ) + - — — a.
e e
f, jako funkcja wklęsła na całej przestrzeni Rn, jest ciągła. Stąd lim (-/(rf> ) + -^—L a) = /(6 ) e— * 1 \ 6 £ /
(2) Przypadek ogólny, tj. wielościanu zdegenerowanego, można sprowadzić do rozpatrywanego tu za pomocą np. techniki analogicznej do metody perturbacji znanej z programowania liniowego.
Możliwe jest również uogólnienie opisanego algorytmu, w którym nie korzysta się z metody per-
turbacji (zob. notki 3 i 4).
i ostatecznie otrzymujemy f(b + ta) ^ f(b). Dla t e [0, 1) nierówność ta jest również prawdziwa, z definicji bowiem funkcji wklęsłej i pierwszej części dowodu mamy
f(b + ta) ^ (1 - t)f(b) + tf{b + a) ^ f(b ). m Poniższy lemat 3 można uważać za ogólniejszą wersję lematu 1.
L
e m a t3. Niech W będzie zbiorem wielościennym o wierzchołkach w1, ...,w m i pro- mieniach ekstremalnych p 1, . . . , p r oraz f: W -> Rn funkcją wklęsłą. Wówczas dla każdego x e W zachodzi:
f(x) ^ in f {/(w1 + tpj)\ i = 1, = 1, r, t ^ 0}.
D o w ó d . Jak wiemy, zbiór wielościenny W można przedstawić w postaci W = conv{w1, ..., M ^j+conelp1, ...,p r). Jeśli więc x e W, to x = X ^w*’ + m
« = i + X PjPi dla pewnych A; ^ 0, fij ^ 0 (/ = 1, . ..,m ,j = 1, ..., r), przy czym
j= i
Z m = i.
i=i Niech J będzie zbiorem indeksów, J = {/| Af > 0} oraz m jego mocą. Wówczas
r
możemy zapisać x = X X i uj’Pj > co z kolei przekształca się następująco:
i eJ j= 1
x = r X T ' +im ' X W p ‘ = X Ź T - ( w < + i a , Ą ■
i e J 7=1 i e j 7=1 '
r
Ponieważ X X h l r — 1 oraz h /r ^ 0 dla / e j , to
i e J j = 1
x e conv {w‘4-— ł m x, pJ i e J , j = 1, ..., r>. J Z lematu 1 otrzymujemy
f(x ) > min | / pJ j i e J , ; = 1, ..., rj i stąd natychmiast
/(x ) ^ inff/C w ^tpO l i = l , ...,m ,j = 1, ..., r, t ^ 0). ■ Bezpośrednio z lematów 2 i 3 otrzymujemy
W n iosek . Niech W będzie zbiorem wielościennym o wierzchołkach w1, ..., wm
i promieniach ekstremalnych p 1, . . . , p r oraz f: Rn -*• R funkcją wklęsłą. Ponadto
załóżmy, że istnieje liczba rzeczywista a taka, że dla j = 1, r oraz t ^ 1 zachodzi
f(tp j) > a. Wówczas (3 w1)(V x e W )f(x) ^ /(vv‘).
4. Idea algorytmu.
4.1. Algorytm opisywany w niniejszym artykule w pierwszej fazie wyznacza wierzchołek wielościanu D będący minimum lokalnym funkcji / na D. Bez straty ogólności można przyjąć, że ten wierzchołek jest początkiem układu współrzędnych 0.
Ideę algorytmu można przedstawić następująco:
Niech x będzie wierzchołkiem o najmniejszej wartości funkcji celu / wśród wierz- chołków zbadanych dotychczas oraz a = f(x). Mamy daną rodzinę Z n-elemento- wych afinicznie niezależnych podzbiorów Rn, Z = {U1} ..., Up}, o której wiemy, że jeśli a: e V (D )\ (J cone U, to f( x ) ^ a. Ponadto znane są dolne oszacowania
U e Z
a (U) wartości funkcji / na zbiorach F(Z))nconeZ7 dla U e Z . Jeśli Z = 0 lub m ina(t/) ^ a, to a: jest oczywiście rozwiązaniem optymalnym zadania (PW). W prze-
U e Z _ _
ciwnym przypadku wybieramy U e Z taki, że a(t/) = min a(t/) i badamy, czy
_ U e Z
w zbiorze K(D)ncone U mogą istnieć wierzchołki mające mniejszą niż a wartość funkcji /. W tym celu rozwiązujemy pewne zadanie pomocnicze, prostsze niż (PW), opisane dokładniej w następnym punkcie. Po jego rozwiązaniu aktualizujemy rodzinę Z eliminując z niej zbiór U (jeśli odpowiedź jest negatywna) lub wprowa- dzając do niej zamiast U pewne nowe podzbiory Up+1, ..., Up+k takie, że
k______________________
U cone Up+i = cone U (jeśli odpowiedź jest pozytywna); konstrukcja zbiorów Up+i i= i opisana jest w pkcie 7.
4.2. Wspomnieliśmy powyżej, że w początkowej fazie algorytm wyznacza wierz- chołek a:0 e V(D) będący minimum lokalnym funkcji / na D, a dokładniej taki, że f(x) ^ f(x°) dla a; e Fs(x°). Dokonujemy tego w sposób naszkicowany już w § 1.2.
Tu ograniczymy się więc jedynie do zapisania ścisłego schematu tej prostej proce- dury.
1° Znajdź dowolny wierzchołek v x e V(D), i = 1.
2° Oblicz f(p) dla v e Vs(vl). Wyznacz f l = min {f(v)\ v e Vs(v')} = f(v).
3° Jeśli f l < to idź do 4°. W przeciwnym przypadku a:0 = v l. Stop.
4 ° v i+1 = Zwiększ i o 1; idź do 2°.
Zgodnie z uwagą w § 4.1 przyjmijmy dalej, że
a:0 = 0.
Wobec założenia o niezdegenerowaniu wielościanu D (zob. § 2.2), wyznaczenie zbioru Vs(vł) wierzchołków sąsiednich dla v \ wymagane w kroku 2°, jest proste(3) i sprowadza się do wykonania n przekształceń sympleksowych macierzy bazowej układu A x + Iy = b, y ^ 0, odpowiadającej rozwiązaniu bazowemu, w którym a; = v l.
(3) Gdy pominiemy założenie o niezdegenerowaniu, wówczas do wyznaczania zbioru wierz- chołków sąsiednich dła v l wskazane jest użycie metody lepszej niż zwykły przegląd wszystkich roz- wiązań bazowych, sąsiednich dla rozwiązania układu A x + Iy = b, y > 0, w którym x = v '. Metoda taka może być oparta np. na algorytmie Czernikowej (Żurn. Wyczysl. Mat. i Mat. Fiz. 5, 2 (1965);
por. też [2]).
Uzupełnieniem początkowej iteracji jest ustalenie startowej rodziny Z. Ma ona jeden element(4), mianowicie Z = {Fs(x0)}.
5. Zadanie pomocnicze.
5.1. Zadanie pomocnicze jest jednoznacznie określone za pomocą pewnego liniowo niezależnego układu U = {u1, c Rn i liczby rzeczywistej a spełnia- jących poniższe warunki (a) i (b):
(a) (Vuł e U)fiu1) > a, (b) /(O) ^ a.
Zadanie pomocnicze dla danej pary (U, a) oznaczać będziemy przez ZP{U, a) a otrzymujemy je w następujący sposób:
Dla każdego i = 1, ..., n znajdujemy
= sup{<9 e.R| f( 0 u l) ^ a).
Niech / oznacza zbiór indeksów, / = {/eJVj 0 4 < 4-oo}, gdzie N = {1, . Jeżeli 1 = 0 , to powiemy, że zadanie pomocnicze nie ma rozwiązań. Załóżmy, że / 7^0. Połóżmy 0 / = &i dla i e I oraz Ot = 1 dla i e N \ I . Określamy macierz B = (Bx, ..., 2?„), której kolumny są wektorami Bt = &i * u1 dla z = 1, ..., n. Jest ona nieosobliwa. Za pomocą macierzy B definiujemy następujące obiekty:
stożek K{B) = {x e J*"| tf" 1* ^ 0 ),
hiperpłaszczyznę H{B) = {jcek" I Y
j= 1},
i e l
półprzestrzeó P(B) = ]>] 08_1*)i > 1},
i e l
gdzie (B~1x)i oznacza i-tą współrzędną wektora B~1x.
5.2. Zauważmy, że hiperpłaszczyzna H(B) zawiera punkty Bi dla i e l oraz jest równoległa do kierunków wektorów Bj dla j e N \ I . Wobec liniowej niezależności zbioru {B i, ..., Bn} jest to jedyna hiperpłaszczyzna o tej własności. P{B) jest otwartą półprzestrzenią, wyznaczoną przez H{B) i nie zawierającą początku układu współ- rzędnych. Ponadto zachodzi równość K(B) = cone U.
Istotną własnością macierzy B, wykorzystywaną w dowodzie zbieżności algo- rytmu, jest to, że jeśli x e K (B )\P (B ), to f(x) ^ a (zob. lemat 4). Można też po- kazać, że jeśli P' jest inną półprzestrzenią otwartą taką, że dla jc e K (B )\P ' zachodzi f(x ) ^ a, to K (B )\P (B ) 3 K ( B ) \P \ Inaczej mówiąc, hiperpłaszczyzna H{B)
(4) W wielościanie zdegenerowanym zbiór V,(x°) może mieć więcej niż n elementów i dlatego inaczej należy konstruować startową rodzinę Z. W pewnych przypadkach łatwo znaleźć taki n-ele- mentowy liniowo niezależny zbiór U, że eonet/ => D oraz /(«) 5* f(x°) dla u e U. Wtedy przyjmiemy startowe Z = {U} (por. [2]). Natomiast zawsze można wyznaczyć taką rodzinę Z ln-elementowych liniowo niezależnych zbiorów, że dla każdego U e Z zachodzi U <= V,(x°) oraz LJ cone U => D.
U e Z
W pracy [1] opisano procedurę „P” generującą taką rodzinę, która ponadto spełnia warunek
int conet/' n int coneU" = 0 dla U' ^ u", U’, U” e Z.
„odcina” największą możliwą (przy użyciu hiperpłaszczyzny) część stożka K{B) =
= cone U nie zawierającą punktów o mniejszej niż a wartości funkcji /.
5.3. Niech
q(
x, H(Bj) oznacza odległość punktu x e Rn od hiperpłaszczyzny H(B). Rozwiązując zadanie pomocnicze ZP(U, u) poszukujemy takiego punktu x* e V(D )nK(B)nP(B), że
@(x*, H(B)) = m ax£(x, H(B)) dla x e V(D )nK(B)nP(B).
Rozwiązaniem dopuszczalnym dla Z P(t/, a) nazywamy każdy punkt x należący do zbioru V(D)nK(B)r\P(B).
Dla sformułowania procedury rozwiązującej zadanie pomocnicze wygodniejsza będzie inna, ale równoważna powyższej, jego postać. Wobec liniowej niezależności zbioru {Bt , ..., B„} dla każdego x e Rn istnieje dokładnie jeden wektor X e Rn taki, że x = BX. Zauważmy, że zachodzą następujące związki:
(c) x < = K (B )o X ^ 0, x e P(B) A, > 1, x e V(D) o Xe V(D'),
i e l
gdzie D' jest wielościanem, D' = {A e P"| ABX ^ b).
Odległość
q(
x,H (B )) można wyrazić wzorem
i e l
gdzie A = (Ai, ..., A„) = B~1x , g = 1 /||^ ] ą || jest dodatnim współczynnikiem nie
i e l
zależącym od x, a || • || oznacza euklidesową normę w Rn. Wynika z tego, że dla x e P (B ), a więc gdy 2 h = X! odległość punktu x od hiperpłasz-
i e l i e l
czyzny H(B) można zapisać jako
i e l
Z powyższych spostrzeżeń otrzymujemy, że x* jest rozwiązaniem Z P (t/, a) wrtedy i tylko wtedy, kiedy A* = B~xx* jest rozwiązaniem zadania
(ZP) max ^ A,, A e V(D'), X ^ 0, A, > 1.
i e l i e l
5.4. Zadanie (ZP) jest szczególnym przypadkiem następującego ^-problemu rozpatrywanego przez Pollatschka i Avi-Itzhaka [3]:
(n) max cTx ,
x e n —Pr\C
gdzie c e Rn, P cz R" jest wielościanem wypukłym, natomiast C cz Rn jest takim zbiorem, że n = P n C cz V(P).
W pracy [3] autorzy opisali algorytm rozwiązujący zadania tego typu. W pierw-
szym kroku wymaga on zastosowania algorytmu „sympleks” do zadania liniowego
max{cTx| x e P ). Następnie wierzchołki wielościanu P są przeglądane w porządku
malejących wartości funkcji celu. Pierwszy napotkany wierzchołek należący do C jest rozwiązaniem rc-problemu.
Przyjmijmy P = (A e 7?"| A B l 0}, C = V{D')n {A e Rnl £ A, > l}
oraz cT = (c1, ..., c„), gdzie ct = 1 dla i e I, ct = 0 dla z e W \7.
Przy tak określonych P, C, c wystarczy w (tt) podstawić x = X, aby otrzymać zadanie (ZP).
5.5 Schemat procedury rozwiązującej ZP (U, a) zapiszemy następująco:
1° Oblicz @i dla i = 1, ..., n. Jeśli min0j < +oo, to idź do 2°. W przeciwnym przypadku ZP {U, a) nie ma rozwiązań. Stop.
2° Wyznacz macierz B = (B1} Bn).
3° Rozwiąż zadanie liniowe
Niech A1 będzie rozwiązaniem, k: = 1.
4° Jeśli ź* > 1, to idź do 5°. W przeciwnym przypadku ZP( U, a) nie ma roz- wiązań. Stop.
5° Jeśli Xk e V(D'), to x* = BXk jest rozwiązaniem ZP (U, a). Stop.
W przeciwnym przypadku idź do 6°.
6° Jeśli {A1, ..., Xk} = V(P), to ZP {U, oc) nie ma rozwiązań. Stop.
W przeciwnym przypadku wyznacz wierzchołek Afc+1, Afe+1 e V ( P ) \ {A1, ..., Aft}
Zwiększ k o 1; idź do 4°.
Jedynym elementem powyższej procedury wymagającym odwołania się do metody [3] jest wyznaczenie punktu Afc+1 w 6°.
6. Własności zadania pomocniczego. Ustalmy liniowo niezależny zbiór U =
= {u1, ..., un} c R" i liczbę a taką, że/(«') ^ a dla i = 1, ..., n;f(0) ^ a . W spo- sób opisany w § 5.1 wyznaczamy macierz B i zbiór indeksów I.
L
e m a t4. Dla każdego x e K (B )\P (B ) zachodzi f(x) ^ a.
D o w ó d. Macierz B określiliśmy tak, że /(Ą ) ^ a, i = 1, ...,« , a ponadto f(@Bi) ^ a dla 0 > 1, i e JV \7. Zbiór 7T (5)\P(5) jest albo wielościanem o wierz- chołkach Bx, ..., 7?„, 0 (jeśli 7 = W), albo nieograniczonym zbiorem wielościennym o wierzchołkach Bt dla / e 7, 0 i promieniach ekstremalnych Bj dla j e N \ I . W pier- wszym przypadku tezę otrzymujemy natychmiast z lematu 1, w drugim zaś z wniosku podanego po lemacie 3. ■
ABX^b9 A$i0 | g / max
/e J
taki, że
i e l i e l
Poniższe spostrzeżenie wyjaśnia rolę zadań pomocniczych ZP(U, a) w algorytmie problemu (PW).
W n io sek . Jeśli ZP (U, a) nie ma rozwiązań, to w stożku cone U nie istnieje wierz- chołek wielościanu D, któremu odpowiada mniejsza niż a wartość funkcji f.
D o w ó d . Przypomnijmy, że cone U = K(B). Z założenia wynika, że jeśli x e F(D)ncone U, to x e K (B )\P (B ). Z lematu 4 natychmiast otrzymujemy f(x ) ^
^ a. ■
7. Algorytm. Przed podaniem schematu algorytmu omówimy sposób modyfi- kowania rodziny Z oraz wyznaczania ograniczeń a(C7) dla U e Z .
7.1. Jak stwierdziliśmy już w § 4.1, rozwiązując zadanie pomocnicze dla wybra- nego elementu U e Z , szukamy odpowiedzi na pytanie, czy w zbiorze cone U istnieją wierzchołki wielościanu D o mniejszej wartości funkcji / niż a. Jeśli odpowiedź jest negatywna, czyli ZP(£/, a) nie ma rozwiązań, to nowa rodzina Z ' ma postać Z ' = Z \{ U } . W przeciwnym przypadku nie możemy wykluczyć zbioru U (do- kładniej : cone U) z dalszych rozważań i postępujemy wówczas następująco:
Przede wszystkim, jeśli w punkcie x* będącym rozwiązaniem zadania pomocni- czego zachodzi f(x*) < a = f(x), gdzie x jest najlepszym znalezionym dotychczas wierzchołkiem, to przyjmujemy nowe x = x* oraz a = f(x*). Zbiór U usuwamy z rodziny Z wprowadzając do niej zamiast niego zbiory
Uj = {B1} . . ., B j _ lt x * ,B J+1, . . . , B n}
dla
je N (x * ) = {i e N \ A? = ( 5 - 1x*)i > 0},
gdzie Bi są kolumnami macierzy B znalezionej dla U (zob. § 5.1). Zauważmy, że Uj dla fe N (x * ) są liniowo niezależne oraz (_J cone Uj = cone U. Tak więc
je N(x*)
nowa rodzina Z ' ma postać
Z ' = (Z\{C 7})u {t7,|;eiV (x*)}.
7.2. Uzupełnieniem procedury modyfikującej wartość a, wektor x oraz rodzinę Z w każdej iteracji jest szacowanie dolnych ograniczeń wartości fu n k c ji/ w zbiorach V(D)r\cone Uj dla je N (x * ). Mianowicie określmy liczby
ot(Uj) = min ( {/(??Bj)| i e I, i # j }u {/(O), f ( x *)})
dla j e N(x*), przy czym rj = ^ Af jest optymalną wartością funkcji celu w zadaniu
i e l
(ZP).
L
e m a t5. Jeśli x e V(D)nconeUj, to f(x) ^ a (Uj).
D o w ó d . Ustalmy x e F(D )nconeUj. Istnieją liczby y 1} y n ^ 0 takie, że x = S yiBi + yjX*. Ale x* = BA* = X!
nZ tego otrzymujemy następujące
i* f=I
przedstawienie punktu x:
____________ __ n
X = + = ^ ( y i + y j t y B t + y j k f B j = Y a , # , ,
M y /= 1 My i= 1
gdzie
[Yi + yj** dla i
(1) Aj = ty., A? dla i = j .
Ponieważ x* jest optymalnym rozwiązaniem zadania pomocniczego, a x e cone C/ =
= K(B), więc
(2) 2 A* < Z A* =
<e/ f e /
Po prostych rachunkach otrzymujemy z (1) i (2)
(3) +
i e l i * j
Wykonujemy następujące trywialne przekształcenie:
x = 'S^ Y
i b i+ Y
jX* = ' ^ y iBi+ ' ^ y iBi + yjX* =
i j t j i e l i f i
l * i i * j
= Y i ~ v (riB‘)+ y jx * + ' } l y ‘B‘-
i e l ' i# /
My M7
Mamy przy tym yjr] ^ 0 dla i e I, i # j , yj > 0 oraz y, ^ 0 dla i £ /, a ponadto z (3)
X I Yifo+ yj < 1 •
My
16/
Wynika z tego, że i g conv({0, x* }u {rjBi\ i e I, i ^ 7})+cone {Bi| i 4 1, i ¥= j}- Ponieważ dla i £ / zachodzi f{@Bt) ^ a dla każdego O ^ 1, to na podstawie wniosku z lematu 3 otrzymujemy
f ( x