Wytyczne ws. projektu z przedmiotu Metody optymalizacji oraz proponowane tematy projektów Piotr Chołda i Andrzej Kamisiński 1 kwietnia 2016 Należy jak najszybciej zapoznać się z całością niniejszego dokumentu. Dokument jest cały czas uaktualniany przez głównego prowadzącego ale tylko w zakresie wybranych artykułów (a nie zasad!) stąd zmiany dokumentu. Podstawowe zasady pracy i jej terminarz Zajęcia projektowe są prowadzone przez dwie osoby: Piotra Chołdę (głównego prowadzącego) i Andrzeja Kamisińskiego. Zgodnie z Regulaminem Studiów 11.3 uczęszczanie na zajęcia projektowe jest obowiązkowe. Wymóg ten jest realizowany w odniesieniu do kilku spotkań, w których student jest obowiązany uczestniczyć. Przy pierwszym zgłoszeniu należy kontaktować się w sprawie spotkania z głównym prowadzącym, który będzie wyznaczał opiekuna projektu, tj. przydzielał prowadzenie konkretnego projektu do jednego z dwóch prowadzących. Po zgłoszeniu tematu należy kontaktować się z wyznaczonym opiekunem projektu w sprawie spotkania (za pomocą e-maila). Zasadniczym terminem spotkań ws. projektu są piątki, godz. 11.15-14.20 (zgodnie z oficjalnym planem zajęć). Terminy standardowych konsultacji prowadzących nie są w zasadzie przewidywane jako czas spotkań ws. projektu. Nie należy umawiać się na spotkanie, dopóki nie ma się zatwierdzonego tematu. W ramach prac nad projektem wyznaczono ścisły terminarz spotkań i dokonywania określonych czynności, który musi być przestrzegany (oczywiście poszczególne elementy obowiązkowe poza spotkaniami można realizować wcześniej). Należy również mieć na uwadze, że wszelkie spotkania należy umawiać z co najmniej trzydniowym wyprzedzeniem. Terminarz przedstawiono w tab. 1. Kontakt e-mailowy Temat e-maila powinien być tworzony według następującego wzorca: [MetOpt-projekt] <Skład grupy>: <przedmiot e-maila>, np. [MetOpt-projekt] Jan Kowalski: termin spotkania nr 2 albo [MetOpt-projekt] Jan Kowalski i Jan Nowak: poprawione sprawozdanie. Prosimy, aby Państwo używali podczas kontaktu swoich pełnych imion, a nie tylko nazwisk (lub skróconych imion), np. Jan Kowalski, a nie: Kowalski Jan, J. Kowalski, Janek Kowalski, Kowalski czy JK itp. Sposób wykonania 1. Każda grupa wybiera jeden temat z listy podanej na końcu niniejszych wytycznych: temat dotyczy realizacji konkretnego algorytmu optymalizacji lub typu zadania optymalizacji na pierwszym spotkaniu projektowym należy ustalić z prowadzącym, jaki konkretny problem zostanie z jego użyciem rozwiązany (pożądany byłby realistyczny problem optymalizacyjny ale akceptowalny jest również problem czysto numeryczny); Strona 1
Tablica 1: Terminarz projektu Termin graniczny Obowiązek Konsekwencje niedotrzymania terminu do 1 kwietnia, godz. 14.20 wybór tematu (metody lub typu optymalizacji), wybór konkretnego zadania optymalizacji, które będzie podstawą testowania zaimplementowanego algorytmu oraz uzyskiwania wyników numerycznych, spotkanie całej grupy projektowej z prowadzącym (należy rezerwować 15 minut na to spotkanie), podjęcie decyzji nt. składu grupy projektowej (1-4 os.), pisemna deklaracja nt. zadań poszczególnych członków grupy (deklaracje muszą zostać zaaprobowane przez prowadzącego w czasie spotkania oczekiwany jest sprawiedliwy podział pracy, który ma również wymagać od każdego członka grupy zapoznania się z całością przedmiotu i pełnego zrozumienia opracowywanego zagadnienia); obniżenie oceny o pół stopnia; do 29 kwietnia, godz. 14.20 do 20 maja, godz. 14.20 do 31 maja, godz. 16.00 spotkanie całej grupy projektowej z prowadzącym (obejmujące przedstawienie aktualnego wkładu każdego z członków grupy projektowej, należy rezerwować 30 minut na to spotkanie), przedstawienie pierwszych wyników prac, ustalenie końcowego zakresu merytorycznego planowanych prac; spotkanie całej grupy projektowej z prowadzącym (obejmujące przedstawienie aktualnego wkładu każdego z członków grupy projektowej, należy rezerwować 15 minut na to spotkanie), przedstawienie dotychczas uzyskanych wyników oraz planu dokończenia projektu; oddanie projektu (nie wymaga spotkania); obniżenie oceny o pół stopnia; obniżenie oceny o pół stopnia; utrata możliwości uzyskania oceny bdb lub +db za terminowość oddania projektu; do 12 czerwca, godz. 16.00 oddanie projektu (nie wymaga spotkania); utrata możliwości uzyskania oceny db lub +dst za terminowość oddania projektu, ocena ndst z projektu w pierwszym terminie, brak pewności, że projekt zostanie oceniony przed kolejnym terminem egzaminu (chyba że do egzaminu pozostaje więcej niż tydzień); W przypadku niedotrzymywania terminów skutkujących obniżeniem oceny o pół stopnia wszystkie obniżenia oceny się sumują. Strona 2
do jednego tematu mogą się zapisać co najwyżej DWIE grupy decyduje kolejność zgłoszeń za pomocą e-maila; przy czym każda grupa wykonuje swój projekt ZUPEŁNIE niezależnie; przed pierwszym spotkaniem z prowadzącym należy co najmniej zorientować się nt. literatury dotyczącej wybranego algorytmu optymalizacji lub typu zadania optymalizacji; można samemu zaproponować temat, który nie znajduje się na liście w takim przypadku propozycję trzeba przesłać do głównego prowadzącego w celu uzyskania zgody. 2. Istotą projektu jest zapoznanie się z określoną metodą optymalizacji oraz jej implementacja. 3. NALEŻY (przynajmniej w zasadniczych punktach) uzgodnić z prowadzącym, co konkretne zamierza się zrobić. NALEŻY skonsultować wszelkie wątpliwości odnośnie do realizacji projektu. W przeciwnym przypadku trudno będzie udowodnić, że źle zrozumiało się wytyczne w przypadku odrzucenia sprawozdania/projektu. W celu efektywnego wykonania projektu wprowadzono obowiązujący według tab. 1 terminarz prac i spotkań. 4. Wybór języka programowania do implementacji jest pozostawiony do decyzji wykonujących projekt. 5. Ocena zaliczenia projektu jest wystawiana z datą jego prezentacji przez grupę, co może nastąpić dopiero po przyjęciu projektu przez prowadzącego. Jeśli w dniu zakończenia semestru projekt nie zostanie przyjęty, pociąga to za sobą wystawienie w pierwszym terminie oceny ndst z projektu. W przypadku oddania lub poprawienia sprawozdania/projektu w późniejszym terminie, prowadzący wprowadza ocenę pozytywną w drugim terminie zaliczenia z odpowiednią (tj. aktualną) datą. 6. Obowiązkiem każdej grupy projektowej jest publiczne zaprezentowanie własnego projektu, co zostanie zrealizowane w postaci 15-minutowej prezentacji, w której udział muszą wziąć wszyscy członkowie grupy. Podstawowe terminy na prezentację projektów to dwa ostatnie zajęcia projektowe w semestrze. Istnieje możliwość umówienia się na inne terminy po uzgodnieniu między prowadzącymi oraz starostą. Sprawozdanie 1. Warunkiem przyjęcia projektu przez prowadzącego jest oddanie sprawozdania spełniającego wszystkie wymagania określone poniżej. 2. Oddanie sprawozdania obejmuje: przesłanie jego wersji elektronicznej wraz ze wszystkimi plikami związanymi z realizacją projektu 1 ; dostarczenie prowadzącemu wersji wydrukowanej sprawozdania nie trzeba tego robić ani osobiście ani do rąk własnych prowadzącego (np. można sprawozdanie zostawić na portierni, należy w takim przypadku wysłać prowadzącemu e-maila, żeby wiedział, że je może odebrać). 3. Składniki merytoryczne sprawozdania: opis wybranego tematu, opis implementacji, charakterystyka uzyskanych wyników, ewentualnie własne wnioski, pomysły itp. 4. Wymogi formalne: standardowy maszynopis: marginesy nie mniejsze niż 1,5 cm, czcionka nie mniejsza niż 12 pt, interlinia standardowa; do PIĘCIU stron: strona tytułowa (o ile ktoś zdecyduje się sporządzać oddzielną stronę tytułową nie ma takiego wymogu) też się liczy; prace, które nie spełniają kryteriów formalnych, nie będą przyjmowane (tzn. sprawozdanie będzie uznawane za nieoddane i nawet nie będzie czytane). 5. Bardzo ważne: przed oddaniem prowadzącemu sprawozdania każdy autor sprawozdania (tj. każdy członek grupy projektowej) jest zobowiązany: 1 Należy założyć, że prowadzący przedmiot będzie wszystko kompilował dlatego należy załączyć paczkę z wszystkimi niezbędnymi plikami w sposób, który umożliwia łatwe sprawdzenie działania wszystkich zaprogramowanych funkcji wraz z przykładowymi danymi. Strona 3
wydrukować sobie to sprawozdanie; przeczytać je dokładnie z wydruku (najlepiej na drugi dzień, żeby być na świeżo z tekstem) wtedy nieporównanie lepiej widać wszelkie niedoróbki tekstu (literówki, potknięcia logiczne itd.); nanieść poprawki (polepszające stronę merytoryczną, zrozumienie, czytelność, aspekty językowe i edycyjne) i DOPIERO WTEDY można w ogóle rozważać oddanie sprawozdania! Typowe błędy językowo-redakcyjne czyli: czego NALEŻY unikać Prowadzący spodziewają się, że nikt nie popełni niżej wymienionych, dosyć typowych, błędów. Część z nich jest szczególnie dotkliwa w wypowiedzi pisemnej, mimo że w mowie potocznej bywa akceptowana. Błędna interpunkcja (zazwyczaj objawia się nadmiernym lub niewystarczającym użyciem przecinka; należy pamiętać, że interpunkcja w języku angielskim jest inna niż w języku polskim). Błędna odmiana wyrazu łącze w liczbie mnogiej (w dopełniaczu powinno być łączy ). Brak kursywy na oznaczenie słów/zwrotów w języku obcym. Brak kursywy na oznaczenie zmiennych matematycznych (albo stałych czy nazw zbiorów). Brak przecinków/średników/kropek w wypunktowaniu. Mylenie łącznika (np. Górniczo-Hutnicza ), minusa (tzw. półpauzy, np. π ) i myślnika (tzw. pauzy, np. λ d zmienna dualna ). Nadużywanie pretensjonalnych słów typu: iż (powinno być raczej że ), pomiędzy (powinno być raczej między ), poprzez (powinno być raczej przez ). Nadużywanie słowa dla na oznaczenie odnoszenia się do czegoś (np. dla łącza, dla metody ). Nadużywanie słowa ilość w odniesieniu do rzeczowników policzalnych (lepiej pisać liczba ). Nadużywanie słowa stworzyć (powinno być raczej np. opracować, wymyśleć, napisać, rozwinąć ). Nadużywanie słowa wykorzystać (powinno być raczej np. użyć, zrobić [coś] za pomocą [czegoś] ). Nadużywanie strony biernej. Nadużywanie szyku przestawnego. Niejustowanie tekstu akapitu. Niekonsekwentne użycie nazw, np. mieszanie w jednym tekście nazw przepustowość, przepływność czy pojemność na określenie tego samego pojęcia. Nieodnoszenie się do rysunków lub tablic/tabel w tekście (należy odnosić się z użyciem numeracji, np. na rys. 7..., w tablicy IV... ). Niepodawanie pełnych danych bibliograficznych artykułu/książki/tekstu, do którego odnosi się tekst. Nierozwijanie i nieobjaśnianie używanych skrótów. Odmienianie słów angielskojęzycznych (np. użyłem CPLEXa a powinno być raczej użyłem programu CPLEX ). Określanie słowem algorytm sformułowania zadania optymalizacji. Określanie słowem symulacja obliczeń numerycznych albo emulacji. Wprowadzanie tytułów tablic/tabel poniżej nich. Pisanie kursywą cyfr, liczb, nawiasów i oznaczeń standardowych operacji matematycznych (np. funkcja maksimum) lub operatorów (np. dodawania). Pomijanie ogonków w ą i ę (to jest błąd ortograficzny!). Strona 4
Pomniejszanie wartości własnej pracy przez używanie określeń typu próbowałem, usiłowałem itp. na określenie swoich wysiłków. Rozpoczynanie zdania od spójnika (np. Aby... ). Stosowanie w języku polskim kropki zamiast przecinka dziesiętnego. Tłumaczenie całych akapitów (zdań) słowo w słowo (zamiast oddawać sens samemu), w tym bezrefleksyjne użycie tłumaczy automatycznych (typu Google Translate). Umieszczanie kropki lub dwukropka na końcu tytułu tekstu, rozdziału, sekcji itd. Unikanie wcięć przy rozpoczynaniu nowego akapitu. Używanie anglicyzmów: alokowanie (powinno być raczej przydzielanie ), bazować na (powinno być raczej opierać się na ), dystans (powinno być raczej odległość ), dystrybucja (powinno być raczej rozsyłanie ), formuła (powinno być raczej wzór ), funkcjonalność (powinno być raczej zbiór funkcji ), mapowanie (powinno być raczej odwzorowanie ), żądanie (powinno być raczej zapotrzebowanie ). Jeszce gorsze bywa używanie potworków językowych typu: checkpointy, routery, czellendże itd. Używanie archaizmów typu (al)bowiem, owe, tegoż itd. Używanie słowa prędkość w znaczeniu szybkości bitowej. Używanie w bierniku l. poj. rodz. żeńsk. słowa tą (powinno być tę ). Używanie wielkiej litery w środku zdania (np. pokazane na Rys. 1 ), po drukropku (np. w wypunktowaniu), po kropce oznaczającej skrót (np. ang. Router ). Używanie w tekście pisanym po polsku angielskich cudzysłowów (np. algorytm sympleksowy ). Używanie zwrotu przy pomocy (powinno być np. za pomocą, z użyciem ) albo słowa posiadać (powinno być np. mieć, charakteryzować się czymś ) w odniesieniu do obiektów, które nie są osobami. Używanie zwrotu oparty o w znaczeniu abstrakcyjnym. Wklejanie do polskiego tekstu rysunków w języku angielskim. Zamieszczanie rysunków lub tablic/tabel bez numeracji. Zamieszczanie rysunków lub tablic/tabel bez tytułu. Irytujące występowanie w sprawozdaniu błędów z wymienionej listy będzie traktowane jako niespełnienie warunków formalnych, w efekcie nastąpi zwrot sprawozdania (w takim przypadku projekt uznaje się za nieoddany). Korekta Po przeczytaniu sprawozdania prowadzący przesyła skan wydruku ze swoimi uwagami. Należy odesłać mu wersję elektroniczną poprawionego sprawozdania, uwzględniającą sugestie. Będzie można spodziewać się niżej podanych symboli używanych w celu oznaczenia poprawek: Przestawienie kolejności: kolejność przestawiona. Usunięcie niepotrzebnej spacji: ( słowo. Usunięcie fragmentu słowa (zdania): niepotrzebne pleple słowo. k Wstawienie litery (słowa): brauje. Wstawienie brakującej spacji: potrzebnyodstęp. Zmiana kroju na pochyły (lub z pochyłego na prosty): antykwa. Strona 5
Ocenianie Ocena z projektu jest oparta na średniej arytmetycznej z: terminowości oddania projektu spełniającego kryteria wymagane przez prowadzącego: do 31 maja 5.0, do 12 czerwca 4.0, potem 3.0. oceny za prezentację (bez zaprezentowania projektu nie można uzyskać pozytywnej oceny z projektu). W wyniku niedotrzymania terminów spotkań obniża się średnią z dwóch powyżej określonych ocen. Ocena projektu dotyczy całej grupy. Jeśli ocena wystawiona grupie jest pozytywna, członkowie grupy zgłaszają prowadzącemu, w jaki sposób zdecydowali się wystawić sobie oceny zgodnie z poniższymi zasadami: wszyscy członkowie grupy uzyskują oceny pozytywne, średnia arytmetyczna ocen jest równa ocenie wystawionej grupie, wszyscy członkowie grupy akceptują swoje własne oceny, podział jest zgłaszany do trzech dni od wystawienia oceny. W przypadku niemożności dotrzymania wszystkich powyższych warunków prowadzący wystawia członkom grupy projektowej ocenę równą ocenie wystawionej grupie. Tematy 1. Implementacja algorytmu bezgradientowego do rozwiązywania problemu optymalizacji nieliniowej (1 grupa). 2. Implementacja algorytmu gradientowego do rozwiązywania problemu optymalizacji nieliniowej (1 grupa). 3. Implementacja metody rozwiązywania zadań optymalizacji z użyciem programowania dynamicznego (2 grupy). 4. Implementacja metody rozwiązywania zadań programowania geometrycznego (2 grupy). 5. Implementacja metody rozwiązywania zadań programowania kwadratowego (1 grupa). Strona 6