badania operacyjne - uniwersytetradom.pl
TRANSCRIPT
Badania operacyjne (fragmenty wykładu)
dr inż. Marek Glinka SPIS TREŚCI 1. Geneza badań operacyjnych ................................................................2
2. Zakres stosowania badań operacyjnych .............................................2 3. Metodyka badań operacyjnych ...........................................................3
4. Model jest narzędziem badawczym ....................................................5 5. Struktura modeli normatywnych zagadnień decyzyjnych .................6
5.1. Charakterystyka elementów struktury modeli ..................................6 6. Postacie modeli zadań programowania liniowego ..............................7
7. Klasyfikacja modeli w badaniach operacyjnych ..............................10
8. Uwagi ogólne o rozwiązywaniu modeli matematycznych zagadnień decyzyjnych ......................................................................11
9. Przykład modelowania zagadnienia przepływu prądu w obwodzie .........................................................................................13
10. Geometryczne przedstawienie modeli i rozwiązań zadań programowania liniowego .................................................................19
11. Simpleks – uniwersalna metoda rozwiązywania modeli liniowych ............................................................................................21
11.1. Idea algorytmu simpleks .............................................................22
12. Modelowanie zagadnienia transportowego ......................................24 12.1. Sformułowanie klasycznego zagadnienia transportowego ............25 12.2. Model matematyczny zagadnienia transportowego ......................25 12.3. Postacie modeli zagadnienia transportowego ...............................27 12.4. Rozwiązywanie modelu zagadnienia transportowego ..................28 12.5. Przykład modelowania zagadnienia transportowego ....................31
Bibliografia .............................................................................................34
2
1. Geneza badań operacyjnych Nazwa dyscypliny naukowej badania operacyjne wywodzi się z terminolo-
gii wojskowej. Operacja w tej terminologii jest rozumiana jako zorganizowane działanie dużych zgrupowań wojsk, których celem jest osiągnięcie określonych celów militarnych. Pierwszy człon nazwy mówi nam o badaniu tego typu dzia-łań z punktu widzenia celu.
Przyjmuje się, że początki podstaw naukowych dyscypliny badań opera-cyjnych sięgają lat 1920 – 1930 natomiast wymierne zastosowania tej nauki, o których się często pisze miały miejsce już podczas II wojny światowej. Doty-czyły one głównie rozwiązywania problemów związanych z prowadzeniem działań wojennych przez koalicję antyhitlerowską. Powołane w dowództwach armii państw sprzymierzonych grupy naukowców, z różnych dyscyplin wiedzy, przygotowywali opracowania mające pomóc dowódcom planować i prowadzić działania wojenne. Zespoły te pracowały nad rozwiązywaniem różnych proble-mów między innymi takich jak opracowywanie planów działań zgrupowań po-zwalających osiągnąć maksymalny sukces militarny przy możliwie małych stra-tach własnych. Rozpatrywano i zastanawiano się nad optymalizacją transportem i rozmieszczeniem składów zapasów żywności, amunicji i sprzętu dla dużych zgrupowań wojsk. Badania dotyczyły również określenia sposobów i metod sku-tecznego bombardowania różnego rodzaju celów naziemnych przez formacje składające się z dużej liczby samolotów
2. Zakres stosowania badań operacyjnych Badania operacyjne są to zastosowania matematyki do rozwiązywania pro-
blemów z dziedziny planowania, projektowania i sterowania w celu znalezienia możliwie najlepszego rozwiązania problemu. Można też powiedzieć, że badania operacyjne czyli analiza operacji jest to przygotowanie racjonalnej w danych warunkach i optymalnej przy zdefiniowanym kryterium lub kryteriach decyzji dotyczących realizacji zamierzonego przedsięwzięcia.
Z definicji przedmiotu wynika duża możliwość zastosowania metod i na-
rzędzi udostępnianych przez badania operacyjne do rozwiązywania wielu rze-czywistych problemów w różnych dziedzinach działalności człowieka. Dotyczy to zarówno przygotowywania sposobów postępowania jak i rozwiązywania ma-tematycznych opisów lub modeli decyzji, problemów projektowania i sterowa-nia. Celem tego typu prac może być ułatwienie analizy sytuacji charakteryzują-cych się dużą złożonością i niepewnością. Nauka ta dostarcza odpowiednich na-rzędzi i mierników ilościowych pozwalających ocenić efektywność
3
proponowanego rozwiązania. Można porównać to rozwiązanie z innymi alterna-tywnymi rozwiązaniami tego samego problemu.
Ważne jest również to, że badania operacyjne umożliwiają łączenie wiedzy specjalistów z różnych nauk. Metody analizy bazują na matematyce rachunku prawdopodobieństwa i statystyce matematycznej. W procesie przygotowywania i konstruowania modeli zagadnień może być wykorzystywana wiedza eksperc-ka. Podczas tworzenia algorytmów i programów do rozwiązywania modeli w szerokim zakresie stosowane jest wspomaganie komputerowe. A więc wyko-rzystywana jest wiedza informatyków.
Metody i narzędzia udostępniane przez badania operacyjne mogą być sto-sowane do optymalizacji, analizy pracy, planowania obiektów procesów i sys-temów.
3. Metodyka badań operacyjnych Podstawowym narzędziem w badaniach operacyjnych jest model matema-
tyczny zagadnienia. Podczas jego tworzenia i stosowania koncentruje się szcze-gólną uwagę. Dzięki niemu rozwiązuje się i prowadzi optymalizację rozpatry-wanych zjawisk. Można podać ogólny schemat postępowania przy rozwiązywa-niu problemów metodami badań operacyjnych.
4
Rys. 3.1. Metodyka badań operacyjnych
Poszukiwanie metod rozwiązania modelu
Uzyskanie rozwiązania modelu
Tworzenie modelu matematycznego
Przyjęcie założeń upraszczających
Sformułowanie problemu, który będzie rozwiązywany
Zebranie i opracowanie danych potrzebnych do modelowania
Weryfikacja i ocena mode-lu oraz rozwiązania
N
T
Wdrożenie rozwiązania
Czy model
i rozwiązanie są poprawne oraz
przydatne?
Obserwacja zmian zachodzących pod wpływem wprowadzonego
rozwiązania
Czy problem został
rozwiązany?
KONIEC
T
N
5
Przyjmuje się, że metoda badawcza zastosowana do rozwiązania określo-
nego problemu musi mieć następujące właściwości, aby można było ją zaliczyć do metod badań operacyjnych:
• ukierunkowanie na podejmowanie decyzji. Podstawowe rezultaty analizy
i rozpoznania można zastosować w praktyce, • istnieje możliwość oceny podjętych działań na podstawie ścisłych kryteriów
efektywności, • istnieje możliwość porównania innych alternatywnych rozwiązań tego same-
go zadania. Porównanie takie musi być oparte na wielkościach mierzalnych. Muszą one pozwalać w sposób jednoznaczny określić użyteczność osiągnię-tego rozwiązania,
• metoda powinna wykorzystywać modelowanie matematyczne, • algorytmy i procedury przetwarzania danych powinny być precyzyjne, jed-
noznaczne i powtarzalne, • metoda badawcza powinna umożliwiać zastosowanie w szerokim zakresie
wspomagania komputerowego.
4. Model jest narzędziem badawczym Tak jak wspomniano wcześniej podstawowym narzędziem badawczym jest
model matematyczny danego zagadnienia. Pod tym pojęciem należy rozumieć z konieczności uproszczony odpowiednik rzeczywistości, najczęściej sformuło-wany i zapisany za pomocą zależności matematycznych podporządkowany ce-lowi badań. Model jest to taki układ, który można wymyślić, przedstawić i zre-alizować tak aby odzwierciedlał i odtwarzał interesujący nas fragment rzeczywi-stości. Model powinien być również zdolny zastąpić analizowany układ tak, że jego badanie dostarczy nowych, wartościowych informacji o rzeczywistym obiekcie, procesie lub systemie. Często model w badaniach operacyjnych jest tak konstruowany aby był narzędziem służącym do przeprowadzania procesu optymalizacji zgodnie z określonym kryterium. Najtrudniejsze w badaniach ope-racyjnych, co jest jednocześnie nazywane sztuką, to umiejętność budowania od-powiednio dobrych modeli matematycznych. Rzemiosłem, jeżeli by można tak powiedzieć, jest rozwiązywanie tych modeli.
Nie można podać szczegółowych zasad budowy modelu pozwalających skonstruować model dla dowolnego zagadnienia. Każdy model uwzględniać musi specyficzne wymagania opisane przez dane zagadnienie - kryteria, ograni-czenia i jest na swój sposób niepowtarzalny, związany z rozpatrywanym zagad-nieniem.
6
Dzięki możliwościom zastosowania techniki komputerowej w procesie
rozwiązywania modeli mamy możliwość doskonalenia jego struktury. Narzędzie to umożliwia analizę bez ingerowania w rzeczywisty obiekt. Może być stosowa-ne zarówno na etapie jego tworzenia jak i później służyć do doskonalenia jego funkcjonowania. Badanie rzeczywistości przy pomocy metod modelowania do-starcza wielu cennych, użytecznych informacji przy niedużym koszcie takiego badania.
5. Struktura modeli normatywnych zagadnień decyzyjnych Jednymi z najprostszych typów modeli są modele normatywne. Model
normatywny to taki model, który cechuje się określoną i ustaloną strukturą we-wnętrzną. Fazy budowy modeli decyzyjnych to proces prowadzący do określe-nie struktury modelu. W jej skład wchodzą takie elementy jak:
• zmienna (zmienne) decyzyjna, • parametry, • funkcja celu FC (funkcja kryterium FK), • warunki ograniczające zasadnicze WOZ, • warunki ograniczające dodatkowe WD.
5.1. Charakterystyka elementów struktury modeli Zmienne decyzyjne (zmienne decyzyjne ponieważ jest ich wiele) są to nie-
wiadome, których wartości są poszukiwane w trakcie rozwiązywania modelu. Jest to jeden z najważniejszych elementów modelu i zarazem najtrudniejszy do zidentyfikowania. Zmienna decyzyjna musi być bardzo precyzyjnie określona i musimy dokładnie wiedzieć co będzie ona reprezentowała w modelu. Od zmiennej decyzyjnej zależą pozostałe, ważne elementy struktury takie jak: funk-cja celu i warunki ograniczające.
Musi ona być tak przez nas określona w trakcie konstruowania modelu aby można było przeprowadzić proces optymalizacji rozpatrywanego zagadnienia.
Zazwyczaj trudno jest bez głębszej analizy odpowiedzieć na pytanie co na-leży przyjąć za zmienną decyzyjną. Ogólnie można powiedzieć, że zmienne de-cyzyjne powinny być tak przez nas tak zdefiniowane aby rozwiązanie modelu zbudowanego z ich wykorzystaniem umożliwiało odpowiedzenie na pytanie po-stawione w zagadnieniu. Warto jest wobec tego dokładnie analizować postawio-ne w zadaniu pytania tam bowiem często znajduje się podpowiedź co należy przyjąć za zmienną decyzyjną.
7
Parametry są to często wielkości wyrażające ilościowo zasoby jakimi dys-
ponujemy.
Funkcja celu (funkcja kryterium) jest to zapisane przy pomocy zależności matematycznych, z wykorzystaniem zmiennych decyzyjnych kryterium naszego działania. Wartość funkcji celu jest miernikiem efektywności proponowanego rozwiązania. W modelach normatywnych funkcja celu może być maksymalizo-wana lub minimalizowana. Funkcja celu może być liniowa lub nieliniowa, jed-nokryterialna lub wielokryterialna.
Warunki ograniczające, również tylko ogólnie można by powiedzieć, że są
to ograniczenia na zasoby jakimi dysponujemy, bądź też wymagania jakie mu-sza być przez model spełnione. Warunki ograniczające (WO) składają się z dwóch rodzajów. Są to warunki ograniczające zasadnicze (WOZ) i warunki do-datkowe (WD). Warunki dodatkowe wymuszają w rozwiązaniu typ wartości dla zmiennych decyzyjnych. W modelach normatywnych wyróżniamy trzy typy wa-runków dodatkowych:
• warunki nieujemności (WN) zmiennych decyzyjnych powodują, że zmienne
decyzyjne przyjmują w rozwiązaniu wartości ze zbioru liczb R+,
• warunki całkowitoliczbowości (WC) zmiennych decyzyjnych powodują, że zmienne decyzyjne należące do tej grupy mogą przyjmować tylko wartości ze zbioru liczb całkowitych dodatnich C+,
• warunki binarności (WB) zmiennych decyzyjnych powodują, że zmienne de-cyzyjne mogą przyjmować tylko jedną z dwóch wartości 0 lub 1.
6. Postacie modeli zadań programowania liniowego Istnieje kilka postaci zapisu zadań typu PL. Przedstawiona zostanie postać
ogólna, standardowa, kanoniczna i zapis macierzowy zadań PL. Ogólne zagadnienie programowania liniowego polega na znalezieniu takie-
go wektora (x1,x2,...,xj,...,xn), który minimalizuje (lub maksymalizuje) liniową funkcję celu FC = c1x1+c2x2+...+cjxj+...+cnxn → min (lub max) przy ogranicze-niach liniowych:
8
(6.1)
gdzie aij, bj, cj są stałymi oraz mn ≥ .
Standardowe zadanie PL charakteryzuje się tym, że dla maksymalizacji funkcji celu wszystkie warunki ograniczające dane są w postaci nierówności: (6.2)
natomiast w przypadku minimalizacji FC warunki są zapisane:
(6.3)
Możliwe jest przejście od minimalizacji do maksymalizacji funkcji celu.
Mając dane zadanie w, którym FC jest minimalizowana można to zadanie roz-wiązywać tak jak gdyby było maksymalizowane. Wystarczy przy nie zmienio-nych warunkach ograniczających zmienić znaki parametrów w FC
=≥
≤++++
≤++++
≤++++
≤++++
,n...,jx b xa...xa...x+ a xa
b xa...xa...xa+ xa
b xa...xa...x+ a xa b xa...xa...x+ a xa
j
mnmnjmjmm
ininjijii
nnjj
nnjj
1,2dla02211
2211
222222121
111212111
LLLLLLLLLLLLLLLL
LLLLLLLLLLLLLLLLWOZ
WD
),...,2,1,...,2,1dla(
01
1
njmixWD
bxaWOZ
minxcFC
j
n
jijij
n
jjj
==
≥
≥
→=
∑
∑
=
=
),...,2,1,...,2,1dla(0
1
1
njmixWD
bxaWOZ
maxxcFC
j
n
jijij
n
jjj
==
≥
≤
→=
∑
∑
=
=
9
na przeciwne. Uzyskane w wyniku rozwiązania optymalne wartości FC dla obu zadań są jednakowe co do wartości bezwzględnej.
Postać kanoniczna zadań programowania linowego charakteryzuje się tym, że zarówno dla maksymalizacji jak i minimalizacji FC wszystkie warunki ogra-niczające zasadnicze dane są w postaci równości. (6.4)
Szczególnie w operacjach obliczeniowych przydaje się postać macierzowa zadań programowania liniowego. (6.5) gdzie: c=[c1,c2,...,cn] wektor wierszowy parametrów występujących przy odpowiednich zmiennych w FC.
=
mnmm
n
n
aaa
aaaaaa
AL
LLLLLL
L
21
22221
11211
macierz o rozmiarze mn składająca się z parametrów wystę-
pujących przy odpowiednich zmiennych po lewej stronie warunków ogranicza-jących zasadniczych.
=
nx
xx
xM2
1
wektor kolumnowy zmiennych decyzyjnych.
),...,,,...,,(dla
)(
njmixWD
bxaWOZ
minmaxxcFC
j
n
jijij
n
jjj
21210
1
1
==
≥
=
→=
∑
∑
=
=
0≥≤
→=
xWDbAxWOZmaxcxFC
10
=
nb
bb
bM2
1
wektor kolumnowy wyrazów wolnych w warunkach ograniczających.
7. Klasyfikacja modeli w badaniach operacyjnych
W oparciu o cechy charakterystyczne elementów struktury modeli można
dokonać klasyfikacji modeli. Ze względu na charakter funkcji celu i warunków ograniczających modele
dzielimy na modele liniowe i nieliniowe. Model jest modelem liniowym jeżeli jego funkcja celu i warunki ograniczające mają charakter zależności liniowych. Model nieliniowy to taki, w którym przynajmniej funkcja celu lub jeden z wa-runków ograniczających dane są w postaci zależności nieliniowej.
Uwzględniając liczbę kryteriów mogących wystąpić w funkcji celu wyróż-
niamy modele jednokryterialne lub modele wielokryterialne.
Ze względu na charakter wartości zmiennych decyzyjnych modele dzieli-my na – ciągłe, dyskretne i mieszane. Ponadto wśród modeli dyskretnych da się wyróżnić modele całkowitoliczbowe i binarne. Model należy do grupy modeli ciągłych jeżeli występujące w nim wszystkie zmienne decyzyjne będą w roz-wiązaniu przyjmowały wartości liczbowe ze zbioru liczb rzeczywistych dodat-nich. Model należy do grupy modeli całkowitoliczbowych jeżeli wszystkie zmienne decyzyjne przyjmują wartości ze zbioru liczb całkowitych dodatnich. W obu grupach modeli część zmiennych może przyjmować wartość zero. Moż-na powiedzieć o modelu, że jest modelem binarnym, gdy wszystkie zmienne decyzyjne przyjmują wartość zero lub jeden. W modelach mieszanych część zmiennych przyjmuje wartości ze zbioru liczb rzeczywistych, część ze zbioru liczb naturalnych).
Ze względu na charakter parametrów występujących w modelu rozróżnia-
my modele deterministyczne i stochastyczne w tym probabilistyczne, staty-styczne i strategiczne.
Model jest modelem deterministycznym jeżeli wszystkie parametry wystę-pujące w modelu mają wartości znane i stałe.
Model jest modelem probabilistycznym jeżeli przynajmniej jeden parametr
w modelu jest zmienną losową o znanym rozkładzie prawdopodobieństwa.
11
Model jest modelem statystycznym jeżeli przynajmniej jeden parametr jest
zmienną losową o nieznanym rozkładzie prawdopodobieństwa. Model jest modelem strategicznym jeżeli przynajmniej jeden parametr tego
modelu jest tzw. zmienną strategiczną.
Ze względu na liczbę etapów opisu procesu decyzyjnego mówimy o mode-lach statycznych i dynamicznych.
Modele statyczne opisują jednoetapowy proces decyzyjny a dynamiczne wieloetapowy. W uproszczeniu należy rozumieć, że w procesie wieloetapowym decyzje późniejsze zależą od decyzji wcześniejszych. Twórcą tego podejścia jest R. Bellman, którego zasada optymalności, pozwala rozwiązywać niektóre pro-blemy. Modele dynamiczne mogą być ciągłe lub dyskretne.
Uwzględniając dokonany podział, modele można zaklasyfikować do nastę-pujących podstawowych klas zadań występujących w badaniach operacyjnych:
1. Programowanie liniowe PL 2. Programowanie liniowe całkowitoliczbowe PLC 3. Programowanie liniowe binarne PLB 4. Programowanie nieliniowe PN 5. Programowanie nieliniowe całkowitoliczbowe PNC 6. Programowanie nieliniowe binarne PNB 7. Programowanie mieszane PM 8. Programowanie ilorazowe PI
8. Uwagi ogólne o rozwiązywaniu modeli matematycznych zagadnień decyzyjnych
Generalnie metody służące do rozwiązywania modeli można podzielić na analityczne i symulacyjne. Ponadto wśród metod analitycznych rozróżniamy metody dokładne i przybliżone.
Duża część metod służących do rozwiązywania modeli cechuje się dość dużą pracochłonnością. Zazwyczaj są to algorytmy, w których obliczenia prze-prowadza się iteracyjnie. Przerwanie obliczeń następuje po spełnieniu jednego lub większej liczby kryteriów występujących w algorytmie. Aby można było skutecznie rozwiązywać modele o dużych rozmiarach stosuje się wspomaganie procesu rozwiązywania przy pomocy techniki komputerowej. Do tego celu używane są specjalizowane programy realizujące dany algorytm lub też stosuje się uniwersalne oprogramowanie z zakresu przeprowadzania obliczeń matema-tycznych. Można tu wyróżnić takie narzędzia programowe jak Mathematica, MatLab, Maple, MatchCad, Statistica, Excel, Lotus 1,2,3. Niektóre z tych
12
programów posiadają gotowe moduły obliczeniowe do przeprowadzenia obli-czeń daną metodą z badań operacyjnych. Korzystniejsze jest jednak stosowanie specjalizowanego oprogramowania. Daje ono większe możliwości i zapewnia szerszą analizę uzyskanych wyników.
Przystępując do rozwiązywania modeli istotne może być jak szybko to rozwiązanie jesteśmy w stanie uzyskać. Problem jest szczególnie ważny gdy chcemy rozwiązywać modele o dużych rozmiarach (duża liczba zmiennych i duża liczba warunków ograniczających) przy pomocy metod, które są wolno zbieżne. Dla takich modeli i metod, wykorzystując do obliczeń nawet szybkie komputery nie jesteśmy w stanie w zadowalająco krótkim czasie uzyskać roz-wiązanie. W wielu przypadkach modele o bardzo dużych rozmiarach nie mogą być rozwiązywane ogólnymi algorytmami ponieważ czas rozwiązywania byłby zbyt długi. Istnieją modyfikacje i różne wersje podstawowych algorytmów po-prawiające zbieżność a tym samym skracające czas potrzebny na uzyskanie rozwiązania. Zagadnienia charakteryzujące się nietypową strukturą są rozwią-zywane przez algorytmy dostosowane do takiej struktury. Bywa i tak, że ko-rzystniejsze ze względu na krótszy czas obliczeń jest stosowanie metod przybli-żonych.
Następną ważną sprawą na, na którą należy zwrócić uwagę stosując narzę-dzia komputerowe do rozwiązywania modeli jest dokładność obliczeń. W trakcie wykonywania zazwyczaj bardzo dużej liczby iteracji oraz praktycznie nie mając wpływu na wyniki etapów pośrednich, generowane przez programy obliczeniowe wyniki końcowe, mogą być niedokładne. Problem może być szczególnie ważny gdy dany algorytm bazuje na wynikach uzyskiwanych z innego algorytmu. Błędy i niedokładności mogą również wynikać z zaokrągleń programowych. Jest to tylko zarysowanie problemów, które mogą wystąpić w procesie rozwiązywania modeli przy wykorzystaniu techniki komputerowej.
Zasadniczo rozwiązując modele normatywne poszukujemy dwóch elemen-tów rozwiązania. Elementami tymi są wartości zmiennych decyzyjnych i optymalna wartość funkcji kryterium. W trakcie poszukiwania rozwiązania optymalnego etapem pośrednim jest znalezienie rozwiązania dopuszczalnego. Rozwiązanie dopuszczalne modelu jest to takie rozwiązanie, dla którego speł-nione są wszystkie warunki ograniczające modelu. Rozwiązanie optymalne mo-delu jest to takie rozwiązanie, dla którego spełnione są wszystkie warunki ogra-niczające modelu i funkcja celu w rozwiązaniu osiąga wartość największą lub najmniejszą. Model może mieć rozwiązanie optymalne wtedy i tylko wtedy gdy
13
ma rozwiązanie dopuszczalne. Model może posiadać wiele rozwiązań optymal-nych o tej samej wartości funkcji celu.
9. Przykład modelowania zagadnienia przepływu prądu w obwodzie
Badanie przepływu prądu w obwodzie
Dany jest obwód elektryczny złożony z rezystorów o rezystancjach: R1, do R11. Dopuszczalne wartości prądów płynących przez poszczególne rezystory nie mogą przekraczać dla kolejnych rezystorów wartości I1 = 0,3A, I2 = 0,15A, I3 = 0,2A, I4 = 0,65A, I5 = 0,6A I6 = 0,45A, I7 = 0,4A, I8 = 0,6A, I9 = 0,15A, I10 = 0,6A, I11 = 0,5A. Wyznaczyć największą wartość prądu, który może przepływać od punktu A do punktu B rozważanej sieci oraz wartości po-szczególnych prądów w gałęziach.
Znane są rezystancje podane w Ω R1 = 0,25; R2 = 0,05; R3 = 0,04; R4 = 0,15; R5 = 0,15; R6 = 0,16; R7 = 0,15; R8 = 0,35; R9 = 0,36; R10 = 0,15; R11 = 0,3.
Rys. 9.1. Schemat obwodu elektrycznego
Należy opracować rozpływ prądów i spadków napięć na rezystancjach w poda-nym obwodzie. Zostało to pokazane na rys. 9.2.
A
R1 R2
R4
R3
R5
R6 R7
R10
R9
R11
R8 B
14
Rys. 9.2. Zaznaczenie prądów i spadków napięć w podanym obwodzie
Budowa modelu podanego zagadnienia Model zagadnienia bazuje na prawach rządzących obwodami elektryczny-
mi. W tym przypadku na I i II prawie Kirchoffa. a) określenie zmiennej decyzyjnej
Ii- wartość prądu płynącego w i- tej gałęzi (wyrażona w [A])
b) parametry Wartości rezystancji podane w zadaniu. Rezystancja jest stała i znana.
c) budowa funkcji celu
Funkcją celu jest maksymalizacja prądu płynącego od punktu A do B w rozważanej sieci.
Zapis funkcji celu:
FC: IA max d) Warunki ograniczające
Warunki ograniczające wzrost funkcji celu będą wynikały z praw rządzą-cych tego typu obwodami. Można je zapisać mając na uwadze I i II prawo Kir-choffa oraz ograniczenia na dopuszczalne prądy płynące przez poszczególne rezystancje.
A
R1 R2
R4
R3
R5
R6 R7
R10
R9
R11
R8 B
I1
I6
I4
I10
I0
Ic I9
I7
I2
I3
I11
I711
I5
I25
I8
R8I8 R6I6
R4I4
R1I1
R3I3
R9I9
R2I2
R10I10
R7I7
R5I5
R11I11
IA
I II
III
IV V
15
Zapis warunków ograniczających
≤≤
≤≤≤≤≤≤≤≤
≤=++
===
==−
0.5 0.6 0.15 0.6 0.4 0.45 0.6 0.65 0.2 0.15
0.3 0---
0-0-0-
0-
0=-+0=-+0=-+
0=--0=--
0=-+0=-+0=--0=--
11
10
9
8
7
6
5
4
3
2
1
669977553344
5522
111177
101066
4411
8A
871125
711117
2552
1179
523
9106
541
106
0
IIIIIIIIIII
RIRIRIRIRIRIRIRIRIRIRIRI
RIRIII
IIIIIIIII
IIIIII
IIIIIIIIIIII
C
CA
0
Przedstawiony model jest modelem ciągłym, liniowym, deterministycz-nym. Można go rozwiązać stosując metodę simpleks.
Rozwiązanie modelu Do jego rozwiązania zastosowano metodę simpleks wykorzystując program
WinQSB (LP-ILP). Otrzymaliśmy wartości zmiennych wyrażające wartości prądów [A].
IA = 0,2637; I0 = 0,2; IC = 0,0637; I1 = 0,0750; I2 = 0,1500; I3 = 0,2; I4 = 0,125; I5 = 0,050; I6 = 0,0308; I7 = 0,0425; I8 = 0,2637; I9 = 0,0637 I10 = 0,0329; I11 = 0,0212; I25=0,2; I711 = 0,0637 oraz wartość FCmax = IA=I8=0,2637 [A].
16
Największy prąd, który popłynie w obwodzie wynosi 0,2637 [A]
Rys. 9.3 i 9.4 przedstawiają kopię ekrany z programu WinQSB pokazującą
wprowadzony do programu model oraz rozwiązanie.
Rys. 9.3. Kopia ekranu programu WinQSB moduł LP-ILP z wprowadzonym
modelem
17
Rys. 9.4. Tabela wartości zmiennych i FC (kopia ekranu z programu WinQSB)
Model można rozwiązać wykorzystując inny program np. Excel Solver. Przykład aplikacji opracowanej w Excel Solver do rozwiązania modelu pokaza-no na rys. 9.5.
18
Rys. 9.5. Kopia ekranu z programu Excel Solver
19
10. Geometryczne przedstawienie modeli i rozwiązań zadań progra-mowania liniowego
Przy pomocy metody geometrycznej można poszukiwać rozwiązań modeli zadań PL zawierających w zasadzie tylko dwie zmienne. Z tego powodu jest to metoda nieprzydatna do rozwiązywania modeli o dużych rozmiarach. Metoda ta ma jednak pewne zalety poznawcze, które umożliwiają zrozumienie ważnych pojęć dotyczących rozwiązań modeli. W wyniku jej zastosowania można zoba-czyć gdzie się znajduje i jak wygląda zbiór rozwiązań dopuszczalnych dla mo-delu, a także w jaki sposób poszukuje się rozwiązania optymalnego. Można również zobaczyć kiedy model ma tylko jedno rozwiązanie optymalne a kiedy ma ich wiele. I wreszcie można również przy jej pomocy pokazać przypadek gdy model nie posiada rozwiązania optymalnego. Ze względu na te i inne moż-liwość dostarczenia wielu cennych informacji o rozwiązaniu modelu należy ją poznać.
Geometryczna metoda rozwiązywania modeli jest bardzo prosta w realiza-cji. Spróbujmy ją poznać rozwiązując przy je pomocy kilka charakterystycznych przypadków dla modeli z dwiema zmiennymi.
Mając dany model liniowy składający się z funkcji celu i warunków ogra-
niczających znaleźć metodą geometryczną rozwiązanie optymalne.
≥≥
≥+≤−≤+−
→+=
)( 0)( 0)(4267)(2127)( 92
41
2
1
21
21
21
21
exdxcxxbxxaxx
maxxxFC
Przystępując do rozwiązywania takiego układu należy narysować
i oznaczyć układ współrzędnych o osiach x1 i x2 (rys.10.1). Następnie na osiach nanosimy jednostki. Po czym rysujemy proste, dzięki którym będziemy mogli przedstawić warunki ograniczające. Aby narysować prostą wystarczy znaleźć współrzędne dwóch punktów przez które ona przechodzi. I tak aby wykreślić pierwszy warunek ograniczający oznaczony przez (a) należy narysować prostą –x1+2x2=9. Ponieważ warunek ograniczający (a) podany jest w postaci nierów-ności znajdujemy i zaznaczamy półpłaszczyznę, której punkty spełniają tę nie-równość. Jest to półpłaszczyzna zawierająca punkt (0,0). Podobnie postępujemy
20
przy wyznaczaniu półpłaszczyzn opisanych warunkami (b) i (c). Z warunków dodatkowych (d) i (e) wynika, że zbiór rozwiązań dopuszczalnych dla modelu znajduje się w pierwszej ćwiartce układu współrzędnych. Znajdujemy obszar w którym spełnione są warunki ograniczające modelu, będzie to część wspólna wszystkich półpłaszczyzn. Dla rozpatrywanego przykładu warunki ograniczają-ce zasadnicze i dodatkowe spełnione są w trójkącie ABC i jest to zbiór rozwią-zań dopuszczalnych (ZRD) modelu. Został on zaznaczony na rys.10.1. Rys. 10.1. Zbiór rozwiązań dopuszczalnych i rozwiązanie optymalne
Następnie wykreślamy funkcję celu (FC). Aby narysować prostą wyzna-czającą (FC) można przyjąć dla niej dowolną wartość (wartość tę przyjmuje się tak aby była ona dogodna do jej narysowania). Załóżmy, że wartość jej wynosi 2. Rysujemy prostą o równaniu (na rys. zaznaczona linią przerywaną):
241
21 =+ xx
Wyznaczając rozwiązanie maksymalizujące funkcję celu będziemy prze-suwać równolegle daną prostą. Można zauważyć, że wartość FC rośnie gdy ro-śnie x1 i x2. Kierunek wzrostu FC zaznaczono strzałką. Prostą należy przesuwać równolegle w górę układu współrzędnych. Największą wartość w zbiorze roz-wiązań dopuszczalnych funkcja celu osiągnie w punkcie B. Współrzędne tego punktu można wyznaczyć rozwiązując układ równań.
=−=+−212792
21
21
xxxx
Rozwiązaniem układu jest punkt o współrzędnych x1=5, x2=7 a więc współ-rzędne punktu są rozwiązaniem optymalnym (RO) dla podanego modelu. Dla punktu B o podanych współrzędnych spełniony jest układ warunków ogranicza-jących i funkcja celu przyjmuje wartość największą równą
433 .
2 4 10
4
6 8
2
6
8
10
12 x1
x2
FC→max
b
c
a
B
C
A
d
e
ZRD
RO
0
21
Podsumowując, poszukiwanie rozwiązania modelu PL zawierającego dwie
zmienne metodą geometryczną polega na: 1. Narysowaniu i wyznaczeniu: prostych (w przypadku gdy warunek
ograniczający dany jest w postaci równości), półpłaszczyzn (gdy wa-runek ograniczający dany jest nierównością).
2. Znalezieniu (jeżeli istnieje) części wspólnej, która wyznacza zbiór rozwiązań dopuszczalnych.
3. Znalezieniu w wyznaczonym zbiorze rozwiązań dopuszczalnych roz-wiązania maksymalizującego lub minimalizującego liniową funkcję celu.
Analizując przedstawione przykłady można na ich podstawie stwierdzić że:
1. Jeżeli model posiada zbiór rozwiązań dopuszczalnych to można dla mo-delu znaleźć rozwiązanie optymalne:
• istnieje jedno rozwiązanie optymalne, • istnieje nieskończenie wiele rozwiązań optymalnych dla których funkcja celu przyjmuje taką samą wartość.
2. Rozwiązanie optymalne nie istnieje gdy: • nie istnieje zbiór rozwiązań dopuszczalnych (układ warunków ogra- niczających jest sprzeczny), • zbiór rozwiązań dopuszczalnych jest nieograniczony w kierunku wzrostu FC w przypadku gdy jest ona maksymalizowana, • zbiór rozwiązań dopuszczalnych jest nieograniczony w kierunku malenia FC gdy jest ona minimalizowana.
11. Simpleks – uniwersalna metoda rozwiązywania modeli liniowych Wiele praktycznych zagadnień z badań operacyjnych może być sformuło-
wane w postaci modeli programowania liniowego. Metoda simpleks jest pod-stawową i uniwersalną metodą umożliwiającą rozwiązywanie wszelkiego typu modeli liniowych. Jest to metoda analityczna umożliwiająca rozwiązywanie modeli niezależnie od ich rozmiarów. Została opracowana przez matematyka Georga Dantziga. Istniej kilka wersji realizacji algorytmu simpleksowego. Oprócz różnych sposobów przeprowadzania obliczeń wersje zawierają metody poprawy zbieżności algorytmu sama idea pozostaje jednak niezmienna. Z po-znawczego punktu widzenia najprostszą wersją jest wersja tablicowa bazująca na metodzie wymiany wektorów. W praktyce do rozwiązywania modeli, już sto-sunkowo niedużych, trzeba stosować aplikacje komputerowe algorytmu sim-pleksowego. Potrzeba taka wynika z dużej liczby obliczeń do wykonania podczas rozwiązywania modelu. Obliczenia przeprowadzane są w cyklu itera-cyjnym.
22
11.1. Idea algorytmu simpleks W algorytmie simpleksowym można wyróżnić dwa podstawowe etapy.
Etap pierwszy polega na wyznaczeniu rozwiązania bazowego dopuszczalnego. Można je osiągnąć wprowadzając do modelu dodatkowe zmienne decyzyjnych. Etap drugi, który polega na „poprawianiu” w drodze kolejno przeprowadzanych iteracji rozwiązania bazowego dopuszczalnego, aż do osiągnięcia rozwiązania optymalnego przy założeniu oczywiście, że takie rozwiązanie istnieje. To „po-prawianie” rozwiązania polega na generowaniu nowych rozwiązań bazowych dopuszczalnych i sprawdzaniu ich pod kątem optymalności. Wartość funkcji celu dla kolejnego rozwiązania (w przypadku zagadnienia z maksymalizacją FC), jest często większa od poprzedniej. Może się zdarzyć, iż w trakcie wyko-nywania obliczeń wartość funkcji celu będzie równa wartości funkcji celu z po-przedniego rozwiązania. Nie może natomiast być ona mniejsza. Analogicznie jest w przypadku minimalizacji FC.
Obliczenia przeprowadzane metodą simpleks mają charakter iteracyjny. W metodzie występują dwa kryteria umożliwiające stwierdzenie czy dane roz-wiązanie bazowe jest rozwiązaniem optymalne a jeżeli nie jest, to czy można wygenerować następne i pozwalają zakończyć iteracyjny tryb obliczeń. Algo-rytm simpleks jest dosyć pracochłonny, szczególnie dla modeli o dużych roz-miarach. Do rozwiązywania takich modeli stosuje się komputerowe aplikacje algorytmu. Wiele programów do wspomagania obliczeń matematycznych umoż-liwia tworzenie procedur obliczeniowych metody simpleks lub jest wyposaża-nych w gotowe moduły simpleksowe. Do bardziej znanych programów, dzięki którym można rozwiązywać modele liniowe metodą simpleks należą: Mathema-tica, MathCAD, Excel, Quantitative Systems for Business.
Przy pomocy metody simpleks rozwiązujemy modele ciągłe programowa-nia liniowego. Na rysunku przedstawiono schemat blokowy metody.
23
Schemat blokowy metody simpleks (dla modelu, w którym FC jest maksymalizowana)
Jak widać z algorytmu w każdej iteracji metody simpleks możliwe są na-stępujące przypadki: • ∆j ≤ 0 dla każdego j = 1,2,...,n to rozwiązanie bazowe dopuszczalne jest
optymalne. • xis ≤ 0 dla każdego i = 1,2,...,n to model nie posiada rozwiązania optymalne-
go.
Wyznaczenie pierwszego rozwiązania bazowego do-
puszczalnego
x= (x1, x2,...,x n) rozwiązanie
bazowe dopuszczalne
x*=(x*1, x*
2,...,x*n)
rozwiązanie optymalne
II etap algorytmu
Model nie posiada rozwiązania optymalnego
N
Czy ∆j ≤ 0 dla każdego j ?
T
I etap algorytmu
Otrzymujemy: x (Θ) =[x1(Θ),...,xn(Θ)]
nowe rozwiązanie bazowe dopuszczalne
Metodą wymiany na miejsce wektora asr wprowadzamy do
bazy wektor as
rs
r
is
i
xrx
xxmin
is x00
0==Θ
>, asr usuwamy z bazy
is
ii x
x 0=Θ dla każdego xis>0
Czy xis ≤ 0 dla każ-
dego i ?
jjs max ∆=∆>∆ 0
as
wprowadzamy do bazy
∑=
=−=∆m
iijsijj njxcc
1
1,..., dla
N
T
START
STOP
STOP
24
• Istnieje ∆s > 0 i istnieje xis > 0 to można uzyskać nowe rozwiązanie bazowe
dopuszczalne. Algorytm simpleks umożliwia nam przechodzenie od jednego rozwiązania
bazowego do następnych, najczęściej coraz to lepszych ze względu na wartość funkcji celu. Iteracje prowadzone są aż do osiągnięcia rozwiązania optymalnego przy założeniu, że ono istnieje. Interesująca wydaje się odpowiedź na pytanie: Ile należy wykonać iteracji aby osiągnąć rozwiązanie optymalne? Niestety ilości iteracji, jakie należałoby wykonać rozwiązując model i dojść do rozwiązania optymalnego nie da się precyzyjnie określić. Wiadomo, że dla układu o n zmiennych decyzyjnych i m warunkach ograniczających zasadniczych jest co najwyżej
( )!!!
mnmn
mn
−=
rozwiązań bazowych. Wiadomo również, że metoda simpleks nie przeszukuje wszystkich rozwiązań bazowych lecz tylko wybrane. Sposób wyboru jest ukie-runkowany.
Dla większości przypadków algorytm jest zbieżny w skończonej liczbie ite-racji. Z doświadczenia obliczeniowego wynika, że liczba przeprowadzonych iteracji na ogół zawiera się w granicach od liczby odpowiadającej ilości warun-ków ograniczających zasadniczych modelu do trzykrotnej liczby warunków. W literaturze spotyka się również oszacowanie liczby iteracji na 2(n+m). Wszystkie tego typu informacje wynikają głównie z doświadczeń obliczenio-wych i są jedynie wartościami szacunkowymi.
12. Modelowanie zagadnienia transportowego Zagadnienie transportowe (ZT) sformułował F.L. Hitchock w 1941 roku.
Jest ono szczególnym przypadkiem zadania programowania liniowego całkowi-toliczbowego. Ogólnie problem transportowy dotyczy opracowania planu prze-wozu dowolnego jednorodnego produktu z wielu źródeł zaopatrzenia do wielu punktów zgłaszających zapotrzebowanie na ten produkt. Kryterium optymaliza-cji planu przewozów jest najczęściej zdefiniowane jako minimalizacja łącznych kosztów transportu. Do tak sformułowanego zagadnienia można sprowadzić wiele innych zagadnień niekoniecznie transportowych, które mogą nie mieć nic wspólnego z przesyłaniem ładunków i minimalizacją kosztów transportu.
Jak wiadomo, metoda simpleks jest uniwersalną metodą służącą do rozwią-zywania modeli liniowych. Jednak nie zawsze musimy ją stosować. Niektóre rodzaje modeli można rozwiązywać uproszczonym sposobem poprzez stosowa-nie algorytmu transportowego. Nazwa algorytm transportowy pochodzi stąd, że
25
po raz pierwszy był on wykorzystany do rozwiązywania zagadnień związanych z transportem.
Algorytm transportowy pozwala rozwiązywać pewne szczególne przypadki modeli liniowych. Jest on dla tych modeli dużo bardziej efektywny niż algorytm simpleks. Można oczywiście również stosować dla nich standardowy algorytm simpleks.
Istnieje wiele wersji algorytmu transportowego umożliwiającego rozwiąza-nie zagadnień transportowych. W praktyce rozwiązywanie modeli transporto-wych o dużych rozmiarach ogranicza się do wykorzystania programów kompu-terowych realizujących jeden z takich algorytmów obliczeniowych.
12.1. Sformułowanie klasycznego zagadnienia transportowego W klasycznym zagadnieniu transportowym opisuje się przemieszczanie
jednorodnego ładunku z wielu punktów wysyłki do wielu punktów odbioru. Liczba punktów wysyłki nie musi być równa liczbie punktów odbioru ładun-ków. Zagadnienie takie może być sformułowane następująco.
Dana jest pewna ilość jednostek ładunku w kilku punktach nadania (ozna-czymy je przez ai, i=1,2,...,m). Będzie on przesyłany do określonych punktów przeznaczenia (oznaczymy je przez bj, j=1,2,...,n). Znane są zdolności wysył-kowe poszczególnych punktów nadania oraz zapotrzebowanie na ten ładunek w poszczególnych punktach odbioru. Znane są również jednostkowe koszty przesyłu ładunków od nadawców do odbiorców. W rozwiązaniu należy wyzna-czyć ilości xij jednostek ładunku, które będziemy transportować z punktów na-dania do punktów odbioru. Kryterium przyjmuje się jako minimalizacja całko-witego kosztu operacji transportowej.
12.2. Model matematyczny zagadnienia transportowego Model normatywny podanego problemu rozwiązywanego metodami badań
operacyjnych będziemy konstruować w oparciu o sformułowany wcześniej plan. Przypomnijmy ten plan.
a) określenie zmiennych decyzyjnych, b) określenie parametrów, c) budowa funkcji celu, d) budowa warunków ograniczających.
Przyjmijmy następujące oznaczenia: m - ilość punktów nadania ładunku, n - ilość punktów odbioru, ai - ilość jednostek ładunku przeznaczona do wysłania od i-tego nadawcy,
26
Σai - całkowita zdolność wysyłkowa wszystkich punktów nadania, bj - zgłaszane zapotrzebowanie na ilość jednostek ładunku przez j-tego odbiorcę, Σbj - całkowite zapotrzebowanie na ładunek w punktach przeznaczenia,
cij - jednostkowy koszt przewozu ładunku z punktu nadania i do punktu odbioru j.
Zmienne decyzyjne, których wartości będziemy poszukiwali rozwiązując
model określimy jako: xij - ilość jednostek ładunku, przesyłana z i-tego punktu nadania do j-tego punktu odbioru. Zmiennych będzie m* n.
Parametry w zagadnieniu są typu deterministycznego i będą to wielkości ai, bj, cij. Funkcję celu można zapisać:
FC= x11c11 + x12c12 + ... + xijcij → min lub krócej:
mincxFC ij
m
i
n
jij →∑ ∑=
= =1 1
czyli będzie to minimalizacja łącznych kosztów przewozu wszystkich ładunków ze wszystkich punktów nadania do wszystkich punktów przeznaczenia.
Warunki ograniczające zapiszemy następująco:
warunki ograniczające zasadnicze (WOZ), warunki dodatkowe (WD).
Model ten jest oczywiście zadaniem programowania liniowego o m+n wa-runkach ograniczających, posiadający m* n zmiennych. Ogólny analityczny model klasycznego zagadnienia transportowego ma więc postać:
mincxFC ij
m
i
n
jij →∑ ∑=
= =1 1
przy warunkach ograniczających
≥
=∑
=∑
=
=
0
,...1,2, = dla
,...1,2, = dla
1
1
ij
j
m
iij
i
n
jij
x
njbx
mi ax
27
≥
=∑
=∑
=
=
0
,...1,2, = dla
,...1,2, = dla
1
1
ij
j
m
iij
i
n
jij
x
njbx
miax
Zagadnienie transportowe bywa często przedstawiane w postaci tabela-
rycznej. Tabela oznaczana jest przez Cij. Tablica taka w sposób przejrzysty po-zwala zapisać nam model transportowy. Z tablicą opisującą model transportowy związana jest tablica rozwiązań modelu oznaczana jako Xij. Przykładowy zapis tablicy transportowej Cij może być następujący:
Tabelaryczna postać modelu klasycznego zagadnienia transportowego
Wielkość nadania ładunku
Nad- awcy
ai c11
x11 c12
x12 c1n
x1n a1 1
c21 x21
c22 x22
c2n x2n a2 2
[Cij] = 3 ... ... ... ... ... ... ... am-1 m-1 cm1
xm1 cm2
xm2 cmn
xmn am m
Wielkość zapotrzebowania na ładunek bj
b1 b2 b3
bn -1 bn
Odbiorcy 1 2 3 ... n-1 n
12.3. Postacie modeli zagadnienia transportowego Istnieje kilka postaci które może mieć zagadnienie transportowe. Należą do
nich zagadnienie transportowe zbilansowane lub niezbilansowane, zagadnienie z blokadą tras, zagadnienie z ograniczoną przepustowością tras, wieloetapowe zagadnienie transportowe.
Jeżeli całkowita ilość ładunku w punktach nadania jest równa całkowitej ilości zapotrzebowania na ten ładunek w punktach odbioru czyli
∑=∑==
n
jj
m
ii ba
11 i = 1,2,...,m , j = 1,2,...,n
28
to zagadnienie jest zbilansowane. Jeżeli równość nie zachodzi to zagadnienie jest niezbilansowane. Zadanie może być niezbilansowane ponieważ jest więcej ładunku do wysłania niż zgłaszają zapotrzebowanie odbiorcy lub odwrotnie. W przypadku nie zbilansowania wprowadza się fikcyjnego odbiorcę lub fikcyj-nego nadawcę.
Zagadnienie transportowe z blokadą tras to takie zadanie, w którym niektó-re kierunki przemieszczania np. ładunków są niedozwolone. Czyli wartości zmiennych decyzyjnych dla kierunków blokowanych po znalezieniu rozwiąza-nia optymalnego muszą być równe zero. Pamiętając, wzór na funkcję celu łatwo można wnioskować, że dla blokowanych pól tablicy transportowej parametr cij powinien mieć dostatecznie dużą wartość aby taka blokada wystąpiła w rozwią-zaniu. W praktyce obliczeniowej jako wartość cij dla kierunków blokowanych przyjmuje się 3-4 krotność największego parametru cij występującego w modelu i to wystarcza aby zablokować wymagane kierunki przesyłu.
Istnieją przypadki gdy ładunek jest transportowany w wielu etapach. Przy-kładowo od wytwórcy do magazynów i dalej z magazynów do odbiorców. Mó-wimy wtedy o wieloetapowym zagadnieniu transportowym. Może być ono połą-czone z blokadą wybranych kierunków przemieszczania ładunków.
12.4. Rozwiązywanie modelu zagadnienia transportowego Istnieje wiele metod rozwiązywania podanego problemu transportowego.
Metody te opierają się na postępowaniu iteracyjnym. Ogólnie można je podzie-lić na dwie grupy: metody dualne i metody proste. W metodach dualnych pierw-sze otrzymane rozwiązanie spełniające warunki ograniczające zadania jest zara-zem rozwiązaniem optymalnym. Do metod dualnych należą m. in. metoda po-tencjałów L.W. Kantorowicza, metoda węgierska A.W. Kuhna, metoda D.R. Fulkersona i L.R. Forda. Są to metody dosyć skomplikowane i pracochłonne. Najbardziej rozpowszechnione są metody proste. Charakteryzują się one mniej-szą pracochłonnością i mniej skomplikowaną procedurą obliczeniową. Metody proste składają się z dwóch etapów postępowania (podobnie jak metoda sim-pleks).
Etap I - polega na znalezieniu początkowej tablicy przepływów spełniają-cej WO modelu (wyznaczenie rozwiązania dopuszczalnego). Rozwiązanie to najczęściej nie gwarantuje jeszcze osiągnięcia minimalnej wartości FC.
Etap II - polega na poprawianiu, podczas kolejnych obliczeń iteracyjnych, rozwiązania dopuszczalnego aż do momentu otrzymania rozwiązania optymal-nego. Wykonywanie obliczeń w etapie drugim zazwyczaj jest dużo bardziej pra-cochłonne niż w etapie pierwszym.
29
Etap I można osiągnąć stosując np. jedną z wymienionych metod:
• metoda kąta północno-zachodniego, • metoda minimalnego elementu w wierszu tablicy transportowej, • metoda minimalnego elementu w kolumnie tablicy transportowej, • metoda minimalnego elementu w tablicy transportowej, • metoda aproksymacyjna W.R. Vogla (VAM), • metoda Vogla z modyfikacją W. Szwarca (MVAM).
Bardziej znane metody drugiego etapu to:
• metoda G.B. Dantziga, • metoda "Modi" R.O. Fergusona, • metoda W. Szwarca oparta na teorii grafów macierzowych.
Rozwiązanie dopuszczalne znalezione dowolną metodą z etapu I, może być
ulepszane dowolną metodą z etapu II. Działanie takie w skończonej liczbie ite-racji doprowadza do uzyskania rozwiązania optymalnego. Skończone minimalne rozwiązanie zagadnienia transportowego zawsze istnieje. Zagadnienie transpor-towe może mieć wiele rozwiązań optymalnych o takiej samej minimalnej warto-ści funkcji celu. Rozwiązanie optymalne zagadnienia transportowego, w którym wszystkie parametry ai i bj są dodatnimi liczbami całkowitymi, jest całkowito-liczbowe.
W każdej iteracji drugiego etapu algorytmu transportowego może wystąpić problem degeneracji rozwiązania. Degeneracja występuje wtedy, gdy liczba zmiennych decyzyjnych o wartościach różnych od zera jest mniejsza niż suma wierszy i kolumn tablicy transportowej pomniejszona o jeden (n+m-1). Podob-nie jak w algorytmie simpleks należy ją usunąć aby móc uzyskać następne roz-wiązanie. Dwu etapowy algorytm transportowy został przedstawiony na rys. 12.1.
30
Algorytm transportowy
Rys. 12.1. Algorytm transportowy
Wybrać z [cijr] pole
o min. wartości i odnieść to pole na macierz cij. W pole to przemieścić (w obiegu zamkniętym) max. możliwą wielkość xij. Powstanie nowe rozwiązanie dopuszczalne.
Wyznaczenie pierwszego rozwiązania bazowego
dopuszczalnego
X= (x11, x12,...,xij) rozwiązanie
bazowe dopuszczalne
I etap algorytmu
Wyznaczyć wektory u i v dla rozw. dopszczalnego
Czy wystąpiła degeneracja
rozwiązania ?
N
T Usunąć degenerację
Utworzyć tablicę Cij ui + vj =Cij
Obliczyć [Cij
r]=[Cij] - [ Cij]
N
T
[Cijr] ≥ 0
Rozwiązanie X*= (x*
11, x*12,...,x*
ij) jest rozwiązaniem optymalnym
II etap algorytmu
START
STOP
31
12.5 Przykład modelowania zagadnienia transportowego Zbudować model dwuetapowego zagadnienia transportowego. Przedsię-
biorstwa P1, P2, P3, P4, P5, zaopatrują w ładunek czterech odbiorców ozna-czonych przez O1, O2, O3, O4. Ładunek jest przemieszczany z przedsiębiorstw do magazynów M1, M2, i M3 a następnie do odbiorców. Przedsiębiorstwa w określonym czasie będą wysyłały następujące ilości ładunku: P1 = 230, P2 = 156, P3 = 130, P4 = 95 i P5 = 43. Zapotrzebowanie poszczególnych od-biorców wynosi O1 = 180, O2 = 240, O3 = 75, O4 = 145. Pojemność każdego z trzech magazynów w rozpatrywanym okresie czasu wynosi 800 jednostek ła-dunku. Znane są koszty transportu cij jednostki ładunku z przedsiębiorstw do magazynów [C1] i z magazynów do odbiorców [C2]. Są one podane w tabli-cach.
[C1] =
[C2] =
Należy wyznaczyć plan przewozu ładunków z przedsiębiorstw do magazy-nów i z magazynów do odbiorców. Jako kryterium optymalizacji przyjąć mini-malizację łącznych kosztów całej operacji transportowej.
Podane zadanie transportowe można zapisać w jednej tablicy transportowej [C]. Aby było to możliwe należy wykorzystać blokadę tras: przedsiębiorstwa – odbiorcy [B1] oraz pomiędzy magazynami [B2]. [C ]=
22 24 16 P1 18 25 13 P2 20 18 15 P3 16 23 20 P4 11 19 24 P5 M1 M2 M3
11 16 10 18 M1 15 17 14 12 M2 19 15 11 13 M3 O1 O2 O3 O4
C1 B1
B2 C2
32
Zmienną decyzyjną przyjmiemy: xi j - ilość ładunku przesyłanego od i-tego dostawcy do j-tego odbiorcy Będziemy minimalizować funkcję celu:
FC: ∑∑i j
ijij x*c à min
Utworzymy tablicę [C], w blokowane pola jako parametr cij wprowadzimy dostateczne dużą liczbę aby nie było możliwe przemieszczanie ładunku na tych kierunkach. W tablicy B2 na przekątnej wprowadzimy cij=0, po wyznaczeniu rozwiązania w tych polach otrzymamy informację o wielkości niewykorzystania pojemności danego magazynu.
Po rozwiązaniu modelu otrzymamy tablicę Xij przepływów ładunków oraz FCmin=17927.
Rozwiązanie optymalne dwuetapowego zadania transportowego podanego w przykładzie – tablica przepływów ładunków
22 24 16 100 100 100 100 P1
18 25 13 100 100 100 100 P2
20 18 15 100 100 100 100 P3
16 23 20 100 100 100 100 P4
11 19 24 100 100 100 100 P5
0 100 100 11 16 10 18 M1
100 0 100 15 17 14 12 M2
100 100 0 19 15 11 13 M3
M1 M2 M3 O1 O2 O3 O4
33
[Xij ]=
Zadanie transportowe jest niezbilansowane i dlatego w rozwiązaniu pojawił się fikcyjny odbiorca oznaczony przez FO1. Widzimy, że blokada tras przesyłu ładunków na wymaganych kierunkach, została zachowana. Ponadto można za-uważyć - ładunek nie będzie przemieszczany do magazynu M2. Minimalną war-tość funkcji celu, powodują przepływy ładunków podane w tablicy rozwiązań.
14 216 230
156 156
42 88 130
95 95
43 43
620 180 800
800 800
340 240 75 145 800
FO1 800 800 800 180 240 75 145
34
Bibliografia
1. Adamczyk H.: Badania operacyjne. Oficyna Wydawnicza WSEiZ w Warszawie. War-szawa 1999.
2. Borkowski B., Dudek H., Szczęsny W. : Ekonometria wybrane zagadnienia. PWN, Warszawa 2004.
3. Borucki W., Ignasiak E., Marcinkowski J., Sikora W.: Badania Operacyjne. PWE, Warszawa 1996.
4. Całczyński A. i inni.: Elementy badań operacyjnych w zarządzaniu. T1,2 Wyd. PR, Radom 2000. *
5. Całczyński A.: Metody optymalizacji decyzji w przemyśle. cz. I i cz. II. Wyd. WSI, Radom 1988.
6. Całczyński A.: Metody optymalizacyjne w obsłudze transportowej rynku. PWE, War-szawa 1992.
7. Całczyński A., Sochańska J, Szczepankiewicz W.: Metody racjonalizacji przewozów w obrocie towarowym. Wyd. AE, Kraków 1988.
8. Filipowicz B.: Matematyczne modelowanie zagadnień decyzyjnych. cz. I. Wyd. AGH, Kraków 1998. *
9. Findeisen Wł., Szymanowski J., Wierzbicki A.: Teoria i metody obliczeniowe optyma-lizacji. PWN, Warszawa 1980.
10. Glinka M.: Elementy badań operacyjnych w transporcie. Wydanie II Wydaw. Poli-techniki Radomskiej. Radom 2009.*
11. Goryl A., Jędrzejczak Z., Kukuła K., Osiewalski J., Walkosz A.: Wprowadzenie do ekonometrii w przykładach i zadaniach. PWN, Warszawa 2004.
12. Grabowski W.: Programowanie matematyczne. PWE, Warszawa 1980.
13. Groszek M.: Excel 2003 PL. Helion, Gliwice 2003.
14. Grudzewski W. i inni.: Badania operacyjne w organizacji i zarządzaniu. PWN, War-szawa 1985.
15. Heilpern S.: Podejmowanie decyzji w warunkach ryzyka i niepewności. Wyd. AE, Wrocław 2001.
16. Ignasiak E.: Badania operacyjne. Praca zbiorowa pod redakcją Edmunda Ignasiaka. Wydanie II. PWE, Warszawa 1997.
17. Ignasiak E.: Badania operacyjne. Praca zbiorowa pod redakcją Edmunda Ignasiaka. Wydanie III. PWE, Warszawa 2001. *
35
18. Ignasiak E.: Programowanie sieciowe. PWE, Warszawa 1975.
19. Ignasiak E.: Teoria grafów i planowanie sieciowe. PWE, Warszawa 1982.
20. Jakubowski K.: Mathcad 2000 Professional. Exit, Warszawa 2000.
21. Jastriebow A., Wciślik M.: Optymalizacja - teoria, algorytmy i ich realizacja w MA-TLAB-ie. Wyd. PŚ, Kielce 2004.
22. Jędrzejczyk Z., Kukuła K., Skrzypek J.: Badania operacyjne w przykładach i zadaniach. PWN, Warszawa 1996. *
23. Kasprzak T. i inni.: Optymalizacja dyskretna. Zastosowania ekonomiczne. PWE, War-szawa 1984.
24. Kopańska-Bródka D., Dudzińska R.: Modele liniowe badań operacyjnych w zada-niach. Wyd. ŚWSZ, Katowice 2005.
25. Krawczyk S.: Matematyczna analiza sytuacji decyzyjnych. PWE, Warszawa 1990.
26. Kryński H., Badach A.: Zastosowania matematyki do podejmowania decyzji ekono-micznych. Zagadnienia wybrane. PWN, Warszawa 1976.
27. Kucharski T.: Programowanie obliczeń inżynierskich. Wyd. PG, Gdańsk 2000.
28. Masłowski K.: Excel 2003 PL :Ilustrowany przewodnik. Helion, Gliwice 2005.
29. Mikołajczyk Z.: Techniki organizatorskie w rozwiązywaniu problemów zarządzania. PWN, Warszawa 2004.
30. Mrozek B., Mrozek Z.: MATLAB: leksykon kieszonkowy. Helion, Gliwice 2005.
31. Nowak E.: Elementy badań operacyjnych. Wyd. UMCS. Lublin 1997.
32. Ostanin A.: Laboratorium metod optymalizacji. Wyd. PB, Białystok 2004.
33. Paleczek W.: Mathcad 12, 11, 2001i, 2001, 2000 w algorytmach. Exit, Warszawa 2005.
34. Pietraszek J.: Mathcad. Ćwiczenia. Helion, Gliwice 2002.
35. Podręcznik użytkownika Microsoft Excel. Wersja 5 Microsoft Corporation.
36. Regel W.: Mathcad przykłady zastosowań. Mikom, Warszawa 2004.
37. Sadowski W.: Teoria podejmowania decyzji. Wstęp do badań operacyjnych. PWE, Warszawa 1973. *
38. Seidler J., Badach A., Molisz W.: Metody rozwiązywania zadań optymalizacji. WNT, Warszawa 1980.
36
39. Siudak M.: Badania operacyjne. Wyd. PW, Warszawa 1997. *
40. Sokół M.: Mathcad. Leksykon kieszonkowy. Helion, Warszawa 2005.
41. Stachurski M.: Metody numeryczne w programie Matlab. Mikom, Warszawa 2003.
42. Stadnicki J.: Teoria i praktyka rozwiązywania zadań optymalizacji z przykładami za-stosowań technicznych. WNT Warszawa 2006.
43. Szapiro T.: Decyzje menedżerskie z Excelem. Praca zbiorowa. PWE, Warszawa 2000.
44. Sysło M.M., Deo N., Kowalik J.S.: Algorytmy optymalizacji dyskretnej z programami w języku Pascal. PWN, Warszawa 1995.
45. Trzaskalik T.: Metody i zastosowania badań operacyjnych. Wyd. Absolwent, Łódź 1997.
46. Trzaskalik T.: Modelowanie optymalizacyjne. Przedsiębiorstwo Specjalistyczne Absolwent, Łódź 2000. *
47. Trzaskalik T.: Wielokryterialne dyskretne programowanie dynamiczne. Wyd. AE, w Katowicach Katowice 1990.
48. Trzaskalik T.: Wprowadzenie do badań operacyjnych z komputerem. PWE, Warszawa 2003. *
49. Twardowska K., Łodyga P.: Modele zarządzania wspomagane Excelem. Oficyna Wy-dawnicza PW, Warszawa 2003. *
50. Wagner H.M.: Badania operacyjne. Zastosowania w zarządzaniu. PWE, Warszawa 1985. *
51. Walkenbach J.: Biblia Excel 2000. Wyd. RM, Warszawa 1999.
52. Wilson R.J.: Wprowadzenie do teorii grafów. PWN, Warszawa 1985.
53. Witkowski T.: Decyzje w zarządzaniu przedsiębiorstwem. WNT, Warszawa 2000. *
54. Yih-long Chang.: WinQSB Version 2.0. Wyd. John Wiley & Sons 2003.
55. Zalewski A., Cegieła R.: MATLAB - obliczenia numeryczne i ich zastosowania. Wyd. Nakom, Poznań 2002.
56. Zorychta K., Ogryczak W.: Programowanie liniowe i całkowitoliczbowe. WNT, War-szawa 1981.
* - pozycje polecane.