GOOL – GLOBAL OPTIMIZATION OBJECT-ORIENTED LIBRARY

Slides:



Advertisements
Podobne prezentacje
Praca dyplomowa inżynierska
Advertisements

OBLICZENIA NUMERYCZNE
Migrating Desktop Podsumowanie projektu
DVB-S Tomasz Bartkowiak Maciej Januszewski Paweł Kryszkiewicz
Ilustracja obliczania całek oznaczonych metodą Monte Carlo
Metody numeryczne część 1. Rozwiązywanie układów równań liniowych.
IV Tutorial z Metod Obliczeniowych
STATYSTYKA WYKŁAD 03 dr Marek Siłuszyk.
Zadanie z dekompozycji
PROGRAMOWANIE STRUKTURALNE
Wydział Zastosowań Informatyki i Matematyki SGGW
Komponenty bazy danych Baza danych Jest to uporządkowany zbiór powiązanych ze sobą danych charakterystycznych dla pewnej klasy obiektów lub zdarzeń,
Interaktywny edytor terenu
Tablice Informatyka Cele lekcji: Wiadomości: Uczeń potrafi:
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz,
Pobieranie próby Populacja generalna: zbiór wyników wszystkich możliwych doświadczeń określonego typu. Próba n-wymiarowa: zbiór n wyników doświadczeń.
Wstęp do programowania obiektowego
Linear Methods of Classification
Sieci neuronowe jednokierunkowe wielowarstwowe
Zastosowanie technologii CUDA w sztucznej inteligencji
Wykład 2 Cykl życia systemu informacyjnego
Komputerowa analiza sieci genowych
Projekt systemu ekspertowego Nazwa Grupa: Zespół:…… …… ……. ……..
Inżynieria Oprogramowania
LabVIEW Technologie informacyjne – laboratorium Irmina Kwiatkowska
Instytut Tele- i Radiotechniczny WARSZAWA
Podstawy programowania
Aplikacja do analizy polimorfizmów SNP wykorzystywanych w genomice klinicznej Szymon Stawicki.
Opiekun: dr inż. Maciej Ławryńczuk
Metody numeryczne SOWIG Wydział Inżynierii Środowiska III rok
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
ALGORYTMY OPTYMALIZACJI
BUDOWANIE SCHEMATU BLOKOWEGO REALIZUJĄCEGO PROSTY ALGORYTM
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
Zakładamy a priori istnienie rozwiązania α układu równań.
METODY NUMERYCZNE I OPTYMALIZACJA
Modelowanie matematyczne jako podstawa obliczeń naukowo-technicznych:
Modelowanie i identyfikacja 2010/2011Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz, Katedra.
Algorytmy.
Dana jest sieć dystrybucji wody w postaci: Ø      m- węzłów,
EXCEL Wykład 4.
Wyprowadzanie informacji z bazy danych - kwerendy wybierające Marzena Nowakowska Katedra Informatyki Stosowanej, WZiMK, PŚk.
Funkcja.
MS Excel - wspomaganie decyzji
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
PRZYGOTOWALI Bartosz Pawlik Daniel Sawa Marcin Turbiński.
Regresja wieloraka.
Algorytmika.
EXCEL Wstęp do lab. 4. Szukaj wyniku Prosta procedura iteracyjnego znajdowania niewiadomej spełniającej warunek będący jej funkcją Metoda: –Wstążka Dane:
Dokumentacja obsługi programów Kamil Smużyński Piotr Kościński.
Programowanie w językach skryptowych
Metody nieinkluzyjne: Metoda iteracji prostej.
Analiza numeryczna i symulacja systemów
Podstawy programowania
Warstwowe sieci jednokierunkowe – perceptrony wielowarstwowe
Pakiety numeryczne Optymalizacja
Dokumentacja programu komputerowego i etapy tworzenia programów.
Politechnika Warszawska Wydział Elektryczny Kierunek: Informatyka stosowana Praca dyplomowa inżynierska Aplikacja do kontroli wydajności produkcji w.
STEROWANIE MONITORING ARCHIWIZACJA ROZWIĄZANIA INFORMATYCZNE W GALWANIZERNI – APLIKACJA KOMPUTEROWA DO ZARZĄDZANIA PROCESEM PRODUKCYJNYM.
Osoby prowadzące zajęcia z Informatyki (II część): Prof. Mirosław Czarnecki (W+L) Konsultacje:piątek (p. 302a)
Co to jest algorytm? Uporządkowany i uściślony sposób rozwiązania danego problemu, zawierzający szczegółowy opis wykonywanych czynności w skończonej.
Fundamentals of Data Analysis Lecture 12 Approximation, interpolation and extrapolation.
Wyższa Szkoła Informatyki i Zarządzania W Bielsku-Białej Kierunek informatyka Specjalność : Systemy informatyczne Praca dyplomowa inżynierska : System.
Osoby prowadzące zajęcia z Informatyki (II część): Prof. Mirosław Czarnecki (W+L) Konsultacje:piątek (p. 302a)
Informacje ogólne.
Metody optymalizacji Wykład /2016
Systemy neuronowo – rozmyte
Podstawy Informatyki.
Hipertekst HTML WWW.
Podstawy Automatyki Człowiek- najlepsza inwestycja
Zapis prezentacji:

GOOL – GLOBAL OPTIMIZATION OBJECT-ORIENTED LIBRARY Marek Publicewicz Ewa Niewiadomska-Szynkiewicz Naukowa i Akademicka Sieć Komputerowa (NASK) Instytut Automatyki i Informatyki Stosowanej, Politechnika Warszawska KAEOG 2003

Plan Prezentacji Wprowadzenie Biblioteka GOOL (Global Optimization Object-oriented Library) - założenia funkcjonalne - opis działania systemu GOOL/CON - opis działania systemu GOOL/GUI Część wizualizacyjna (GUI) interakcyjna definicja zadań + analizator wyrażeń prezentacja graficzna optymalizowanych funkcji prezentacja graficzna wyników obliczeń Metody numeryczne w GOOL - biblioteka generatorów losowych (GOOL/RG) - biblioteka metod optymalizacji (GOOL/OM) Eksperymenty numeryczne

Część numeryczna jest zrealizowana w C/C++ Biblioteka GOOL Biblioteka GOOL łącznie z częścią wizualizacyjną stanowi narzędzie do badania metod optymalizacji dla różnych zadań testowych: wprowadzanych w postaci analitycznej (korzystając z interfejsu lub z pliku tekstowego) wprowadzonych w postaci symulatora Część numeryczna jest zrealizowana w C/C++ Interfejs graficzny w języku skryptowym Tcl / Tk

Wersje biblioteki GOOL Dwie wersje biblioteki: GOOL / GUI GOOL / CON GOOL / GUI Wersja działająca w środowisku graficznym (przeznaczona do celów edukacyjnych) GOOL / CON Wersja działająca w trybie tekstowym (przeznaczona do prac naukowo-badawczych)

Elementy składowe biblioteki GOOL GOOL / GUI Interfejs graficzny Definiowanie zadań, ustalanie wartości parametrów metod, prezentacja wyników GOOL / RG Biblioteka generatorów losowych Różne generatory liczb pseudolosowych i sekwencji losowych GOOL / OM Biblioteka metod optymalizacji Metody optymalizacji wypukłej i niewypukłej

Funkcjonalność systemu GOOL Zarządzanie zadaniami postać analityczna funkcji celu funkcje proceduralne - osobne pliki wykonywalne autorski podsystem zarządzania strukturą zadania (symboliczny) zarządzanie symbolami i ograniczeniami Wizualizacja zadań wykresy funkcji jednej zmiennej wykresy poziomicowe, skalowanie obszaru, dopuszczalność wykres trójwymiarowy dla zadań dwuwymiarowych Metody optymalizacji uporządkowanie metod w hierarchię drzewiastą nadawanie wartości parametrom metod możliwość wyboru metod lokalnych oraz minimalizacji w kierunku definiowanie wielkości charakterystycznych dla danej metody

Założenia implementacyjne przenośność (docelowe systemy: Linux, Windows) połączenie języka skryptowego (Tcl/Tk - GUI) z językiem C++ (selekcja w doborze mechanizmów) wykorzystanie podczas budowy wzorców projektowych wyodrębnienie podsystemu obliczania wartości i operowania na wyrażeniach symbolicznych - C

Schemat fragmentu hierarchii klas biblioteki GOOL

Działanie systemu GOOL/CON Uruchomienie programu GOOL/CON gool_con task_file task_file – nazwa pliku zawierającego zadanie optymalizacji RAPORT Parametry zadania (dokładność obliczeń, postać funkcji kary, użyte generatory losowe) Znalezione rozwiązanie zadania Numer iteracji, w której znaleziono rozwiązanie Wartości ograniczeń w rozwiązaniu Liczba uderzeń w ograniczenia Całkowita liczba iteracji Liczba obliczeń funkcji celu Czas trwania obliczeń Kryterium zatrzymania metody

Foramat pliku task_file <NAME> nazwa zadania <DESCRIPTION> opis słowny zadania <DIMENSION> wymiar <BOUNDS> ograniczenia kostkowe <SYMBOLS> definicje symboli pomocniczych <OBJECTIVE> wskaźnik jakości <CONSTRAINTS> ograniczenia nierównościowe <PARAMS> parametry zadania <GRADIENTS> postać analityczna gradientu <START_POINTS> punkt początkowy optymalizacji

Działanie systemu GOOL/GUI Główne okno aplikacji Informacje dotyczące zadania: Name – nazwa Objective – funkcja celu Metody optymalizacji z biblioteki Pliki z wynikami optymalizacji

Definiowanie zadania optymalizacji KAEOG 2003

Sposoby prezentacji wyników obliczeń Generatory losowe prezentacja punktów na płaszczyźnie wyświetlanie histogramów Minimalizacja funkcji (GUI): obserwowanie przebiegu działania na wykresach poziomicowych - trzy rodzaje prezentacji: trajektorie zbiory punktów przeszukiwane komórki (GUI): tryb edukacyjny: prezentacja przebiegu minimalizacji w kierunku raportowanie wielkości charakterystycznych danej metody prezentacja zmian istotnych parametrów charakteryzujących algorytm informowanie użytkownika o stanie działania algorytmu (GUI): zapis przebiegu optymalizacji do pliku (CON): szczegółowy raport końcowy

Prezentacja wyników obliczeń KAEOG 2003

Prezentacja wyników obliczeń Metody minimalizacji w kierunku Generatory losowe

Tryb edukacyjny Zadania jednowymiarowe Zadania wielowymiarowe

Algorytmy optymalizacji w systemie GOOL Metody optymalizacji globalnej metody deterministyczne podziału i ograniczeń Galperina, Gourdina, Meewella-Mayne trajektorii cząstki Griewanka metody niedeterministyczne poszukiwań losowych symulowanego wyżarzania CRS2, CRS3, CRS6 wykorzystujące grupowanie algorytm Törna (warianty grupowania) algorytmy ewolucyjne kodowanie binarne kodowanie rzeczywistoliczbowe

Metody podziału i ograniczeń Siatka nierównomierna Warunek Lipschitza metod Galperina Funkcja aproksymująca zbiór dopuszczalny środek komórki wybrana komórka dzielona na p komórek metod Gourdina-Hansena-Jaumard Funkcja aproksymująca zbiór dopuszczalny środek komórki wybrana komórka dzielona na p komórek

Metody trajektorii cząstki Griewanka Nowy punkt: Kierunek: Gdzie

Metody minimalizacji w kierunku Algorytmy optymalizacji w systemie GOOL Metody optymalizacji lokalnej sympleks nieliniowy Neldera-Meada metoda Powella BFGS Metody minimalizacji w kierunku aproksymacja funkcji parabolą metoda złotego podziału ekstrapolacja/interpolacja kwadratowa z testem Goldsteina metoda Pijavskiego-Shuberta

Biblioteka generatorów losowych jednostajny trzy generatory liniowe trzy sekwencje pseudolosowe (Haltona, Faure, Sobola) normalny metoda ROU zmodyfikowana metoda odwracania dystrybuanty metoda Box’a - Mullera beta(a,b)

Podsumowanie Główne obszary zastosowania programu: minimalizacja zadań wielowymiarowych z ograniczeniami funkcyjnymi różnymi metodami przedstawianie charakteru zmienności badanych funkcji z uwzględnieniem ograniczeń analiza wpływu parametrów zadania i ograniczeń na postać minimalizowanej funkcji badanie wpływu wartości parametrów na ich skuteczność lepsze zrozumienie sposobu zachowania się najbardziej popularnych algorytmów, poprzez śledzenie ich działania w trybie edukacyjnym Potencjalne kierunki rozbudowy: rozbudowa biblioteki metod uwzględnianie ograniczeń - inne metody wizualizacja przebiegu algorytmów na wykresie przestrzennym rozbudowanie podsystemu zarządzającego wyrażeniami symbolicznymi