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-INMSI-MSP-0001
Semestr nominalny:
2 / rok ak. 2020/2021
Liczba punktów ECTS:
6
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
1. godziny kontaktowe – 75 h; w tym a. obecność na wykładach – 45 h b. obecność na ćwiczeniach – 15 h c. obecność na laboratoriach – 15 h 2. przygotowanie do ćwiczeń – 15 h 3. przygotowanie do zajęć laboratoryjnych – 15 h 4. poznanie programu Matlab oraz funkcji pakietu Optimization Toolbox – 15h 5. zapoznanie się z literaturą – 15 h 6. przygotowanie do egzaminu i obecność na egzaminie – 15 h Łączny nakład pracy studenta wynosi 150 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 Razem 75 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 ćwiczeniach – 15 h 2. przygotowanie do ćwiczeń – 15 h 3. obecność na laboratoriach – 15 h 4. przygotowanie do zajęć laboratoryjnych – 15 h 5. poznanie programu Matlab oraz funkcji pakietu Optimization Toolbox – 15h 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 lokalnych 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; zagadnienia post-optymalizacyjne; analiza zmian strukturalnych zadania PL; algorytmy o wielomianowym nakładzie obliczeń; metoda punktu wewnętrznego do rozwiązywania zadania PL. 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; wybrane metody minimalizacji kierunkowej; metody poszukiwań prostych; metody gradientowe; metody kierunków sprzężonych; metody quasi-newtonowskie; metody heurystyczne. 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; metoda punktu wewnętrznego dla wypukłego zadania kwadratowego; wybrane algorytmy rozwiązywania zadań programowania wypukłego; zewnętrzna funkcja kary; wewnętrzna funkcja kary. Ćwiczenia: Praktyczne zapoznanie z podstawowymi metodami analitycznymi i numerycznymi poszukiwania ekstremum lokalnego 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, samodzielna implementacja oraz testowanie wybranych algorytmów omawianych w części wykładowej. Środowisko programistyczne Matlab. Przykłady rozwiązywania problemów optymalizacyjnych w środowisku Matlab (wybrane funkcje pakietu Optimization Toolbox).
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_W02, I2_W01
Powiązane charakterystyki obszarowe: I.P7S_WG.o, P7U_W
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
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
Potrafi 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: