BO wyklad 3 - Strona główna - dydaktyka.polsl.pldydaktyka.polsl.pl/KWMIMKM/wyklad3.pdf · 2005....
Transcript of BO wyklad 3 - Strona główna - dydaktyka.polsl.pldydaktyka.polsl.pl/KWMIMKM/wyklad3.pdf · 2005....
PROGRAMOWANIE CAŁKOWITOLICZBOWE
METODA PODZIAŁU I OGRANICZEŃ
3
Metoda podziału i ograniczeń
Przykład 6.
Rozwiązać zadanie z Przykładu 1. metodą podziału i ograniczeń, przy czym wielkość produkcji wyrobu W2 musi być określona liczbą całkowitą.
4
Metoda podziału i ograniczeń
Model matematyczny:
FC: 1 2 1 2Z( , ) 6 5 MAXx x x x= + →
O:� 1 29 7 63x x+ ≤
� 1 2 8x x+ ≤
� 1 23 2 6x x+ ≥
WB:1 20, 0x x≥ ≥
2 Cx ∈
5
Metoda podziału i ograniczeń
Szukamy rozwiązania nie uwzględniając warunku całoliczbowości (patrz: metoda geometryczna lub simplex)
Zadanie 1.
1 2 1 2Z( , ) 6 5 MAXx x x x= + →
� 1 29 7 63x x+ ≤
� 1 2 8x x+ ≤
� 1 23 2 6x x+ ≥
1 20, 0x x≥ ≥
Rozwiązanie: 1 2 1 23.5 4.5 Z( , ) 43.5x x x x= = =
6
Metoda podziału i ograniczeń
Zadanie umieszczamy na liście zadań:
Numery zadań, na które zadanie zostało
podzielone
Czy spełnione są warunki
całkowitoliczbowości
Wartość FC
Nr zadania
Nie1 43.5
7
Metoda podziału i ograniczeń
Zmienna x2 nie spełnia nałożonego na nią w zadaniu głównym warunku x2 ∈ C.
Dokonujemy podziału:
Otrzymujemy dwa przedziały:
2 [0,4]x ∈ 2 [5, )x ∈ ∞
2 5x ≥2 4x ≤
8
Metoda podziału i ograniczeń
Na podstawie otrzymanych przedziałów budujemy dwa zadania:
Zadanie 2.
1 2 1 2Z( , ) 6 5 MAXx x x x= + →
� 1 29 7 63x x+ ≤
� 1 2 8x x+ ≤
� 1 23 2 6x x+ ≥
1 20, 0x x≥ ≥2 4x ≤�
Zadanie 3.
1 2 1 2Z( , ) 6 5 MAXx x x x= + →
� 1 29 7 63x x+ ≤
� 1 2 8x x+ ≤
� 1 23 2 6x x+ ≥
1 20, 0x x≥ ≥2 5x ≥�
9
Metoda podziału i ograniczeń
Numery zadań umieszczamy na liście zadań:
Numery zadań, na które zadanie zostało
podzielone
Czy spełnione są warunki
całkowitoliczbowości
Wartość FC
Nr zadania
Nie1 43.5 2 3
10
Metoda podziału i ograniczeń
11
Metoda podziału i ograniczeń
Dla Zadania 2:
Maksimum w punkcie:35C( ,4)9
35 1Z( ,4) 439 3
=Wartość funkcji celu:
Dla Zadania 3:
Maksimum w punkcie: G(3,5)
Z(3,5) 43=Wartość funkcji celu:
12
Metoda podziału i ograniczeń
Lista zadań wygląda teraz tak:
Numery zadań, na które zadanie zostało
podzielone
Czy spełnione są warunki
całkowitoliczbowości
Wartość FC
Nr zadania
Nie1 43.5 2 3
2 1433
Tak
Tak3 43
13
Metoda podziału i ograniczeń
Porządkowanie listy zadań
Z listy usuwamy:
Zadanie 1. - bo zostało już podzielone
Zadanie 3. – spełnione są wszystkie warunki całkowitoliczbowości, ale ma mniejszą wartość funkcji celu niż Zadanie 2.
14
Metoda podziału i ograniczeń
Lista zadań wygląda teraz tak:
Numery zadań, na które zadanie zostało
podzielone
Czy spełnione są warunki
całkowitoliczbowości
Wartość FC
Nr zadania
2 1433
Tak
Na liście pozostało tylko jedno zadanie.
Ponieważ spełnia ono wszystkie warunki całkowitoliczbowości, to jego rozwiązanie jest rozwiązaniem optymalnym zadania pierwotnego.
15
Metoda podziału i ograniczeń
Przykład 7.
Rozwiązać zadanie z Przykładu 1. metodą podziału i ograniczeń, przy czym wielkość produkcji obydwóch wyrobów musi być określona liczbą całkowitą.
16
Metoda podziału i ograniczeń
Model matematyczny:
FC: 1 2 1 2Z( , ) 6 5 MAXx x x x= + →
O:� 1 29 7 63x x+ ≤
� 1 2 8x x+ ≤
� 1 23 2 6x x+ ≥
WB:1 20, 0x x≥ ≥
1 2C, Cx x∈ ∈
17
Metoda podziału i ograniczeń
Szukamy rozwiązania nie uwzględniając warunku całkowitoliczbowości
Zadanie 1.
1 2 1 2Z( , ) 6 5 MAXx x x x= + →
� 1 29 7 63x x+ ≤
� 1 2 8x x+ ≤
� 1 23 2 6x x+ ≥
1 20, 0x x≥ ≥
Rozwiązanie: 1 2 1 23.5 4.5 Z( , ) 43.5x x x x= = =
18
Metoda podziału i ograniczeń
Zadanie umieszczamy na liście zadań:
Numery zadań, na które zadanie zostało
podzielone
Czy spełnione są warunki
całkowitoliczbowości
Wartość FC
Nr zadania
Nie1 43.5
19
Metoda podziału i ograniczeń
Ponieważ obydwie zmienne nie spełniają warunków całkowitoliczbowości wybieramy, względem której z nich dokonamy podziału.Dokonujemy podziału względem x1:
Otrzymujemy dwa przedziały:
1 4x ≥1 3x ≤
20
Metoda podziału i ograniczeń
Na podstawie otrzymanych przedziałów budujemy dwa zadania:
Zadanie 2.
1 2 1 2Z( , ) 6 5 MAXx x x x= + →
� 1 29 7 63x x+ ≤
� 1 2 8x x+ ≤
� 1 23 2 6x x+ ≥
1 20, 0x x≥ ≥1 3x ≤�
Zadanie 3.
1 2 1 2Z( , ) 6 5 MAXx x x x= + →
� 1 29 7 63x x+ ≤
� 1 2 8x x+ ≤
� 1 23 2 6x x+ ≥
1 20, 0x x≥ ≥1 4x ≥�
21
Metoda podziału i ograniczeń
Rozwiązanie Zadania 2:
Rozwiązanie Zadania 3:
1 2 1 23 5 Z( , ) 43x x x x= = =
1 2 1 24 3.8 Z( , ) 43.2851x x x x= = =
22
Metoda podziału i ograniczeń
Lista zadań wygląda teraz tak:
Numery zadań, na które zadanie zostało
podzielone
Czy spełnione są warunki
całkowitoliczbowości
Wartość FC
Nr zadania
Nie1 43.5 2 3
2 Tak
Nie3 43.2851
43
23
Metoda podziału i ograniczeń
Porządkowanie listy zadań
Z listy usuwamy:
Zadanie 1. - bo zostało już podzielone
Zadanie 3. – nie spełnia warunków całkowitoliczbowości, ale ma większą wartość funkcji celu niż Zadanie 2.
Na liście pozostaje:
Zadanie 2. – spełnia wszystkie warunki całkowitoliczbowości
24
Metoda podziału i ograniczeń
Lista zadań wygląda teraz tak:
Numery zadań, na które zadanie zostało
podzielone
Czy spełnione są warunki
całkowitoliczbowości
Wartość FC
Nr zadania
2 Tak
Nie3 43.2851
43
Zadanie 3. musi zostać podzielone
25
Metoda podziału i ograniczeń
Rozwiązanie Zadania 3:
1 24 3.8x x= =
Ponieważ zmienna x2 nie spełnia warunków całkowitoliczbowości, dokonujemy podziału ze względu na tą zmienną.
2 3.8x =
2 3x ≤ 2 4x ≥
26
Metoda podziału i ograniczeń
Na podstawie otrzymanych przedziałów budujemy dwa zadania:
Zadanie 4. Zadanie 5.
1 2 1 2Z( , ) 6 5 MAXx x x x= + →
� 1 29 7 63x x+ ≤
� 1 2 8x x+ ≤
� 1 23 2 6x x+ ≥
1 20, 0x x≥ ≥
1 4x ≥�
� 2 3x ≤
1 2 1 2Z( , ) 6 5 MAXx x x x= + →
� 1 29 7 63x x+ ≤
� 1 2 8x x+ ≤
� 1 23 2 6x x+ ≥
1 20, 0x x≥ ≥
1 4x ≥�
� 2 4x ≥
27
Metoda podziału i ograniczeń
Rozwiązanie Zadania 4:
Rozwiązanie Zadania 5:
1 2 1 24.66667 3 Z( , ) 43x x x x= = =
Zadanie jest sprzeczne
28
Metoda podziału i ograniczeń
Lista zadań wygląda teraz tak:
Numery zadań, na które zadanie zostało
podzielone
Czy spełnione są warunki
całkowitoliczbowości
Wartość FC
Nr zadania
2 Tak
Nie3 43.2851
43
4 5
4 43 Nie
5 Zadanie sprzeczne
29
Metoda podziału i ograniczeń
Porządkowanie listy zadań
Z listy usuwamy:
Zadanie 3. - bo zostało już podzielone
Zadanie 4. – nie spełnia warunków całkowitoliczbowości, ale wartość funkcji celu jest taka sama jak w Zadaniu 2.
Na liście pozostaje:
Zadanie 2. – spełnia wszystkie warunki całkowitoliczbowości
Zadanie 5. - bo jest sprzeczne
30
Metoda podziału i ograniczeń
Lista zadań wygląda teraz tak:
Numery zadań, na które zadanie zostało
podzielone
Czy spełnione są warunki
całkowitoliczbowości
Wartość FC
Nr zadania
2 Tak43
4 43 Nie
Zadanie 4. musi zostać podzielone
31
Metoda podziału i ograniczeń
Rozwiązanie Zadania 4:
1 24.66667 3x x= =
Ponieważ zmienna x1 nie spełnia warunków całkowitoliczbowości, dokonujemy podziału ze względu na tą zmienną.
1 4.66667x =
1 4x ≤ 1 5x ≥
32
Metoda podziału i ograniczeń
Na podstawie otrzymanych przedziałów budujemy dwa zadania:
Zadanie 6. Zadanie 7.
1 2 1 2Z( , ) 6 5 MAXx x x x= + →
� 1 29 7 63x x+ ≤
� 1 2 8x x+ ≤
� 1 23 2 6x x+ ≥
1 20, 0x x≥ ≥
1 4x ≥�
� 2 3x ≤
� 1 4x ≤
1 2 1 2Z( , ) 6 5 MAXx x x x= + →
� 1 29 7 63x x+ ≤
� 1 2 8x x+ ≤
� 1 23 2 6x x+ ≥
1 20, 0x x≥ ≥
1 4x ≥�
� 2 3x ≤
� 1 5x ≥
33
Metoda podziału i ograniczeń
Rozwiązanie Zadania 6:
Rozwiązanie Zadania 7:
1 2 1 24 3 Z( , ) 39x x x x= = =
1 2 1 25 2.57143 Z( , ) 42.85714x x x x= = =
34
Metoda podziału i ograniczeń
Lista zadań wygląda teraz tak:
Numery zadań, na które zadanie zostało
podzielone
Czy spełnione są warunki
całkowitoliczbowości
Wartość FC
Nr zadania
2 Tak43
4 43 Nie
6 39 Tak
7 42.85714 Nie
6 7
35
Metoda podziału i ograniczeń
Porządkowanie listy zadań
Z listy usuwamy:
Zadanie 4. - bo zostało już podzielone
Zadanie 7. – nie spełnia warunków całkowitoliczbowości, a wartość funkcji celu jest mniejsza niż w Zadaniu 2.
Zadanie 6. - warunki całkowitoliczbowości spełnione, ale wartość funkcji celu jest mniejsza niż w Zadaniu 2.
36
Metoda podziału i ograniczeń
Lista zadań wygląda teraz tak:
Numery zadań, na które zadanie zostało
podzielone
Czy spełnione są warunki
całkowitoliczbowości
Wartość FC
Nr zadania
2 Tak43
Na liście pozostało tylko jedno zadanie.
Ponieważ spełnia ono wszystkie warunki całkowitoliczbowości, to jego rozwiązanie jest rozwiązaniem optymalnym zadania pierwotnego.
Kiedy zadanie należy usunąć z listy?
38
Kiedy zadanie należy usunąć z listy?
W przypadku problemu na MAX, zadanie usuwamy z listy gdy:
• jest sprzeczne
• zostało podzielone
• istnieje zadanie spełniające warunki całkowitoliczbowości, o większej wartości funkcji celu
39
Kiedy zadanie należy usunąć z listy?
W przypadku problemu na MIN, w ostatnim punkcie wymagane jest, aby funkcja celu miała mniejszą wartość
Kiedy zadanie należy podzielić?
41
Kiedy zadanie należy podzielić?
W przypadku problemu na MAX, zadanie zastaje podzielone gdy:
• nie spełnia warunków całkowitoliczbowości, ale ma największą wartość funkcji celu spośród zadań znajdujących się na liście
W przypadku problemu na MIN, funkcja celu musi mieć wartość najmniejszą
Dlaczego nie można rozwiązać zadania bez warunków
całkowitoliczbowości, a później zaokrąglić wyników?
43
Dlaczego nie można rozwiązać zadania bez warunków całkowitoliczbowości...
Przykład 8.
Przypomnienie:
Dla Przykładu 1. rozwiązaniem był punkt:
A(3.5,4.5)
Wartość funkcji celu w tym punkcie wynosiła:
1 2( , ) 43.5Z x x =
44
Dlaczego nie można rozwiązać zadania bez warunków całkowitoliczbowości...
Zaokrąglenie obydwu wartości zmiennych:
W górę: B(4,5)
W dół: C(3,4)
45
Dlaczego nie można rozwiązać zadania bez warunków całkowitoliczbowości...
46
Dlaczego nie można rozwiązać zadania bez warunków całkowitoliczbowości...
Punkt:
B(4,5) leży poza zbiorem rozwiązań dopuszczalnych
Punkt:
C(3,4) leży w zbiorze rozwiązań dopuszczalnych
Wartość funkcji celu dla tego punktu: 1 2Z( , ) 38x x =
Jest to mniejsza wartość FC, niż ta, którą uzyskano w wyniku rozwiązania zadania z warunkami całkowitoliczbowości.
Zadanie binarne
48
Zadanie binarne
Przykład 9.
Firma Ziutek Pizza chce otworzyć lokale w pewnym miasteczku. Możliwe lokacje pizzerii oraz dzielnice jakie może obsłużyć dany lokal podane są w tabeli.Sformułować zadanie programowania całkowitoliczbowego, które może zostać wykorzystane do znalezienia najmniejszej liczby pizzerii pokrywających swoim zasięgiem wszystkie dzielnice.
49
Zadanie binarne
Wygwizdów, Mannhattan, Sikornik,
NaritaRamblas
Mannhattan, Sikornik, MontparnasseWall Street
Wygwizdów, Mannhattan, Narita,
MontparnassePola Elizejskie
DzielniceMożliwa lokalizacja
pizzerii(ulice)
50
Zadanie binarne
Zmienne decyzyjne
Przyjmują tylko wartości 0 i 1.
Nazywane są zmiennymi zerojedynkowymi lub binarnymi
51
Zadanie binarne
Zmienna x1:
Opisuje decyzję o ewentualnej lokalizacji pizzerii przy ulicy Pola Elizejskie:
1
10
x =
jeśli stwierdzona zostanie konieczność lokalizacji przy tej ulicy
jeżeli nie trzeba lokalizować pizzerii przy tej ulicy
52
Zadanie binarne
Zmienna x2:
Opisuje decyzję o ewentualnej lokalizacji pizzerii przy ulicy Wall Street:
2
10
x =
jeśli stwierdzona zostanie konieczność lokalizacji przy tej ulicy
jeżeli nie trzeba lokalizować pizzerii przy tej ulicy
53
Zadanie binarne
Zmienna x3:
Opisuje decyzję o ewentualnej lokalizacji pizzerii przy ulicy Ramblas:
3
10
x �= ��
jeśli stwierdzona zostanie konieczność lokalizacji przy tej ulicy
jeżeli nie trzeba lokalizować pizzerii przy tej ulicy
54
Zadanie binarne
Funkcja celu:
Minimalizujemy ilość pizzerii, czyli sumę wartości zmiennych x1, x2, x3
1 2 3 1 2 3Z( , , ) MINx x x x x x= + + →
55
Zadanie binarne
Ograniczenia:
Dla każdej dzielnicy musi istnieć przynajmniej jedna pizzeria, która będzie ją obsługiwać.
56
Zadanie binarne
Dzielnicę Wygwizdów może obsługiwać pizzeria przy ulicy Pola Elizejskie lub Ramblas:
1 3 1x x+ ≥
Dzielnicę Mannhattan może obsługiwać pizzeria przy ulicy Pola Elizejskie, Wall Street lub Ramblas:
1 2 3 1x x x+ + ≥
Dzielnicę Sikornik może obsługiwać pizzeria przy ulicy Wall Street lub Ramblas:
2 3 1x x+ ≥
57
Zadanie binarne
Dzielnicę Narita może obsługiwać pizzeria przy ulicy Pola Elizejskie lub Ramblas:
1 3 1x x+ ≥
Dzielnicę Montparnasse może obsługiwać pizzeria przy ulicy Pola Elizejskie lub Wall Street:
1 2 1x x+ ≥
58
Zadanie binarne
Model matematyczny:
1 2 3 1 2 3Z( , , ) MINx x x x x x= + + →
1 3 1x x+ ≥
1 2 3 1x x x+ + ≥
2 3 1x x+ ≥
1 3 1x x+ ≥
1 2 1x x+ ≥
{ }1 2 3, , 0,1x x x ∈
59
...a studenci żyli z tą wiedzą długo i szczęśliwie