- Nazwa przedmiotu:
- Programowanie matematyczne
- Koordynator przedmiotu:
- dr inż. Ewa Pawelec
- Status przedmiotu:
- Obowiązkowy
- Poziom kształcenia:
- Studia II stopnia
- Program:
- Informatyka i Systemy Informacyjne
- Grupa przedmiotów:
- Wspólne
- Kod przedmiotu:
- 1120-IN000-MSP-0113
- Semestr nominalny:
- 2 / rok ak. 2022/2023
- Liczba punktów ECTS:
- 6
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- 1. godziny kontaktowe – 78 h; w tym
a) obecność na wykładach – 45 h
b) obecność na ćwiczeniach – 15 h
c) obecność na laboratoriach – 15 h
d) obecność na egzaminie – 3 h
2. praca własna studenta – 100 h; w tym
a) przygotowywanie się do ćwiczeń i kolokwium – 15 h
b) przygotowywanie się do zajęć laboratoryjnych – 30 h
c) poznanie programu Matlab oraz funkcji pakietu Optimization Toolbox – 30 h
d) zapoznanie się z literaturą – 15 h
e) przygotowanie do egzaminu – 10 h
Razem 178 h, co odpowiada 6 pkt. ECTS
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- 1. obecność na wykładach – 45 h
2. obecność na ćwiczeniach – 15 h
3. obecność na laboratoriach – 15 h
4. obecność na egzaminie – 3 h
Razem 78 h, co odpowiada 3 pkt. ECTS
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- 1. obecność na laboratoriach – 15 h
2. przygotowanie do zajęć laboratoryjnych – 30 h
3. poznanie programu Matlab oraz funkcji pakietu Optimization Toolbox – 30 h
Razem 75 h, co odpowiada 3 pkt. ECTS
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład45h
- Ćwiczenia15h
- Laboratorium15h
- Projekt0h
- Lekcje komputerowe0h
- Wymagania wstępne:
- Zalecane przedmioty poprzedzające: Analiza matematyczna (rachunek różniczkowy funkcji jednej i wielu zmiennych), Algebra liniowa (rachunek macierzowy), Metody numeryczne, Programowanie (C, Matlab)
- Limit liczby studentów:
- Bez limitu
- Cel przedmiotu:
- Celem przedmiotu jest wprowadzenie w zagadnienia optymalizacji statycznej oraz zapoznanie z podstawowymi metodami poszukiwania ekstremów funkcji wielu zmiennych bez ograniczeń i w obszarze wyznaczonym ograniczeniami, ze szczególnym uwzględnieniem zagadnień programowania liniowego, kwadratowego i wypukłego. Po ukończeniu kursu studenci powinni posiadać wiedzę teoretyczną i praktyczną o podstawowych metodach analitycznych i algorytmach numerycznych:
- optymalizacji liniowej,
- optymalizacji nieliniowej bez ograniczeń,
- optymalizacji nieliniowej z ograniczeniami,
oraz powinni umieć rozwiązać zadanie optymalizacji samodzielnie implementując wybrany algorytm lub wykorzystując funkcje pakietu Optimization Toolbox programu Matlab.
- Treści kształcenia:
- Wykład:
Sformułowanie i klasyfikacja zadań optymalizacji. Przykłady.
Programowanie liniowe (PL): standardowa postać zadania PL; sprowadzanie zagadnienia PL do postaci standardowej; graficzne rozwiązywanie zadania PL; postać kanoniczna, rozwiązania bazowe, wyznaczanie początkowego rozwiązania bazowego; algorytmy obliczeniowe metody sympleks; teoria dualności dla zadań PL; dualna metoda sympleks elementy optymalizacji dyskretnej; zagadnienia post-optymalizacyjne; zmiany strukturalne zadania PL; algorytmy o wielomianowym nakładzie obliczeń; metoda punktu wewnętrznego do rozwiązywania zadania PL; przykłady rozwiązywania zadań PL w środowisku Matlab (Optimization Toolbox).
Optymalizacja nieliniowa bez ograniczeń: zastosowania optymalizacji nieliniowej bez ograniczeń; pojęcie rozwiązania optymalnego; warunki optymalności dla minimów lokalnych; metody iteracyjne; rząd i szybkość zbieżności; ogólny algorytm kierunków poprawy z poszukiwaniem w kierunku; metody poszukiwań prostych; gradientowe metody kierunków poprawy; metody quasi-newtonowskie; metody kierunków sprzężonych; wybrane metody minimalizacji kierunkowej; przykłady rozwiązywania zadań nieliniowych w środowisku Matlab.
Optymalizacja nieliniowa z ograniczeniami: funkcja Lagrange’a; mnożniki Lagrange’a; warunki Kuhna-Tuckera; warunki regularności; warunki konieczne i dostateczne optymalności dla zadania programowania nieliniowego z ograniczeniami; dualność; wybrane algorytmy rozwiązywania zadań programowania kwadratowego; wybrane algorytmy rozwiązywania zadań programowania wypukłego; zewnętrzna funkcja kary; wewnętrzna funkcja kary;- przykłady rozwiązywania zadań optymalizacji nieliniowej z ograniczeniami w środowisku Matlab.
Elementy programowania wielokryterialnego; wprowadzenie.
Oprogramowanie do rozwiązywania zadań optymalizacji statycznej.
Ćwiczenia:
Praktyczne zapoznanie z podstawowymi metodami analitycznymi i numerycznymi poszukiwania ekstremum funkcji wielu zmiennych bez ograniczeń oraz w obecności narzuconych ograniczeń. W szczególności dużo uwagi poświęca się rozwiązywaniu zadań programowania liniowego, kwadratowego i wypukłego.
Laboratorium:
Samodzielne rozwiązywanie zadań optymalizacji. Opracowanie, implementacja oraz testowanie wybranych algorytmów omawianych w części wykładowej. Środowisko programistyczne Matlab.
- Metody oceny:
- Na zaliczenie przedmiotu składają się punkty uzyskane w toku zajęć:
- ćwiczenia 30 pkt (kolokwium zaliczeniowe)
- laboratorium 30 pkt (ocena wykonanych podczas laboratorium programów w Matlabie; wymagane jest zdobycie w sumie minimum 15 pkt)
- oraz egzamin 40 pkt (w formie pisemnej)
Ostateczna ocena zależy od sumy uzyskanych punktów:
51%-60% - 3; 61%-70% - 3,5; 71%-80% - 4; 81%-90% - 4,5; 91%-100% - 5
- Egzamin:
- tak
- Literatura:
- 1. A. Stachurski, A. P. Wierzbicki: Podstawy Optymalizacji. PW 2009.
2. M. Bazaraa, J. Jarvis, H. Sherali: Linear Programming and Network Flows. Wiley 2006.
3. M. Bazaraa, H. Sherali, C. Shetty: Nonlinear Programming, Theory and Algorithms. Wiley 2006.
4. R.J. Vanderbei: Linear Programming. 2001.
5. W. Sun, Y. Yuan: Optimization Theory And Methods. Springer 2006.
6. P.E. Gill, W. Murray, M.H. Wright: Practical Optimization. Academic Press 2002.
7. Optimization ToolBox: dokumentacja dla programu MatLab.
8. W. Yang, W. Cao, T. Chung, J. Morris: Applied Numerical Methods Using Matlab. Wiley 2005.
- Witryna www przedmiotu:
- brak
- Uwagi:
Efekty uczenia się
Profil ogólnoakademicki - wiedza
- Charakterystyka W01
- Zna podstawy teoretyczne metod analitycznych i podstawowych algorytmów optymalizacji statycznej: liniowej, nieliniowej i optymalizacji nieliniowej z ograniczeniami
Weryfikacja: egzamin, kolokwium, punktowana ocena wykonanych podczas laboratorium programów w Matlabie
Powiązane charakterystyki kierunkowe:
I2_W01, I2_W02
Powiązane charakterystyki obszarowe:
P7U_W, I.P7S_WG.o
- Charakterystyka W02
- Zna podstawowe algorytmy optymalizacji statycznej
Weryfikacja: egzamin, kolokwium, punktowana ocena wykonanych podczas laboratorium programów w Matlabie
Powiązane charakterystyki kierunkowe:
I2_W01, I2_W02
Powiązane charakterystyki obszarowe:
P7U_W, I.P7S_WG.o
Profil ogólnoakademicki - umiejętności
- Charakterystyka U01
- Potrafi skonstruować i zaimplementować algorytm dla danego problemu optymalizacyjnego i ocenić jego efektywność
Weryfikacja: kolokwium, punktowana ocena wykonanych podczas laboratorium programów w Matlabie
Powiązane charakterystyki kierunkowe:
I2_U01, I2_U03, I2_U07
Powiązane charakterystyki obszarowe:
- Charakterystyka U02
- Potrafi dokonać wyboru i zastosować poznane algorytmy do rozwiązania prostego problemu optymalizacyjnego lub zastosować funkcje pakietu Optimization Toolbox programu Matlab
Weryfikacja: kolokwium, punktowana ocena wykonanych podczas laboratorium programów w Matlabie
Powiązane charakterystyki kierunkowe:
I2_U01, I2_U02
Powiązane charakterystyki obszarowe:
Profil ogólnoakademicki - kompetencje społeczne
- Charakterystyka K01
- Jest gotowy myśleć i działać w sposób kreatywny
Weryfikacja: egzamin, punktowana ocena wykonanych podczas laboratorium programów w Matlabie
Powiązane charakterystyki kierunkowe:
I2_K04
Powiązane charakterystyki obszarowe: