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

Podobne dokumenty
Zadanie niezbilansowane. Gliwice 1

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

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

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

Microsoft EXCEL SOLVER

Rozdział 3 ZADANIE TRANSPORTOWE I PROBLEM KOMIWOJAŻERA

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

ZAGADNIENIE TRANSPORTOWE(ZT)

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

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

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

BADANIA OPERACYJNE I TEORIE OPTYMALIZACJI. Zagadnienie transportowe

Rozwiązywanie programów matematycznych

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

BADANIA OPERACYJNE Zagadnienie transportowe. dr Adam Sojda

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

OPTYMALIZACJA MARSZRUTYZACJI PRZEWOZÓW Z ZASTOSOWANIEM FUNKCJI EXCELA.

ZAGADNIENIE TRANSPORTOWE (część 1)

Zagadnienie transportowe

Badania Operacyjne Ćwiczenia nr 6 (Materiały)

Analiza danych przy uz yciu Solvera

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

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

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

ZAGADNIENIE TRANSPORTOWE

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

Excel - użycie dodatku Solver

OPTYMALIZACJA W LOGISTYCE

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

Arkusz kalkulacyjny Excel

Badania Operacyjne Ćwiczenia nr 5 (Materiały)

ZAGADNIENIE TRANSPORTOWE

Wykład z modelowania matematycznego. Zagadnienie transportowe.

Obliczenia iteracyjne

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

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

Optymalizacja procesów technologicznych przy zastosowaniu programowania liniowego

ZAGADNIENIA TRANSPORTOWE

ZASTOSOWANIE PROGRAMOWANIA LINIOWEGO W ZAGADNIENIACH WSPOMAGANIA PROCESU PODEJMOWANIA DECYZJI

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

Rozdział 1 PROGRAMOWANIE LINIOWE

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

Temat: Arkusze kalkulacyjne. Program Microsoft Office Excel. Podstawy

Excel formuły i funkcje

Ćwiczenia laboratoryjne - 7. Zagadnienie transportowoprodukcyjne. programowanie liniowe

Zaokrąglanie liczb Adresowanie względne i bezwzględne Automatyczne podejmowanie decyzji Porządkowanie tabeli danych

TEMAT: SPOSOBY ADRESOWANIA W

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz.3

1.2. Rozwiązywanie zadań programowania liniowego metodą geometryczną

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

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

Technologie informacyjne: Arkusz kalkulacyjny

MS Excel. Podstawowe wiadomości

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

Kolumna Zeszyt Komórka Wiersz Tabela arkusza Zakładki arkuszy

24 cel bdb db dst dop

UONET+ - moduł Sekretariat. Jak wykorzystać wydruki list w formacie XLS do analizy danych uczniów?

Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE

Zestaw 12- Macierz odwrotna, układy równań liniowych

BADANIA OPERACYJNE pytania kontrolne

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

Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 2

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 2

ARKUSZ KALKULACYJNY MICROSOFT EXCEL cz.1 Formuły, funkcje, typy adresowania komórek, proste obliczenia.

Ćwiczenie 3. Wprowadź do odpowiednich komórek następujące dane: Ćwiczenie 4. Wprowadź do odpowiednich komórek następujące dane: - 1 -

MS Excel cz.3. >>>Otwórz plik: excel_03.xls<<<

str. 1 Excel ćwiczenia 1 Podstawy użytkowania komputerów

Rozdział 9 PROGRAMOWANIE DYNAMICZNE

1. Eliminuje się ze zbioru potencjalnych zmiennych te zmienne dla których korelacja ze zmienną objaśnianą jest mniejsza od krytycznej:

EXCEL TABELE PRZESTAWNE

Sposób tworzenia tabeli przestawnej pokażę na przykładzie listy krajów z podstawowymi informacjami o nich.

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

Przykład 1. (Arkusz: Sortowanie 1 )

INFORMATYKA POZIOM ROZSZERZONY

2. Metody adresowania w arkuszu kalkulacyjnym

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

Programowanie liniowe. Tadeusz Trzaskalik

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2

OBLICZENIA I STATYSTYKA FORMUŁY I FUNKCJE

Podręczna pomoc Microsoft Excel 2007

o nazwie: adresy.xls. Fragment danych źródłowych przestawiono na rysunku 1. Rysunek 1. Dane źródłowe - plik "adresy.xls"

2. Tworzenie tabeli przestawnej. W pierwszym oknie dialogowym kreatora określamy źródło danych, które mamy zamiar analizować.

Tabele przestawne tabelą przestawną. Sprzedawcy, Kwartały, Wartości. Dane/Raport tabeli przestawnej i wykresu przestawnego.

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS

Rozdział 1 PROGRAMOWANIE LINIOWE

Badania Operacyjne Ćwiczenia nr 4 (Materiały)

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS

Ćwiczenie 1 - Arkusze kalkulacyjne

Excel zadania sprawdzające 263

Zagadnienie transportowe

Tabele Przestawne Podstawy

Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki. Podstawy Informatyki i algorytmizacji

Formuły formułom funkcji adresowania odwoływania nazwy Funkcja SUMA argumentami SUMA

15. Macierze. Definicja Macierzy. Definicja Delty Kroneckera. Definicja Macierzy Kwadratowej. Definicja Macierzy Jednostkowej

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

BIBLIOTEKA LOKALNE CENTRUM WIEDZY PRAKTYCZNEJ PRZEWODNIK PO NARZĘDZIACH WARSZTAT NR 1: ARKUSZE KALKULACYJNE - MINI SKRYPT

Transkrypt:

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

Występuje wiele metod rozwiązywania optymalizacyjnego zagadnienia transportowego. Jedną z nich jest VAM (Vogel s approximation Method). Gdy sięgniemy do wyszukiwarki Google to dla frazy Metoda VAM pojawia się aż 14 600. Przykład liczbowy tablic kosztów jednostkowych i przewozów wyrobów między dostawcami a odbiorcami spotykamy w publikacji w formacie PDF pt. Metoda VAM.

Z tego przykładu macierz kosztów jednostkowych transportu, ilości podaży i popytu oraz kolejne iteracje były inspiracją formuł Excela. Zaprezentowano sprawdzenie uzyskanego w Excelu rozwiązania dwoma programami: dodatek Solver, moduł Programowanie liniowe i całkowitoliczbowe pakietu WinQSB.

Starsza wersja pakietu WinQSB jest bezpłatnie dostępna w internecie. Stanowi doskonałe narzędzie do testowania różnych rozwiązań z optymalizacji decyzji.

Przykład dotyczy zagadnienia transportowego zamkniętego, w którym suma podaży dostawców równa się sumie popytu odbiorców danego produktu. Wprowadzamy dane liczbowe do arkusza kalkulacyjnego Microsoft Excel

Tablica kosztów jednostkowych przewozów zadania decyzyjnego

Trzech dostawców określono literami dużymi A, B, C, a czterech odbiorców małymi a, b, c, d. Chcąc skorzystać z metody VAM musimy sporządzić dwie dalsze macierze posortowane narastająco. Pierwszą wierszami po jej wcześniejszej transpozycji. W tym względzie korzystamy najpierw z opcji Kopiuj a później Wklej z transpozycją.

Transponowana macierz kosztów posortowana w wierszach

W praktyce zadana transportowe cechuje duża macierz kosztów. Sortujemy w Excelu dane kolumny, będące wierszami (po transpozycji), z pominięciem kolumn sąsiednich.

Okno dialogowe ustawienia do sortowania tylko danej kolumny (wiersza po transpozycji)

Obliczamy wartości bezwzględne, czyli moduły dla par dwóch elementów o najmniejszym koszcie jednostkowym w danej kolumnie (wierszu po transpozycji) np.: =MODUŁ.LICZBY(H2-H3) równy dwa.

Posortowanie tablicy kosztów narastająco w czterech kolumnach a-d. Obliczamy moduły różnic między dwoma najmniejszymi wartościami w kolumnach np.: =MODUŁ.LICZBY(B7-B8)

Macierz kosztów posortowana w kolumnach z obliczonymi modułami w wierszu 10. arkusza kalkulacyjnego

Przyglądnijmy się obliczonym wartościom modułów(wiersz 6) i (wiersz 10). Korzystamy z formuły wyboru największej wartości w tych wierszach: =MAX(G6:I6;B10:E10).

Odpowiedzią komputera jest 2, czyli drugi wiersz po transpozycji, a więc dostawca B. Spośród węzłów (w, k) w tym wierszu wybieramy ten dla którego koszt jednostkowy przewozu jest najmniejszy. Występuje to dla odbiorcy czwartego, czyli d i równa się 2. Rozpoczynamy teraz wypełnianie tablicy przewozów mając podaną podaż dostawców i popyt odbiorców.

Rozpoczęcie wypełniania tablicy przewozów

Krok 1 Korzystamy z formuły (=MIN(F27; E29) tj. wyznaczamy minimum z wartości 20 i 50. W węźle (B-d) lokujemy podaż równą 20. Następnie dokonujemy korekty liczb podaży i popytu o wartość 20, stosując formułę różnicy (=F27-E27) oraz (=E29-E27). W wierszu drugim dostawcy B wyczerpaliśmy już cała podaż, stąd inne węzły w tym wierszu są równe zero.

Krok 2 Dla wygody realizacji procedury kopiujemy sobie macierz transpozycji wierszy i zacieniamy kolumnę drugą odpowiadającą wierszowi 2 tablicy kosztów. Obliczamy ponownie moduł różnicy dwóch najmniejszych elementów np.: =MODUŁ.LICZBY(H32-H33).

Tablica kosztów posortowana w wierszach po usunięciu dostawcy B

Teraz w kolumnach po usunięciu wiersza dostawcy B pozostają tylko wartości dla dostawców A oraz C. Obliczamy wartość bezwzględną formułą np.: = MODUŁ.LICZBY(J40-J41).

Tablica kosztów posortowana w kolumnach po usunięciu dostawcy B

Stajemy teraz przed wyborem największej wartości spośród [(1, 1); (5, 4, 5, 9)], której odpowiada dostawca d : =MAX(H36; J36; J42:M42) W tej kolumnie są dwa węzły (1, 4) o wartości 2 oraz (3, 4) o wartości 11. Wybieramy o wartości mniejszej, czyli węzeł (1, 4) i w nim lokujemy przewóz 30 określony formułą: =MIN(E56;F53). Doprowadzamy do sytuacji, gdy wiersz dostawcy B oraz kolumna odbiorcy d są kompletne co do przewozów.

Tablica przewozów po drugim kroku procedury metody VAM

Krok 3 Pozostają nam teraz wiersze (a, c) oraz kolumny (a, b, c). Obliczamy wartości bezwzględne skorygowanego układu kosztów dla wierszy korzystając z przykładowej formuły podanej na rycinie.

Posortowane tablicy kosztów w wierszach z zaznaczeniem wartości pominiętych

Skorygowanie tablicy kosztów w kolumnach z zaznaczeniem wartości pominiętych

Wyznaczamy wiersz/kolumnę dla której moduł jest największy formułą: =MAX(H75;J75;H82:J82). Jest to kolumna c z wartością modułu 5. W ramach tej kolumny najmniejszy koszt jednostkowy ma węzeł (C, c) i jest to wartość 3 i tam lokujemy przewóz wg formuły: =MIN(D90,F89)] o wartości 40. Korygujemy liczby podaży i popytu określone wcześniej w kroku 2. procedury metody VAM.

Skorygowanie tablicy przewozów w kroku 3. procedury

Rozlokowaliśmy w pełni podaż dostawcy B oraz popyt odbiorców c oraz d.

Widok macierzy kosztów z uwzględnieniem wcześniejszej tablicy przewozów

Krok 4 W tablicy kosztów pozostały nam węzły o nieulokowanych przewozach, a więc (A, a), (A, b). (C, a) i (C, b). Dalsze postępowanie jest analogiczne jak w kroku 1., tj. wyznaczamy moduły dwóch najmniejszych elementów naszego układu macierzy po wierszach i kolumnach.

Sytuacja w macierzy kosztów po wyznaczeniu przewozów dla dostawcy B oraz przewozów dla odbiorców c i d

Pozostaje nam teraz wyznaczenie wartości maksymalnej z modułów formułą: =MAX(G108;I108;G115;H115) Jest to wartość 7 odpowiadająca dostawcy C. Minimalny koszt jednostkowy dla węzła (C, b) równa się dwa. Sugeruje to nam, aby ulokowanie tam przewóz o ilości określonej formułą: =MIN(C127;F127)], co odpowiada minimum z (30, 60)m czyli 30. Możemy jednak ulokować tylko 20 jako dopełnienie do wartości początkowej 60.

Sytuacja w macierzy przewozów po kroku 4. procedury

Krok 5 Jako puste, nie obsadzone przewozami, pozostały nam węzły (A, a) i (A, b). Według tablica kosztów w wierszu A są węzły o kosztach jednostkowych przewozów (A, a) = 5, (A, b) = 3, (A, c) = 8, (A, c) = 2. Nas interesuje obliczenie modułu z posortowanego narastająco wiersza dostawcy A. Moduł ten równa się dwa.

Określenie wartości modułu w wierszach z pominięciem elementów obsadzonych przewozami

Pozostają nam teraz pojedyncze elementy. Tak wiec jest tylko jedna wartość modułu różnicy o wartości dwa w wierszu A i ona jest traktowana jako maksymalna.

Sytuacja w kolumnach z powinięciem węzłów z obsadzonych przewozami

Jednak w węźle (A, b) jest niższy koszt jednostkowy bo trzy i tam lokujemy nasz przewóz 10. Teraz pozostaje nam tylko wpisać 80 w węźle (A, a) i rozwiązanie zadania decyzyjnego transportowego metodą VAM uważa się za zakończone.

Końcowa tablica ilości przewozów optymalnych ustalona metodą VAM

Mając teraz do dyspozycji tablice kosztów oraz końcową tablicę przewozów obliczamy minimalny ogólny koszt transportu towarów od dostawców (A, B, C) do odbiorców (a, b, c, d) równy 690 formułą: =B162*B2+C162*C2+E162*E2+E163* E3+C164*C4=D164*D4.

W Excelu możemy też zastosować funkcję : =SUMA.ILOCZYNÓW(B2:E4;B162:BE164) korzystając z tablicy kosztów oraz tablicy przewozów. Okno dialogowe definiowania tablic funkcji (SUMA.ILOCZYNÓW)

W Microsoft Excel 2010 w ramach menu Dane istnieje opcja Solver. Umożliwia ona sformułowanie zadania decyzyjnego w komórkach arkusza decyzyjnego. Dla lepszego zobrazowania rozpatrzymy jednak przykład dostaw z trzech hurtowni (H 1, H 2, H 3 ) do czterech sklepów (S 1, S 2, S 3, S 4 ).

Sformatowanie danych do optymalizacji całkowitego kosztu przewozu

Zadanie decyzyjne inicjujemy przyjmując wartości początkowe w tabeli przewozów równe 1. W komórkach Razem dla sklepów występuje formuła sumy np.: =SUMA(C18:C20). W komórkach B24:B26 zapisana jest podaż hurtowni H1, H2, H3, a w komórkach C28:F28 obliczane są sumy iloczynów przewozów i kosztów. Przykładowo w komórce C28 występuje formuła: =SUMA(C24*C18+C25*C19+C26*C20).

W komórce o adresowaniu bezwzględnym $B$28 traktowanej jako funkcja celu jest koszt przewozu jako suma sum z wiersza C28:F28. Ustawiamy się w niej przed rozpoczęciem procesu optymalizacji danego zadania decyzyjnego. Komórkami zmienianymi jest obszar $B$18:$B$26 stanowiący formuły sum z wierszy dla hurtowni H1-H3. Sformułowanie ograniczeń zasobów pokazano w oknie dialogowym.

Okno dialogowe Parametry dodatku Solver definiowania zadania transportowego zamkniętego metodą LP simpleks

Formuły ograniczeń: liczba wysłanych towarów do sklepów podaży hurtowni: $B$18:$B$20<=$B$24:$B$26, liczba dostarczonych towarów do sklepów powinna zaspakajać ich popyt: $C$21:$F$21>=$C$22:$F$22, rozwiązanie zadania liczby całkowite [(opcja Integer (Int)], formuła końcowa: $B$18:$B$20=całkowita.

Ustawiamy się w komórce kosztu ($B$28) i określamy kierunek funkcji celu jako Min. Wybieramy metodę rozwiazywania LP simpleks. Dodatek Simpleks umożliwia nam wybór opcji: LP simpleks, Nieliniowy GRP, Ewolucyjny. Klikamy na Rozwiąż i program informuje nas o wykonaniu pracy. Domyślnie przyjmowane są opcje: Zachowaj rozwiązanie dodatku Solver, Raport wyników.

Komunikat o wykonaniu zadania transportowego

Po akceptacji OK uzyskujemy rozplanowanie tablicy przewozów i obliczony minimalny koszt całkowity dostaw wynoszący K = 670. Tak więc wynik zadania metodą simpleks jest nieco lepszy niż uzyskany wcześniej metodą VAM, gdzie: K = 690. Solver poinformował nas w formie tekstu, że czas rozwiązania zadania wynosi 0,015 sekundy i praca wykonana została w dziewięciu iteracjach (krokach).

Raport wyników rozwiązania zadania transportowego Solverem

Zastosujemy teraz moduł Programowanie liniowe i całkowitoliczbowe pakietu programowego WinQSB. Dane wprowadzić możemy alternatywnie w formatach: Matrix (macierz), Normal (nierówności). Rozplanowanie macierzowe odpowiada kolumnom i wierszom arkusza kalkulacyjnego. Funkcje celu (Minimize) zmierza do minimum, a zmiennych X11-X35 mamy 12, co odpowiada iloczynowi trzech hurtowni i czterech sklepów.

Definiowanie zadania transportowego zamkniętego w module LPILP

Uwzględniając koszty jednostkowe przewozów funkcja celu ma postać: FC: 5x 11 + 3x 12 + 8x 13 + 2x 14 + 4x 21 + 6x 22 + 4x 23 + 2x 24 + 9x 31 + 2x 32 + 3x 33 + 11x 34 min

Ograniczenia podaży i popytu: C 1 : x 11 + x 12 + x 13 + x 14 = 120 C 2 : x 21 + x 22 + x 23 + x 24 = 20 C 3 : x 31 + x 32 + x 33 + x 34 = 60 C 4 : x 11 + x 21 + x 31 = 80 C 5: x 12 + x 22 + x 32 = 30 C 6 : x 13 + x 23 + x 33 = 40 C 7 : x 14 + x 24 + x 34 = 50

Zmienne x ij 0, co odpowiada granicy dolnej (LowewrBound). Granica górna (UpperBound) nie jest określona, jest M, czyli. Całkowitoliczbowość zmiennych (Variable Type) = Integer. Zakończenie sygnalizowane jest komunikatem.

Program generuje raport wyników jako tzw. rozwiązanie mieszane. Wyszczególnia się w nim poszczególne zmienne tablicy przewozów i obliczone ich wartości optymalne. Podawana jest analiza wrażliwości, czyli możliwości korekty wyników, aby rozwiązanie optymalne nie uległo zmianie.

Rozwiązanie mieszane zadania transportowego zamkniętego

W module LPILP dostępna jest także forma skrócona raportu rozwiązania zwana sumaryczną. Zwróćmy uwagę, że wynik końcowy 670 jest taki sam jak w Solverze, gdyż oba te programy bazują na metodzie programowania liniowego simpleks.

Dziękuję za uwagę