Wykład 2 - Wydział Zarządzania

Download Report

Transcript Wykład 2 - Wydział Zarządzania

D. Ciołek
BADANIA OPERACYJNE – wykład 2
BADANIA OPERACYJNE
Wykład 2: Przykłady modeli liniowych. Metoda simpleks
dr Dorota Ciołek
Katedra Ekonometrii
Wydział Zarządzania UG
http://wzr.pl/dc
D. Ciołek
BADANIA OPERACYJNE – wykład 2
Przykłady liniowych modeli decyzyjnych
1) Programowanie asortymentu produkcji;
2) Zagadnienie diety (mieszanki);
3) Zagadnienie cięcia (rozkroju);
4) Zagadnienie transportowe;
5) Zagadnienie przydziału.
D. Ciołek
BADANIA OPERACYJNE – wykład 2
Zagadnienie rozkroju
Fabryka celulozy i papieru otrzymała zamówienie na
wykonanie 150 zwojów papieru o szerokości 105 cm,
200 zwojów papieru o szerokości 75 cm i 150 zwojów
papieru o szerokości 35 cm. Jako surowiec zostanie
użyty papier zrolowany o szerokości 2 m. W jaki sposób
fabryka ma zrealizować zamówienia, przy założeniu, że
w procesie cięcia papieru odpad będzie jak
najmniejszy?
D. Ciołek
BADANIA OPERACYJNE – wykład 2
Przykłady liniowych modeli decyzyjnych
4) Zagadnienie transportowe
Na rynku znajduje się m dostawców pewnego towaru i n
odbiorców tego towaru. Dostawca D1 może zaoferować a1
ilości danego produktu, dostawca D2 dysponuje ilością a2
tego produktu, … , dostawca Dm ma am ilości produktu.
Poszczególni odbiorcy zgłaszają zapotrzebowanie na b1, b2,…,
bn ilości produktu. Koszty jednostkowe transportu od
i-tego dostawcy do j-tego odbiorcy wynoszą cij, zaś
wielkość przewiezionego ładunku określa zmienna Xij.
Zakładamy, że łączna wielkość towaru jakim dysponują
dostawcy jest równa łącznemu zgłaszanemu
zapotrzebowaniu – Zagadnienie zbilansowane.
Ustalić sposób przewożenia towaru, tak aby łączny koszt
transportu był jak najmniejszy.
D. Ciołek
BADANIA OPERACYJNE – wykład 2
Przykłady liniowych modeli decyzyjnych
4) Zagadnienie transportowe
F ( X )  c11 X 11  c12 X 12  ... c1n X 1n  ... cm1 X m1  ... cmn X mn  min
X 11  X 12  ... X 1n  a1
X 21  X 22  ... X 2 n  a2
..........
..........
..........
.......
X m1  X m 2  ... X mn  am
X 11  X 21  ... X m1  b1
X 12  X 22  ... X m 2  b2
..........
..........
..........
........
X 1n  X 2 n  ... X mn  bn
X ij  0 (i  1,2,...,m; j  1,2,...,n)
D. Ciołek
BADANIA OPERACYJNE – wykład 2
Zagadnienie transportowe
Cztery piekarnie zlokalizowane na terenie miasta są zaopatrywane w
mąkę z dwóch magazynów znajdujących się na peryferiach.
Zasoby tego surowca wynoszą: w magazynie A – 130 ton, w
magazynie B – 200 ton, a zapotrzebowanie piekarni wynosi
odpowiednio 80, 120, 70 i 60. Koszty jednostkowe dostawy mąki
do piekarni zależą tylko od odległości, które podano w tablicy.
Piekarnie
Magazyny
1
2
3
4
A
B
25
17
24
30
28
15
13
16
D. Ciołek
BADANIA OPERACYJNE – wykład 2
Przykłady liniowych modeli decyzyjnych
5) Zagadnienie przydziału
Zakład zatrudnia n pracowników, którzy maja pracować na n
stanowiskach pracy. Znana jest wydajność pracy i-tego
pracownika na j-tym stanowisku pracy.
Zakłada się, że każdy pracownik może pracować tylko na
jednym stanowisku pracy oraz, ze na jednym stanowisku
pracy może pracować tylko jeden pracownik.
Ustalić taki plan przydziału pracowników do stanowisk pracy,
aby łączny efekt ich zatrudnienia był maksymalny.
D. Ciołek
BADANIA OPERACYJNE – wykład 2
Przykłady liniowych modeli decyzyjnych
5) Zagadnienie przydziału
F ( X )  c11 X 11  c12 X 12  ...  c1n X 1n  ...  c n1 X n1  ...  c nn X nn  max
X 11  X 12  ...  X 1n  1
X 21  X 22  ...  X 2 n  1
..........
..........
..........
.......
X n1  X n 2  ...  X nn  1
X 11  X 21  ...  X n1  1
X 12  X 22  ...  X n 2  1
..........
..........
..........
........
X 1n  X 2 n  ...  X nn  1
X ij  0  1.
D. Ciołek
BADANIA OPERACYJNE – wykład 2
Zagadnienie przydziału
(Ignasiak E. (red.), (1996), Badania operacyjne.)
Na wydziale obróbki mechanicznej działają cztery maszyny i czterech
obsługujących je robotników. Znana jest wydajność każdego robotnika
na poszczególnych stanowiskach. Wydajność tę określa liczba detali,
które dany robotnik może wykonać na danej maszynie w ciągu jednej
godziny. Przedstawiono ją w tablicy:
wij
M1
R1
6
R2
7
R3
8
R4
4
M2
12
6
9
8
M3
10
5
9
7
M4
13
11
7
9
Należy zapisać matematyczny model zagadnienia oraz przy pomocy
algorytmu węgierskiego ustalić taki przydział robotników do
poszczególnych stanowisk, aby łączna wydajność całego zespołu była
maksymalna.
D. Ciołek
Idea metody simpleks
BADANIA OPERACYJNE – wykład 2
Metoda simpleks – uniwersalna, pozwala na znalezienie
rozwiązania optymalnego dla każdego liniowego modelu
decyzyjnego, które ma rozwiązanie.
Sekwencyjne ukierunkowane sprawdzanie rozwiązań.
Załóżmy, że mamy LMD z n zmiennymi decyzyjnymi i m
warunkami ograniczającymi.
Można rozpocząć rozwiązywanie modelu metodą simpleks:
gdy w macierzy współczynników z warunków
ograniczających A, znajduje się podmacierz kwadratowa
o wymiarze m, której kolumny są liniowo niezależne
(macierz jednostkowa).
Jeżeli w macierz A znajduje się taka macierz możemy wskazać
rozwiązanie bazowe.
D. Ciołek
BADANIA OPERACYJNE – wykład 2
Idea metody simpleks
Rozpoczynamy od modelu w postaci kanonicznej. (MAX)
c1 x1  c2 x2    cn xn  0 s1  0 s 2 ... 0 sm  max
a11 x1  a12 x2    a1n xn  s1  b1
a21 x1  a22 x2    a2 n xn  s 2  b2


am1 x1  am 2 x2    amn xn  sm  bm
x1 , x2 ,, xn  0
s1, s 2, ...,sm  0
D. Ciołek
BADANIA OPERACYJNE – wykład 2
Idea metody simpleks
Rozpoczynamy od modelu w postaci kanonicznej. (MAX)
c1 x1  c2 x2    cn xn  0 s1  0 s 2 ... 0 sm  max
a11 x1  a12 x2    a1n xn  s1  b1
a21 x1  a22 x2    a2 n xn  s 2  b2


am1 x1  am 2 x2    amn xn  sm  bm
x1 , x2 ,, xn  0
s1, s 2, ...,sm  0
Macierz A:
 a11
a
A   21
 

a m1
a12
 a1n
a 22

 a 2n
 
a m 2  a mn
1 0  0
0 1  0
   

0 0  1
D. Ciołek
BADANIA OPERACYJNE – wykład 2
Idea metody simpleks
Rozpoczynamy od modelu w postaci kanonicznej. (MAX)
c1 x1  c2 x2    cn xn  0 s1  0 s 2 ... 0 sm  max
a11 x1  a12 x2    a1n xn  s1  b1
a21 x1  a22 x2    a2 n xn  s 2  b2


am1 x1  am 2 x2    amn xn  sm  bm
x1 , x2 ,, xn  0
s1, s 2, ...,sm  0
Macierz A:
 a11
a
A   21
 

a m1
a12
 a1n
a 22

 a 2n
 
a m 2  a mn
1 0  0
0 1  0
   

0 0  1
D. Ciołek
BADANIA OPERACYJNE – wykład 2
Idea metody simpleks
Zmienne, przy których znajduje się macierz jednostkowa
(zmienne bazowe) przyjmują niezerowe wartości w
danym rozwiązaniu bazowym. Zmienne niebazowe są
równe zero.
Wartości zmiennych bazowych w rozwiązaniu początkowym
równe są elementom wektora wyrazów wolnych b.
Zdegenerowane rozwiązanie bazowe – chociaż jedna
zmienna bazowa jest równa zero. Wówczas mogą nastąpić
tzw. martwe kroki – przechodzimy od jednego rozwiązania
do drugiego związanych z tym samym punktem, wartość
funkcji celu się nie zmienia.
D. Ciołek
BADANIA OPERACYJNE – wykład 2
Tablica simpleks
(max – bez sztucznej bazy)
x1
x2
…
xn
s1
…
sm
baza
cj
c1
c2
…
cn
0
…
0
bj
s1
0
a11
a11
…
a11
1
…
0
b1
s2
0
a21
a21
…
a21
0
…
0
b2
…
…
…
…
…
…
…
…
…
…
sm
0
am1
am1
…
am1
0
…
1
bm
cj - zj
Big M
0
0
0
0
0
0
0
0
0
D. Ciołek
BADANIA OPERACYJNE – wykład 2
Tablica simpleks
(max – bez sztucznej bazy)
x1
x2
…
xn
s1
…
sm
baza
cj
c1
c2
…
cn
0
…
0
bj
s1
0
a11
a11
…
a11
1
…
0
b1
s2
0
a21
a21
…
a21
0
…
0
b2
…
…
…
…
…
…
…
…
…
…
sm
0
am1
am1
…
am1
0
…
1
bm
cj - zj
Big M
0
0
0
0
0
0
0
0
0
D. Ciołek
BADANIA OPERACYJNE – wykład 2
Tablica simpleks
(max – bez sztucznej bazy)
x1
x2
…
xn
s1
…
sm
baza
cj
c1
c2
…
cn
0
…
0
bj
s1
0
a11
a11
…
a11
1
…
0
b1
s2
0
a21
a21
…
a21
0
…
0
b2
…
…
…
…
…
…
…
…
…
…
sm
0
am1
am1
…
am1
0
…
1
bm
cj - zj
Big M
0
0
0
0
0
0
0
0
0
D. Ciołek
BADANIA OPERACYJNE – wykład 2
Tablica simpleks
(max – bez sztucznej bazy)
x1
x2
…
xn
s1
…
sm
baza
cj
c1
c2
…
cn
0
…
0
bj
s1
0
a11
a11
…
a11
1
…
0
b1
s2
0
a21
a21
…
a21
0
…
0
b2
…
…
…
…
…
…
…
…
…
…
sm
0
am1
am1
…
am1
0
…
1
bm
cj - zj
Big M
0
0
0
0
0
0
0
0
0
D. Ciołek
BADANIA OPERACYJNE – wykład 2
Metody simpleks (tablicowo)
Początkowa tablica simpleks zawiera pierwsze rozwiązanie
bazowe.
Każda zmienna w danym rozwiązaniu ma swój wskaźnik
optymalizacyjny (cj – zj):

Dla zmiennych bazowych jest on równy zero.

Dla zmiennych niebazowych określa jak się zmieni wartość
funkcji celu, jeżeli dana zmienna przyjmie wartość jeden.
D. Ciołek
BADANIA OPERACYJNE – wykład 2
Tablica simpleks
(max – bez sztucznej bazy)
x1
x2
…
xn
s1
…
sm
baza
cj
c1
c2
…
cn
0
…
0
bj
s1
0
a11
a11
…
a11
1
…
0
b1
s2
0
a21
a21
…
a21
0
…
0
b2
…
…
…
…
…
…
…
…
…
…
sm
0
am1
am1
…
am1
0
…
1
bm
cj - zj
c1
c2
…
cn
0
…
0
0
Big M
0
0
0
0
0
0
0
0
D. Ciołek
BADANIA OPERACYJNE – wykład 2
Metody simpleks (tablicowo)
Początkowa tablica simpleks zawiera pierwsze rozwiązanie
bazowe.
Każda zmienna w danym rozwiązaniu ma swój wskaźnik
optymalizacyjny (cj – zj):

Dla zmiennych bazowych jest on równy zero.

Dla zmiennych niebazowych określa jak się zmieni wartość
funkcji celu, jeżeli dana zmienna przyjmie wartość jeden.
Kryterium optymalności:
Dane rozwiązanie bazowe jest optymalne, jeżeli wskaźniki
optymalizacyjne dla zmiennych niebazowych są:

niedodatnie – dla maksymalizacji,

nieujemne – dla minimalizacji.
D. Ciołek
BADANIA OPERACYJNE – wykład 2
Metody simpleks (tablicowo)
Jeżeli w początkowej tablicy simpleks nie jest zawarte
rozwiązanie optymalne należy przejść do kolejnej tablicy
(kolejnego wierzchołka).
Kryterium wyboru zmiennej wprowadzanej do bazy:

Dla maksymalizacji do bazy wejdzie zmienna niebazowa,
dla której współczynnik optymalizacyjny ma największą
wartość dodatnią.

Dla minimalizacji do bazy wejdzie zmienna niebazowa, dla
której współczynnik optymalizacyjny ma największą
wartość ujemną.
D. Ciołek
BADANIA OPERACYJNE – wykład 2
Metody simpleks (tablicowo)
Reguła wyboru zmiennej usuwanej z bazy:
Elementy kolumny bj dzielimy przez odpowiednie elementy
kolumny przy zmiennej wchodzącej do bazy.
Zmienna wejdzie na to miejsce w bazie, gdzie iloraz będzie
najmniejszy, po warunkiem, że jest większy od zera.
(Brak ilorazów dodatnich oznacza, że zagadnienie nie ma
rozwiązania optymalnego – należy przerwać obliczenia).
Wyznaczanie nowej tablicy simpleksowej:

Przekształcenia Gaussa,

Przekształcenia Jordana.
D. Ciołek
BADANIA OPERACYJNE – wykład 2
Idea metody simpleks – min
Model w postaci kanonicznej. (MIN)
c1 x1  c2 x2    cn xn  0 s1  0 s 2 ... 0 sm  min
a11 x1  a12 x2    a1n xn  s1  b1
a21 x1  a22 x2    a2 n xn  s 2  b2


am1 x1  am 2 x2    amn xn  sm  bm
x1 , x2 ,, xn  0
s1, s 2, ...,sm  0
x1
 a11
a
A   21
 

am1
x2
a12
...
xn
 a1n
a22  a2 n
  
am 2  amn
s1
1
0

0
s2 ... sm
0 
 1  0 
   

0  1 
0

(Sztuczna baza)
D. Ciołek
BADANIA OPERACYJNE – wykład 2
Idea metody simpleks – min
(Sztuczna baza)
Model w postaci kanonicznej. (MIN)
c1 x1  c2 x2    cn xn  0 s1  0 s 2 ... 0 sm  min
a11 x1  a12 x2    a1n xn  s1  b1
a21 x1  a22 x2    a2 n xn  s 2  b2


am1 x1  am 2 x2    amn xn  sm  bm
x1 , x2 ,, xn  0
s1, s 2, ...,sm  0
x1
 a11
a
A   21
 

am1
x2
a12
...
xn
 a1n
a22  a2 n
  
am 2  amn
s1
s2 ... sm
1
0
0

0
1  0
  
0  1

0
1
0

0
0
1

0




0
0


1
D. Ciołek
BADANIA OPERACYJNE – wykład 2
Idea metody simpleks – min
(Sztuczna baza)
Model w postaci kanonicznej. (MIN)
c1 x1  c2 x2    cn xn  0 s1  0 s 2 ... 0 sm  min
a11 x1  a12 x2    a1n xn  s1  b1
a21 x1  a22 x2    a2 n xn  s 2  b2


am1 x1  am 2 x2    amn xn  sm  bm
x1 , x2 ,, xn  0
s1, s 2, ...,sm  0
x1
 a11
a
A   21
 

am1
x2
a12
a22

am 2
...
xn
 a1n
 a2 n
 
 amn
s1
s2 ... sm
1 0
0 1


0 0
 0
 0
 
 1
A1
A2
1
0

0
0
1

0
Am




0
0


1
D. Ciołek
BADANIA OPERACYJNE – wykład 2
Idea metody simpleks – min
(Sztuczna baza)
Model w postaci kanonicznej. (MIN)
c1 x1  c2 x2    cn xn  0 s1  0 s2 ... 0 sm  MA1  MA1  ... MAm  min
a11 x1  a12 x2    a1n xn  s1  A1  b1
a21 x1  a22 x2    a2 n xn  s2  A2  b2


am1 x1  am 2 x2    amn xn  sm  Am  bm
x1 , x2 ,, xn  0
s1 , s2 , ...,sm  0
A1 , A2 , ...,Am  0
x1
 a11
a
A   21
 

am1
x2
a12
a22

am 2
...
xn
 a1n
 a2 n
 
 amn
s1
s2 ... sm
1 0
0 1


0 0
 0
 0
 
 1
A1
A2
1
0

0
0
1

0
Am




0
0


1
D. Ciołek
BADANIA OPERACYJNE – wykład 2
Idea metody simpleks – min
(Sztuczna baza)
Zmienna sztuczna A wprowadzana jest zawsze wtedy, gdy
zmienna dodatkowa w warunku ograniczającym ma znak
ujemny:

typowe warunki w zagadnieniu minimalizacji,

nietypowe warunki w zagadnienie maksymalizacji.
Waga w funkcji celu przy zmiennej sztucznej:

w minimalizacji + M,

w maksymalizacji – M.