Rozwiązywanie problemów z użyciem Solvera programu Excel

Podobne dokumenty
Excel - użycie dodatku Solver

Dodatek Solver Teoria Dodatek Solver jest częścią zestawu poleceń czasami zwaną narzędziami analizy typu co-jśli (analiza typu co, jeśli?

WYKORZYSTANIE NARZĘDZIA Solver DO ROZWIĄZYWANIA ZAGADNIENIA Problem przydziału

Rozwiązanie problemu transportowego metodą VAM. dr inż. Władysław Wornalkiewicz

WYKORZYSTANIE NARZĘDZIA Solver DO ROZWIĄZYWANIA ZAGADNIEŃ TRANSPORTOWYCH Z KRYTERIUM KOSZTÓW

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych)

=B8*E8 ( F9:F11 F12 =SUMA(F8:F11)

Microsoft EXCEL SOLVER

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

ZAGADNIENIE TRANSPORTOWE

Wykład z modelowania matematycznego. Zagadnienie transportowe.

Analiza danych przy uz yciu Solvera

Zadanie niezbilansowane. Gliwice 1

Rozwiązywanie programów matematycznych

Zagadnienia programowania liniowego dotyczą modelowania i optymalizacji wielu problemów decyzyjnych, na przykład:

Rozdział 3 ZADANIE TRANSPORTOWE I PROBLEM KOMIWOJAŻERA

ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ NIELINIOWYCH PRZY POMOCY DODATKU SOLVER PROGRAMU MICROSOFT EXCEL. sin x2 (1)

Badania Operacyjne Ćwiczenia nr 5 (Materiały)

WYDZIAŁ ELEKTRYCZNY POLITECHNIKI WARSZAWSKIEJ INSTYTUT ELEKTROENERGETYKI ZAKŁAD ELEKTROWNI I GOSPODARKI ELEKTROENERGETYCZNEJ

BADANIA OPERACYJNE I TEORIE OPTYMALIZACJI. Zagadnienie transportowe

Programowanie dynamiczne

ZAGADNIENIE TRANSPORTOWE(ZT)

5. Rozwiązywanie układów równań liniowych

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

Edytor tekstu MS Word 2010 PL. Edytor tekstu MS Word 2010 PL umożliwia wykonywanie działań matematycznych.

( x) Równanie regresji liniowej ma postać. By obliczyć współczynniki a i b należy posłużyć się następującymi wzorami 1 : Gdzie:

EXCEL Prowadzący: dr hab. inż. Marek Jaszczur Poziom: początkujący

Rozwiązanie Ad 1. Model zadania jest następujący:

Badania operacyjne Instrukcja do c wiczen laboratoryjnych Rozwiązywanie problemów programowania liniowego z użyciem MS Excel + Solver

A. Kasperski, M. Kulej, Badania operacyjne, Wykład 4, Zagadnienie transportowe1

Ćwiczenia laboratoryjne - 7. Zagadnienie transportowoprodukcyjne. programowanie liniowe

BADANIA OPERACYJNE Zagadnienie transportowe. dr Adam Sojda

łączny czas pracy (1 wariant) łączny koszt pracy (2 wariant) - całkowite (opcjonalnie - dla wyrobów liczonych w szt.)

Przewodnik dla każdego po: Dla każdego coś miłego Microsoft Excel 2010

Rozwiązywanie układów równań liniowych

Macierze. Rozdział Działania na macierzach

Badania Operacyjne Ćwiczenia nr 6 (Materiały)

Geomatyka02 Wczytanie danych, obliczenie długości, azymutu i kąta ze współrzędnych. Przygotowanie do pracy

4. Funkcje. Przykłady

ZAGADNIENIE TRANSPORTOWE (część 1)

Politechnika Wrocławska, Wydział Informatyki i Zarządzania. Optymalizacja

Optymalizacja procesów technologicznych przy zastosowaniu programowania liniowego

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS

WYDZIAŁ ELEKTRYCZNY POLITECHNIKI WARSZAWSKIEJ INSTYTUT ELEKTROENERGETYKI ZAKŁAD ELEKTROWNI I GOSPODARKI ELEKTROENERGETYCZNEJ

OPTYMALIZACJA W LOGISTYCE

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS

Wprowadzenie do MS Excel

Zagadnienie transportowe (badania operacyjne) Mgr inż. Aleksandra Radziejowska AGH Akademia Górniczo-Hutnicza w Krakowie

ZAGADNIENIE TRANSPORTOWE

ZAGADNIENIA TRANSPORTOWE

Rozwiązanie zadania 1. Krok Tym razem naszym celem jest, nie tak, jak w przypadku typowego zadania transportowego

dolar tylko przed numerem wiersza, a następnie tylko przed literą kolumny.

Przykład wykorzystania dodatku SOLVER 1 w arkuszu Excel do rozwiązywania zadań programowania matematycznego

Elementy Modelowania Matematycznego

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Podręczna pomoc Microsoft Excel 2007

WEKTORY I MACIERZE. Strona 1 z 11. Lekcja 7.

Zagadnienie transportowe

Ćwiczenia Skopiować do swojego folderu plik cwiczenia-kl.ii.xls, a następnie zmienić jego nazwę na imię i nazwisko ucznia

Jak korzystać z Excela?

Lista 6. Kamil Matuszewski 13 kwietnia D n =

Programowanie celowe #1

Spis treści. Koszalin 2006 [BADANIA OPERACYJNE PROGRAMOWANIE LINIOWE]

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

Macierze - obliczanie wyznacznika macierzy z użyciem permutacji

Symulacja w przedsiębiorstwie

Zagadnienie transportowe

OBLICZENIA I STATYSTYKA FORMUŁY I FUNKCJE

Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej.

Przykład 4. (Tabela z Danymi Arkusz: Tabele Przestawne 1 ) (Przykład 2 wykonany Arkusz: Tabele Przestawne 5 )

OPTYMALIZACJA W LOGISTYCE

Ekonometria. Modele regresji wielorakiej - dobór zmiennych, szacowanie. Paweł Cibis pawel@cibis.pl. 1 kwietnia 2007

Ćwiczenia laboratoryjne - Dobór optymalnego asortymentu produkcji programowanie liniowe. Logistyka w Hutnictwie Ćw. L.

8. Neuron z ciągłą funkcją aktywacji.

Excel formuły i funkcje

Metoda Karnaugh. B A BC A

Wykład 4. Określimy teraz pewną ważną klasę pierścieni.

2. Metody adresowania w arkuszu kalkulacyjnym

ZASTOSOWANIE PROGRAMOWANIA LINIOWEGO W ZAGADNIENIACH WSPOMAGANIA PROCESU PODEJMOWANIA DECYZJI

Metody numeryczne w przykładach

Arkusz kalkulacyjny MS EXCEL ĆWICZENIA 4

Uwaga: Funkcja zamień(a[j],a[j+s]) zamienia miejscami wartości A[j] oraz A[j+s].

Arkusz kalkulacyjny Excel

Złożoność obliczeniowa zadania, zestaw 2

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn x 1 x 2... x m ...

Informatyka KONSPEKT LEKCJI W SZKOLE PONADGIMNAZJALNEJ

Definicja problemu programowania matematycznego

Projekt Era inżyniera pewna lokata na przyszłość jest współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Katarzyna Bereźnicka Zastosowanie arkusza kalkulacyjnego w zadaniach matematycznych. Opiekun stypendystki: mgr Jerzy Mil

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

Metody i analiza danych

Zaawansowane metody numeryczne

Instrukcja obsługi Nowego Punktatora

EXCEL wprowadzenie Ćwiczenia

Wymagania edukacyjne z informatyki dla uczniów klas VI SP nr 53 w Krakowie w roku szkolnym 2019/2020

Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE

24 cel bdb db dst dop

Bazy danych kwerendy (moduł 5) 1. Przekopiuj na dysk F:\ bazę M5KW.mdb z dysku wskazanego przez prowadzącego

Optymalizacja systemów

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz.3

Transkrypt:

Rozwiązywanie problemów z użyciem Solvera programu Excel Podstawowe czynności: aktywować dodatek Solver oraz ustawić w jego opcjach maksymalny czas trwania algorytmów na sensowną wartość (np. 30 sekund). Przy rozwiązywaniu zadań z użyciem Solvera należy określić: komórkę celu, rodzaj optymalizacji (w naszym przypadku zawsze minimalizacja), komórki decyzyjne (zmieniane przez algorytm), ograniczenia, metodę (LP, nieliniowa, ewolucyjna). Zadanie 1. Minimum funkcji kwadratowej. Zaczniemy od prostego przykładu znalezienia dla funkcji kwadratowego wartości x dla której funkcja przyjmuje wartość minimalną. Ogólnie funkcja kwadratowa dana jest wzorem: f(x) = Ax 2 + Bx + C Problem minimalizacji modelujemy tworząc 5 komórek w Excelu. Komórki A, B i C przechowują wartości współczynników, zaś komórka X przechowuje wartość zmiennej. Dodatkowa komórka W powinna posiadać formułę, która oblicza wartość funkcji na podstawie wartości komórek A, B, C oraz X. Załóżmy teraz, że mamy konkretną postać funkcji z wartościami parametrów A = 7, B = 9 oraz C = 13. Przechodzimy do dodatku Solvera i wybieramy następujące ustawienia: komórka celu W, typ minimalizacja, komórki decyzyjne komórka X, metoda nieliniowa GRG, ograniczenia: brak (zostawić puste). Po uzyskaniu rozwiązania zmienić współczynnik A na 7 i spróbować ponownie. Zadanie 2. Problem transportowy. Dane w tym problemie przyjmują następującą postać: D1 D2 D3 S1 K1,1 K2,1 K3,1 S2 K1,2 K2,2 K3,2

S oznacza liczbę sztuk dobra (podaż) dostawców 1 i 2, zaś D oznacza zapotrzebowanie (popyt) odbiorców 1, 2 i 3. Kx,y oznacza koszt transportu jednostkowego dobra pomiędzy dostawcą x a odbiorcą y. Rozpatrujemy problem zrównoważony, więc wartości popytu i podaży należy dobrać tak, aby S1+S2 = D1 + D2 + D3. Komórkami decyzyjnymi będzie kolejna tabela T rozmiaru 2x3, Tx,y symbolizuje liczbę sztuk transportowanych od dostawcy x do odbiorcy y. Celem jest minimalizacja sumy kosztów transportu, gdzie koszt dla każdej pary dostawca/odbiorca polega na wymnożeniu jednostkowego kosztu przez liczbę transportowanych dóbr. W tym celu tworzymy trzecią tabele W o rozmiarze 2x3. Element Wx,y = Kx,y * Tx,y. Następnie w kolejnej komórce C wpisujemy formułę obliczającą sumę elementów tabeli W. C jest naszą wartością funkcji celu. Oprócz tego tworzymy 2 komórki, oznaczmy je przez A1 i A2, w których będzie suma poszczególnych wierszy tabeli T. Analogicznie tworzymy 3 komórki B1 do B3, które przechowują sumę poszczególnych kolumn tabeli T. Tych 5 komórek posłuży do zapewnienia, że dostawcy wysyłają wszystkie swoje towary, a odbiorcy otrzymują tyle ile wynosi ich zapotrzebowanie. W tym przypadku ustawienia dla Solvera są następujące: komórka celu C, typ minimalizacja, komórki decyzyjne tabela T, metoda LP, ograniczenia: wartości w zakresie tabeli T są całkowite (relacja "int"), wartości w tabeli T są nieujemne (można to uzyskać formalnym ograniczeniem >= 0 lub zaznaczając odpowiednią opcję pod polem ograniczeń), wartość S1 = A1, S2 = A2, D1 = B1, D2 = B2, D3 = B3.

Zadanie 3. Problem równoważenia obciążeń. W problemie dane jest 8 zadań i 3 maszyny: T1 T2 T3 T4 T5 T6 T7 T8 S1 L1,1 L2,1 L3,1............... S2 L1,2 L2,2.................. S3 L1,3..................... Wartości od T1 do T8 to czasy wykonywania zadań. Wartości S1 do S3 to (nie)sprawności maszyn. Czas wykonywania zadania x przez maszynę y jest iloczynem Tx * Sy, czyli im wyższa (nie)sprawność tym dłużej zadanie jest wykonywane. Wartości S1 do S3 są, jak wszystkie inne, całkowitoliczbowe. Wartości Lx,y (tabela L) będą służyć do przedstawienia na której maszynie wykonywane jest zadanie x. To znaczy, że w każdej kolumnie tabeli L musi być dokładnie jedna wartość 1 i dokładnie dwie wartości 0. Poniżej znajduje się przykładowa zawartość tabeli L: 0 1 0 1 1 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0 1 0 0 Przygotowujemy teraz drugą tabelę rozmiaru 8x3 (taki sam jak dla tabeli L), którą nazwiemy K. Wartości w tej tabeli liczone są według wzoru (przydatne będzie posługiwanie się adresami bezwzględnymi komórek): Kx,y = Lx,y * Tx * Sy Następnie liczymy 3 wartości M1, M2 i M3 jako suma poszczególnych wierszy tabeli K. Wartością celu jest komórka C = max( M1, M2, M3 ). Komórką celu jest więc C, komórkami decyzyjnymi jest tabela L. Ograniczenia są zaś następujące: wartości w tabeli L są binarne (relacja "bin"). Ewentualnie można użyć relacji całkowitoliczbowej ("int"), w każdej kolumnie tabeli L znajduje się dokładnie jedna jedynka. W tym celu można stworzyć 8 wartości D1 do D8 pod tabelą L, gdzie Dx oznacza sumę kolumny y tabeli L i podać Solverowi osiem ograniczeń postaci Dy = 1.

analogicznie można napisać 2 ograniczenia A = 1 oraz B = 1, gdzie A i B to odpowiednio minimum i maksimum z komórek D1 do D8 (ta wersja nie jest pewna). Jako metodę wybieramy metodę nieliniową. Wartości T1 do T8 oraz S1 do S3 powinny być losowe (funkcja LOS.ZAKR). Zadanie 4. Problem przepływowy. Dane to tabela D rozmiaru 6x3, gdzie Dx,y oznacza czas wykonywania zadania x na maszynie y. W problemie każde zadanie musi być wykonane na każdej maszynie w zadanej kolejności (najpierw na maszynie 1, potem na 2, potem na 3). Wartości w tej tabeli powinny być losowe. Tworzymy teraz tabelę P rozmiaru 6x1, która będzie zawierała kolejność (permutację) zadań. Mamy 6 zadań, numerowanych od 1 do 6, więc przykładowa zawartość tej tabeli to: 5, 3, 1, 4, 2, 6. Tworzymy tabelę T rozmiaru 7x4, która będzie przechowywała czas zakończenia danej operacji. Do pierwszego wiersza i pierwszej kolumny tabeli wpisujemy zera i tabela przyjmuje postać: 0 0 0 0 0 0 0 0 T1,1 T2,1 T3,1......... 0 T1,2 T2,2............ 0 T1,3............... Wartości w tabeli T definiujemy następująco: Tx,y = Zx,y + maksimum( Tx-1,y, Tx,y-1 ) Tx-1,y oznacza poprzednik technologiczny tzn. nie możemy wykonać zadania x na maszynie y wcześniej niż zakończy się na niej wykonywać zadanie x-1. Dla x = 1 poprzednikiem technologicznym jest 0 (stąd zerowa kolumna tabeli T). Tx,y-1 oznacza poprzednik maszynowy tzn. nie może wykonać zadania x na maszynie y wcześniej niż zakończy się jego wykonywanie na maszynie y-1. Dla y = 1 poprzednikiem technologicznym jest 0 (stad zerowy wiersz tabeli T). Największym problemem jest znalezienie formuły dla wartości Zx,y, która oznacza czas wykonania x-tego zadania w permutacji P na maszynie y. Jeśli więc x wynosi 2, a wartości w tabeli P to 6, 5, 4, 3, 2, 1, to chodzi nam o wartość D5,y a nie D2,y!

Do policzenia tego posłużą funkcje ADR.POSR, ZNAK oraz operator sklejania &. Wywołanie funkcji ADR.POSR(A5) oznacza wartość komórki A5, tak jakbyśmy użyli po prostu A5. Możemy jednak z użyciem tej funkcji napisać: ADR.POSR(A&5) Operator & sklei tekst (wynik) "A" z wynikiem "5", co da "A5", zaś funkcja ADR.POSR odwoła się wtedy do komórki A5. Z kolei funkcja: ZNAK(65) da w wyniku literę "A", zaś ZNAK(65+1) da literę "B". Jeśli więc w komórce Q5 jest wartość 1, a my użyjemy: ZNAK(65+Q5) To otrzymamy wartość "B". Jeśli w Q5 była wartość 2, to otrzymamy "C" itd. Możemy więc teraz obliczyć Zx,y używając formuły zbliżonej do: ADR.POSR( ZNAK( 65 + x + u, & y + v ) Wartości u i v są różne w zależności od miejsca umieszczenia tabeli D. Następnie tworzymy komórkę C o wartości takiej jak prawa dolna komórka tabeli T (czyli T6,3). Parametry dla Solvera: komórka celu C, komórki decyzyjne tabela P, metoda: ewolucyjna, ograniczenia: tabela P ma wartości całkowitoliczbowe (relacja "bin"), wartości w tabeli P są różne (relacja "dif" lub "alldifferent"), A = 1, gdzie A to komórka zawierająca minimum dla tabeli P, B = 6, gdzie B to komórka zawierająca maksimum dla tabeli P.