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