Rozważania na temat nauczania symulacji w szkołach wyższych
Transkrypt
Rozważania na temat nauczania symulacji w szkołach wyższych
Prace Naukowe Instytutu Organizacji i Zarządzania Politechniki Wrocławskiej Wyd. Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław 2003; pp 133-141 Bożena MIELCZAREK* ROZWAŻANIA NA TEMAT NAUCZANIA SYMULACJI W SZKOŁACH WYŻSZYCH W artykule podjęto dyskusję na temat celów edukacyjnych i strategii nauczania modelowania symulacyjnego. Dokonano przeglądu zawartości programów kilkunastu kursów z zakresu symulacji prowadzonych na polskich uczelniach. Wnioski przedstawiono w końcowej części referatu. 1. WPROWADZENIE Modelowanie symulacyjne zawarte jest w programach nauczania różnych kierunków studiów od wielu lat (chociaż niekoniecznie pod tą właśnie nazwą). W ramach tego przedmiotu studenci budują modele komputerowe systemów rzeczywistych lub hipotetycznych, wymyślonych na potrzeby procesu dydaktycznego. Zwykle w treściach omawianych w trakcie jednego kursu umieszcza się elementy teoretyczne (budowa modeli, statystyczna analiza wyników, ...) jak i praktyczne (programowanie, korzystanie z różnych narzędzi do prowadzenia symulacji,...). Istotne jest uwypuklenie faktu, że symulacja jest zbiorem technik a nie pojedynczą metodą. Nie istnieje żaden specjalny typ modelu, co może sugerować często przywoływany zwrot model symulacyjny. W rzeczywistości termin symulacja odnosi się do metodologii gromadzenia informacji o systemie poprzez obserwowanie zachowania się modelu matematycznego za pomocą programu komputerowego. Najczęściej rozpatruje się trzy główne nurty symulacji; są to: gry symulacyjne, symulacja statyczna oraz symulacja dynamiczna. Chociaż każdy z wymienionych wariantów jest unikalny, gry symulacyjne różnią się zasadniczo od pozostałych. W niniejszym artykule rozważania na temat nauczania symulacji odnoszą się do pozostałych, nie-growych metod. Pytanie, na które musi sobie odpowiedzieć prowadzący kurs modelowania symulacyjnego brzmi: „Jak dokonać wyboru zagadnień związanych z symulacją w odniesieniu do wiedzy, którą kurs powinien przekazać studentom?”. Dodatkowym, istotnym __________ * Politechnika Wrocławska, Instytut Organizacji i Zarządzania [email protected] 134 Bożena Mielczarek utrudnieniem w kształtowaniu zawartości programu jest rozmaitość podejść metodologicznych, które występują pod wspólnym szyldem symulacji. I tak, najczęściej omawiane w trakcie procesu nauczania warianty symulacji to: • symulacja dyskretna, • symulacja ciągła (w tym metoda dynamiki systemów), • metoda Monte Carlo, • symulacje statyczne w arkuszu kalkulacyjnym Jest rzeczą oczywistą, że pomieszczenie wymienionych powyżej (i tych nie wymienionych) metod w jedno- czy nawet dwu-semestralnym kursie jest niewykonalne. Możliwe jest oczywiście zasygnalizowanie istnienia każdego podejścia (chociażby w ramach wykładu) ale selekcja treści jest nieunikniona. Celem niniejszego artykułu jest próba podjęcia dyskusji na temat celów i strategii nauczania modelowania symulacyjnego w szkołach wyższych. Autorka przeanalizowała zawartość kursów związanych z symulacją, prowadzonych na kilkunastu polskich uczelniach. Wyniki z przeprowadzonego badania przedstawiono w dalszej części artykułu. 2. CELE DYDAKTYCZNE NAUCZANIA MODELOWANIA SYMULACYJNEGO Zgodnie z definicją symulacji sformułowaną przez T. Naylora [Naylor 1974]: „Symulacja to proces projektowania matematycznego i/lub logicznego modelu systemu rzeczywistego a następnie prowadzenie na tym modelu eksperymentów komputerowych w celu opisania, wyjaśnienia lub predykcji zachowań systemu rzeczywistego”. Z definicji tej wynika, że badania symulacyjne wymagają zbudowania modelu matematycznego i/lub logicznego. „Dobry” model stanowi podstawowy element sukcesu w każdej analizie symulacyjnej. Model symulacyjny musi umożliwiać budowę wydajnego i sprawnego programu komputerowego. Następnie, musi zadać właściwe pytania posługując się dobrze zaprojektowaną procedurą eksperymentalną aby umożliwić uzyskanie użytecznych wyników. Ponieważ nadrzędnym celem symulacji jest predykcja zachowania systemu, należy również włączyć decydentów w proces oceny uzyskanych alternatyw. Modelowanie symulacyjne to natomiast dziedzina wiedzy, która służy pogłębianiu poziomu zrozumienia interakcji występujących w systemie i systemu jako całości. Można postawić tezę, że metoda symulacji komputerowej jest wyłącznie środkiem a nie celem samym w sobie. Nadrzędnym zadaniem kursu z zakresu symulacji powinno być nauczenie studentów umiejętności zadawania właściwych pytań odnośnie zachowania systemu i rozpoznawania poprawnych odpowiedzi. Celowe wydaje się zatem rozróżnienie pomiędzy nabywaniem wiedzy a kształceniem pewnych umiejęt- Rozważania na temat nauczania symulacji w szkołach wyższych 135 ności. Nabyta wiedza powinna sprawić, że student umiejętnie wprowadzi do modelu niepewności świata rzeczywistego, będzie się czuł swobodnie przy zetknięciu z dużymi, złożonymi systemami, będzie wiedział jak odpowiednio planując eksperyment symulacyjny poruszać się w gąszczu różnorodnych rozwiązań. Umiejętności pozwolą mu natomiast sprawnie wykorzystać wybrane narzędzie programistyczne, zbudować poprawny model komputerowy i przeprowadzić jego weryfikację. Pojawiają się zatem następujące pytania1: • Jakie umiejętności powinny być rozwijane w ramach przedmiotu? • Jakie cele dydaktyczne powinny być postawione? • Jakie kryteria powinny wpływać na wybór zawartości kursu? W dalszej części artykułu zostaną przedstawione rozważania oscylujące wokół prób odpowiedzi na powyższe pytania. 3. ZAWARTOŚĆ MERYTORYCZNA KURSU 3.1. PODEJŚCIA METODOLOGICZNE Dwa podstawowe, ściśle powiązane ze sobą podejścia do nauczania symulacji to podejście teoretyczne i praktyczne2. Przy zastosowaniu podejścia teoretycznego, naucza się studentów poprawnej metodologii badania symulacyjnego, zgłębiając przede wszystkim aspekty dotyczące procedur pozyskiwania i analizy danych wejściowych, dopasowywania rozkładów losowych, umiejętności stawiania poprawnych założeń odnośnie funkcjonowania systemu, zagadnień związanych z modelowaniem, strategii prowadzenia eksperymentów symulacyjnych, statystycznej analizy wyników. Proces nauczania może odbywać się poza laboratorium, ewentualnie możliwe jest zademonstrowanie działania wybranego pakietu symulacyjnego na wykładzie czy na ćwiczeniach. Po ukończeniu takiego kursu studenci są doskonale przygotowani teoretycznie jednak brakuje im praktycznych umiejętności budowy modeli (złożonych) systemów rzeczywistych, co może prowadzić do kreowania nadmiernie uproszczonych lub wręcz niepoprawnych modeli. W podejściu praktycznym zajęcia przebiegają w laboratorium komputerowym i nacisk położony jest przede wszystkim na umiejętności posługiwania się jednym lub kilkoma pakietami symulacyjnymi oraz na kształceniu biegłości w programowaniu z wykorzystaniem tych pakietów. Studenci opanowują techniczne umiejętności progra__________ 1 2 por. również [Szczerbicka et al. 2000] por. również [Altiok et al. 2001] 136 Bożena Mielczarek mowania, doskonale radzą sobie z budową złożonych modeli jednak mogą mieć poważne problemy z przeprowadzeniem analizy zasadności modelu, z poprawną interpretacją wyników, nie wspominając już o błędach popełnionych w trakcie przygotowania danych, które mogą doprowadzić do fałszywych wyników produkowanych przez (skądinąd) poprawny model. Jak zatem określić zawartość przedmiotu aby połączyć i zrównoważyć oba podejścia? 3.2. MODELOWANIE I ANALIZA Odpowiedzią może być wyróżnienie treści związanych z modelowaniem oraz z analizą. Modelowanie to kwestie odnoszące się do budowy modelu statycznego lub dynamicznego, zagadnienia szczegółowości modelu, formułowanie upraszczających założeń, przeprowadzanie weryfikacji i walidacji a także wybór odpowiedniego pakietu komputerowego. Analiza to z kolei metodologiczne podstawy symulacji czyli przede wszystkim rachunek prawdopodobieństwa i statystyka: definiowanie rozkładów losowych, metody generowania liczb i zmiennych losowych, statystyczna analiza wyników, metody redukcji wariancji, planowanie eksperymentów. Błędem jest traktowanie aspektów związanych z analizą oddzielnie lub jako osobnego tematu poruszanego „na koniec” kursu. Wydaje się, że najwłaściwszym rozwiązaniem, z punktu widzenia celów kursu, byłoby nauczanie modelowania równocześnie z wprowadzaniem pewnych elementów analizy, a więc takie opracowanie treści nauczania, które w zintegrowany sposób poruszałyby podstawy analizy w trakcie nauki modelowania. Przykłady budowanych modeli powinny być tak dobrane aby w czytelny sposób prezentować np. wpływ rozkładów losowych na zachowanie modelu, elementy procesu dopasowywania rozkładów, związek pomiędzy wyborem różnych ciągów liczb losowych a wariancją w wynikach symulacji, przebieg planowania i wykonania eksperymentów, ... itd. 3.3. MODELOWANIE A PROGRAMOWANIE Często zapomina się o różnicy pomiędzy modelowaniem a programowaniem. Mówiąc o programie komputerowym używa się zwrotu „model”. Tymczasem model systemu rzeczywistego to pewna matematyczna abstrakcja, w której przyjęto wiele upraszczających założeń opisujących zachowanie systemu. Budowa dobrego modelu, na tyle realistycznego aby odpowiadał na postawione pytania i na tyle prostego na ile jest to możliwe jest wyzwaniem trudnym i chyba najważniejszym w całym procesie realizacji projektu symulacyjnego. Oprogramowanie modelu jest już natomiast zabiegiem czysto technicznym. Błędem jest zatem skupianie się w trakcie kursu symulacji Rozważania na temat nauczania symulacji w szkołach wyższych 137 na nauce programowania i przygotowywanie studentom gotowych przykładów (modeli) z prośbą o oprogramowanie ich z wykorzystaniem danego narzędzia (pakietu). W trakcie nauki symulacji należy większy nacisk położyć na to jak zbudować model niż na to jak napisać program. Zalecana byłaby szersza dyskusja nad postawionymi założeniami, ich trafnością, trudnościami w ujęciu różnorodnych zachowań systemu w sztywne ramy języka matematycznego, konsekwencjami przyjęcia określonych założeń. 4. WYBÓR OPROGRAMOWANIA DYDAKTYCZNEGO Ważnym elementem procesu dydaktycznego jest wybór właściwego języka programowania który będzie wykorzystywany w laboratorium komputerowym. Abstrahując od kwestii finansowych (czy nas stać na dany zakup?) celowe wydaje się wskazanie najważniejszych, z punktu widzenia celów nauczania symulacji, kryteriów doboru oprogramowania1. • Łatwość uczenia się Umiejętność programowania nie powinna być wymagana. Ponieważ podstawowym celem kursu jest nauka modelowania a nie pisanie programów, student(ka) nie może skupiać się na syntaktyce języka. Nauka zasad programowania powinna przebiegać przy okazji budowy modelu i tylko w zakresie, jaki niezbędny jest do rozwiązania sformułowanych problemów. Celem kursu nie może być nabycie szczegółowej wiedzy o wybranym (wybranych) pakietach oprogramowania. Stosowane narzędzie nie powinno zatem wymuszać posiadania wiedzy o słowach kluczowych, przecinkach, dwukropkach, parametrach postawionych w odpowiednich kolumnach ale raczej proponować rozwiązanie problemu związanego z oprogramowaniem modelu. • Łatwość zapisu modelu komputerowego Program powinien być łatwy w zapisie. Najlepiej byłoby gdyby pakiet wyposażony był w GUI (Graphical User Interface) czyli narządzie umożliwiające budowę modelu komputerowego za pomocą ikon graficznych i okien dialogowych. Liczba dostępnych ikon nie powinna być przy tym zbyt duża, ewentualnie mogą one być pogrupowane na różnych poziomach, tak aby studenci nie stawali przed dylematem wyboru odpowiedniego symbolu spośród bardzo wielu możliwych do zastosowania. Ważne jest również aby końcowa długość programu (modelu komputerowego) nie była nadmierna. __________ 1 por. również [Stahl, 2000] 138 • Bożena Mielczarek Czytelność raportów Bardzo istotnym etapem procesu symulacji jest analiza wyników. Generowane raporty powinny być dostatecznie szczegółowe aby nie wymuszać każdorazowo projektowania zestawów parametrów wyjściowych ale jednocześnie muszą być czytelne, zaprezentowane w formie pozwalającej na szybką interpretację wyników. Pożądane byłoby również automatyczne przeprowadzanie niezbędnej analizy statystycznej – na przykład wyliczanie przedziału ufności, średniej, odchylenia, itd. W raportach powinien również znaleźć się podstawowy zestaw histogramów i wykresów prezentujących najważniejsze statystyki modelu. • Łatwość wykonywania eksperymentów Jest rzeczą istotną aby studenci utożsamiali symulację stochastyczną z wielokrotnymi powtórzeniami i koniecznością stosowania różnych ciągów liczb losowych. Pakiet powinien zatem umożliwiać przeprowadzanie dwóch głównych strategii prowadzenia eksperymentu symulacyjnego (tzw. symulacje kończące się i działające nieprzerwanie). Pożądane jest również aby analiza statystyczna powtórzeń była przeprowadzana automatycznie (np. wyliczanie średniej i odchylenia z wielu replikacji, wyznaczenie długości przedziału ufności, i inne) • Bezpieczne programowanie Chcielibyśmy zminimalizować ryzyko popełnienia błędów logicznych w oprogramowaniu. Pożądaną cechą oprogramowania powinien zatem być przystępny sposób testowania programu i wykrywania ewentualnych błędów logicznych. Błędy procesu kompilacji powinny być wskazywane w czytelny i jednoznaczny sposób. 5. NAUCZANIE SYMULACJI W UCZELNIACH POLSKICH 5.1. UWAGI OGÓLNE Aby sprawdzić jakie treści zawarte są w programach nauczania symulacji na uczelniach polskich, przeglądnięto zawartość sylabusów kilkunastu szkół wyższych (pr.tab.1). Wykorzystano przede wszystkim materiały opublikowane w Internecie, chociaż z kilkoma uczelniami kontaktowano się również bezpośrednio. Uzyskane wyniki należy jednak traktować jedynie sondażowo, ponieważ: • opublikowana zawartość sylabusów niekoniecznie musi w pełni odpowiadać zawartości rzeczywiście przeprowadzanych kursów, • dokumenty udostępnione w Internecie mogą nie być na bieżąco uaktualniane, • niewiele Uczelni publikuje pełną zawartość swoich programów nauczania, Rozważania na temat nauczania symulacji w szkołach wyższych • • • 139 treści związane z symulacją są czasami łączone z innym materiałem i mogą występować pod „nieintuicyjną” nazwą, słowo symulacja pojawia się w nazwie przedmiotu ale zagadnienia związane z modelowaniem symulacyjnym nie są tam zawarte, opublikowane sylabusy są zwykle bardzo ogólne i nie pozwalają na dokładną analizę treści kursu. 5.2. NAZWA PRZEDMIOTU Najczęściej przedmiot występuje pod nazwą Modelowanie i symulacja czasem z dodatkiem komputerowa. Równie popularne jest łączenie symulacji z prognozowaniem (Teoria prognozy i symulacji komputerowej, Prognozowanie i symulacje). W kilku przypadkach sygnalizowano wprost omawianą na zajęciach metodę, np. Symulacja komputerowa z pakietem Excel. 5.3. WARIANT SYMULACJI Zdecydowanie najczęściej omawianymi wariantami symulacji są: symulacja statyczna, metody Monte Carlo oraz symulacja dyskretna, chociaż w programie kilku kursów znalazła się również symulacja ciągła. 5.4. OPROGRAMOWANIE Na podstawie zebranych informacji można stwierdzić, że na zajęciach z symulacji statycznej najczęściej wykorzystywany jest arkusz kalkulacyjny Excel, natomiast symulację dyskretną prowadzi się za pomocą narzędzi dedykowanych tej metodzie, takich jak GPSS (naczęściej), AweSim, Arena, Extend. W niektórych przypadkach (rzadko) wykorzystuje się ogólne języki programowania np. Pascal, C++. 5.5. ZAWARTOŚĆ KURSU W większości opublikowanych programów znajdują się treści poświęcone ogólnej teorii modelowania, często wprowadza się podstawowe pojęcia statystyki matematycznej oraz zagadnienia dotyczące generowania liczb i zjawisk losowych. We wszystkich analizowanych sylabusach znalazły się prezentacje przykładowych modeli. Były to najczęściej modele masowej obsługi oraz wielorównaniowe modele statyczne. W zapowiadanej treści wykładów rzadko natomiast sygnalizowana jest tematyka związana z weryfikacją modeli; jedynie w kilku programach wyraźnie wyodręb- 140 Bożena Mielczarek niono tematy dotyczące zasad pozyskiwania danych, uwzględniania niepewności, interpretacji wyników i planowania eksperymentów. + 2+2 1+2 + + MS Excel + + prognozowanie dyskretna statyczna 1+1 prognozowanie Akademia Górniczo Hutnicza dyskretna metody Monte Carlo Uniwersytet ciągła Jagielloński dyskretna Politechnika Lubelska Wymiar + 1+1 Politechnika Łódzka ciągła Uniwersytet Łódzki Akademia Ekonomiczna w Katowicach + Analiza wyników dyskretna ciągła dyskretna ciągła Weryfikacja Akademia Techniczno-Rolnicza Bydgoszcz Politechnika Krakowska Program , Simula, Simscript Modula Prezentacja modeli Wariant Elementy statystyki Uczelnia Zagadnienia modelowania Tab.1. Zawartość kursów symulacji na przykładowych uczelniach wyższych. dyskretna 2+2 Pascal C, Clipper Matlab + + SGH Excel IThink Arena Extend Symulacja i modelowanie Modelowanie i symulacja komputerowa Prognozowanie i symulacja Elementy programowania dynamicznego i symulacji Teoria prognozy i symulacji komputerowej Prognozowanie i symulacje + MS Excel GPSS/PC WITNESS + AweSim Modelowanie i symulacja + MS Excel Politechnika Gdańska dyskretna statyczna dynamika systemów Politechnika Wrocław dyskretna + Nazwa przedmiotu + + + + + 2+2 + + 1+2 + 2+2 + + + + + Symulacja komputerowa Modelowanie symulacyjne Symulacja komputerowa z pakietem Excel Modelowanie symulacyjne Wykłady wspomagane są zajęciami laboratoryjnymi, na których przede wszystkim kładzie się nacisk na budowę modeli. Pojawiają się jednak również tematy związane z Rozważania na temat nauczania symulacji w szkołach wyższych 141 techniczną stroną symulacji jak na przykład dotyczące testowania generatorów liczb losowych czy konstrukcji algorytmów symulacyjnych. 6. UWAGI KOŃCOWE Celowe wydaje się przeprowadzenie szerzej zakrojonych badań dotyczących nauczania symulacji w polskich szkołach wyższych. Informacje, z których korzystano (sylabusy opublikowane w Internecie) nie pozwoliły na analizę tego co, zdaniem autorki, jest najistotniejsze czyli sposobów łączenia w ramach jednego kursu elementów analizy i modelowania. Warto również zwrócić uwagę na niejednoznaczne umiejscawianie symulacji w blokach programowych. Metodologia budowy i analizy modeli symulacyjnych wywodzi się zarówno z obszaru Badań Operacyjnych jak i Teorii Zarządzania. Podstawową cechą Badań Operacyjnych jest posługiwanie się modelem matematycznym opisującym działanie rozpatrywanego systemu rzeczywistego. W naukach Zarządzania wykorzystuje się modele do wspomagania procesu decyzyjnego. Oba te obszary nachodzą znacząco na siebie, ponieważ większość modeli to przecież modele matematyczne a wiele decyzji to decyzje związane z zarządzaniem. Ta niejednoznaczność powoduje, że symulacja jako blok wpisywana jest w program nauczania wielu przedmiotów dydaktycznych (np. ekonometria, badania operacyjne, prognozowanie) co utrudnia dyskusję nad rolą i kształtem nauczania symulacji w szkołach wyższych. LITERATURA ALTIOK; KELTON; L’ECUYER; NELSON; SCHMEISER; SCHRIBER; SCHRUBEN; WILSON J.R. 2001. Various ways academics teach simulation: are they all appropriate?, [w]: Proceedings of 2001 Winter Simulation Conference, pp. 1580-1591. NAYLOR T. 1975. Modelowanie cyfrowe systemów ekonomicznych, Państwowe Wydawnictwo Naukowe, Warszawa. STAHL I. 2000. How should we teach simulation?, [w]: Proceedings of 2000 Winter Simulation Conference, pp. 1602-1612. SZCZERBICKA H., BANKS J., OREN T.I., ROGERS R.V., SARJOUGHIAN H.S., ZEIGLER B.P. 2000. Conceptions of curriculum for simulation education (panel) [w]: Proceedings of 2000 Winter Simulation Conference, pp. 1635-1644.