1. Podstawowe pojęcia oraz pomocnicze twierdzenia i lematy
1.3. Procedura identyfikacji zerowych elementów
W tej części pracy zostanie wprowadzona procedura identyfikacji tak zwanych elementów zerowych, która jest wykorzystywana do skonstruowania numerycznej metody p-czynnikowej Lagrange`a w rozdziałach 3 i 4. Wprowadzone zostanie twierdzenie, które opisuje własności funkcji µ(x). Funkcja ta jest wykorzystywana w pracy w celu wyznaczenia maksymalnego liniowo niezależnego podukładu gradientów f1′(x),...., fm′(x). Ponieważ funkcja µ(x) posiada własności opisane w twierdzeniu 1.3.1 to istnieje możliwość zbudowania procedury, prognozującej na podstawie punktu x∈Uε(x*) (gdzie ε dostatecznie małe), jak zachowują się gradienty odwzorowania w punkcie rozwiązania x*. Następnie został zaprezentowany algorytm iteracyjny omawianej procedury. Efektem działania algorytmu jest uzyskane uporządkowane odwzorowanie F(x)
)
, w którym gradienty pierwszych r współrzędnych odwzorowania Fˆ x( ) są liniowo niezależne w punkcie
*
x , natomiast pozostałe są zerami. W ten sposób zostało otrzymane odwzorowanie )
(x F
)
, które umożliwia tworzenie algorytmów rozwiązywania zdegenerowanych problemów optymalizacji.
Niech odwzorowanie F∈Cp+1(Rn) będzie p−regularne (p≥2 ) w punkcie x . * Dla małego otoczenia Uε(x*) wprowadzimy dwie funkcje
{ } {}
( )
(
f x Span f x j m i)
x i j
m
imin dist ( ), ( ), 1,..., \ )
( = 1,2,..., ′ ′ ∈
ρ =
i
= −1
1 1
) ( , ) ( max )
(x F x p ρ x p
µ , gdzie d(y,Y)oznacza odległość y od zbioru Y .
Uwaga 1.7 Jeśli rozpatrywany problem optymalizacji ma tylko jedno ograniczenie, to wówczas ρ(x)= f1′(x) .
Poniżej sformułowane twierdzenie określa własności funkcji µ(x), która będzie wykorzystywana w dalszej części pracy do konstruowania operatorów rzutowania oraz do budowania algorytmów.
TWIERDZENIE 1.3.1. ( o minorancie).
Niech w punkcie *x spełniy będzie warunek F(x*)=0. przypadku postępujemy w sposób analogiczny jednak obliczenia są bardziej złożone).
Niech w punkcie x układ wektorów *
{
fi′(x*)}
będzie liniowo niezależny, gdzie [16] str. 57), gdzie B(x) jest niezdegenerowanym przekształceniem postaci
Odpowiednie αk(x)otrzymujemy z rozwiązania następującego układu równań:
r
Otrzymane αk(x) pozwalają przechodzić od odwzorowania F(x) do odwzorowania )
Funkcja ρ(x) dla odwzorowania Fˆ x( ) jest równoważna funkcji ρ(x) dla odwzorowania F(x) (w tym sensie, że jedna funkcja oszacowuje drugą z góry i z dołu z dodatnimi współczynnikami czyli istnieją stałe α1 >0,α2 >0 i β1 >0,β2 >0 takie,
spełniony jest warunek
uproszczenia przeprowadzona dla odwzorowaniaFˆ x( ).
Zgodnie ze wzorem Taylora dla małego otoczenia Uε(x*) punktu *x w przestrzeni R n
(
⊥)
⊥Dla udowodnienia podanego twierdzenia pokażemy, że dla wystarczająco dużego
>0
N możliwe będą tylko dwie sytuacje:
1) jeśli Rozpatrzymy kolejno podane dwie możliwości.
Ad 1) Jeśli 1 ,
Operator 2-czynnikowy w punkcie *x będzie miał następującą postać:
{ }
dla którego
P ma taką postać, która zeruje pierwszych r wierszy (ogólny sposób wyznaczania ⊥
operatorów rzutowania jest przedstawiony na str. 50-52).
Na podstawie warunku 2-regularności macierz (1.8) jest niezdegenerowana, a to oznacza, że jej wiersze są liniowo niezależne i istnieje C>0, takie że ρ(x*)≥C. W przeciwnym wypadku rankΨ2(h)<m, gdzie Ψ2(h)=Fˆ′(x*)+P⊥Fˆ′′(x*)h, a zatem dla p=2 warunek (1.6) nie byłby spełniony.
Stąd wynika, że dla macierzy
{
Fˆ′(x*)+P⊥Fˆ′′(x*)[th1]}
, gdzie h1 jest ustaloneDalej mamy
[ ]
W ten sposób został udowodniony pierwszy przypadek.
Ad 2) Udowodnimy, że Fˆ(x) ≥C2 x−x*2, gdzie C2 >0 - niezależna od x stała.
oraz zk = xk −x*, przy czym, jak pokazano wyżej, z da się przedstawić w postaci k
z definicji stycznego stoża i korzystając z twierdzenia Tretiakowa (patrz [38], str. 159 lub dodatek B) otrzymujemy
(
*)
2 * ,Dalej na podstawie twierdzenia Pitagorasa oraz na podstawie założenia mamy:
2
Ponadto
sposób został udowodniony podpunkt 2.
Na podstawie podpunktu 1 i podpunktu 2 wynika prawdziwość lewej części nierówności (1.9)
{
1 2}
Prawa część nierówności (1.9) wynika bezpośrednio z twierdzenia Taylora.
) (
*)
*)(
ˆ (
*) ˆ( )
ˆ(x F x F x x x x
F = + ′ − +ω , gdzie ω(x) =o x−x* stąd wynika, że
p C x x p
x F
1 1
* )
ˆ( ≤ ′′ − , dla p=2 będzie 2
1 2
1
* )
ˆ(x C x x
F ≤ ′′ − , gdzie C′′>0 ustalona niezależna od x stała.
Twierdzenie zostało udowodnione.
Aby uzyskać uporządkowane odwzorowanie
=
+
) ˆ (
...
) ˆ (
) ( ...
) (
) (
1 1
1 1
x f
x f
x f
x f
x F
m r
r
)
wprowadzamy
iteracyjną metodę wyznaczania gradientów ( ),..., ( )
1 x f1 x
f′ r′ liniowo niezależnych w punkcie *x (gdzie r1 =r).
W celu skonstruowania metody wyznaczania gradientów liniowo niezależnych w punkcie x oprócz podanych wcześniej własności funkcji * µ(x) potrzebny będzie następujący lemat.
Lemat 1.3.1.
Niech dla nieujemnych funkcji g(x),µ(x) spełnione będą następujące nierówności :
2 1 2
1) ( )
(x g x L x x
g − ≤ − ∀x1,x2∈Uσ(x*),
*), (
* )
(
*
1
x U x x
x C x x
x
C′ − ≤µ ≤ ′′ − p ∀ ∈ σ
gdzie L,C′,C′′,σ dodatnie stałe i C′′≥C′oraz p≥2..
Wtedy istnieje dostatecznie małe ε >0, takie że spełniony będzie jeden z dwóch warunków:
1. ∀x∈Uε(x*): g(x)≤µ(x)21 i wtedy g(x*)=0 albo
2. ∀x∈Uε(x*): 2
1
) ( )
(x x
g >µ i wtedy g(x*)≠0. DOWÓD
Dla funkcji g(x) możliwe mogą być tylko dwie sytuacje
- 10g(x*)=0 albo
- 20g(x*)=C >0.
Ad. 1 W tym przypadku mamy, iż istnieje dostatecznie małe 0 ε >0 takie, że
*) (x U x∈ ε
∀ g(x)≤g(x*)+ g(x)−g(x*) ≤L x−x* ≤
(
C′ x−x*)
21 ≤µ(x)21. Ad. 2 W drugim przypadku mamy, iż istnieje dostatecznie małe 0 ε >0 takie, że*) (x U x∈ ε
∀
2 2 1
1 1
) ( 2 *
*
*) ( ) (
*) ( )
( C C x x x
x x L C x g x g x g x
g p ≥µ
′′ −
>
>
−
−
≥
− +
= .
Przechodząc do dowodu Lematu rozpatrzmy pierwszy przypadek.
Niech dla dowolnego dostatecznie małego ε >0 spełniona będzie nierówność
2 1
) ( )
(x x
g ≤µ ale niech g(x*)≠0. Wtedy
( )
02
*)
* (
*) (
*) ( ) (
*) ( ) ( ) (
* 2
1 2
1 ≥ ≥ = + − ≥ − − ≥ >
′′ − g x
x x L x g x g x g x g x g x x
x
C p µ
co dla dostatecznie małego ε >0 prowadzi do sprzeczności . Rozpatrzmy drugi przypadek
Niech dla dowolnego dostatecznie małego ε >0 spełniona będzie nierówność
2 1
) ( )
(x x
g >µ ale niech g(x*)=0. Wtedy
(
C′ x−x*)
21 ≤µ(x)21 <g(x)=g(x)−g(x*)≤L x−x* co dla dostatecznie małego>0
ε prowadzi do sprzeczności.
Uwaga 1.8.
Na podstawie założeń lematu 1.3.1 istnieje dostatecznie małe ε >0 takie, że jeżeli dla dowolnego x∈Uε(x*) spełniona jest nierówność ( ) ( )2,
1
x x
g ≤µ wtedy i dla wszystkich x∈Uε(x*) spełniona będzie nierówność ( ) ( )2,
1
x x
g ≤µ a zatem prawdziwa będzie równość g(x*)=0.
Analogicznie, jeżeli dla dowolnego x∈Uε(x*) spełniona jest nierówność ,
) ( )
( 2
1
x x
g >µ wtedy i dla wszystkich x∈Uε(x*) spełniona będzie nierówność ,
) ( )
( 2
1
x x
g >µ a zatem prawdziwy będzie warunek g(x*)≠0.
Metoda wyznaczania gradientów liniowo niezależnych w punkcie
x*.
(Identyfikacja zerowych elementów)
Dla dostatecznie małego ε >0 oraz x należących do otoczenia Uε(x*) punktu *x i dla i∈
{
1,...,m}
zdodnie z lematem 1.3.1 oraz uwagą 1.8 rozpatrzymy dwa możliwe przypadki1. g(x)= fi′(x) ≤
(
µ(x))
12 (1.12) 2. g(x)= fi′(x) >(
µ(x))
21W przypadku 1 zgodnie z uwagą 1.8 będzie fi′(x*)=0. Natomiast w przypadku 2 zgodnie z uwagą 1.8 będzie fi′(x*)≠0.
Po uwzględnieniu podanego powyżej lematu 1.3.1 oraz uwagi 1.8 możemy przejść do skonstruowania iteracyjnego algorytmu metody wyznaczania gradientów liniowo niezależnych w punkcje *x .
Krok 1 Zgodnie ze schematem (1.12) identyfikujemy pierwszy niezerowy wektor. Niech to będzie wektor z indeksem i1 i niech dla niego będzie prawdziwa nierówność fi1′(x) >
(
µ(x))
21 wówczas odpowiadał mu będzie niezerowy wektor ( *) 01′ x ≠
fi .
Krok 2 Identyfikuemy kolejny niezerowy wektor, np. ( *)
2 x
fi′ oraz sprawdzamy warunek dist
(
fi2′(x),Span(
fi1′(x)) )
>(
µ(x))
21. Jeśli ta nierówność zachodzi w otoczeniu Uε(x*), to znaczy, że wektory ( *)2 x
fi′ oraz ( *)
1 x
fi′ są liniowo niezależne i przechodzimy do kroku 3. Natomiast, jeśli dana nierówność nie zachodzi, to znaczy, że wektor ( *)
2 x
fi′ jest liniową kombinacją pozostałych wektorów i powracamy do kroku 2
Krok 3 Identyfikujemy kolejny wektor niezerowy ( *)
3 x
fi′ i sprawdzamy warunek dist
(
fi′(x),Span(fi′(x), fi′(x)))
>(
µ(x))
12. Jeśli ta nierównośćzachodzi w otoczeniu Uε(x*) to znaczy, że wektor ( *)
3 x
fi′ nie jest liniową kombinacją pozostałych wektorów i przechodzimy do kroku s. Natomiast, jeśli dana nierówność nie zachodzi, to znaczy, że ( *)
3 x
fi′ jest liniową kombinacją pozostałych wektorów i powracamy do kroku 3
Krok s Mamy ( *),..., ( *)
1
1 x f x
fi′ is′− wektorów liniowo niezależnych od pozostałych wektorów.
Identyfikujemy kolejny wektor niezerowy f (x*)
is′ i sprawdzamy warunek
(
( ),Span( ( ), ( ),..., ( ))) (
( ))
21dist f x f1 x f2 x f 1 x x
s
s i i i
i′ ′ ′ ′− > µ . Jeśli ta nierówność
zachodzi w otoczeniu Uε(x*) to znaczy, że wektor f (x*)
is′ nie jest liniową kombinacją pozostałych wektorów. Natomiast, jeśli dana nierówność nie zachodzi, to znaczy że f (x*)
is′ jest liniową kombinacją pozostałych wektorów.
Algorytm kończy się w momencie gdy s = m.
W ten sposób otrzymaliśmy odwzorowanie
=
+
) ˆ (
...
) ˆ (
) ( ...
) (
) (
1 1
1 1
x f
x f
x f
x f
x F
m r
r
)
, gdzie
0
*) ( ,..., 0
*)
( 1
1′ x ≠ f′ x ≠
f r są liniowo niezależne, natomiast ˆ ( *) 0,..., ˆ ( *) 0
1 1 = ′ =
′+ x f x
fr m .
Sprowadzenie odwzorowania F(x) do postaci Fˆ x( ) zostało przeprowadzone w celu uproszczenia struktury operatorów rzutowania.
Zatem analogicznie postępujemy dla drugich pochodnych, tj. przekształcamy dolną część odwzorowania Fˆ x( ), czyli ˆ ( ),..., ˆ ( )
1 1 x f x
fr+ m w taki sposób, aby ˆ ( *),..., ˆ ( *)
2
1 1 x f x
fr′′+ r′′ były liniowo niezależne, natomiast ostatnie były równe 0, czyli ˆˆ ( *) 0,..., ˆˆ ( *) 0
2′′+1 x = f ′′ x =
fr m .
W dalszej części dla uproszczenia procedury wprowadzamy oznaczenia: fˆ(x)= f2(x), )
( )
ˆˆ(x f3 x
f = , itd.
Uwaga 1.9. Liczba w indeksie górnym przy nazwie funkcji f nie oznacza stopnia pochodnej, a jedynie kolejny numer.
Ostatecznie otrzymujemy odwzorowanie
Sposób ten pozwala przejść do równoważnego układu ograniczeń i daje prostą metodę wyznaczania operatorów rzutowania P , i i=1,p w dowolnym punkcie x∈Uε(x*), w którym niezależnie od punktux, operatory rzutowania mają jednakową strukturę przy ustalonym p .
Analogicznie
Dalej i
Ostatecznie
=
−+
m r
p
p
P
1 ...
1 0 ...
0
1 1
i
W dalszej części dysertacji ten sposób wyznaczania Fp(x) oraz operatorów rzutowania będzie wykorzystywany jedynie w numerycznej implementacji, natomiast w przypadku teoretycznych wyników będzie nadal wykorzystywane pierwotne odwzorowanie F(x).
Przy czym ( *),..., ( *)
1 x f1 x
f′ r′ są liniowo niezależne oraz
, 0 )
*) ( ( , , 0 )
*) (
( 21 2
2
1+ x ′= f x ′=
fr L r i ( 21( *)) , ,( 2( *))
2
1+ x ′′ f x ′′
fr L r - liniowo niezależne ...
0
*)) ( ( , , 0
*)) (
( 1 ( ) ( )
1+ = =
−
k p m k
p
r x f x
f p L dla k =1,p−1 i ( ( *))( ), ,( ( *))( )
1
p p
m p
p
r x f x
f p− L -
liniowo niezależne.
=
− +
) ( ...
) ( 0 ...
0
) (
1 1
x f
x x f
F P
p m p r p
p p
p
m i>
NIE
TAK
0
*)
( ≠
′ x
fi NIE
i:=i+1 TAK
) (
: f x
Span =λ i′
m i>
TAK
KONIEC NIE
i:=i+1
0
*)
( ≠
′ x fi
TAK
NIE
2 1
) ( )) ( ,
(Span f x x
dist i′ >µ NIE fi′(x*)=0 i:=1
=1 λ START
Podaj x z otoczenia punktu x* oraz F(x)
Obliczaj
′
′
′ =
) ( ...
) ( ) (
1
x f
x f x F
m
oraz wyznacz µ(x)
i:=1
2 1
) ( )
(x x
fi′ <µ NIE
0 TAK
*)
( =
′ x
fi fi′(x*)≠0, np. fi′(x*)=1
i:=i+1 Algorytm identyfikacji
zerowych elementów:
Pokażemy na prostym przykładzie jak podana wyżej procedura może zostać
Rozpatrzmy układ
Weźmy na przykład punkt
T
Wyznaczamy
W rozpatrywanym przypadku mamy
Podstawiając współrzędne punktu x* otrzymujemy:
zależny) z gradientem f1′(x*). Sprawdźmy to przy pomocy przedstawionej metody.
Musimy wyznaczyć wartość funkcji
Na przykład, dla danego punktu
T
1 otrzymujemy:
)
0 ) (x =
ρ , 4 4 4
2 2 2
1
16 17 16
1 1 4
1 1 )
( = + =
+
= x
F a więc 4
16 ) 17 (x =
µ .
Dalej sprawdzamy czy jest prawdziwa nierówność 2
1 1(x) (x)
f′ <µ . A zatem sprawdzamy czy prawdziwa jest nierówność:
<8 16
2 17 . Okazuje się, że
nierówność ta jest nieprawdziwa, a to oznacza, iż wektor f1′(0,0)≠0 jest niezerowy.
Sprawdźmy, więc drugi wektor 2
1 2 (x) (x)
f′ <µ . Mamy wtedy 2
1 2
1 2
2 x (x)
x + <µ . Dalej podstawiając współrzędne punktu x otrzymujemy prawdziwą nierówność
8
16 17 2
1 < . Zatem f2′(0,0)=0 (gradient liniowo zależny w punkcie x* od f1′(0,0)).
Otrzymujemy stąd
= 0 0
0 1
P1 a
= 1 0
0 0
P2 . Wówczas dla nowego dowzorowania )
ˆ x(
F mamy f1(x)=x1+x2, fˆ2(x)=x1x2.