Laboratorium technik optymalizacji



Podobne dokumenty
KARTA MODUŁU KSZTAŁCENIA

Regulamin przedmiotów: Modelowanie symulacyjne

Projektowanie oprogramowania

Wykład Ćwiczenia Laboratorium Projekt Seminarium

K.Pieńkosz Badania Operacyjne Wprowadzenie 1. Badania Operacyjne. dr inż. Krzysztof Pieńkosz

Projektowanie oprogramowania

Projektowanie oprogramowania

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

Wymagania edukacyjne z przedmiotu Witryny i aplikacje internetowe klasa 2iA. tworzenia stron. animację - multimedia

Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy. Obowiązkowy Polski VI semestr zimowy

Multimedia i Interfejsy

Systemy Informatyki Przemysłowej

PRZEWODNIK PO PRZEDMIOCIE

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.

Kurs wybieralny: Zastosowanie technik informatycznych i metod numerycznych w elektronice

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

E-E-A-1008-s5 Komputerowa Symulacja Układów Nazwa modułu. Dynamicznych. Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy

Projekt przejściowy 2015/2016 BARTOSZ JABŁOŃSKI, TOMASZ JANICZEK

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

Algorytmy i struktury danych - opis przedmiotu

KARTA MODUŁU KSZTAŁCENIA

SZCZEGÓŁOWY HARMONOGRAM SZKOLENIA

Dostawa oprogramowania. Nr sprawy: ZP /15

KARTA MODUŁU KSZTAŁCENIA

Opis. Wymagania wstępne (tzw. sekwencyjny system zajęć i egzaminów) Liczba godzin zajęć dydaktycznych z podziałem na formy prowadzenia zajęć

Karta (sylabus) przedmiotu

Systemy Robotów Autonomicznych

PRZEWODNIK PO PRZEDMIOCIE

KARTA PRZEDMIOTU. Algorytmy i struktury danych, C4

Technologie informacyjne Information technologies

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2014/2015

Gdańsk, WPROWADZENIE DO LABORATORIUM ELEKTRONIKI

Multimedialne Systemy Interaktywne

Projekt przejściowy 2016/2017 BARTOSZ JABŁOŃSKI

PRZEWODNIK PO PRZEDMIOCIE

Niezawodność i diagnostyka projekt. Jacek Jarnicki

Logistyka I stopień Ogólnoakademicki. Niestacjonarne. Zarządzanie logistyczne Katedra Inżynierii Produkcji Dr Sławomir Luściński

KARTA PRZEDMIOTU. Techniki przetwarzania sygnałów, D1_3

SYLABUS/KARTA PRZEDMIOTU

Język Java i technologie Web - opis przedmiotu

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

M O D U Ł O W Y S Y S T E M O C E N I A N I A

PRZEWODNIK PO PRZEDMIOCIE

KARTA MODUŁU KSZTAŁCENIA

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

E-1EZ s1. Technologie informacyjne. Elektrotechnika I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Informatyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny) podstawowy (podstawowy / kierunkowy / inny HES)

KARTA MODUŁU KSZTAŁCENIA

OPIS PRZEDMIOTU Technologia informacyjna 1400-IN11TI-SP. Wydział Administracji i Nauk Społecznych Instytut/Katedra

PRZEDMIOTOWY SYSTEM OCENIANIA DLA TECHNIKUM I ZASADNICZEJ SZKOŁY ZAWODOWEJ Z

APLIKACJE KLIENT-SERWER Client-Server Applications Forma studiów: Stacjonarne Poziom kwalifikacji: I stopnia. Liczba godzin/tydzień: 2W, 2L

Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2015/2016. Forma studiów: Niestacjonarne Kod kierunku: 11.

Karta (sylabus) przedmiotu

2. Wymagania wstępne w zakresie wiedzy, umiejętności oraz kompetencji społecznych (jeśli obowiązują):

PRZEWODNIK PO PRZEDMIOCIE

Programowanie w Javie nazwa przedmiotu SYLABUS A. Informacje ogólne

Instrukcja użytkownika

Wykaz zmian w programie SysLoger

Przetwarzanie w chmurze - opis przedmiotu

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

KOMPLEKSOWA OFERTA SZKOLEŃ MS EXCEL W FINANSACH. z konsultacjami

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Algorytmy i struktury danych, C3

Badania operacyjne Operation research. Transport I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

PRZEDMIOTOWY SYSTEM OCENIANIA

Egzamin / zaliczenie na ocenę*

Systemy informatyczne w logistyce Kod przedmiotu

KARTA PRZEDMIOTU. Systemy czasu rzeczywistego: D1_9

Programowanie obiektowe 1 - opis przedmiotu

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

Okręgowa Komisja Egzaminacyjna w Krakowie 1

Materiały dodatkowe. Simulink Real-Time

PRZEWODNIK PO PRZEDMIOCIE

Z-LOGN Ekonometria Econometrics. Przedmiot wspólny dla kierunku Obowiązkowy polski Semestr IV

14. Przedmiot: N/PM2012/11/14/I1 INFORMATYKA moduł 1 Semestr. Liczba tygodni Liczba godzin w tygodniu Liczba godzin w semestrze ECTS

Podstawy elektroniki i miernictwa

Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Nowoczesne metody nauczania przedmiotów ścisłych

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

SYLABUS. Nazwa jednostki prowadzącej Wydział Matematyczno Przyrodniczy Centrum Mikroelektroniki i Nanotechnologii

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Inżynieria oprogramowania - opis przedmiotu

PRZEWODNIK PO PRZEDMIOCIE

KARTA MODUŁU KSZTAŁCENIA

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

Wykaz zmian w programie SysLoger

INFORMATYKA POZIOM ROZSZERZONY

INFORMATYKA POZIOM ROZSZERZONY

Nazwa przedmiotu: Informatyczne systemy statystycznej obróbki danych. Informatics systems for the statistical treatment of data Kierunek:

Zadania laboratoryjne i projektowe - wersja β

Karta (sylabus) przedmiotu

Niezawodność i diagnostyka projekt

"Administrowanie Sieciami Komputerowymi"

Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Transkrypt:

Laboratorium technik optymalizacji Marek Kubiak 1 Opis zajęć Zakres zajęć laboratoryjnych jest podzielony na 2 części: realizację algorytmu przeszukiwania lokalnego i wizualizacji jego działania dla zadanego problemu optymalizacji kombinatorycznej modelowanie matematyczne i wykorzystanie istniejących solverów do rozwiązywania zadań optymalizacji 2 Algorytm przeszukiwania lokalnego (LS) 2.1 Zakres zagadnień Celem jest zaimplementowanie algorytmu przeszukiwania lokalnego dla zadanego problemu kombinatorycznego (instancje problemu są udostępniane). Problemy do rozwiązania to: problem układania uniwersyteckiego planu zajęć (UCTP), problem planowania tras dla pojazdów z ograniczeniami pojemnościowymi i klientów z oknami czasowymi (CVRPTW). Szczegółowe zadania projektowe, implementacyjne i obliczeniowe są podzielone na 3 etapy: 1. etap: implementacja wczytywania danych instancji, projekt reprezentacji rozwiązania problemu (struktur danych), projekt tworzenia rozwiązania losowego, implementacja tworzenia rozwiązania losowego, projekt zrandomizowanego rozwiązania heurystycznego, implementacja zrandomizowanego rozwiązania heurystycznego, projekt (propozycja) przeszukiwania lokalnego (definicja ruchu, sposób obliczania wartości zmiany funkcji celu, sposób optymalizacji pętli przeszukiwania), implementacja prostego algorytmu wielokrotnego startu (wielokrotne uruchamianie rozwiązania losowego i heurystycznego), 1

2. etap: 3. etap: implementacja przeszukiwania lokalnego (LS), projekt aplikacji z wizualizacją obliczeń, badania obliczeniowe: algorytm wielokrotnego startu LS z losowym i heurystycznym rozwiązaniem początkowym (porównanie z rozwiązaniem losowym, heurystycznym i najlepszym znanym), usprawnienia przeszukiwania lokalnego (profilowanie kodu), implementacja metaheurystyki opartej na przeszukiwaniu lokalnym (opcjonalnie), implementacja wizualizacji obliczeń, badania obliczeniowe: algorytm wielokrotnego startu LS (porównanie z poprzednimi wynikami obliczeń). Wymagania dla zadań z wizualizacji: prezentacja wizualna całej zawartości aktualnego rozwiązania (w rozsądny i czytelny sposób) razem z zaznaczeniem (np. kolorem) kosztu poszczególnych elementów z boku aktualnego rozwiązania prezentacja liczbowa (koniecznie) lub wizualna (opcjonalnie: wykres, słupek) składników funkcji celu tego rozwiązania wizualizacja pojedynczego kroku przeszukiwania lokalnego (wyróżnianie elementów modyfikowanych przy wykonywaniu ruchu, np. najpierw zaznaczenie elementów usuwanych, chwila przerwy, później zaznaczenie elementów dodawanych, chwila przerwy, narysowanie ostatecznie zmodyfikowanego rozwiązania) opis wykonywanych w czasie wykonywania ruchu czynności (np. jako status bar: wymiana elementu x na element y; f = 10 (zmiana wartości funkcji celu)) uruchamianie całego algorytmu przeszukiwania w trybie ciągłym, z możliwością zatrzymania i wznowienia tego procesu ( play/pause ); animacja zmian aktualnego rozwiązania uruchamianie całego algorytmu przeszukiwania w trybie krokowym ( step ) możliwość ustawienia dodatkowego interwału czasowego pomiędzy ruchami przeszukiwania lokalnego (cel: szybkość animacji dostosowana do percepcji widza) przygotowanie programu z wizualizacją jako apletu; umieszczenie na stronie internetowej prowadzącego przedmiot Szacowana liczba linii kodu w C++ (jako punkt odniesienia) na zadania związane z implementacją metod obliczeniowych to 1000. Dodatkowo na wizualizację: 500 linii. Zadania będą realizowane w zespołach trzyosobowych. 2

2.2 Wykorzystywane narzędzia Język implementacji: Java (1.5), obowiązkowy dla wszystkich zespołów (te same możliwości obliczeniowe). Repozytorium CVSa na serwerze Ophelia. Wymagane jest zachowanie (ogólnej) zgodności ze standardem kodowania Suna dla Javy, tworzenie dokumentacji w Javadoc. Zalecane tworzenie testów jednostkowych dla metod obliczeniowych. 2.3 Planowana liczba zajęć Dla tej części zajęć planowane jest przeprowadzenie 9 laboratoriów. 2.4 Konkurs obliczeniowy Konkurs polega na tym, że napisane przez grupy programy są uruchamiane w takim samym środowisku obliczeniowym i wygrywa grupa, której program generuje rozwiązania o najlepszej jakości. Zwycięstwo w konkursie dodatkowo promuje grupy zadaniowe w sensie oceny zaliczeniowej, ale realizacja wszystkich zadań jest i tak wymagana od wszystkich zespołów. Konkursowe środowisko obliczeniowe Każdy program studencki jest uruchomiony 9 razy dla każdej instancji, po 300 sekund na uruchomienie. Konfiguracja testowa: komputer z procesorem Intel Pentium 4 3GHz, 512 MB RAM gwarantowane, JRE 1.5.0 05. Brak komunikacji sieciowej. Ocena programów konkursowych Dla każdego zespołu: Dla każdej instancji: zweryfikuj poprawność wszystkich znalezionych rozwiązań, znajdź medianę jakości z wszystkich uruchomień, oblicz odstęp w stosunku do najlepszego znanego rozwiązania (lub inna statystyka, która będzie w miarę równoważna dla instancji różnego typu). Dla wszystkich instancji: oblicz średni odstęp od najlepszego rozwiązania. Wygrywa zespół o najmniejszej średniej. Jakiekolwiek niedopuszczalności rozwiązań lub korzystanie z wcześniejszych wyników obliczeń są zabronione. Wszystkie programy muszą budować rozwiązania od podstaw. Udostępnione będą zewnętrzne weryfikatory rozwiązań. Etapy konkursu Konkurs jest trójetapowy, podobnie jak realizacja zadań na zajęciach. Po każdym etapie należy oddać gotowe do uruchomienia w warunkach konkursowych programy obliczeniowe. Po zakończeniu 3. etapu (realizacji i udoskonaleń przeszukiwania lokalnego) wyniki konkursu obliczeniowego decydują o ostatecznej wzajemnej pozycji zespołów. Wcześniejsze etapy są wskazówką co do jakości napisanych programów wpływają na cząstkową liczbę punktów za laboratorium. Obliczenia konkursowe w kolejnych etapach: 5 instancji, 3 znane (w zbiorach udostępnionych wcześniej), 2 nieznane (generalnie tego samego typu). Po obliczeniach: ujawnienie nieznanych instancji. 3

Wraz z ukończeniem 3. etapu należy oddać także programy z wizualizacją, zamieszczone w celach demonstracyjnych na stronie internetowej (może być to strona prowadzącego laboratorium). Nagrody Dwa zespoły zwycięskie w konkursie (jeden zespół dla każdego zadania) są zwalniane z egzaminu z przedmiotu z oceną bardzo dobry. Te wyróżnienia mają także wpływ na konkurs na najlepszych studentów TWO (rozstrzygany pod koniec studiów) informacja od opiekuna specjalności. 3 Szczegółowy harmonogram zajęć Tematy zostały podzielone na poszczególne laboratoria w ten sposób, by czasochłonne zadania projektowe i implementacyjne z części LS były realizowane w dłuższym okresie czasu (kilku tygodni), a nie z zajęć na zajęcia. 1. (2005-10-20) Zajęcia organizacyjne; LS (0): wstęp do zadań optymalizacji kombinatorycznej, zadania szczegółowe do etapu 1.; 2. (2005-10-27) LS (1): konsultacje obowiązkowe prezentacja wynikow projektowania i początków implementacji (wczytywanie danych instancji); 3. (2005-11-03) LS (2): konsultacje i prezentacja wynikow projektowania i implementacji (rozwiązanie losowe i heurystyczne); 4. (2005-11-10) LS (3): zakończenie etapu 1.: krótkie sprawozdanie z badań obliczeniowych, oddanie programów do obliczeń konkursowych; zadania szczegółowe do etapu 2. 5. (2005-11-17) LS (4): konsultacje i implementacja 6. (2005-11-24) LS (5): konsultacje i implementacja 7. (2005-12-01) LS (6): zakończenie etapu 2.: krótkie sprawozdanie z badań obliczeniowych, oddanie programów do obliczeń konkursowych; zadania szczegółowe do etapu 3. 8. (2005-12-08) LS (7): konsultacje i implementacja 9. (2005-12-15) LS (8): konsultacje i implementacja 10. (2005-12-22) LS (9): zakończenie etapu 3.: poprawione lokalne przeszukiwanie, metaheurystyka (opcja), badania obliczeniowe i wizualizacja. 11. (2006-01-05) GAMS (1): wprowadzenie, zadania liniowe; 12. (2006-01-12) GAMS (2): zadania liniowe i nieliniowe; 13. (2006-01-19) GAMS (3): zadania różne. 14. (2006-01-26) GAMS: sprawdzian (komputerowy) 4

4 Modelowanie matematyczne i wykorzystanie istniejących solverów (GAMS) Celem zajęć jest nauka modelowania zadań optymalizacji z wykorzystaniem programu GAMS. 4.1 Zakres zagadnień Wprowadzenie do GAMSa (1 zajęcia): zadania liniowe (np. transportowe); zadania liniowe i nieliniowe (1 zajęcia); zadania różne (nieliniowe, kombinatoryczne) (1 zajęcia). 4.2 Wykorzystywane narzędzia GAMS. Ewentualnie Excel lub AWK do przetwarzania danych wejściowych dla GAMS. 4.3 Planowana liczba zajęć Dla tej części zajęć planowane jest przeprowadzenie 4 laboratoriów (łącznie z testem sprawdzającym). 5 Ocena za laboratorium W trakcie laboratorium można zdobyć 100 punktów za realizację poszczególnych zadań i obecność na zajęciach. Pula punktów jest podzielona następująco: obecność na zajęciach: 10 (max. 3 nieobecności, kolejne nieobecności: -1, -4, -5); GAMS sprawdzian: 20; LS etapy 1-3: przygotowanie do konsultacji: 5; terminowość nadesłania programu: 2; poprawność działania programu: 3; sprawozdanie z wyników obliczeń: 5; jakość rozwiązań (miejsce w rankingu): 1. miejsce: 6 punktów, 2. miejsce: 4 punkty, 3. miejsce: 2 punkty, 4. miejsce: 0 punktów. prezentacja o programie do optymalizacji (LS), z demonstracją wizualizacji (będzie dostępny rzutnik multimedialny): 10; zajęcia z prezentacjami będą najprawdopodobniej tymi odrabianymi zajęciami. W części GAMS punkty są zdobywane indywidualnie. W części LS punkty zdobywa cały zespół. Przelicznik punkty-oceny: 5

91 i więcej: bdb 81 90: db+ 71 80: db 61 70: dst+ 51 60: dst 0 50: ndst 6