You are on page 1of 11

• Funkcja skalarna – funkcja, której wartościami są skalary.

Dla każdego x jedna


wartość y. Jedna wartość rzeczywista.
• Wektor 𝑥̅ jest nazywany dopuszczalnym jeżeli wszystkie jego elementy spełniają
ograniczenia. Wymiar: n x 1
𝑦 = 𝑓(𝑥1 , 𝑥2 , 𝑥𝑛 )
𝑥1
𝑥2
𝑥̅ = | ⋮ |
𝑥𝑛
• Programowanie liniowe – zarówno funkcja celu jak i ograniczenia są liniowe
• Jeżeli co najmniej jedno z ograniczeń lub funkcja jest opisana zależnościami
nieliniowymi to taki problem nazywamy zadaniem programowania nieliniowego
• Gradient – kierunek najszybszego wzrostu funkcji w punkcie
• Gradient to wektor posiadający tyle elementów co zmiennych ma funkcja
𝜕𝑓 𝜕𝑓 𝜕𝑓
𝑔𝑟𝑎𝑑 𝑓(𝑃0 ) = [ (𝑃0 ), (𝑃0 ), … (𝑃 )]
𝜕𝑥1 𝜕𝑥2 𝜕𝑥𝑛 0
𝑔𝑟𝑎𝑑 𝑓(𝑃0 ) = ∇𝑓(𝑃0 )
𝜕𝑓
𝜕𝑥
∇= 𝜕𝑓 ∗ 𝑓
[𝜕𝑦]
• Warunkiem koniecznym istnienia ekstremum funkcji 𝑓(𝑥) w punkcie x jest
zerowanie gradientu 𝑓(𝑥) w tym punkcie, czyli

𝜕𝑓(𝑥̂)
=0
𝜕𝑥1
𝜕𝑓(𝑥̂)
=0
𝜕𝑥2

𝜕𝑓(𝑥̂)
=0
{ 𝜕𝑥𝑛
(𝑥̂) − 𝑘𝑜𝑛𝑘𝑟𝑒𝑡𝑛𝑎 𝑤𝑎𝑟𝑡𝑜ś𝑐 𝑤 𝑝𝑢𝑛𝑘𝑐𝑖𝑒
• Im gradient większy tym bardziej strome jest zbocze
• Warunek dostateczny istnienia ekstremum w tym punkcie jest związany z
następującą macierzą utworzoną z drugich pochodnych f-kcji celu

• Jeżeli po spełnieniu wcześniej podanego warunku koniecznego macierz H jest


określona dodatnio to spełniony jest warunek dostateczny istnienia minimum f-kcji f
w punkcie 𝑥̂.
• Jeżeli przy spełnieniu podanego wcześniej warunku koniecznego macierz H jest
określona ujemnie to spełniony jest warunek dostateczny istnienia maksimum
funkcji f w punkcie 𝑥̂
• Warunek dopuszczalny – jeżeli po spełnieniu warunku koniecznego macierz H,
złożona z drugich pochodnych funkcji f jest określona dodatnio lub ujemnie to
występuje minimum lub maksimum funkcji f w punkcie 𝑥̂
• Kwadratowa rzeczywista macierz H jest określona dodatnio jeżeli stowarzyszona z nią
forma kwadratowa jest większa od zera dla każdego niezerowego wektora 𝑥.
• Algorytm ten jest wzorowany na znanej nam biologicznej ewolucji. Ten typ algorytmu
znacząco różni się od innych algorytmów optymalizacyjnych. Nie jest wymagane by
funkcja celu i zmienne były liniowe jak przy programowaniu liniowym lub by funkcja
była ciągła i różniczkowalna jak przy metodach gradientowych. Indeks wydajności
algorytmów ewolucyjnych wymaga jedynie możliwości porównania i ocenienia
dwóch konkurencyjnych rozwiązań. Algorytmy takie mogą rozwiązać nietypowe
problemy, przy których nie można wykorzystać powszechnie znanych metod
numerycznych. Na początku algorytm ewolucyjny rozpoczyna od zainicjowania
populacji potencjalnie rozwiązujących problem. Następnie losowo tworzone są nowe
rozwiązania i oceniane pod kątem radzenia sobie z zadaniem. Ostatecznie stosowane
jest kryterium selekcji w celu wyeliminowania tych, które są nie zgodne z
założeniami. Proces jest powtarzany z wykorzystaniem wybranego zestawu rozwiązań
aż do spełnienia określonego kryterium. Zaletami algorytmu ewolucyjnego jest
możliwość zastosowania populacji do dynamicznie zmieniającego się środowiska bez
ponownego uruchamiania obliczeń i generowania wystarczająco dobrych rozwiązań ,
wystarczająco szybko aby były użyteczne.
• Problem komiwojażera, czyli podróżowaniu z miast do miast, najkrótszą drogą. Na
początku trasa jest nieuporządkowana natomiast po kolejnych iteracjach staje się co
raz krótsza. Pokazuje to praktyczne zastosowanie algorytmu ewolucyjnego.

PROGRAMOWANIE LINIOWE

• Wprowadzenie nieujemnych zmiennych uzupełniających po jednej do każdej


nierówności sprawia, że nierówności możemy zastąpić poprzez równości
• Wektor 𝑥 ma wymiar 𝜈 + 𝑚 = 𝑛
• Wektor 𝑏 (wartości równości) ma wymiar m

• wektor 𝑐 (współczynniki przy funkcji) ma wymiar 𝜈 + 𝑚 = 𝑛

• wektor A (macierz ze współczynnikami przy x) ma wymiar n x m

• postać kanoniczna 𝐴 ∗ 𝑥 = 𝑏
• Z macierzy 𝐴 możemy wydzielić macierze kwadratowe m x n
• Macierz bazową 𝐵 układu 𝐴 ∗ 𝑥 = 𝑏 nazywamy nieosobliwą macierz kwadratową
otrzymaną z liniowo niezależnych kolumn macierzy 𝐴
• macierz nieosobliwa – macierz kwadratowa o wyznaczniku różnym od zera
• Równanie bazowe 𝐵 ∗ 𝑥𝐵 = 𝑏

• 𝑥𝐵 jest wektorem o wymiarze m x 1, którego składowe są równe tym składowym

wektora 𝑥 , które odpowiadają kolumnom macierzy 𝐴, z której utworzono macierz


bazową 𝐵
• Rozwiązanie bazowe 𝑥𝐵 układu równań 𝐴 ∗ 𝑥 = 𝑏 nazywamy wektor 𝑥𝐵 o wymiarze

m x 1 równy
𝑥𝐵 = 𝐵 −1 ∗ 𝑏

• Rozwiązanie bazowe jest dopuszczalne jeżeli wszystkie zmienne bazowe są


nieujemne
• Rozwiązanie bazowe dopuszczalne niezdegenerowane – jeżeli wszystkie zmienne
bazowe są dodatnie
• Każde z m linowych równań składowych układu 𝐴 ∗ 𝑥 = 𝑏 przedstawia
hiperpłaszczyznę w przestrzeni rzeczywistej Rn

• Algorytm metody bezpośredniej poszukiwania ekstremum


1. Wyznaczamy liczbę macierzy bazowych, tworzymy je i wydzielamy te, które są
odwracalne
2. Ze wszystkich równań bazowych, w których występują macierze odwracalne
znajdujemy rozwiązania bazowe
3. Wydzielamy rozwiązania bazowe dopuszczalne, czyli takie, w których
wszystkie zmienne bazowe są nieujemne
4. Tworzymy wektory 𝑥 odpowiadające dopuszczalnym rozwiązaniom bazowym
𝑥𝐵 i obliczamy wartości fkcji celu dla tych wektorów

5. Wybieramy rozwiązanie x odpowiadające najmniejszej wartości fkcji celu

PRZYKŁAD

You might also like