Metody systemowe i decyzyjne w informatyce

Podobne dokumenty
Metody systemowe i decyzyjne w informatyce

Metody systemowe i decyzyjne w informatyce

Optymalizacja systemów

Metody systemowe i decyzyjne w informatyce

Numeryczne metody optymalizacji Optymalizacja w kierunku. informacje dodatkowe

PROGRAMOWANIE KWADRATOWE

Optymalizacja ciągła

1 Metody rozwiązywania równań nieliniowych. Postawienie problemu

Rozwiązywanie równań nieliniowych

Optymalizacja systemów

Metody systemowe i decyzyjne w informatyce

Politechnika Wrocławska, Wydział Informatyki i Zarządzania. Optymalizacja

Układy równań nieliniowych (wielowymiarowa metoda Newtona-Raphsona) f(x) = 0, gdzie. dla n=2 np.

ZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ

Optymalizacja ciągła

Optymalizacja ciągła

Optymalizacja systemów

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

Matematyka stosowana i metody numeryczne

Rozpoznawanie obrazów

WYKŁAD 9 METODY ZMIENNEJ METRYKI

Metody systemowe i decyzyjne w informatyce

Metody Numeryczne Optymalizacja. Wojciech Szewczuk

Programowanie liniowe

KADD Minimalizacja funkcji

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Rozpoznawanie obrazów

Programowanie dynamiczne. Tadeusz Trzaskalik

PROGRAMOWANIE NIELINIOWE

Laboratorium 5 Przybliżone metody rozwiązywania równań nieliniowych

SZTUCZNA INTELIGENCJA

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Funkcje charakterystyczne zmiennych losowych, linie regresji 1-go i 2-go rodzaju

Obliczenia iteracyjne

Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE

1. Podstawowe pojęcia

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline.

RÓWNANIA NIELINIOWE Maciej Patan

Praca domowa - seria 6

Funkcje wielu zmiennych


Przegląd metod optymalizacji wielowymiarowej. Funkcja testowa. Funkcja testowa. Notes. Notes. Notes. Notes. Tomasz M. Gwizdałła

Kolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w

Aproksymacja funkcji a regresja symboliczna

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

Laboratorium Metod Optymalizacji

1 Relacje i odwzorowania

VI. Równania różniczkowe liniowe wyższych rzędów

Równanie przewodnictwa cieplnego (II)

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

1 Funkcje dwóch zmiennych podstawowe pojęcia

Metoda Karusha-Kuhna-Tuckera

METODY NUMERYCZNE. Wykład 4. Numeryczne rozwiązywanie równań nieliniowych z jedną niewiadomą. prof. dr hab.inż. Katarzyna Zakrzewska

Document: Exercise*02*-*manual /11/ :31---page1of8 INSTRUKCJA DO ĆWICZENIA NR 2

STATYKA Z UWZGLĘDNIENIEM DUŻYCH SIŁ OSIOWYCH

Metody numeryczne I Równania nieliniowe

Bezgradientowe metody optymalizacji funkcji wielu zmiennych. informacje dodatkowe

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

Metody systemowe i decyzyjne w informatyce

Wykład z modelowania matematycznego. Zagadnienie transportowe.

Z52: Algebra liniowa Zagadnienie: Zastosowania algebry liniowej Zadanie: Operatory różniczkowania, zagadnienie brzegowe.

Metody eksploracji danych 2. Metody regresji. Piotr Szwed Katedra Informatyki Stosowanej AGH 2017

x y

Definicja problemu programowania matematycznego

Optymalizacja ciągła

Matematyka stosowana i metody numeryczne

Pochodne cząstkowe i ich zastosowanie. Ekstrema lokalne funkcji

METODY NUMERYCZNE. Wykład 4. Numeryczne rozwiązywanie równań nieliniowych z jedną niewiadomą. Rozwiązywanie równań nieliniowych z jedną niewiadomą

1 Wprowadzenie do algorytmiki

Algorytm Grovera. Kwantowe przeszukiwanie zbiorów. Robert Nowotniak

Rozwiazywanie układów równań liniowych. Ax = b

Programowanie nieliniowe. Badania operacyjne Wykład 3 Metoda Lagrange a

1. Funkcje monotoniczne, wahanie funkcji.

Badania operacyjne egzamin

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

SVM: Maszyny Wektorów Podpieraja cych

Wprowadzenie Metoda bisekcji Metoda regula falsi Metoda siecznych Metoda stycznych RÓWNANIA NIELINIOWE

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

Metody optymalizacji. notatki dla studentów matematyki semestr zimowy 2015/2016

Metody Numeryczne. Wojciech Szewczuk

MECHANIKA 2. Prowadzący: dr Krzysztof Polko

Technologia informacyjna Algorytm Janusz Uriasz

Stopę zbieżności ciagu zmiennych losowych a n, takiego, że E (a n ) < oznaczamy jako a n = o p (1) prawdopodobieństwa szybciej niż n α.

Zagadnienie transportowe

Przykładowe zadania z teorii liczb

IX. Rachunek różniczkowy funkcji wielu zmiennych. 1. Funkcja dwóch i trzech zmiennych - pojęcia podstawowe. - funkcja dwóch zmiennych,

Interpolacja, aproksymacja całkowanie. Interpolacja Krzywa przechodzi przez punkty kontrolne

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

TOZ -Techniki optymalizacji w zarządzaniu

Rozdział 2: Metoda największej wiarygodności i nieliniowa metoda najmniejszych kwadratów

Zagadnienia brzegowe dla równań eliptycznych

27. RÓWNANIA RÓŻNICZKOWE CZĄSTKOWE

Definicje i przykłady

Metody numeryczne. Janusz Szwabiński. Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/50

Macierze. Rozdział Działania na macierzach

Statystyka opisowa. Wykład V. Regresja liniowa wieloraka

PROCESY STOCHASTYCZNE. PEWNE KLASY PROCESÓW STOCHASTYCZNYCH Definicja. Procesem stochastycznym nazywamy rodzinę zmiennych losowych X(t) = X(t, ω)

VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa.

Zasady oceniania karta pracy

RÓŻNICZKOWANIE FUNKCJI WIELU ZMIENNYCH: rachunek pochodnych dla funkcji wektorowych. Pochodne cząstkowe funkcji rzeczywistej wielu zmiennych

Transkrypt:

Metody systemowe i decyzyjne w informatyce Laboratorium Zadanie nr 3 Osada autor: A Gonczarek Celem poniższego zadania jest zrealizowanie fragmentu komputerowego przeciwnika w grze strategiczno-ekonomicznej (np The Settlers) Zadanie, które ma rozwiązywać program, będzie polegało na optymalnym wybudowaniu budynków osady tak, aby minimalizować całkowity koszt wydobycia i dostarczania różnych zasobów, trzymając się przy tym pewnych podanych poniżej założeń Załóżmy najpierw, że na planszy gry rozlokowanych jest N skupisk różnych zasobów Dla uproszczenia załóżmy również, że skupiska mają kształt koła Każdy zasób opisany jest następującymi parametrami: 1 z n = (zn 1 zn) T współrzędne położenia środka skupiska na planszy ρ n promień skupiska [metr] 3 ω n pożądana prędkość napływu n-tego zasobu do osady [jednostka/sekunda] 4 c n koszt potrzebny do wyszkolenia ekipy robotników, która ze skupiska oddalonego o jeden metr, bedzie dostarczała jedna jednostke n-tego zasobu w ciagu sekundy [(złoto sekunda)/(metr jednostka)] gdzie n = 1,, N Przyjmijmy, że parametry ω n są ustalone i zależą od przyjętej strategii komputerowego przeciwnika W skład budynków osady wchodzi ratusz, którego współrzędne oznaczone są przez: x 0 = (x 1 0 x 0) T (1) Ponadto każdemu zasobowi odpowiada jeden budynek osady odpowiedzialny za jego przetwarzanie (np tartak przetwarza drewno) Położenia tych budynków oznaczone są przez x n = (x 1 n x n) T, () gdzie n = 1,, N Zakładamy ponadto, że budynki osady nie mogą być oddalone od ratusza dalej niż o odległość r [metr] Niech L n oznacza odległości n-tego budynku od n-tego zasobu i wyraża się wzorem: L n (x n ) = f( x n z n ρ n ), (3) 1

gdzie funkcja f( ) ma postać: 0 gdy x 0 f(x) = x gdy x > 0 (4) Koszt φ n (x n ) wyszkolenia robotników pozyskujących n-ty zasób z ustalonym zapotrzebowaniem ω n wynosi: φ n (x n ) = c n ω n L n (x n ) = a n f( x n z n ρ n ), (5) gdzie a n = c n ω n Niech x = (x 1 0 x 0 x 1 1 x 1 x 1 N x N) T oznacza wektor położeń wszystkich budynków w osadzie Całkowity koszt wyszkolenia robotników pozyskujących wszystkie zasoby z ustalonymi prędkościami napływu ω n wynosi: φ(x) = φ n (x n ) = a n f( x n z n ρ n ) (6) Do znalezienia optymalnego położenia budynków x minimalizującego koszt szkolenia robotników (6) zastosujemy optymalizację numeryczną Zastosujemy metody, które wymagają, aby funkcja celu była różniczkowalna Funkcja (6) nie jest różniczkowalna ponieważ funkcja (4) nie jest różniczkowalna w zerze Możemy rozwiązać ten problem stosując następującą aproksymację funkcji (4): g(x) = 1 ( ) x x γ, (7) gdzie γ jest pewną ustaloną liczbą (np γ rysunku 1 = 01) Obie funkcje zostały przedstawione na Rysunek 1: Funkcje f(x) i g(x)

Po zastępieniu funkcji (4) funkcją (7) otrzymujemy ostateczną postać funkcji celu: φ(x) = a n g( x n z n ρ n ) (8) Sformułujemy następujące zadanie optymalizacji: minimalizuj (po x) φ(x) przy ograniczeniach: x n x 0 r, n = 1,, N Ograniczenia wynikają z faktu, że budynki osady nie mogą być oddalone od ratusza dalej niż o odległość r Ponieważ zarówno funkcja celu, jak i ograniczenia są wypukłe do rozwiązania zadania optymalizacji zastosujemy algorytm Interior-Point Zacznijmy od przedstawienia algorytmu Newtona dla zadania optymalizacji bez ograniczeń Niech F (x) oznacza funkcję podwójnie różniczkowalną Metoda Newtona ma następującą postać: Algorithm 1: Metoda optymalizacji Newtona Input : Punkt startowy x 0 domf, dokładność ε Output: Punkt optymalny x dla funkcji F 1 x x 0 ; while F (x) T ( F (x)) 1 F (x) ε do 3 x ( F (x)) 1 F (x); 4 η arg min η>0 F (x η x); 5 x x η x; 6 end W powyższym algorytmie domf oznacza dziedzinę funkcji F, F (x) oznacza gradient funkcji F (x), natomiast F (x) oznacza hesjan (macierz pochodnych cząstowych drugiego rzędu) Ponadto ε jest ustalonym parametrem i oznacza dokładność Aby wyznaczyć długość kroku η w każdej iteracji algorytmu Newtona należy użyć metody minimalizacji w kierunku dla funkcji jednej zmiennej F (η) = F (x η x) lub skorzystać z następującej heurystyki: Algorithm : Backtracking line search Input : Parametry α (0, 05), β (0, 1), punkt x, kierunek x Output: Długość kroku η 1 η 1; while F (x η x) F (x) α F (x) T x do 3 η βη; 4 end 3

W zależności od stosowanego języka do implementacji, w powyższym algorytmie może być również konieczne sprawdzanie czy F (x η x) nie osiąga wartości NaN (Not a Number) Dla sformułowanego zadania optymalizacji wyznaczamy funkcję z logarytmiczną barierą: G t (x) = tφ(x) ln(r x n x 0 ) (9) Metoda Interior-Point z logarytmiczną barierą ma następującą postać: Algorithm 3: Metoda Interior-Point Input : Parametry t 0, µ > 1, punkt startowy x 0 domg t0, dokładność ε Output: Punkt optymalny x dla zadania optymalizacji z ograniczeniami 1 x x 0 ; t t 0 ; 3 while N t ε do 4 Wyznacz x(t) algorytmem Newtona dla funkcji G t i punktu startowego x; 5 x x(t); 6 t µt; 7 end W powyższym algorymie N oznacza liczbę ograniczeń nierównościowych w zadaniu optymalizacji Aby użyć metody Interior-Point do sformułowanego zadania optymalizacji pozostaje jedynie wyznaczyć gradient i hesjan funkcji G t (x) Gradient będzie miał następującą postać: G t (x) = G t(x) x 0 G t(x) x 1 G t(x) x N, (10) gdzie Gt(x) x n są wektorami o wymiarach 1, dla n = 0, 1,, N i mają następującą postać: G t (x) x 0 (x n x 0 ) =, (11) r x n x 0 gdzie n = 1,, N G t (x) = ta n g ( x n z n ρ n ) (x n z n ) (x n x 0 ), (1) x n x n z n r x n x 0 4

Hesjan będzie miał następującą postać: G t (x) = x 0 x T 0 x 1 x T 0 x x T 0 x N x T 0 x 0 x T 1 x 1 x T 1 x 0 x T 0 x x T 0 0 0 0 0 x 0 x T N x N x T N, (13) gdzie 0 oznaczają macierze samych zer o wymiarach, natomiast G t(x) x m x T n wymiarach, dla m, n = 0, 1,, N i mają następującą postać: G t (x) x 0 x T n G t (x) x 0 x T 0 = G t (x) x n x T 0 są macierzami o [ ] 4 = (r x n x 0 ) (x n x 0 )(x n x 0 ) T I r x n x 0, (14) [ ] 4 = (r x n x 0 ) (x n x 0 )(x n x 0 ) T I r x n x 0, (15) G t (x) x n x T n ta n = g ( x x n z n n z n ρ n )(x n z n )(x n z n ) T ta n g ( x x n z n 3 n z n ρ n )(x n z n )(x n z n ) T ta n g ( x n z n ρ n )I x n z n 4 (r x n x 0 ) (x n x 0 )(x n x 0 ) T I r x n x 0, (16) gdzie n = 1,, N i I oznaczają macierze jednostkowe o wymiarach Zadanie do wykonania 1 Sprawozdanie (max strony A4) Sprawozdanie ma się składać z dwóch części W pierwszej części sprawozdania należy uzasadnić, że problem optymalizacji sformułowany w zadaniu jest przykładem programowania wypukłego, tj że zarówno funkcja celu φ(x), jak i ograniczenia są funkcjami wypukłymi Następnie odpowiedzieć na pytanie, dlaczego w numerycznej optymalizacji istotne jest, żeby formułowane problemy były wypukłe Ponadto w sprawozdaniu umieścić wzory na pierwszą i drugą pochodną funkcji (7), gdyż są one niezbędne do wyliczenia zależności (1) i (16) Dodatkowo zaproponować jeden algorytm optymalizacji w kierunku dla funkcji jednej 5

zmiennej w celu wyliczenia długości kroku η w algorytmie Newtona i zapisać go w postaci pseudokodu Metoda ta ma być alternatywą dla heurystyki zaproponowanej w opracowaniu (algorytm ) Część druga sprawozdania ma zawierać ogólny schemat tworzonej aplikacji, opisany słownie, bądź w postaci diagramu UML Aplikacja W programie parametry z n mogą być generowane losowo lub wprowadzane przez kliknięcie Parametry ω n, ρ n i c n również mogą być generowane losowo lub wprowadzane przez użytkownika, przy czym przy każdym z zasobów mają być wypisane ich wartości Parametr r, jak również parametry algorytmów optymalizacji α, β, ε, µ, t 0 mają być wprowadzane przez użytkownika Punkt startowy x 0 można ustawić na 0 lub generować losowo, ale w taki sposób aby spełnione były ograniczenia nierównościowe Dodatkowo program ma wyświetlić położenia miejsca budowy ratusza oraz wszystkich pozostałych budynków, jak również podać koszt szkolenia robotników (wartość funkcji celu) Ponadto ma być podana liczba iteracji jaką wykonał algorytm Interior-Point oraz średnia liczba iteracji wykonywana przez algorytm Newtona W programie mają być zaimplementowane dwie metody wyliczania długości kroku η podana w opracowaniu heurystyka oraz metoda optymalizacji w kierunku zaproponowana w sprawozdaniu Dodatkowo ma być możliwość wprowadzenia wszystkich parametrów metody optymalizacji w kierunku 6