numeryczne metody optymalizacji optymalizacja w...
TRANSCRIPT
Numeryczne metody
optymalizacji
Optymalizacja w kierunku
informacje dodatkowe
Typowe zadania decyzyjne
Zadanie decyzyjne bez ograniczeΕ:S
x RD =
Zadanie decyzyjne z ograniczeniami
rΓ³wnoΕciowymi:
SLxxxx L
S
x ==== ,0)(,,0)(,0)(: 21 RD
)1(x
)2(x
Zadanie decyzyjne z ograniczeniami
nierΓ³wnoΕciowymi:
0)(,,0)(,0)(: 21 = xxxx M
S
x RD
)1(x
)2(x 0)(1 x
0)(2 x
0)(3 x
2
0)( =x
)1(x
)2(x
Zadanie optymalizacji bez ograniczeΕ
ZaΕoΕΌenie: jest funkcjΔ ciΔ gΕΔ i rΓ³ΕΌniczkowalnΔ .
Zadanie optymalizacji: )(min)(S
xFxFxx RDx=
=β
)(xF
Warunkiem koniecznym aby byΕo minimum lokalnym jest:x
Sxx xF 0)(*=
JeΕΌeli jest funkcjΔ pseudo - wypukΕΔ , powyΕΌsze rΓ³wnanie jest warunkiem
koniecznym i wystarczajΔ cym aby byΕo minimum globalnym
)(xFx
3
JeΕΌeli jest dodatnio pΓ³Ε okreΕlona to rozwiΔ zanie
powyΕΌszego rΓ³wnania jest minimum globalnym
( )xH Sx R
JeΕΌeli jest dodatnio okreΕlona powyΕΌsze rΓ³wnanie ma
jedno rozwiΔ zanie i jest ono minimum globalnym
( )xH Sx Rx
Zadanie optymalizacji z ograniczeniami rΓ³wnoΕciowymi
Metoda mnoΕΌnikΓ³w Lagrangeβ a
)()()()(),(1
xxFxxFxL TL
l
ll +=+= =
=
L
2
1
Warunki konieczne optymalnoΕci:
Sxx xL 0),(,=
Funkcja Lagrangeβa:
,
)(
)(
)(
)(2
1
=
x
x
x
x
L
LxxL 0),(
,=
4
- wektor
wspΓ³ΕczynnikΓ³w
Lgrangeβ a
,)()()( xFxGrankxGrank xβ=
gdzie:
)()()()( 21 xxxxG Lxxx =
)()(),( xxFxL T +=
=
M
2
1
=
+=M
m
mm xxFxL1
)()(),(
M
Mx
x
T
Sxx
xL
xL
xL
0
0),(
0),(
0),(
*
,
,
,
**
**
**
=
=
Zadanie optymalizacji z ograniczeniami
nierΓ³wnoΕciowymi Metoda Kuhna β Tuckerβa
Warunki konieczne optymalnoΕci:
Funkcja Lagrangeβ a:
=
S
2
1
=
S
2
1
ssSs = ,,1
gdy rozwiΔ zanie jest regularne
gdzie: - wektor
wspΓ³ΕczynnikΓ³w
Lgrangeβ a
Numeryczne metody optymalizacji
π₯β β πΉ π₯β = minπ₯βπ·π₯
πΉ(π₯)
Problemy analityczne:
1. Nieliniowa zΕoΕΌona funkcja celu πΉ i
ograniczeΕ π oraz π.2. NierΓ³ΕΌniczkowalnoΕΔ funkcji πΉ, π
oraz π.
3. Nie jest znana postaΔ analityczna
funkcji πΉ, π oraz π, moΕΌna jedynie
βzmierzyΔβ wartoΕΔ funkcji
4. DuΕΌy wymiar wektora zmiennych
decyzyjnych.
Metody numeryczne
Konstruujemy ciΔ g przybliΕΌeΕ na podstawie wartoΕci funkcji w danym
punkcie
)(xFx
0x
)( 0xF
1x
)( 1xF
2x
)( 2xF
xxN
)()( xFxF N
x
)1(x
)2(x
0x 1x2x 3x
7
),(min)( xFxFxxx D
=β
Numeryczne metody optymalizacji
π₯0, π₯1, β¦ , π₯π, β¦ , π₯π β π₯β
πΉ π₯0 > πΉ π₯1 > β¦ > πΉ π₯π > β¦ > πΉ π₯π β πΉ(π₯β)
Algorytm
π₯π+1 = Ξ¨ π₯π , π₯0
β’ WybΓ³r kierunku
poszukiwaΕ.
β’ Optymalizacja w
kierunku.
β’ Warunki zatrzymania
procedury.
WybΓ³r kierunku poszukiwaΕ
β’ Kierunki bazowe i ich
modyfikacje β metody
bezgradientowe.
β’ Kierunki oparte na
gradiencie funkcji β
metody gradientowe.
Optymalizacja w kierunku
π₯0 - punkt poczΔ tkowy
π₯1 - punkt koΕcowy
π - kierunek
π - dΕugoΕΔ kroku w
kierunku
πβ β πΉ π₯0 + πβπ = minπ
πΉ(π₯0 + ππ)
π₯0, π β ustalone πΉ(π₯0 + ππ) β π(π)π(π) β funkcja jednej zmiennej (dΕugoΕci kroku π)πβ β π πβ = min
ππ(π)
optymalizacja w kierunku β‘ optymalizacja funkcji jednej zmiennej
Warunki zatrzymania procedury
π₯π+1 β π₯π < ν; πΉ π₯π+1 β πΉ π₯π < πΏ;πΉ π₯π+1 β πΉ π₯π
π₯π+1 β π₯π< π
Uwaga!
Dobra rada
π₯π β π₯β²πβ² < ν
π₯0, π₯β²0 - rΓ³ΕΌne punkty poczΔ tkowe
π₯π, π₯β²πβ² - odpowiednie punkty koΕcowe
β’ Metody optymalizacji w kierunku
β PodziaΕ rΓ³wnomierny
β PodziaΕ na poΕowΔ
β ZΕoty podziaΕ
β Aproksymacji kwadratowej
β Metoda pierwszej pochodnej
β Metoda znaku pochodnej
β Metoda Newtona
β Metoda Bolzano13
β’ Bezgradientowe metody optymalizacji
β Hooka-Jevesa z krokiem dyskretnym
β Rozendrocka z krokiem dyskretnym
β Hooka-Jevesa z krokiem optymalnym
β Rozendrocka z krokiem optymalnym
β Powella β kierunkΓ³w sprzΔΕΌonych
β Neldera-Meada (simplex)
14
β’ Gradientowe metody optymalizacji
β Gradientu prostego
β Najszybszego spadku
β Newtona
β Fletchera-Reevesa (gradientu sprzΔΕΌonego)
β Zmiennej metryki
β’ Metody optymalizacji z ograniczeniami
β Transformacji zmiennych
β Funkcji kary
β’ Kary zewnΔtrznej (kary)
β’ Kary wewnΔtrzne (bariery)
β Metody modyfikacji kierunku
β Metoda compleks
16
Optymalizacja w kierunku
π₯0 - punkt poczΔ tkowy
π₯1 - punkt koΕcowy
π - kierunek
π - dΕugoΕΔ kroku w
kierunku
πβ β πΉ π₯0 + πβπ = minπ
πΉ(π₯0 + ππ)
π₯0, π β ustalone πΉ(π₯0 + ππ) β π(π)π(π) β funkcja jednej zmiennej (dΕugoΕci kroku π)πβ β π πβ = min
ππ(π)
optymalizacja w kierunku β‘ optymalizacja funkcji jednej zmiennej
PrzykΕad
πΉ π₯ = π₯ 1 β 22+ π₯ 2 β 1
2, π₯0=
β2β2
, π =11
π₯1 = π₯0 + ππ =β2β2
+ π11
=β2 + 1 β πβ2 + 1 β π
πΉ π₯0 + ππ = β2 + π β 2 2 + β2 + π β 1 2 =π β 4 2 + π β 3 2 = 2π2 β 14π + 25 β π(π)
πβ² π = 4πβ β 14 = 0
πβ = 3.5
π₯1 = π₯0 + πβπ =β2β2
+ 3.5 β11
=1.51.5
Metody zawΔΕΌania odcinka
ZaΕoΕΌenie: πβ β [π, π]
SpeΕnienie zaΕoΕΌenia π β [π, π]
PodziaΕ rΓ³wnomierny
π0 = πππ = π0 + πνπβ β Ηπ β π Ηπ = min
1β€πβ€π{π(ππ)}
π =πβπ
π- liczba wyliczeΕ
wartoΕci funkcji
ZawΔΕΌanie odcinka
π πΌπ ? π(π½π)
π πΌπ β€ π π½πππ+1 β ππππ+1 β π½π
π πΌπ > π(π½π)ππ+1 β πΌπππ+1 β ππ
Metoda podziaΕu na poΕowΔ
πΌπ =1
2ππ + ππ β πΏ
π½π =1
2ππ + ππ + πΏ
π =?
Dane: π0, π0, ν, πΏKrok 0: π = 0
Krok 1: πΌπ =1
2ππ + ππ β πΏ
π½π =1
2ππ + ππ + πΏ
Krok 2: JeΕli π πΌπ β€ π π½π to
ππ+1 β ππ, ππ+1 β π½π,
w przeciwnym razie
ππ+1 β πΌπ, ππ+1 β ππ.
Krok 3: JeΕli ππ+1 β ππ+1 β₯ ν to
π β π + 1, idΕΊ do kroku 1,
w przeciwnym razie
Ηπ =1
2ππ+1 + ππ+1 (STOP)
Metoda πΈ podziaΕu
ππ β πΌπππ β ππ
=π½π β ππππ β ππ
= πΎ
πΌπ = ππ + πΎ ππ β πππ½π = ππ + πΎ ππ β ππ
π =?
Dane: π0, π0, ν, πΎKrok 0: π = 0Krok 1: πΌπ = ππ + πΎ ππ β ππ
π½π = ππ + πΎ ππ β ππKrok 2: JeΕli π πΌπ β€ π π½π to
ππ+1 β ππ, ππ+1 β π½π,
w przeciwnym razie
ππ+1 β πΌπ, ππ+1 β ππ.
Krok 3: JeΕli ππ+1 β ππ+1 β₯ ν to
π β π + 1, idΕΊ do kroku 1,
w przeciwnym razie
Ηπ =1
2ππ+1 β ππ+1 (STOP)
Metoda zΕotego podziaΕu
πΎ2 + πΎ β 1 = 0
πΎ =5 β 1
2β 0.618
1.π½π+1βππ+1
ππ+1βππ+1= πΎ, czyli
πΌπ β πππ½π β ππ
=ππ + πΎ ππ β ππ β ππππ + πΎ ππ β ππ β ππ
=ππ β ππ + πΎ(ππ β ππ)
πΎ(ππ β ππ)=1
πΎβ 1 = πΎ
2.ππ+1βπΌπ+1
ππ+1βππ+1= πΎ, czyli
ππ β π½πππ β ππ
=ππ β ππ + πΎ ππ β ππππ β ππ β πΎ ππ β ππ
=ππ β ππ + πΎ(ππ β ππ)
πΎ(ππ β ππ)=1
πΎβ 1 = πΎ
Metoda zΕotego podziaΕu c.d.
πΎ2 + πΎ β 1 = 0
πΎ =5 β 1
2β 0.618
π =?
Dane: π0, π0, ν, πΎ =5β1
2
Krok 0: π = 0πΌ0 = π0 + πΎ π0 β π0π½0 = π0 + πΎ(π0 β π0)
Krok 1: JeΕli ππ β ππ < Ξ΅, to
Ηπ =1
2ππ + ππ (STOP)
w przeciwnym razie β krok 2
Krok 2: JeΕli π πΌπ β€ π π½π to
ππ+1 β ππ, ππ+1 β π½π,
π½π+1 β πΌπ,πΌπ+1 β π½π + πΎ(ππ β ππ)π β π + 1, idΕΊ do kroku 1
w przeciwnym razie
ππ+1 β πΌπ, ππ+1 β ππ,
πΌπ+1 β π½π,π½π+1 β πΌπ + πΎ(ππ β πΌπ)π β π + 1, idΕΊ do kroku 1
Metoda aproksymacji kwadratowej
π < π < ππ π β₯ π ππ π β€ π π
π(π) β aproksymacja kwadratowa
πβ - minimum funkcji π(π)
π π =π(π)(π β π)(π β π)
(π β π)(π β π)+π(π)(π β π)(π β π)
(π β π)(π β π)+π(π)(π β π)(π β π)
(π β π)(π β π)
πβ =1
2
π π π2 β π2 + π π π2 β π2 + π(π)(π2 β π2)
π π π β π + π π π β π + π(π)(π β π)
Metoda aproksymacji kwadratowej
π ππ β₯ π(ππβ)
ππ+1 β ππππ+1 β ππ
β
ππ+1 β ππ
π ππ < π(ππβ)
ππ+1 β ππππ+1 β ππππ+1 β ππ
β
π ππ β₯ π(ππβ)
ππ+1 β ππππ+1 β ππ
β
ππ+1 β ππ
π ππ β₯ π(ππβ)
ππ+1 β ππβ
ππ+1 β ππππ+1 β ππ
ππ+1 β ππ+1 < ν Ηπ = ππ+1β
Metoda aproksymacji kwadratowej
Dane: π0, π0, π0, νKrok 0: π = 0
Krok 1: ππ =1
2
π ππ ππ2βππ
2 +π ππ ππ2βππ
2 +π(ππ)(ππ2βππ
2)
π ππ ππβππ +π ππ ππβππ +π(ππ)(ππβππ)
Krok 2: JeΕli ππ < ππ to idΕΊ do kroku 3
w przeciwnym razie
JeΕli π ππ β₯ π(ππ) to ππ+1 β ππ, ππ+1 β ππ, ππ+1 β ππ idΕΊ do kroku 4
w przeciwnym razie ππ+1 β ππ, ππ+1 β ππ, ππ+1 β ππ idΕΊ do kroku 4
Krok 3: JeΕli π ππ β₯ π(ππ) to ππ+1 β ππ, ππ+1 β ππ, ππ+1 β ππ idΕΊ do kroku 4
w przeciwnym razie ππ+1 β ππ, ππ+1 β ππ, ππ+1 β ππ idΕΊ do kroku 4
Krok 4: JeΕli ππ+1 β ππ+1 β₯ ν to π β π + 1 idΕΊ do kroku 1
w przeciwnym razie Ηπ =1
2(ππ+1 + ππ+1) (STOP)
Metoda pierwszej pochodnej
ππ+1 = ππ β πΎππβ² π‘π πΎπ > 0, π0
limπββ
πΎπ = πΎ
π=0
β
πΎπ = β
np. ππ+1 β ππ < ν (STOP)
π0π1 = π0 β πΎ0π
β² π0π2 = π1 β πΎ1π
β² π1 = π0 β πΎ0πβ² π0 β πΎ1π
β² π1ππ+1 = ππ β πΎππ
β² ππ = β― = π0 β πΎ0πβ² π0 β πΎ1π
β² π1 ββ―β πΎππβ² ππ
ππ+1 β π0 = |
π=0
π
πΎππβ² ππ | β€
π=0
π
πΎπ πβ² ππ β€ max
0<π<ππβ² ππ
π=0
π
πΎπ
πβ β π0 β€
π=0
β
πΎπ = β
Metoda znaku pierwszej pochodnej
ππ+1 = ππ β πππ πππ πβ² ππ
πΎππβ² ππ = πΎπ πβ² ππ β π πππ πβ² ππ = ππ π πππ[πβ²(ππ)], gdzie ππ = πΎπ πβ² ππ
ππ > 0
limπββ
ππ = 0, bo limπββ
πβ² ππ = 0, limπββ
πΎπ = πΎ
π=0
β
ππ = β limπββ
ππ = limπββ
πΎπ πβ² ππ = 0
Metoda Bolzano
π πππ ππ β π πππ ππ
π πππ ππ = π πππ(πβ²(1
2ππ + ππ ))
ππ+1 β1
2ππ + ππ
ππ+1 β ππ
πβ²1
2ππ + ππ = 0
Ηπ β1
2ππ + ππ
(rzadko)
π πππ ππ = π πππ(πβ²(1
2ππ + ππ) )
ππ+1 β ππ
ππ+1 β1
2ππ + ππ
Metoda drugiej pochodnej
π0
ππ+1 = ππ βπβ² πππβ²β² ππ
ππ+1 β ππ < ν (STOP)
π π = π π0 + π β π0 πβ² π0 +1
2π β π0
2πβ²β² π0 + 03( π β π0 )
π(π)
πβ² π = πβ² π0 + πβ β π0 πβ²β² π0 = 0
πβ = π0 βπβ²(π0)
πβ²β²(π0)
DziΔkujΔ za uwagΔ
34