Modelowanie przy użyciu arkusza kalkulacyjnego
Transkrypt
Modelowanie przy użyciu arkusza kalkulacyjnego
Wydział Odlewnictwa Wirtualizacja technologii odlewniczych Modelowanie przy uŜyciu arkusza kalkulacyjnego Projektowanie informatycznych systemów zarządzania Wprowadzenie Zasady Opis Solvera Przykład Modelowanie przy uŜyciu arkusza kalkulacyjnego Modelowania przy uŜyciu arkusza kalkulacyjnego 2 Arkusze kalkulacyjne są programami ogólnego przeznaczenia słuŜącymi do prowadzenia obliczeń finansowych. Z reguły tego typu działanie wymaga częstego przeliczania wyników, o ile następują jakieś zmiany w danych wejściowych. Tradycyjna metoda - polegająca na ręcznym wpisywaniu danych do odpowiedniego formularza i przeliczaniu ich przy pomocy kalkulatora - jest zbyt wolna i nieefektywna. Arkusz jest elektronicznym następcą płachty papieru podzielonej na rzędy i kolumny wykorzystywanej juŜ w 14 wieku przez kupców z Wenecji i Genui. Pomysł i pierwszy arkusz powstał w 1979 roku; studenci Harvard Business School i M.I.T., Dan Bricklin i Robert Frankston opracowali VisiCalc - elektroniczny arkusz kalkulacyjny. Modelowanie przy uŜyciu arkusza kalkulacyjnego Arkusz kalkulacyjny 3 Arkusz zorganizowany jest jako macierz n kolumn (ponumerowanych od A ...) i m wierszy (1,...,m). KaŜda pozycja (komórka) tej macierzy przedstawionej na ekranie odpowiada polu w pamięci komputera; pole to moŜe zawierać daną numeryczną, tekstową lub formułę obliczeniową. Innymi słowy kaŜdą komórkę charakteryzuje jej adres i zawartość. W obliczeniach odwołujemy się do adresu (nazwy) komórki, przez co mamy dostęp do jej zawartości. Elastyczność arkusza polega na tym, Ŝe komputer pamięta wszystkie dane, formuły i obliczenia, których dokonuje uŜytkownik. Tak więc jeśli zmieni on jakąkolwiek daną lub formułę, wszystkie powiązane dane zostaną natychmiast ponownie przekalkulowane. Pozwala to nie tylko szybko poprawiać ewentualne pomyłki, ale takŜe badać róŜne moŜliwości (ang. what if - co się stanie jeśli). Modelowanie przy uŜyciu arkusza kalkulacyjnego Arkusz kalkulacyjny 4 Zasady modelowania Zasady modelowania przy uŜyciu arkusza nie róŜnią się od ogólnych zasad, jednakŜe arkusz kalkulacyjny - dzięki swemu interfejsowi - stwarza duŜe moŜliwości uporządkowanej i systematycznej pracy. Cykl modelowania: 2. zebranie danych, 3. sformułowanie modelu, 4. weryfikacja modelu, 5. wybór sposobu (algorytmu) rozwiązania problemu, 6. prezentacja wyników (interfejs), 7. zastosowanie modelu. Modelowanie przy uŜyciu arkusza kalkulacyjnego 1. zdefiniowanie problemu, 5 Większość modeli ilościowych zawiera dane wejściowe, zmienne decyzyjne i dane wyjściowe. Dane wejściowe wprowadzają do modelu wartości stałe w trakcie pojedynczego eksperymentu, zmienne decyzyjne to zmienne kontrolowane przez decydenta. Dane wyjściowe są określone przez dane wejściowe i decyzyjne i słuŜą do wyboru pewnej kombinacji wartości zmiennych decyzyjnych, najlepszych z punktu widzenia rozwiązania problemu. Modelowanie przy uŜyciu arkusza kalkulacyjnego Zasady modelowania 6 Przykładem niech będzie prosty model konkurencji cenowej: mamy wyznaczyć cenę sprzedaŜy maksymalizującej zysk naszego przedsiębiorstwa działającego na rynku lokalnym, na którym działa konkurent. Znamy nasz koszt sprzedaŜy oraz rozkład cen konkurenta. W tym przypadku danymi wejściowymi są: koszt sprzedaŜy i rozkład cen konkurenta, zmienną decyzyjną - nasza cena, a danymi wyjściowymi - nasz udział w rynku i nasz zysk ze sprzedaŜy. Nie naleŜy mylić danych wejściowych z decyzyjnymi np. w powyŜszym przypadku często za zmienną decyzyjną uznawana jest cena konkurenta, na którą przecieŜ nie mamy Ŝadnego wpływu. Modelowanie przy uŜyciu arkusza kalkulacyjnego Zasady modelowania 7 Zasady modelowania Modelowanie przy uŜyciu arkusza polega na wprowadzeniu danych wejściowych i decyzyjnych do arkusza oraz powiązaniu ich formułami w celu otrzymania danych wyjściowych. Kiedy model jest gotowy mamy co najmniej trzy moŜliwości: 1. wykonać analizę wraŜliwości, w celu pokazania jak dane wejściowe i zmienne decyzyjne wpływają na wyjścia, 2. znaleźć zestaw danych decyzyjnych (często spełniający nałoŜone ograniczenia), który optymalizuje dane wyjściowe, 3. znaleźć zestaw danych decyzyjnych, który daje rozwiązanie zadowalające. Modelowanie przy uŜyciu arkusza kalkulacyjnego 8 Zasady modelowania Podczas tworzenia modeli w arkuszu naleŜy trzymać się określonych zasad: 1. przejrzysty, logiczny układ arkusza, 2. wyraźne rozdzielenie poszczególnych części modelu (osobno zmienne wejściowe, decyzyjne, ograniczenia i wyjścia), 3. jednoznaczne nazewnictwo części modelu i wszystkich danych, 4. wykorzystanie moŜliwości nazywania komórek i ich zakresów, 5. wykorzystanie moŜliwości formatowania arkusza (kroje i wielkości czcionki, kolory itp.), 6. komentowanie zawartości komórek, 7. wykorzystanie okienek tekstowych do objaśniania załoŜeń. Modelowanie przy uŜyciu arkusza kalkulacyjnego 9 Solver jest tzw. dodatkiem dostarczanym przez firmę Frontline System (nie jest więc produktem Microsoftu). Narzędzie to świetnie nadaje się do rozwiązywania małych i średnich problemów optymalizacyjnych, przede wszystkim liniowych. Frontline System jest producentem róŜnych komercyjnych wersji Solvera m.in. Premium Solvera, który - dzięki wbudowanemu algorytmowi genetycznemu - radzi sobie z problemami nie do rozwiązania przy uŜyciu standardowego Solvera. Modelowanie przy uŜyciu arkusza kalkulacyjnego Solver 10 Solver 1. maksymalnie 200 zmiennych decyzyjnych 2. większość funkcji standardowych (m.in. jeŜeli, max, min) nie moŜe być uŜywanych, jeśli zmienne decyzyjne (pośrednio bądź bezpośrednio) są argumentami tych funkcji; czyni to czasem Solver narzędziem dość niewygodnym (bo trzeba korzystać z róŜnych trików) lub wręcz niepraktycznym. Modelowanie przy uŜyciu arkusza kalkulacyjnego Cechy i ograniczenia 11 Podstawy korzystania przedstawimy na przykładowym problemie optymalizacji rozkroju bel papieru. Kwiczoł Papier S.A. wytwarza bele papieru róŜnego typu. Jeden z typów jest wytwarzany w belach o standardowej szerokości 1,5 metra i długości 500 metrów. Klienci kupują ten typ papieru w rolkach o szerokościach 30, 37.5, 50, 60, 75 i 100 cm. Kwiczoł zbiera tygodniowe zamówienia i na tej podstawie decyduje, w jaki sposób rozcinać bele. Na przykład, jeśli jest 6 zamówień na 37.5 cm rolki i 2 - na rolki o szerokości 100 cm, moŜna te zamówienia obsłuŜyć produkując 3 bele. Dwie bele zostaną pocięte na 2 rolki o szerokościach 100 i 37.5 cm (odpad wyniesie 2*12.5 cm), a jedna na 4 rolki o szerokościach 37.5 cm (tu nie będzie odpadów). W kaŜdym tygodniu wytwórnia musi zdecydować, w jaki sposób pociąć bele, by zaspokoić zapotrzebowanie i zminimalizować wielkość produkcji. Modelowanie przy uŜyciu arkusza kalkulacyjnego Solver - przykład 12 Solver - przykład Cel Opracować arkusz kalkulacyjny do minimalizacji liczby produkowanych bel papieru. 1. Sformułować model matematyczny zagadnienia. 2. Opracować arkusz. 3. Rozwiązać problem zamówień 15, 55, 40, 33, 24, 40 rolek papieru o szerokościach odpowiednio 30, 37.5, 50, 60, 75 i 100 cm. Modelowanie przy uŜyciu arkusza kalkulacyjnego Zadania 13 Model matematyczny Zmienne decyzyjne: xi - krotność zastosowania i-tego rozkroju Dane wejściowe: sij – liczba uzyskanych szerokości j w i-tym rozkroju Znaleźć x1+x2+…+xn->min przy ograniczeniach: n ∑x •s i ij ≥ zj i =1 xi >=0, całkowite Modelowanie przy uŜyciu arkusza kalkulacyjnego zj – liczba zamówionych szerokości j 14