BO wyklad 3 - Strona główna - dydaktyka.polsl.pldydaktyka.polsl.pl/KWMIMKM/wyklad3.pdf · 2005....

Post on 24-Jan-2021

2 views 0 download

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