Laboratorium "Metody optymalizacji" stanowi obligatoryjny przedmiot dla wszystkich studentów Wydziału Informatyki Politechniki Białostockiej. Studiując ten przedmiot studenci zapoznają się ze sposobem systematycznego badania przydatności metod optymalizacji do rozwiązywania zadań inżynierskich oraz uczą się poprawnego stosowania nowoczesnej teorii optymalizacji w różnych dziedzinach informatyki aplikacyjnej. Laboratorium obejmuje stworzenie programów komputerowych na podstawie algorytmów optymalizacyjnych oraz komputerową weryfikację osiągniętych rezultatów. W skład ćwiczeń laboratoryjnych wchodzi rozwiązywanie zadań z użyciem uniwersalnego języka programowania wysokiego poziomu Matlab.
Podstawowym celem zastosowania Matlaba jest ułatwienie studentowi przeprowadzenia obliczeń optymalizacyjnych i prezentacji wyników w postaci graficznej. Matlab nie zwalnia studenta ze znajomości metod i algorytmów optymalizacji, wręcz przeciwnie, jest doskonałym weryfikatorem wiedzy studenckiej z tej dziedziny. Niewłaściwy opis algorytmu natychmiast sygnalizowany jest w postaci błędnych wyników. Student ma możliwość zaprogramowania obliczeń. Niepoprawne rezultaty mają jednoznaczne źródło - błędy w sformułowaniu zadania, zwykle na etapie opisu algorytmu. Etap wyszukiwania błędu, a następnie jego poprawa to integralna część tych ćwiczeń. Student spełnia tu bardzo aktywną rolę, wykorzystując i konfrontując z rzeczywistością swoją bazę wiedzy z dziedziny numerycznych metod optymalizacji. Najczęstszym błędem popełnianym przez studentów na tym etapie jest niewłaściwe opracowanie programów komputerowych. Wykorzystanie Matlaba pozwala w laboratorium osiągnąć dwa cele jednocześnie: pogłębić wiedzę z dziedziny formułowania problemów optymalizacyjnych i dobierać algorytmy analitycznego ich rozwiązania oraz badać zjawiska fizyczne zachodzące w wybranych obiektach inżynierskich.
Spis treści:Przedmowa
Ćwiczenie 1. Środowisko MATLAB i biblioteki procedur do rozwiązywania zadań optymalizacyjnych
1.1. Cel ćwiczenia
1.2. Podstawowe założenia
1.3. Środowisko MATLAB
1.3.1. Skrócony opis m-plików środowiska MATLAB
1.4. Ogólna charakterystyka zadań optymalizacji parametrycznej
1.4.1. Zadania programowania liniowego
1.4.2. Zadania programowania kwadratowego
1.5. Biblioteka procedur Optimization Toolbox
1.5.1. Przeznaczenie i możliwości pakietu Optimization Toolbox
1.5.2. Podstawowe założenia
1.5.3. Parametry funkcji biblioteki Optimization Toolbox
1.6. Przykłady demonstracyjne
1.7. Poszukiwanie maksimum
1.8. Zadania do samodzielnego rozwiązania
1.9. Sprawozdanie
1.10. Pytania kontrolne
Ćwiczenie 2. Poszukiwanie minimum funkcji jednej zmiennej
2.1. Cel ćwiczenia
2.2. Podstawowe założenia
2.3. Przykłady rozwiązywania zadań optymalizacyjnych
2.3.1. Poszukiwanie miejsc zerowych z wykorzystaniem wbudowanej funkcji fzero
2.3.2. Poszukiwanie minimów z wykorzystaniem wbudowanej funkcji fminbnd
2.4. Ustawienie dokładności oraz dodatkowych parametrów procesu optymalizacji
2.5. Zadania do samodzielnego rozwiązania
2.6. Sprawozdanie
2.7. Pytania kontrolne
Ćwiczenie 3. Programowanie liniowe
3.1. Cel ćwiczenia
3.2. Podstawowe założenia
3.3. Przykłady rozwiązywania zadań programowania liniowego
3.4. Zadania do samodzielnego rozwiązania
3.5. Sprawozdanie
3.6. Pytania kontrolne
Ćwiczenie 4. Programowanie kwadratowe
4.1. Cel ćwiczenia
4.2. Podstawowe założenia
4.3. Przykłady rozwiązywania zadań programowania kwadratowego
4.4. Zadania do samodzielnego rozwiązania
4.5. Sprawozdanie
4.6. Pytania kontrolne
Ćwiczenie 5. Programowanie nieliniowe bez ograniczeń
5.1. Cel ćwiczenia
5.2. Podstawowe założenia
5.3. Metody poszukiwań prostych
5.3.1. Przykłady rozwiązywania zadań optymalizacyjnych z wykorzystaniem funkcji fminsearch
5.4. Metody kierunków poprawy
5.4.1. Przykłady rozwiązywania zadań optymalizacyjnych z wykorzystaniem funkcji fminunc
5.5. Zadania do samodzielnego rozwiązania
5.6. Sprawozdanie
5.7. Pytania kontrolne
Ćwiczenie 6. Programowanie nieliniowe z ograniczeniami
6.1. Cel ćwiczenia
6.2. Podstawowe założenia
6.3. Przykłady rozwiązywania zadań programowania nieliniowego z ograniczeniami
6.4. Zadania do samodzielnego rozwiązania
6.5. Sprawozdanie
6.6. Pytania kontrolne
Ćwiczenie 7. Metody najmniejszych kwadratów (MNK)
7.1. Cel ćwiczenia
7.2. Podstawowe założenia
7.3. Przykłady rozwiązywania zadań optymalizacyjnych z wykorzystaniem funkcji najmniejszych kwadratów
7.3.1. Funkcja mldivide
7.3.2. Funkcja lsqlin
7.3.3. Funkcja lsqcurvefit
7.3.4. Funkcja lsqnonlin
7.3.5. Funkcja lsqnonneg
7.3.6. Funkcja fsolve
7.4. Zadania do samodzielnego rozwiązania
7.5. Sprawozdanie
7.6. Pytania kontrolne
Ćwiczenie 8. Zadania minimaksowe i z parametryzowanymi ograniczeniami
8.1. Cel ćwiczenia
8.2. Podstawowe założenia
8.2.1. Zadanie minimaksowe
8.2.2. Zadanie minimaksowe z parametryzowanymi ograniczeniami
8.3. Przykłady rozwiązywania zadań optymalizacyjnych
8.3.1. Przykłady rozwiązywania zadań minimaksowych
8.3.2. Przykład zadania minimaksowego z parametryzowanymi ograniczeniami
8.4. Zadania do samodzielnego rozwiązania
8.5. Sprawozdanie
8.6. Pytania kontrolne
Ćwiczenie 9. Optymalizacja wielokryterialna
9.1. Cel ćwiczenia
9.2. Podstawowe założenia
9.3. Przykłady rozwiązywania zadań optymalizacyjnych
9.4. Zadania do samodzielnego rozwiązania
9.5. Pytania kontrolne
Literatura