You are on page 1of 162

Całkowitoliczbowe programowanie liniowe

Badania operacyjne

Joanna Józefowska

Instytut Informatyki

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 1 / 47

1 Przykład 1 - wracamy do problemu


Jak to narysować?
Rozwiązanie
Analiza rozwiązania

2 Metoda płaszczyzn tnących Gomory’ego


Pomysł
Metoda płaszczyzn tnących
Inne metody rozwiązywania zadań programowania
całkowitoliczbowego

3 Szczególne zadania programowania całkowitoliczbowego


Problem plecakowy
Problem transportowy
Problem przydziału

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 2 / 47


Przykład 1

Zadanie

Do produkcji opakowań potrzebny jest karton i folia aluminiowa, zszywki i


naklejki, przy czym dostępne są dwie metody produkcji (A i B). Zużycie zasobów
w poszczególnych technologiach, dzienną dostępność zasobów w magazynie i
zyskowność poszczególnych metod podano w tabeli. Maksymalna dzienna
produkcja każdą metodą wynosi 200 opakowań. Jaki plan produkcji należy
przyjąć, aby zysk z przedsięwzięcia był największy?
Tabela 1. Zużycie zasobów przy produkcji różnymi metodami
Metoda Karton Folia Zszywki Naklejki Zysk
2 2
Zasób [m /szt] [m /szt] [szt/szt] [szt/szt] [zł/szt]
A 2 7 16 15 11
B 1 9 8 12 10
Zapas [szt] 40 300 500 700

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 3 / 47

Przykład 1

Sformułowanie problemu

zmaksymalizować 11x1 + 10x2 (1)


przy ograniczeniach 2x1 + x2 ¬ 40 (2)
7x1 + 9x2 ¬ 300 (3)
16x1 + 8x2 ¬ 500 (4)
15x1 + 12x2 ¬ 700 (5)
x1 , x2 ­ 0 (6)
x1 , x2 ∈ Z (7)

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 4 / 47


Przykład 1

Zadanie zrelaksowane

Relaksacja zadania
Każde zadanie całkowitoliczbowe można rozpatrywać jako zwykłe zadanie
programowania liniowego, pomijając warunki całkowitoliczbowości.

Uwolnienie zadania od warunków całkowitoliczbowości nazywamy


relaksacją zadania.

Zadanie otrzymane w wyniku relaksacji nazywamy zadaniem


zrelaksowanym.

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 5 / 47

Przykład 1

Rozwiązania zadania zrelaksowanego

11 10 0 0 0 0
B cB x1 x2 s1 s2 s3 s4 RHS
1 x1 11 1 0 9/11 -1/11 0 0 60/11
2 x2 10 0 1 -7/11 2/11 0 0 320/11
3 s3 0 0 0 -8 0 1 0 180
4 s4 0 0 0 -51/11 -9/11 0 1 2960/11
5 0 0 29/11 9/11 0 0 3860/11

x1 = 60/11 ≈ 5, 45 s1 =0
x2 = 320/11 ≈ 29, 1 s2 =0
s3 =180
s4 =2960/11
z = 3860/11 ≈ 350, 9

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 6 / 47


Przykład 1 Jak to narysować?

Inny przykład

zmaksymalizować z = x1 + x2 (8)
−5x1 + 4x2 ¬ 0 (9)
5x1 + 2x2 ¬ 15 (10)
x1 , x2 ­ 0 (11)

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 7 / 47

Przykład 1 Rozwiązanie

Rozwiązanie - analiza
Wykres poniżej przedstawia obszar rozwiązań dopuszczalnych i
dopuszczalne rozwiązania całkowitoliczbowe (czarne punkty). Rozwiązanie
optymalne zaznaczono czerwonym punktem.
x2
4

1 2 3 4 x1

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 8 / 47


Przykład 1 Rozwiązanie

Rozwiązanie

Stosując algorytm sympleks otrzymujemy rozwiązanie:

z∗ = 9
2
x1∗ = 2
x2∗ = 5
2

Wartość zmiennej x2 w rozwiązaniu optymalnym nie jest liczbą całkowitą -


trudno takie rozwiązanie zinterpretować jako rozwiązanie zadania
wyjściowego.

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 9 / 47

Przykład 1 Rozwiązanie

Model matematyczny skorygowany

zmaksymalizować z = x1 + x2
−5x1 + 4x2 ¬ 0
5x1 + 2x2 ¬ 15
x1 , x2 ­ 0,
x1 , x2 ∈ Z (12)

Z - zbiór liczb całkowitych

Problem, w którym opuszczamy ograniczenie (12) nazywamy


zrelaksowanym problemem programowania całkowitoliczbowego.

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 10 / 47


Przykład 1 Rozwiązanie

Rozwiązanie

Dla problemu skorygowanego rozwiązanie:

z∗ = 9
2
x1∗ = 2
x2∗ = 5
2

jest niedopuszczalne (niecałkowite)!

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 11 / 47

Przykład 1 Analiza rozwiązania

Płaszczyzna tnąca

x2
4

1 2 3 4 x1

Rysunek: Odcięcie obszaru niezawierającego rozwiązań całkowitych

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 12 / 47


Przykład 1 Analiza rozwiązania

Odcięcie jako nowe ograniczenie

W wyniku odcięcia otrzymujemy nowy problem programowania liniowego:

zmaksymalizować z = x1 + x2
−5x1 + 4x2 ¬ 0
5x1 + 2x2 ¬ 15
x2 ¬ 2
x1 , x2 ­ 0,
x1 , x2 ∈ Z

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 13 / 47

Przykład 1 Analiza rozwiązania

Rozwiązanie c.d.

x2
4

1 2 3 4 x1

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 14 / 47


Przykład 1 Analiza rozwiązania

Nowe sformułowanie problemu:

zmaksymalizować z = x1 + x2
−5x1 + 4x2 ¬ 0
5x1 + 2x2 ¬ 15
x2 ¬ 2
x1 + x2 ¬ 4
x1 , x2 ­ 0,
x1 , x2 ∈ Z

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 15 / 47

Metoda Gomory’ego Pomysł

Obserwacje

Całkowitoliczbowe rozwiązanie optymalne zadania programowania


liniowego jest mniejsze lub równe od rozwiązania optymalnego
zadania zrelaksowanego.
Liczba rozwiązań o współrzędnych całkowitych jest skończona -
można zbadać wszystkie pary. Taki sposób postępowania nazywa się
pełnym przeglądem - exhaustive enumeration.

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 16 / 47


Metoda Gomory’ego Pomysł

Rozwiązanie metodą sympleks

zmaksymalizować z = x1 + x2
−5x1 + 4x2 ¬ 0
5x1 + 2x2 ¬ 15
x1 , x2 ­ 0,

zmaksymalizować z = x1 + x2
−5x1 + 4x2 + s1 =0
5x1 + 2x2 + s2 = 15
x1 , x2 ­ 0,

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 17 / 47

Metoda Gomory’ego Pomysł

Rozwiązanie metodą sympleks

zmaksymalizować z = x1 + x2
−5x1 + 4x2 + s1 =0
5x1 + 2x2 + s2 = 15
x1 , x2 ­ 0,

Tabela: Początkowa tablica sympleks


i B c x1 x2 s1 s2 RHS
1 s1 0 –5 4 1 0 0
2 s2 0 5 2 0 1 15
3 –1 –1 0 0 0

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 18 / 47


Metoda Gomory’ego Pomysł

Rozwiązanie metodą sympleks

Tabela: Początkowa tablica sympleks


i B c x1 x2 s1 s2 RHS
1 s1 0 –5 4 1 0 0
2 s2 0 5 2 0 1 15
3 –1 –1 0 0 0

Tabela: Końcowa tablica sympleks


i B c x1 x2 s1 s2 RHS
1 x2 1 0 1 1/6 1/6 5/2
2 x1 1 1 0 –1/15 2/15 2
3 0 0 1/10 3/10 9/2

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 19 / 47

Metoda Gomory’ego Pomysł

Rozwiązanie
i B c x1 x2 s1 s2 RHS
1 x2 1 0 1 1/6 1/6 5/2
2 x1 1 1 0 –1/15 2/15 2
3 0 0 1/10 3/10 9/2

x2 + 1/6s1 + 1/6s2 = 5/2 (*)


Ponieważ wszystkie zmienne są nieujemne zachodzi nierówność

x2 ¬ 5/2

Ale x2 ma być liczbą całkowitą, zatem

x2 ¬ 2

Odejmijmy otrzymaną nierówność od równania (*)

1/6s1 + 1/6s2 ­ 1/2


Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 20 / 47
Metoda Gomory’ego Pomysł

Twierdzenie

Twierdzenie
Niech IL oraz IR będą dowolnymi liczbami naturalnymi, f ściśle dodatnim ułamkiem a F
sumą ściśle dodatnich ułamków takich, że

IL + F = IR + f

Wtedy IL ¬ IR oraz F ­ f .

Dowód. Niech (IL, IR, f , F ) będzie dowolną czwórką spełniającą założenia twierdzenia.
Ponieważ IL oraz IR są liczbami naturalnymi, F jest sumą ściśle dodatnich ułamków a f
jest ściśle dodatnim ułamkiem, to musi zachodzić F ­ f . Jeżeli bowiem F < 1 to F = f ,
a jeżeli F > 1 to F > f . Ponieważ f jest ułamkiem, a IL oraz IR są liczbami
naturalnymi, to F nie może być całkowite, w szczególności nie może być równe 1. Zatem
z IL + F = IR + f wynika, że IL ¬ IR. Jest oczywiste, że gdy F < 1 to IL = IR oraz gdy
F > 1 to IL < IR. □

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 21 / 47

Metoda Gomory’ego Pomysł

Pierwsze ograniczenie odcinające


W postaci standardowej: 1/6s1 + 1/6s2 − s3 = 1/2

w celu ułatwienia obliczeń: s1 + s2 − 6s3 = 3

po dodaniu zmiennej sztucznej: s1 + s2 − 6s3 + a1 = 3

i B c x1 x2 s1 s2 s3 a1 RHS
1 x2 1 0 1 1/6 1/6 0 0 5/2
2 x1 1 1 0 –1/15 2/15 0 0 2
3 a1 −M 0 0 1 1 –6 1 3
4 0 0 –M+1/10 –M+3/10 6M 0 –3M+9/2

Rozwiązanie optymalne

i B c x1 x2 s1 s2 s3 a1 RHS
1 x2 1 0 1 0 0 1 –1/6 2
2 x1 1 1 0 0 1/5 –2/5 1/15 11/5
3 s1 0 0 0 1 1 –6 1 3
4 0 0 0 1/5 3/5 1/10+M 21/5

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 22 / 47


Metoda Gomory’ego Pomysł

Drugie ograniczenie odcinające


i B c x1 x2 s1 s2 s3 RHS
1 x2 1 0 1 0 0 1 2
2 x1 1 1 0 0 1/5 –2/5 11/5
3 s1 0 0 0 1 1 –6 3
4 0 0 0 1/5 3/5 21/5

x1 + 1/5s2 − 2/5s3 = 11/5

x1 + 1/5s2 + (−1 + 3/5)s3 = 11/5

x 1 − s3 ¬ 2

1/5s2 + 3/5s3 ­ 1/5

s2 + 3s3 − 5s4 = 1 (13)


Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 23 / 47

Metoda Gomory’ego Pomysł

Drugie odcięcie – rozwiązanie

i B c x1 x2 s1 s2 s3 s4 a2 RHS
1 x2 1 0 1 0 0 1 0 0 2
2 x1 1 1 0 0 1/5 –2/5 0 0 11/5
3 s1 0 0 0 1 1 –6 0 0 3
4 a2 −M 0 0 0 1 3 –5 1 1
5 0 0 0 1/5–M 3/5–3M 5M 0 21/5–M

Rozwiązanie optymalne

i B c x1 x2 s1 s2 s3 s4 RHS
1 x2 1 0 1 0 0 1 0 2
2 x1 1 1 0 0 0 –1 1 2
3 s1 0 0 0 1 0 –9 5 2
4 s2 0 0 0 0 1 3 –5 1
5 0 0 0 0 0 1 4

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 24 / 47


Metoda Gomory’ego Pomysł

Algorytm Gomory’ego

krok 1 Rozwiąż metodą sympleks problem PL bez uwzględniania warunku


dyskretności zmiennych.
krok 2 Jeżeli rozwiązanie uzyskane w wyniku ostatniego zastosowania
metody sympleks jest całkowitoliczbowe, to jest ono rozwiązaniem
wyjściowego zadania całkowitoliczbowego programowania liniowego;
w przeciwnym razie przejdź do kroku 3.
krok 3 Wyeliminuj wszystkie zmienne sztuczne (bazowe i niebazowe) z
równań wynikających z ostatniej tablicy sympleksowej, po czym
wybierz zmienną xk , która ma wartość ułamkową w ostatnim
rozwiązaniu.

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 25 / 47

Metoda Gomory’ego Pomysł

Algorytm Gomory’ego

krok 4 W układzie równań wynikającym z ostatniej tablicy sympleks jeden ze


współczynników przy xk , powiedzmy w l-tym równaniu jest równy 1, a
pozostałe są równe zero. Zastąp współczynniki i stałą w l-tym
równaniu ich częściami ułamkowymi.
krok 5 Dodaj 1 do każdego ujemnego ułamka wynikającego z kroku 4. Zapisz
otrzymane równanie jako ograniczenie nierównościowe ze znakiem
”­”.

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 26 / 47


Metoda Gomory’ego Pomysł

Algorytm Gomory’ego

krok 6 Odejmij zmienną osłabiającą i dodaj zmienną sztuczną do


zmodyfikowanego l-tego ograniczenia w celu sprowadzenia go do
równania. Dołącz to równanie na koniec układu równań wynikającego
z ostatniej tablicy sympleks i przydziel nowej zmiennej sztucznej
dowolnie mały współczynnik w funkcji celu (−M). Uaktualnij wiersz
wskaźnikowy tablicy sympleks.
krok 7 Wykonaj dodatkowe iteracje metody sympleks dla nowego układu
równań utworzonego w kroku 6. Po uzyskaniu rozwiązania przejdź do
kroku 2.

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 27 / 47

Metoda Gomory’ego Algorytm

Ralph Gomory (born 7 May 1929)

(Wikipedia) an American applied mathematician and executive.


Gomory worked at IBM as a researcher and later as an executive.
During that time, his research led to the creation of new areas of
applied mathematics. He graduated from George School in
Newtown, PA in 1946. He received his B.A. from Williams College
in 1950, studied at Cambridge University, and received his Ph.D. in
mathematics from Princeton University in 1954. While serving in
the Navy (1954-1957), he shifted his focus to applied mathematics
Gomory described his method in
in operations research. Among his mathematical achievements
a very short paper entitled
were founding contributions to the field of integer programming,
”Outline of an algorithm for
an active area of research to this day. In December 2007 Gomory
integer solutions to linear
retired and became Professor at Stern School of Business, New
programs”, Bull. American Math.
York University. (Wikipedia)
Society, 64, 275-278, 1958.

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 28 / 47


Metoda Gomory’ego Algorytm

Przykład 1 c.d.

11 10 0 0 0 0
B cB x1 x2 s1 s2 s3 s4 RHS
1 x1 0 1 0 9/11 -1/11 0 0 60/11
2 x2 0 0 1 -7/11 2/11 0 0 320/11
3 s3 0 0 0 -8 0 1 0 180
4 s4 0 0 0 -51/11 -9/11 0 1 2960/11
5 0 0 29/11 9/11 0 0 3860/11

9 10 5
s1 + s2 ­
11 11 11
9 10 5
s1 + s2 − s5 + a1 =
11 11 11

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 29 / 47

Metoda Gomory’ego Algorytm

Przykład 1 - drugie odcięcie


11 10 0 0 0 0 0
B cB x1 x2 s1 s2 s3 s4 s5 RHS
1 x1 11 1 0 9/10 0 0 0 -1/10 11/2
2 x2 10 0 1 -4/5 0 0 0 1/5 29
3 s3 0 0 0 -8 0 1 0 0 180
4 s4 0 0 0 -39/10 0 0 1 -9/10 539/2
5 s2 0 0 0 9/10 1 0 0 -11/10 1/2
5 0 0 19/10 0 0 0 9/10 701/2

1 1 1
s1 + s5 ­
10 10 2
1 1 1
s1 + s5 − s6 + a2 =
10 10 2

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 30 / 47


Metoda Gomory’ego Algorytm

Przykład 1 - rozwiązanie
11 10 0 0 0 0 0 0
B cB x1 x2 s1 s2 s3 s4 s5 s6 RHS
1 x1 11 1 0 1 0 0 0 0 -1 6
2 x2 10 0 1 -1 0 0 0 0 2 28
3 s3 0 0 0 -8 0 1 0 0 0 180
4 s4 0 0 0 -3 0 0 1 0 -9 274
5 s2 0 0 0 2 1 0 0 0 -11 6
6 s5 0 0 0 1 0 0 0 1 -10 5
7 0 0 1 0 0 00 9 346

x1 = 6 s1 =0
x2 = 28 s2 =6
s3 =180
z = 346 (< 350, 9) s4 =274

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 31 / 47

Metoda Gomory’ego Algorytm

x2

30 (5,5;29)
(5,45;29,1)
(6;28)
25

20

15

10

x1
5 10 15 20 25 30 35

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 32 / 47


Metoda Gomory’ego Inne metody

Metoda podziału i ograniczeń

zmaksymalizować z = x1 + x2 (14)
−5x1 + 4x2 ¬ 0 (15)
5x1 + 2x2 ¬ 15 (16)
x1 , x2 ­ 0 (17)

z∗ = 9
2
x1∗ = 2
x2∗ = 5
2

Podzielimy zbiór rozwiązań dopuszczalnych na dwa podzbiory: 0 ¬ x2 ¬ 2


oraz x2 ­ 3

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 33 / 47

Metoda Gomory’ego Inne metody

Metoda podziału i ograniczeń - reguły

W każdej iteracji wykonujemy następujące kroki:


Porządkowanie listy zadań zrelaksowanych Usuwamy z listy
zadania, które:
zostały już podzielone
są sprzeczne (brak rozwiązań dopuszczalnych)
mają wartość funkcji celu mniejszą lub równą wartości funkcji celu
zadań spełniających warunki całkowitoliczbowości.
Zadania, które pozostają na liście nazywamy zadaniami aktywnymi.
Sprawdzenie warunku optymalności Jeżeli rozwiązanie zadania
zrelaksowanego spełnia warunki całkowitoliczbowości a na liście zadań
nie ma już żadnego zadania aktywnego lub wszystkie zadania aktywne
mają tę samą wartość funkcji celu i spełniają warunki
całkowitoliczbowości, to otrzymaliśmy rozwiązanie optymalne
całkowitoliczbowe zadania wyjściowego.

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 34 / 47


Metoda Gomory’ego Inne metody

Metoda podziału i ograniczeń - reguły

Wybór zadania do podziału Do podziału wybieramy to zadanie


aktywne, które ma najlepszą wartość funkcji celu.
Wybór zmiennej względem której dokonujemy podziału Wybrane
zadanie dzielimy względem dowolnej zmiennej, która w rozwiązaniu
tego zadania nie spełnia warunku całkowitoliczbowości.
Podział zadania względem wybranej zmiennej Jeżeli wybrana
zmienna przyjmuje wartość niecałkowitą c i ograniczenie na tę
zmienną ma postać: a ¬ x ¬ b, to podział polega na zastąpieniu tego
ograniczenia w jednym ze zbiorów ograniczeniem: ⌈c⌉ ¬ x ¬ b a w
drugim ograniczeniem a ¬ x ¬ ⌊c⌋.

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 35 / 47

Metoda Gomory’ego Inne metody

Inne metody rozwiązywania zadań całkowitoliczbowych

programowanie dynamiczne
metody heurystyczne:
heurystyki dedykowanie
metaheurystyki

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 36 / 47


Przykłady Problem plecakowy

Problem plecakowy

W kolejce do serwera oczekuje 8 zadań obliczeniowych, które bezwzględnie trzeba


zakończyć w ciągu godziny. Za niewykonanie zadania należy zapłacić karę zleceniodawcy.
Czasy realizacji oraz kary za niewykonanie poszczególnych zadań zawarto w tablicy.
Które zadania należy wykonać, aby zminimalizować całkowitą karę?

zadanie Z1 Z2 Z3 Z4 Z5 Z6 Z7 Z8
czas [min] 6 8 11 20 28 35 25 9
kara [tys.zł] 6 5 9 10 11 12 9 8


1 gdy zadanie i zostanie wykonane
xi =
0 w przeciwnym razie

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 37 / 47

Przykłady Problem plecakowy

Problem plecakowy

zadanie Z1 Z2 Z3 Z4 Z5 Z6 Z7 Z8
czas [min] 6 8 11 20 28 35 25 9
kara [tys.zł] 6 5 9 10 11 12 9 8


1 gdy zadanie i zostanie wykonane
xi =
0 w przeciwnym razie

zmin. 6(1 − x1 ) + 5(1 − x2 ) + 9(1 − x3 ) + 10(1 − x4 ) +


11(1 − x5 ) + 12(1 − x6 ) + 9(1 − x7 ) + 8(1 − x8 )
p.o. 6x1 + 8x2 + 11x3 + 20x4 + 28x5 + 35x6 + 25x7 + 9x8 ¬ 60
xi ∈ {0, 1}, i = 1, . . . , 8

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 38 / 47


Przykłady Problem plecakowy

Problem plecakowy


1 gdy zadanie i zostanie wykonane
xi =
0 w przeciwnym razie

zmin. 6(1 − x1 ) + 5(1 − x2 ) + 9(1 − x3 ) + 10(1 − x4 ) +


11(1 − x5 ) + 12(1 − x6 ) + 9(1 − x7 ) + 8(1 − x8 )
p.o. 6x1 + 8x2 + 11x3 + 20x4 + 28x5 + 35x6 + 25x7 + 9x8 ¬ 60
xi ∈ {0, 1}, i = 1, . . . , 8

zmaks. 6x1 + 5x2 + 9x3 + 10x4 + 11x5 + 12x6 + 9x7 + 8x8


p.o. 6x1 + 8x2 + 11x3 + 20x4 + 28x5 + 35x6 + 25x7 + 9x8 ¬ 60
xi ∈ {0, 1}, i = 1, . . . , 8

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 39 / 47

Przykłady Problem plecakowy

Problem plecakowy

Dany jest skończony zbiór elementów A = {a1 , a2 , . . . , an }, z których każdy ma


całkowitoliczbową wagę wi i wartość vi oraz całkowitoliczbową pojemność plecaka b.
Które elementy należy włożyć do plecaka, aby nie przekraczając jego pojemności
zmaksymalizować wartość zapakowanych elementów?

1 gdy element i zostanie zapakowany
xi =
0 w przeciwnym razie

Pn
zmaksymalizować vi xi
Pn i=1
przy ograniczeniach i=1
wi xi ¬ b
xi ∈ {0, 1}, i = 1, . . . , n

Problem jest NP-trudny w zwykłym sensie.

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 40 / 47


Przykłady Problem transportowy

Problem transportowy

Firma produkująca nawozy sztuczne ma trzy zakłady produkcyjne zlokalizowane w


Kluczborku, Białymstoku i Pile. Kwartalna produkcja poszczególnych zakładów wynosi
odpowiednio: 5000 kg, 6000 kg, i 2500 kg. Firma ma cztery centra dystrybucji,
zlokalizowane w Lublinie, Elblągu, Łodzi i Opolu. Przewidywany popyt na nawozy w
poszczególnych centrach dystrybucji wynosi odpowiednio: 6000 kg, 4000 kg, 2000 kg
oraz 1500 kg. Jednostkowe koszty transportu (w zł/kg) z każdego zakładu do
poszczególnych centrów dystrybucji podano w tablicy.

Lublin Elbląg Łódź Opole


Kluczbork 3 2 7 6
Białystok 7 5 2 3
Piła 2 5 4 5

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 41 / 47

Przykłady Problem transportowy

Problem transportowy
xij − ilość towaru przewieziona od dostawcy i do odbiorcy j

zminimalizować 3x11 + 2x12 + 7x13 + 6x14 +


7x21 + 5x22 + 2x23 + 3x24 +
2x31 + 5x32 + 4x33 + 5x34
przy ograniczeniach x11 + x12 + x13 + x14 ¬ 5000
x21 + x22 + x23 + x24 ¬ 6000
x31 + x32 + x33 + x34 ¬ 2500
x11 + x21 + x31 ­ 6000
x12 + x22 + x32 ­ 4000
x13 + x23 + x33 ­ 2000
x14 + x24 + x34 ­ 1500
xij ­ 0, i = 1, 2, 3, j = 1, 2, 3, 4
xij ∈ Z, i = 1, 2, 3, j = 1, 2, 3, 4

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 42 / 47


Przykłady Problem transportowy

Problem transportowy

Mamy m dostawców, których możliwości wysyłki wynoszą ai , i = 1, . . . m i


n odbiorców, których zapotrzebowania wynoszą bj , j = 1, . . . n. Koszt
przesłania jednostkowej porcji towaru od dostawcy i do odbiorcy j wynosi
cij . Wyznaczyć plan przewozów minimalizujący całkowite koszty.

Pn Pm
zminimalizować i=1 j=1
cij xij
Pn
przy ograniczeniach j=1
xij ¬ ai , i = 1, . . . , m
Pm
i=1
xij ­ bj , j = 1, . . . , n
xij ­ 0, i = 1, . . . , m, j = 1, . . . , n
xij ∈ Z, i = 1, . . . , m, j = 1, . . . , n

Istnieje algorytm wielomianowy o złożoności O(n3 ) znajdujący optymalne rozwiązanie


problemu.

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 43 / 47

Przykłady Problem przydziału

Problem przydziału

Firma zatrudniła do sprzątania po remoncie 3 pracowników: Armonda,


Francine, i Herberta. Jeden z nich musi posprzątać łazienkę, drugi umyć
podłogi, a trzeci umyć okna, ale każdy z nich otrzymuje inne
wynagrodzenie za te same czynności (tablica). Należy tak rozdzielić
zadania między pracowników, aby zminimalizować całkowity koszt
sprzątania.
Armond Francine Herbert
łazienka 2 3 3
podłogi 3 2 3
okna 3 3 2

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 44 / 47


Przykłady Problem przydziału

Problem przydziału


1 pracownik i wykonuje zadanie j
xij =
0 w przeciwnym razie

zmin. 2x11 + 3x12 + 3x13 + 3x21 + 2x22 + 3x23 + 3x31 + 3x32 + 2x33
p.o. x11 + x12 + x13 = 1
x21 + x22 + x23 = 1
x31 + x32 + x33 = 1
x11 + x21 + x31 = 1
x12 + x22 + x32 = 1
x13 + x23 + x33 = 1
xij ∈ {0, 1}, i = 1, . . . , m, j = 1, . . . , n

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 45 / 47

Przykłady Problem przydziału

Problem przydziału

Mamy n pracowników (maszyn, procesorów) i n zadań do wykonania. Koszt (czas)


wykonania zadania i przez pracownika j wynosi cij . Przydzielić zadania do pracowników
w taki sposób, aby całkowity koszt wykonania wszystkich zadań był minimalny.

Pn Pm
zminimalizować i=1 j=1
cij xij
Pn
przy ograniczeniach j=1
xij ­ 1, i = 1, . . . , m
Pm
i=1
xij ¬ 1, j = 1, . . . , n
xij ∈ {0, 1}, i = 1, . . . , m, j = 1, . . . , n

Istnieje algorytm wielomianowy o złożoności O(log 2 (n)) znajdujący optymalne


rozwiązanie problemu.

Joanna Józefowska (Instytut Informatyki) Całkowitoliczbowe programowanie liniowe 46 / 47


Badania operacyjne jako nauka
Badania operacyjne

Joanna Józefowska

Instytut Informatyki

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 1/1

Przedmiot Nauka

Wspomaganie decyzji

Kittel (1947)
Operations Research is a scientific method for providing executive
departments with a quantitative basis for decisions.

Badania operacyjne są metodą naukową adaptującą wyniki różnych nauk


podstawowych do rozwiązywania zadań decyzyjnych.

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 2/1


Przedmiot Nauka

Badania operacyjne

Badania operacyjne są nauką systemową, czyli nauką o sterowaniu


złożonymi systemami, które mogą być fragmentami rzeczywistości
fizycznej i/lub ich modelami. Badania operacyjne, jako naukę systemową
definiuje się przez określenie klasy systemów, którymi się ona zajmuje. Są
to systemy typu kompleks operacji.

Sterowanie w tym kontekście rozumie się, jako wymuszenie pożądanego


zachowania systemu.

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 3/1

Przedmiot Zakres

Nauki systemowe

Zadanie: rozwijanie interdyscyplinarnych metod, które mogą być


zastosowane w różnych dziedzinach takich jak technika, biologia,
medycyna i nauki społeczne,
Cechy wspólne: budowa modelu użytecznego (utylitarnego),
którego analiza pozwala na zbadanie działania systemu i skuteczne
kontrolowanie tego działania,
Inne: teoria systemów, teoria regulacji, cybernetyka, teoria sterowania,
Atrybut: rodzaj systemu.

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 4/1


Przedmiot Zakres

System typu kompleks operacji

operacje
zasoby
ograniczenia kolejnościowe
kryteria (jedno lub wiele)
sterowanie (rozdział zasobów w czasie)

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 5/1

Przedmiot Zakres

Cechy badań operacyjnych

ukierunkowanie na podejmowanie decyzji


możliwość oceny działania (decyzji) na podstawie określonych
kryteriów
konieczność budowy modelu (na ogół matematycznego) sytuacji
decyzyjnej
konieczność realizacji obliczeń na komputerze

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 6/1


Przedmiot Zastosowania

Dziedziny zastosowań badań operacyjnych

ekonomia
logistyka
medycyna
informatyka
sport
polityka
...

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 7/1

Przedmiot Zastosowania

Planowanie produkcji

Zakład produkcyjny produkuje n różnych wyrobów. Należy określić w


jakich ilościach produkować poszczególne wyroby, biorąc pod uwagę, że w
najbliższym okresie zapasy środków do produkcji są ograniczone. Dla
każdego z m środków znana jest wielkość zapasu bi , i = 1, . . . , m.
Jednostkowy nakład i-tego środka do produkcji j-tego wyrobu wynosi
aij , i = 1, . . . , m, j = 1, . . . , n. Znany jest też jednostkowy zysk z produkcji
j-tego wyrobu, który wynosi cj , j = 1, . . . , n. Należy zaplanować produkcję
zakładu w rozpatrywanym okresie tak, aby zmaksymalizować zysk.

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 8/1


Przedmiot Zastosowania

Rolnictwo

Hodowca drobiu stosuje m rodzajów pasz w ilościach xj , j = 1, . . . , m.


Prawidłowa hodowla wymaga dostarczenia ptakom pewnych minimalnych
ilości składników pokarmowych, które wynoszą odpowiednio
ci , i = 1, . . . , n. Zawartość i-tego składnika w j-tej paszy oznaczymy jako
aij , a cenę jednostkową j-tej paszy przez cj . Znany jest też średni przyrost
masy ciała kurczaka wynikający z zastosowania jednostki wagowej paszy j,
który oznaczymy przez tj . Jaką ilość każdej paszy zastosować w hodowli,
aby zmaksymalizować stosunek całkowitego przyrostu masy ptaków do
kosztów zakupu pasz?

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 9/1

Przedmiot Zastosowania

Polityka

Dwaj kandydaci ubiegający się o wybór w drugiej turze wyborów


prezydenckich muszą podjąć decyzje o sposobie przeprowadzenia kampanii
wyborczej w ostatni weekend poprzedzający głosowanie. Każdy z nich
może spędzić po jednym dniu w głównych miastach A i B, lub spędzić
obydwa dni w jednym z tych miast. Decyzje podejmują niezależnie od
siebie, ale przyrost (lub utrata) głosów w kampanii zależy od decyzji obu
kandydatów. Sztaby wyborcze oszacowały przewidywany wzrost poparcia
dla każdego z kandydatów, zależnie od strategii wybranych przez każdego
z nich. Na tej podstawie należy znaleźć optymalne strategie dla obu
kandydatów.

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 10 / 1


Historia Początki

Przed II wojną światową

1665 Znajdowanie minimum funkcji, I. Newton


1736 Problem mostów w Królewcu, L. Euler
1763 Reguła Bayes’a, T. Bayes
1823 Zasada użyteczności, J. Bentham
1824 Gry wojenne: Kriegspiel, von Reisswitz
1826 Rozwiązanie układu równań liniowych, C. F. Gauss
1880 Łańcuchy Markowa, A. Markov
1896 Rozwiązanie Pareto optymalne, V. Pareto
1903 Rozwiązanie układu nierówności, J. Farkas
1909 Centrala telefoniczna i procesy losowe, A. K. Erlang
1913 Ekonomiczna wielkość partii (EOQ), F. W. Harris
1936 Rozmieszczenie obiektów, E. Weiszfeld and A.Vazsonyi

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 11 / 1

Historia Cyrk Blacketta

II wojna światowa

1937 Brytyjczycy po raz pierwszy używają określenia bada-


nia operacyjne w kontekście planowania operacji woj-
skowych
1939 “Mathematical Methods of Organization and Produc-
tion,” L. Kantorovich
1939 Warunek optymalności problemu z ograniczeniami,
W. Karush
1941 Model przepływów międzygałęziowych, W. W. Leontief
1941 Problem transportowy, F. Hitchcock
1942 Badania operacyjne w Bitwie o Anglię, P. Blackett
http://www.theorsociety.com/Pages/Society/SocietyHistory.aspx
1943 Sieci neuronowe, W. McCulloch, W. Pitts
1944 Teoria gier, J. von Neumann, O. Morgenstern
1944 Teoria użytecznosci, J. von Neumann, O. Morgenstern
1944 Wygładzanie wykładnicze, R. Brown

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 12 / 1


Historia lata 50-te

Dynamiczny rozwój

1945 Problem diety, G. Stigler


1947 Model programowania liniowego i metoda sympleks, G.
B. Dantzig
1949 Metoda Monte Carlo, S. M. Ulam, J. von Neumann
1950 Statystyczna kontrola jakości, W. E. Deming
1950 Równowaga Nasha, J. Nash
1950 Komputer rozwiązuje problem transportowy (SEAC)
1950 Programowanie dynamiczne, R. Bellman
1954 Szeregowanie zadań, S. Johnson
1955 Problem komiwojażera, M. Flood
1955 Metoda Węgierska, H. Kuhn, E. Egerv’ary
1956 PERT/CPM/MPM, J. Kelley, Jr., W. Walker/D. Mal-
colm, J. Roseboom, C. Clark, W. Fazar/B. Roy
1957 Programowanie dynamiczne, R. Bellman

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 13 / 1

Historia Złożoność

Teoria złożoności obliczeniowej

1962 Przepływy w sieciach, L. Ford, Jr., D. Fulkerson


1965 Teoria złożoności obliczeniowej; pojęcie NP-zupełności,
J. Edmonds, R. Karp
1971 Złożoność obliczeniowa, S. A. Cook, R. Karp
1972 Dowód, ze sympleks nie jest algorytmem wielomiano-
wym, V. Klee and G. J. Minty

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 14 / 1


Historia Złożoność

Co z tego wynika?

Problem plecakowy: Danych jest n przedmiotów, o wadze cj , j = 1, . . . , n,


oraz wartości pj , j = 1, . . . , n. Wybrać podzbiór przedmiotów o największej
sumarycznej wartości, których łączna waga nie przekracza B.
(
1 przedmiot j został wybrany
xj = j = 1, . . . , n (1)
0 w przeciwnym razie
Takich wektorów można zbudować 2n .
Ile czasu potrzeba, aby rozwiązać zadanie dla n przedmiotów, jeżeli
obliczenie wagi i wartości przedmiotów dla jednego wektora trwa 10−5 s?
n 2n T
10 1024 0,001 s
60 1,15x1018 3366 stuleci

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 15 / 1

Historia Złożoność

Sposób postępowania

analiza złożoności obliczeniowej problemu


opracowanie algorytmu o złożoności wielomianowej
wykazanie NP-zupełności problemu
zastosowanie algorytmów przybliżonych
ocena algorytmów przybliżonych (heurystycznych)
oszacowanie najgorszego przypadku
ocena probabilistyczna
ocena eksperymentalna

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 16 / 1


Historia Badania operacyjne współcześnie

Nowe modele i metody

1975 Wielokryterialne wspomaganie decyzji, M. Zeleny,


S. Zionts, J. Wallenius, W. Edwards, B. Roy
1979 Metoda elipsoid, L. Khachian
1980 Constraint Programming
1982 Średni czas obliczeń algorytmu sympleks jest wielomia-
nowy, K.-H. Borgwardt
1982 Symulowane wyżarzanie, W. Metropolis
1984 Metody punktu wewnętrznego, N. Karmarkar
1989 Przeszukiwanie tabu, F. Glover
1990 Algorytmy ewolucyjne
1995 Eksploracja danych

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 17 / 1

Historia Badania operacyjne współcześnie

Wiek XXI

Big Data
walka z terroryzmem
ochrona imprez masowych
optymalizacja łańcuchów logistycznych
analiza łańcuchów DNA
walka z pandemią . . .

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 18 / 1


Historia Badania operacyjne współcześnie

Dla zainteresowanych

Więcej informacji historycznych i nie tylko można znaleźć na stronie:


http://www.theorsociety.com/learn/teachers history.htm

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 19 / 1

Metoda badań operacyjnych Sposób postępowania

Metoda postępowania

1 analiza sytuacji decyzyjnej


2 budowa modelu matematycznego
3 rozwiązanie zadania optymalizacyjnego
4 interpretacja rozwiązania i ocena jego przydatności
5 przedstawienie wyników decydentowi

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 20 / 1


Metoda badań operacyjnych Sposób postępowania

Metoda badań operacyjnych

Sytuacja Model Metoda


decyzyjna matematyczny rozwiązania

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 21 / 1

Metoda badań operacyjnych Sytuacja decyzyjna

Sytuacja decyzyjna

Definicja
Sytuacja decyzyjna to pojecie z zakresu teorii decyzji, oznaczające zbiór
wszystkich czynników, mających wpływ na podjecie decyzji przez
decydenta w procesie decyzyjnym. Czynniki te można podzielić na:
niezależne od decydenta i zależne od decydenta.

Wygodnie jest zidentyfikować następujące elementy sytuacji decyzyjnej:


warunki ograniczające decyzje,
zbiór możliwych decyzji,
kryteria wyboru decyzji.

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 22 / 1


Metoda badań operacyjnych Sytuacja decyzyjna

Sytuacja decyzyjna

Podstawowe klasy sytuacji decyzyjnych (wg Newella i Simona):


O dobrze określonej strukturze - są to sytuacje, w opisie których
przeważają elementy i zależności ilościowe. Zależności te można
odwzorować za pomocą modelu matematycznego.
O nieokreślonej strukturze - są to sytuacje, które można opisać prawie
wyłącznie za pomocą cech i zależności o charakterze jakościowym i są
one niemierzalne.
O słabo określonej strukturze - są to sytuacje mieszane, w których
pewne zależności można wyrazić za pomocą modelu
matematycznego, ale opis ten musi być uzupełniony przez
niemierzalne cechy i zależności jakościowe.

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 23 / 1

Metoda badań operacyjnych Model matematyczny

Zmienne decyzyjne i parametry

zmienna: wartość szukana, decyzja,


np.: wielkość produkcji, cena sprzedaży, wielkość partii produkcyjnej,
itp.
parametr: wielkość znana, wynikająca z opisu danej sytuacji decyzyjnej,
np.: jednostkowa cena surowca, jednostkowa pracochłonność operacji,
szacowany zysk jednostkowy itp.
Oszacowanie wartości parametrów bywa trudne, a błędy mogą istotnie
wpłynąć na jakość podejmowanych decyzji.

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 24 / 1


Metoda badań operacyjnych Model matematyczny

Klasyfikacja modeli

modele deterministyczne - wszystkie parametry sa traktowane jako


wielkości stałe i znane a priori
modele probabilistyczne - co najmniej jeden parametr jest zmienną
losową; rozkłady prawdopodobieństwa wszystkich zmiennych losowych
są znane
modele statystyczne - co najmniej jeden parametr jest zmienną
losową o nieznanym rozkładzie prawdopodobieństwa, ale istnieje
możliwość wykonania badania statystycznego w celu uzyskania
dodatkowych informacji
modele strategiczne - co najmniej jeden parametr, dla którego w
momencie podejmowania decyzji znany jest jedynie zbiór wartości,
które ten parametr może przyjąć

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 25 / 1

Metoda badań operacyjnych Model matematyczny

Zależności i ograniczenia

cecha: zależności ilościowe,


wada: konieczne uproszczenia,
efekt: zbiór dopuszczalnych decyzji

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 26 / 1


Metoda badań operacyjnych Model matematyczny

Zależności i ograniczenia

Kryterium oceny decyzji (kryterium optymalności, kryterium decyzyjne)


jest to jednoznacznie zdefiniowana miara korzyści, wynikających z podjęcia
decyzji. Często kryterium oceny nazywane jest celem decyzji.

Kryterium optymalności pozwala porównywać decyzje.

Przykłady: minimalizacja kosztów, maksymalizacja użyteczności,


maksymalizacja wypłaty, minimalizacja wysiłku, minimalizacja długości
trasy, minimalizacja czasu itp.

Rozważa się problemy z jednym lub wieloma kryteriami optymalności.

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 27 / 1

Metoda badań operacyjnych Model matematyczny

Metoda rozwiązania

Dziedzinę nauki zajmującą się rozwiązywaniem problemów


optymalizacyjnych nazywa się teorią optymalizacji.

Wybór metody (algorytmu) ma istotny wpływ na czas uzyskania


rozwiązania oraz jakość rozwiązania.

Nie zawsze w dostępnym czasie można znaleźć rozwiązanie optymalne


(dokładne). Często posługujemy się rozwiązaniami przybliżonymi.

Nie zawsze metoda konstruuje rozwiązanie optymalne. Niekiedy pozwala


jedynie porównać wybrane warianty

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 28 / 1


Metoda badań operacyjnych Rozwiązanie i interpretacja

Rozwiązanie

Rozwiązanie zadania optymalizacyjnego nalezy zinterpretować w


kategoriach sytuacji decyzyjnej, aby określić jego poprawność i
realność.
W razie konieczności należy poprawić model i powtórzyć obliczenia.
Proponowane rozwiązanie należy przedstawić decydentowi

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 29 / 1

Metoda badań operacyjnych Rozwiązanie i interpretacja

Pytania

opis przyjętych założeń


sformułowanie celu
przedstawienie kilku wariantów
narzędzia graficzne
język zrozumiały dla decydenta

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 30 / 1


Pytania

Rozwiązanie

Czy wzrost szybkości obliczeń rozwiązał problem złożoności


obliczeniowej problemów kombinatorycznych?
Czy badania operacyjne są dziedzina matematyki?
Jaka role odgrywa model w rozwiązywaniu problemów decyzyjnych
metoda badań operacyjnych?

Joanna Józefowska (Instytut Informatyki) Badania operacyjne jako nauka 31 / 1


Programowanie nieliniowe
Sprowadzanie do LP

Joanna Józefowska

Instytut Informatyki

Joanna Józefowska (Instytut Informatyki) Programowanie nieliniowe 1 / 25

Hiperboliczne Przykład

Zadanie

10x1 +2x2 +3
zmaksymalizować 2x1 +x2 +2
przy ograniczeniach 2x1 + 2x2 ¬ 14
x1 + 2x2 ¬ 8
4x1 ¬ 16
x1 ­ 0
x2 ­ 0

Joanna Józefowska (Instytut Informatyki) Programowanie nieliniowe 2 / 25


Hiperboliczne Przykład

Funkcja celu

f0 (x ) =
10x1 + 2x2 + 3
2x1 + x2 + 2
x1 x2 1
= 10 +2 +3
2x1 + x2 + 2 2x1 + x2 + 2 2x1 + x2 + 2
Załóżmy, że 2x1 + x2 + 2 > 0
Oznaczmy

µ = 2x1 + x2 + 2

10x1 + 2x2 + 3 x1 x2 1
= 10 + 2 + 3
2x1 + x2 + 2 µ µ µ

Joanna Józefowska (Instytut Informatyki) Programowanie nieliniowe 3 / 25

Hiperboliczne Przykład

Podstawienie

f0 (x ) =
10x1 + 2x2 + 3 x1 x2 1
= 10 + 2 + 3
2x1 + x2 + 2 µ µ µ

Podstawmy
1 x1 x2
u0 = µ u1 = µ u2 = µ

gdzie µ = 2x1 + x2 + 2 µ>0

f0 (x ) = 10u1 + 2u2 + 3u0

2x1 + x2 + 2
=1
µ

2u1 + u2 + 2 = 1

Joanna Józefowska (Instytut Informatyki) Programowanie nieliniowe 4 / 25


Hiperboliczne Przykład

Podstawienie

1 x1 x2
u0 = µ u1 = µ u2 = µ

Zauważmy, że gdy u0 ̸= 0

u1 u2
x1 = u0 x2 = u0

A więc ograniczenia możemy zapisać jako:

2u1 + 2u2 ¬ 14u0


u1 + 2u2 ¬ 8u0
4u1 ¬ 16u0
2u0 + 2u1 + u2 = 1
u0 > 0, u1 ­ 0, u2 ­ 0

Joanna Józefowska (Instytut Informatyki) Programowanie nieliniowe 5 / 25

Hiperboliczne Przykład

Problem po linearyzacji

zmaksymalizować
10u1 + 2u2 + 3u0
przy ograniczeniach

2u1 + 2u2 ¬ 14u0


u1 + 2u2 ¬ 8u0
4u1 ¬ 16u0
2u0 + 2u1 + u2 = 1
u0 > 0, u1 ­ 0, u2 ­ 0

Joanna Józefowska (Instytut Informatyki) Programowanie nieliniowe 6 / 25


Hiperboliczne Przykład

Rozwiązanie

Rozwiązujemy metodą sympleks i otrzymujemy:


Rozwiązanie problemu liniowego

u0 = 0, 1 u1 = 0, 4 u2 = 0

Rozwiązanie problemu hiperbolicznego

x1 = 4 x2 = 0 z = 4, 3

Joanna Józefowska (Instytut Informatyki) Programowanie nieliniowe 7 / 25

Hiperboliczne Problem

Problem programowania hiperbolicznego

Problem programowania hiperbolicznego


zmaksymalizować:
f0 (x ) =
cx + c0
(1)
dx + d0
przy ograniczeniach:
Ax = b (2)

x ­0 (3)

Joanna Józefowska (Instytut Informatyki) Programowanie nieliniowe 8 / 25


Hiperboliczne Metoda

Metoda Charnesa-Coopera [1964] - założenia

załóżmy, że dla x ∈ X = {x |Ax = b ; x ­ 0} zachodzi

dx + d0 > 0
oznaczmy:
1
u0 =
dx + d0
u = dx x+ d
0

Joanna Józefowska (Instytut Informatyki) Programowanie nieliniowe 9 / 25

Hiperboliczne Metoda

Metoda Charnesa-Coopera - obserwacje

Ax = b ⇐⇒ A dx x+ d =b
1
dx + d0 ⇐⇒ Au = bu0
0
Ponieważ x ­ 0, więc u ­ 0.
Ponieważ dx + d0 > 0, więc u0 > 0.
Ponadto du + d0 u0 = 1

Joanna Józefowska (Instytut Informatyki) Programowanie nieliniowe 10 / 25


Hiperboliczne Metoda

Metoda Charnesa-Coopera - sformułowanie problemu PL

zmaksymalizować:

c0 u0 + cu
przy ograniczeniach:

−b u0 + Au = 0
d0 u0 + du = 1
u0 > 0
u­0

Joanna Józefowska (Instytut Informatyki) Programowanie nieliniowe 11 / 25

Hiperboliczne Metoda

Metoda Charnesa-Coopera - teoria


Oznaczmy:

U = {(u0 , u )| − bu0 + Au = 0, d0 u0 + du = 1, u0 > 0, u ­ 0}

U = {(u0 , u )| − bu0 + Au = 0, d0 u0 + du = 1, u0 ­ 0, u ­ 0}
cx + c0
f0 (x ) =
dx + d0
g (u0 , u ) = c0 u0 + cu

Lemat 1
Odwzorowanie h : X → U określone wzorami:

u0 =
1
dx + d0 , u = dx x+ d
0

jest odwzorowaniem wzajemnie jednoznacznym. Ponadto dla każdej pary


x ∈ X , (u0 , u ) = h(x ) zachodzi g (u0 , u ) = f0 (x ).
Joanna Józefowska (Instytut Informatyki) Programowanie nieliniowe 12 / 25
Hiperboliczne Metoda

Metoda Charnesa-Coopera - teoria


Twierdzenie 1
Jeżeli istnieje rozwiązanie optymalne (u0∗ , u ∗ ) problemu

zmaksymalizować: c0 u0 + cu (4)

przy ograniczeniach: − b u0 + Au = 0 (5)


d0 u0 + du = 1 (6)
u0 ­ 0, u­0 (7)
takie, że u0∗ > 0, to wektor x ∗ = uu ∗

0
jest rozwiązaniem optymalnym
problemu:

zmaksymalizować: f0 (x) = cx +c0


d x +d0 = g (uo , u )
przy ograniczeniach: Ax = b
x ­0
Joanna Józefowska (Instytut Informatyki) Programowanie nieliniowe 13 / 25

Hiperboliczne Metoda

Metoda Charnesa-Coopera - teoria

Twierdzenie 2
Jeżeli
X ̸= ⊘
istnieje rozwiązanie optymalne problemu (4)–(7)
dla każdego rozwiązania optymalnego (u0∗ , u ∗ ) problemu (4)–(7)
zachodzi u0∗ = 0
to
g (u0∗ , u ∗ ) jest kresem górnym funkcji f0 (x ) na zbiorze X .
nie istnieje rozwiązanie optymalne problemu (1)–(3).

Joanna Józefowska (Instytut Informatyki) Programowanie nieliniowe 14 / 25


Hiperboliczne Metoda

Metoda Charnesa-Coopera - teoria

Twierdzenie 3
Jeżeli X ̸= ⊘ i funkcja celu g problemu (4)–(6) jest nieograniczona od
góry, to funkcja celu f0 problemu (1)–(3) jest nieograniczona od góry.

Twierdzenie 4
Jeżeli problem (4)–(6) jest sprzeczny, to problem (1)–(3) jest sprzeczny.

Wniosek
Rozwiązanie optymalne problemu (1)–(3) istnieje wtedy i tylko wtedy, gdy
istnieje rozwiązanie optymalne problemu (4)–(6) takie, że u0∗ > 0.

Joanna Józefowska (Instytut Informatyki) Programowanie nieliniowe 15 / 25

Max-min Przykład

Zadanie

zmaksymalizować f0 (x) = min(x + 6, 14 x + 7, −x + 11)


przy ograniczeniach −5 ¬ x ¬ 7
x ­0

Joanna Józefowska (Instytut Informatyki) Programowanie nieliniowe 16 / 25


Max-min Przykład

Ilustracja graficzna

z
8
zmaksymalizować
7
1 6
z = min(x + 6, x + 7, −x + 11)
4 5
przy ograniczeniach 4
−5 ¬ x ¬ 7 3
x ­0 2
1
x
−8−7−6−5−4−3−2−1 0 1 2 3 4 5 6 7 8

Joanna Józefowska (Instytut Informatyki) Programowanie nieliniowe 17 / 25

Max-min Ogólne sformułowanie

Problem z maksyminową funkcją celu

Sformułowanie problemu
zmaksymalizować:
f0 (x ) = min (ck x + ck0 ) (8)
k=1,...,s

przy ograniczeniach:
Ax = b (9)

x ­0 (10)

Joanna Józefowska (Instytut Informatyki) Programowanie nieliniowe 18 / 25


Max-min Ogólne sformułowanie

Problem z maksyminową funkcją celu

zmaksymalizować f0 (x ) = min (ck x + ck0 ), x ∈ Rn


k=1,...,s

oznaczmy z = f0 (x ), x ∈ Rn

zmaksymalizować z

z = min (ck x + ck0 )


k=1,...,s

z moze być ujemne...

zmaksymalizować z + − z −
z + − z − ¬ ck x + ck0 , k = 1, . . . , s

Joanna Józefowska (Instytut Informatyki) Programowanie nieliniowe 19 / 25

Max-min Ogólne sformułowanie

Problem z maksyminową funkcją celu

Problem Problem
z maksyminową funkcją celu liniowy
zmaksymalizować: zmaksymalizować:

f0 (x ) = min (ck x + ck0 ) f0 (x , z + , z − ) = z + − z −


k=1,...,s

przy ograniczeniach: przy ograniczeniach:

z + − z − ¬ ck x + ck0 , k = 1, . . . , s

Ax = b Ax = b
x ­0 x ­0
x ∈ Rn x ∈ Rn , z ∈ R

Joanna Józefowska (Instytut Informatyki) Programowanie nieliniowe 20 / 25


Max-min Ogólne sformułowanie

Zadanie - rozwiązanie

zmaksymalizować f0 (x) = min(x + 6, 41 x + 7, −x + 11)


przy ograniczeniach −5 ¬ x ¬ 7
x ­0
zmaksymalizować f0 (z + , z − , x) = z + − z −
przy ograniczeniach x ¬7
−x ¬5
z+ − z− − x ¬6
z + − z − − 41 x ¬7
z+ − z− + x ¬ 11
z + − z −, x ­0

Joanna Józefowska (Instytut Informatyki) Programowanie nieliniowe 21 / 25

Max-min Ogólne sformułowanie

Zadanie - rozwiązanie

zmaksymalizować f0 (z + , z − , x) = z + − z −
przy ograniczeniach x ¬7
−x ­5
z+ − z− − x ¬6
z + − z − − 14 x ¬7
z+ − z− + x ¬ 11
z +, z −, x ­0

Rozwiązanie metodą sympleks:


x ∗ = 16/5 = 3, 2
z ∗+ = 39/5 = 7, 8
z ∗− = 0
z ∗ = z ∗+ − z ∗− = 7, 8
Joanna Józefowska (Instytut Informatyki) Programowanie nieliniowe 22 / 25
Max-min Ogólne sformułowanie

Zadanie - rozwiązanie
x ∗ = 3, 2 z ∗ = 7, 8

z
8
7
6
5
4
3
2
1
x
−8−7−6−5−4−3−2−1 0 1 2 3 4 5 6 7 8

Joanna Józefowska (Instytut Informatyki) Programowanie nieliniowe 23 / 25

Wartość bezwzględna Przykład

Przykład

zmaksymalizować f0 (x ) = |x1 − 2x2 + 3|


przy ograniczeniach −5 ¬ x ¬ 7
x ­0

y = max{0, x1 − 2x2 + 3}
z = max{0, −x1 + 2x2 − 3}

|x1 − 2x2 + 3| = y + z
x1 − 2x2 + 3 = y − z

Joanna Józefowska (Instytut Informatyki) Programowanie nieliniowe 24 / 25


Wartość bezwzględna Przykład

Przykład

zmaksymalizować f0 (x ) = |x1 − 2x2 + 3|


przy ograniczeniach −5 ¬ x ¬ 7
x ­0

zmaksymalizować f0 (x ) = y + z
przy ograniczeniach −5 ¬ x ¬ 7
x1 − 2x2 + 3 = y − z
x ­0

Joanna Józefowska (Instytut Informatyki) Programowanie nieliniowe 25 / 25


Metoda Lagrange’a
Badania operacyjne

Joanna Józefowska

Instytut Informatyki

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 1 / 37

Programowanie matematyczne Sformułowanie

Nieliniowa funkcja celu

Na schemacie v oznacza napięcie źródła, r opór wewnętrzny źródła, a R


opór odbiornika. Znaleźć taką wartość R, aby strata mocy była
maksymalna, jeżeli dopuszczalny spadek napięcia na oporniku wynosi E ?

r
v
i= (1)
r +R

+ E = iR (2)
– R
P = i 2R (3)

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 2 / 37


Programowanie matematyczne Sformułowanie

Nieliniowa funkcja celu

 2
v
zmaksymalizować P= r +R R (4)

vR
przy ograniczeniach r +R ¬E (5)

strata mocy strata mocy


4,5 4,5

4 4

3,5 3,5

3 3

2,5 2,5

2 2

1,5 1,5

1 1

0,5 0,5

0 0
0

9
10

11

12

10

11

12
R R

strata mocy strata mocy


4,5 4,5

4 4
Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 3 / 37
3,5 3,5

3 3

2,5 2,5

2
Programowanie matematyczne Sformułowanie
2

1,5 1,5

Ogólny problem programowania matematycznego


1

0,5
1

0,5

0 0
0

9
10

11

12

10

11

12

R R

(v = 9, r = 5)

zmaksymalizować z = f0 (x1 , . . . , xn ) (6)

przy ograniczeniach fi (x1 , . . . , xn ) ¬ 0, i = 1, . . . , m (7)

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 4 / 37


Programowanie matematyczne Sformułowanie

Ogólny problem programowania matematycznego

Problem programowania matematycznego

zmaksymalizować z = f0 (x) (8)


przy ograniczeniach fi (x) ¬ 0, i = 1, . . . , m (9)
x ∈ Rn (10)

Problem programowania liniowego

zmaksymalizować z = f0 (x) = cx
przy ograniczeniach fi (x) = Ai x − bi ¬ 0 i = 1, . . . , m
x ∈ Rn

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 5 / 37

Programowanie matematyczne Ekstremum

Ekstremum funkcji

Niech
S = {x : fi (x) ¬ 0, i = 1, . . . , m} - zbiór rozwiązań dopuszczalnych
∆ = {x : 0 < ||x ∗ − x|| < δ}
E =S ∩∆
Funkcja f0 ma w punkcie x ∗ słabe minimum (maksimum) lokalne, jeżeli
istnieje δ > 0 takie, że dla każdego x ∈ E

f0 (x ∗ ) ¬ f0 (x), (f0 (x ∗ ) ­ f0 (x))

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 6 / 37


Programowanie matematyczne Ekstremum

Ekstremum funkcji

Niech
S = {x : fi (x) ¬ 0, i = 1, . . . , m} - zbiór rozwiązań dopuszczalnych
∆ = {x : 0 < ||x ∗ − x|| < δ}
E =S ∩∆
Funkcja f0 ma w punkcie x ∗ właściwe minimum (maksimum) lokalne,
jeżeli istnieje δ > 0 takie, że dla każdego x ∈ E

f0 (x ∗ ) < f0 (x), (f0 (x ∗ ) > f0 (x))

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 7 / 37

Programowanie matematyczne Ekstremum

Ekstremum funkcji

Niech
S = {x : fi (x) ¬ 0, i = 1, . . . , m} - zbiór rozwiązań dopuszczalnych

Funkcja f0 ma w punkcie x ∗ właściwe minimum (maksimum) globalne,


jeżeli dla każdego x ∈ S

f0 (x ∗ ) < f0 (x), (f0 (x ∗ ) > f0 (x))

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 8 / 37


Programowanie matematyczne Punkty stacjonarne

Punkty stacjonarne funkcji nieliniowej wielu zmiennych

y
y = 65x 6 + 71x 5 − 322x 4 − 401x 3 + 1000

maksimum lokalne punkt przegięcia

minimum lokalne

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 9 / 37

Programowanie matematyczne Punkty stacjonarne

x12 x22
f (x) = − 2 + 2

Punkt siodłowy

50

40

30

20

10

f(x) 0

-10

-20

-30
8
-40
2

-50
-4 x2
1

-10
11

13

x1
15

17

19

21

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 10 / 37


Poszukiwanie ekstremum funkcji nieliniowej Przypadki

Poszukiwanie ekstremum funkcji nieliniowej

x2

S =∅

zminimalizować
z = x1 + x2 7

przy ograniczeniach
(x1 − 7)2 + (x2 − 7)2 ­ 5
(x1 − 7)2 + (x2 − 7)2 ¬ 2

Brak rozwiązań dopuszczalnych - brak optimum.

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 11 / 37

Poszukiwanie ekstremum funkcji nieliniowej Przypadki

Poszukiwanie ekstremum funkcji nieliniowej


x2

S 6= ∅

zminimalizować
7
z = x1 + x2
przy ograniczeniach
(x1 − 7)2 + (x2 − 7)2 ¬ 5
(x1 − 7)2 + (x2 − 7)2 ­ 2

x1
7

Rozwiązanie optymalne ograniczone

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 12 / 37


Poszukiwanie ekstremum funkcji nieliniowej Przypadki

Poszukiwanie ekstremum funkcji nieliniowej

x2

S 6= ∅

zmaksymalizować
7
z = x1 + x2
przy ograniczeniach
(x1 − 7)2 + (x2 − 7)2 ­ 2

x1
7

Rozwiązanie optymalne nieograniczone

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 13 / 37

Poszukiwanie ekstremum funkcji nieliniowej Przypadki

Poszukiwanie ekstremum funkcji nieliniowej

f0(x)

S 6= ∅

zminimalizować
z = x −1
przy ograniczeniach
x ∈ R+

Rozwiązanie optymalne ograniczone, ale nieosiągalne!

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 14 / 37


Poszukiwanie ekstremum funkcji nieliniowej Przypadki

Poszukiwanie ekstremum funkcji nieliniowej

S =∅
S 6= ∅
optimum ograniczone
wartość funkcji nieograniczona
wartość funkcji ograniczona, ale optimum nieosiągalne

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 15 / 37

Poszukiwanie ekstremum funkcji nieliniowej Przypadki

Przykład c.d.

 2
v
zmaksymalizować P= r +R R

strata mocy
4,5

3,5

2,5

1,5

0,5

0
0

10

11

12

dP v 2 (r + R)2 − 2(r + R)v 2 R


= =0 (11)
dR (r + R)4
Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 16 / 37
Poszukiwanie ekstremum funkcji nieliniowej Gradient

Gradient funkcji wielu zmiennych

Wektor pochodnych cząstkowych funkcji

f (x) : Rn → R

ze względu na x1 , x2 , . . . , xn nazywa się gradientem funkcji f (x) i


oznacza się go przez ∇f (x).
 ∂f (x) 
 ∂f∂x(x)
1 
 
∇f (x) =  ∂x
 . . 2.

 (12)
 
∂f (x)
∂xn

x jest punktem stacjonarnym funkcji f (x) wtw ∇f (x) = 0

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 17 / 37

Poszukiwanie ekstremum funkcji nieliniowej Gradient

Przykład c.d.

v 2R
zmaksymalizować P= (r +R)2

2 (r + R)2 − 2(r + R)R 2 r −R


v = v =0
(r + R)4 (r + R)3
R=r
Czy R = r jest maksimum czy minimum funkcji?

3 2
d 2P 2 −(r + R) − 3(r + R) (r − R)
=v (13)
dR 2 (r + R)6
2 2R − 4r v2
=v =− <0
(2r )4 (2r )3

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 18 / 37


Poszukiwanie ekstremum funkcji nieliniowej Gradient

Przykład c.d.

vR
R=r r +R <E

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 19 / 37

Poszukiwanie ekstremum funkcji nieliniowej Hesjan

Hesjan funkcji wielu zmiennych

∂2f ∂2f ∂2f


 
∂x12 ∂x1 ∂x2 ... ∂x1 ∂xn
 
 ... ... ... ... 
H(f ) = 



 
∂2f ∂2f ∂2f
∂xn ∂x1 ∂xn ∂x2 ... ∂xn2

∂2f ∂2f
Zakładamy, że ∂xi ∂xj = ∂xj ∂xi .

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 20 / 37


Poszukiwanie ekstremum funkcji nieliniowej Hesjan

Określoność macierzy

Dla dowolnej macierzy M o wymiarach n × n i wektora z o długości n


   

 dodatnio określona 
 
 >0 


 dodatnio półokreślona 
 
 ­0 

M jest ⇐⇒ z T Mz jest

 ujemnie określona 
 
 <0 

   

ujemnie półokreślona  
¬0 

dla dowolnego z 6= 0

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 21 / 37

Poszukiwanie ekstremum funkcji nieliniowej Hesjan

Twierdzenie

H(x ∗ ) jest dodatnio określona =⇒ x ∗ jest właściwym mi-


nimum lokalnym

H(x) jest dodatnio określo- =⇒ x ∗ jest minimum lokal-


na dla wszystkich wartości x nym
w pewnym otoczeniu x ∗

x ∗ jest minimum lokalnym =⇒ H(x ∗ ) jest dodatnio


półokreślona

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 22 / 37


Równości Graficznie

Klasyfikacja problemów NLP

Problemy bez ograniczeń


Problemy z ograniczeniami
Ograniczenia w postaci równań
Ograniczenia w postaci nierówności

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 23 / 37

Równości Graficznie

Przykład

zminimalizować f0 (x) = (x1 − 1)2 + x22 + 1


przy ograniczeniach f1 (x) = x1 − 0, 25x22 = 0

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 24 / 37


Równości Graficznie

Metoda graficzna

x2
x1 − 0, 25x22 = 0
5

2
(x1 − 1)22 + x222 = 2
1 (x1 − 1)2 + x22 = 1
(x1 − 1) + x2 = 0, 5
0 x1
0 1 2 3 4 5 6 7 8 9 10 11 12
-1

-2

-3

-4

-5

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 25 / 37

Równości Analitycznie

Podstawienie

Przykład

zminimalizować f0 (x) = (x1 − 1)2 + x22 + 1


przy ograniczeniach f1 (x) = x1 − 0, 25x22 = 0

x1 = 0, 25x22
f0 (x2 ) = ((0, 25x22 ) − 1)2 + x22 + 1
f0 (x2 ) = (0, 25)2 x24 − 0, 5x22 + 1 + x22 + 1
f0 (x2 ) = (0, 0625)x24 + 0, 5x22 + 2
df0 3
dx2 = (4 ∗ 0, 0625)x2 + x2 = 0
x2 (0, 25x22 + 1) = 0
x2 = 0
x1 = 0
f0 = 2

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 26 / 37


Równości Metoda

Obserwacja

x2
x1 − 0, 25x22 = 0
5

1 (x1 − 1)2 + x22 = 1


0 x1
-4 -3 -2 -1 0 1 2 3 4 5 6 7 8
-1

-2

-3

-4

-5

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 27 / 37

Równości Metoda

Twierdzenie Lagrange’a
Niech dany będzie następujący problem NPM:

zminimalizować z = f0 (x1 , ..., xn ) (14)


przy ograniczeniach: fi (x1 , ..., xn ) = 0, i = 1, . . . , m (15)

Jeżeli:
(x1∗ , x2∗ , . . . , xn∗ ) jest lokalnym optimum problemu (14)-(15)
n>m
fi mają ciągłe pierwsze pochodne ze względu na xj
∇fi (x1∗ , x2∗ , . . . , xn∗ ) są wektorami liniowo niezależnymi
to istnieje wektor u = [u1 , . . . , um ]T taki, że
m
∇f0 (x1∗ , x2∗ , . . . , xn∗ ) ui ∇fi (x1∗ , x2∗ , . . . , xn∗ ) = 0
X
+
i=1

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 28 / 37


Równości Metoda

Metoda Langrange’a
1 Sprawdzić, że n > m i każda funkcja fi , i = 0, . . . , m ma ciągłe pochodne
cząstkowe.
2 Zbudować funkcję Lagrange’a
m
X
L(x, u) = f0 (x) + ui fi (x)
i=1

3 Znaleźć wszystkie rozwiązania następującego układu równań nieliniowych (warunki


Lagrange’a)
m
X
∇L(x, u) = ∇f0 (x) + ui ∇fi (x) = 0
i=1

∂L(x, u)
= fi (x) = 0, i = 1, . . . , m
∂ui

4 Sprawdzić każde rozwiązanie (x ∗ , u ∗ ) (punkty Lagrange’a) aby stwierdzić, czy


jest minimum lokalnym.

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 29 / 37

Równości Metoda

Joseph-Louis Lagrange
25.01.1736 (Turyn) – 10.04.1813 (Paryż)

Lagrange był przede wszystkim teoretykiem. Nie


interesowało go praktyczne wykorzystanie jego wyników,
a zagadnieniami praktycznymi (jak reforma systemu miar)
zajmował się z konieczności. Miał tyle szczęścia (a może
rozsądku), że nie wdawał się w działalność polityczną, nie
był też jednoznacznie związany z żadną grupą społeczną.
Dzięki temu w czasach zamętu uniknął losu Lavoisiera i
Galois, dwóch wielkich Francuzów, którzy zginęli
wł. Giuseppe Lodovico (Luigi) zamieszani w politykę.
Lagrangia matematyk i astronom W uznaniu jego zasług jedna z planetoid otrzymała
pochodzenia włoskiego, pracujący we nazwę (1006) Lagrangea. Jego nazwisko pojawiło się na
Francji i przez dwadzieścia lat w liście 72 nazwisk na wieży Eiffla, jako jednego z dwóch
Berlinie dla króla pruskiego Fryderyka (obok Jacques’a Sturma) wyróżnionych tam
II. nie-Francuzów (z urodzenia lub pochodzenia).

więcej na: https : //pl.wikipedia.org /wiki/Joseph Louis Lagrange

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 30 / 37


Równości Metoda

Metoda Langrange’a - przykład

Przykład

zminimalizować f0 (x) = (x1 − 1)2 + x22 + 1


przy ograniczeniach f1 (x) = x1 − 0, 25x22 = 0

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 31 / 37

Równości Metoda

Metoda Langrange’a - przykład

zminimalizować f0 (x) = (x1 − 1)2 + x22 + 1


przy ograniczeniach f1 (x) = x1 − 0, 25x22 = 0

1 sprawdzenie założeń twierdzenia Lagrange’a


2 funkcja Lagrange’a L(x, u) = (x1 − 1)2 + x22 + 1 + u(x1 − 0, 25x22 )
3 warunki Lagrange’a
∂L
∂x1 = 2(x1 − 1) + u = 0
∂L
∂x2 = 2x2 − 0, 5ux2 = 0
∂L 2
∂u = x1 − 0, 25x2 = 0
4 rozwiązanie x1 = 0 x2 = 0 u = 2

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 32 / 37


Równości Metoda

Klasyfikacja punktów Langrange’a

Twierdzenie
Jeżeli (x ∗ , u ∗ ) jest jedynym punktem Lagrange’a i wiadomo, że funkcja
osiąga minimum, to x ∗ jest minimum lokalnym.

Twierdzenie zachodzi dla naszego przykładu. Zatem punkt (0,0) jest


minimum.

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 33 / 37

Równości Metoda

Klasyfikacja punktów Langrange’a

Twierdzenie
Jeżeli (x ∗ , u ∗ ) jest punktem Lagrange’a i hesjan HL (x ∗ ) funkcji Lagrange’a
w punkcie x ∗ dla u = u ∗ spełnia warunek:

x T HL (x ∗ )x > 0

dla wszystkich x takich, że x T ∇fi (x) = 0, i = 1, . . . , m, to x ∗ jest


minimum lokalnym.

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 34 / 37


Równości Metoda

Przykład

Dany jest następujący problem NPM:

13 2 1 2
zminimalizować f0 (x) = (x1 − 3 ) + (x2 − 2 ) − x3 (16)
przy ogr. f1 (x) = x1 + 53 x2 − 10 = 0 (17)
f2 (x) = (x2 − 2)2 + x3 − 4 = 0 (18)

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 35 / 37

Równości Metoda

Klasyfikacja punktów Langrange’a

Twierdzenie
Jeżeli założenia twierdzenia Lagrange’a są spełnione i nie istnieje u takie,
że

∇f0 (x ∗ ) + ui ∇fi (x ∗ ) = 0
w punkcie x ∗ , to w tym punkcie na pewno nie występuje minimum.

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 36 / 37


Równości Metoda

Przykład

Dany jest następujący problem NPM:

zminimalizować f0 (x) = x12 + (x2 − 2)2 + x32 (19)


przy ograniczeniach f1 (x) = x12 + 0, 25x22 + x32 − 1 = 0 (20)
f2 (x) = −x2 + 2x3 = 0 (21)
 
√2
6

√2 
Sprawdzić, czy w punkcie x = 
 6
 występuje minimum lokalne.

√1
6

Joanna Józefowska (Instytut Informatyki) Metoda Lagrange’a 37 / 37


Metoda Karusha-Kuhna-Tuckera
Badania operacyjne i teoria optymalizacji

Joanna Józefowska

Instytut Informatyki

Joanna Józefowska (Instytut Informatyki) Metoda Karusha-Kuhna-Tuckera 1 / 22

Sformułowanie

Ograniczenia w postaci nierówności

Postać ograniczeń

fi (x) = 0 ⇔ fi (x) ¬ 0 i fi (x) ­ 0


lub

fi (x) = 0 ⇔ fi (x) ¬ 0 i − fi (x) ¬ 0

Joanna Józefowska (Instytut Informatyki) Metoda Karusha-Kuhna-Tuckera 2 / 22


Sformułowanie

Postać kanoniczna
problemu programowania matematycznego

Sformułowanie problemu
zminimalizować f0 (x)
n
x∈R

przy ograniczeniach fi (x) ¬ 0 , i = 1, . . . , m

Joanna Józefowska (Instytut Informatyki) Metoda Karusha-Kuhna-Tuckera 3 / 22

Przykład

Przykład

zminimalizować f0 (x) = (x1 − 14)2 + (x2 − 11)2


n
x∈R

przy ograniczeniach f1 (x) = (x1 − 11)2 + (x2 − 13)2 − 49 ¬ 0

f2 (x) = x1 + x2 − 19 ¬ 0

Joanna Józefowska (Instytut Informatyki) Metoda Karusha-Kuhna-Tuckera 4 / 22


Przykład

Przykład

x2
f1(x) = (x1–11)2 + (x2–13)2  49

(0, 0)
x1

Joanna Józefowska (Instytut Informatyki) Metoda Karusha-Kuhna-Tuckera 5 / 22

Przykład

Przykład

x2
f1(x) = (x1–11)2 + (x2–13)2  49

(0, 0)
f2(x) = x1+x2–19  0 x1

Joanna Józefowska (Instytut Informatyki) Metoda Karusha-Kuhna-Tuckera 6 / 22


Przykład

Przykład

x2
f1(x) = (x1–11)2 + (x2–13)2  49

f0(x) = (x1–14)2 + (x2–11)2

(0, 0)
f2(x) = x1+x2–19  0 x1

Joanna Józefowska (Instytut Informatyki) Metoda Karusha-Kuhna-Tuckera 7 / 22

Przykład

Przykład

x2
f1(x) = (x1–11)2 + (x2–13)2  49

f0(x) = (x1–14)2 + (x2–11)2

x = (11, 8)

(0, 0)
f2(x) = x1+x2–19  0 x1

Joanna Józefowska (Instytut Informatyki) Metoda Karusha-Kuhna-Tuckera 8 / 22


Przykład

Przykład

x2

f0(x) = (x1–14)2 + (x2–11)2

x = (11, 8)

(0, 0)
f2(x) = x1+x2–19  0 x1

Joanna Józefowska (Instytut Informatyki) Metoda Karusha-Kuhna-Tuckera 9 / 22

Przykład

Ograniczenia aktywne

x2

f0(x) = (x1–14)2 + (x2–11)2

x = (11, 8)

(0, 0)
f2(x) = x1+x2–19 = 0 x1

Joanna Józefowska (Instytut Informatyki) Metoda Karusha-Kuhna-Tuckera 10 / 22


Przykład

Przykład

zminimalizować f0 (x) = (x1 − 14)2 + (x2 − 11)2


n
x∈R

przy ograniczeniach:

ograniczenie nieaktywne

f1 (x) = (x1 − 11)2 + (x2 − 13)2 − 49 ¬ 0

ograniczenie aktywne:

f2 (x) = x1 + x2 − 19 = 0

Można zastosować metodę Lagrange’a albo podstawienie.

Joanna Józefowska (Instytut Informatyki) Metoda Karusha-Kuhna-Tuckera 11 / 22

Przykład

Postępowanie gdy ograniczenia mają postać nerówności

1 Ustalić, które ograniczenia są aktywne, a które nieaktywne.


2 Usunąć ograniczenia nieaktywne i zamienić ograniczenia aktywne na
równości.
3 Rozwiązać otrzymane zadanie metodą Lagrange’a.

Joanna Józefowska (Instytut Informatyki) Metoda Karusha-Kuhna-Tuckera 12 / 22


Warunki ortogonalności

Warunki ortogonalności

Funkcja Lagrange’a:

L(x, u) = f0 (x) + u2 f2 (x)

L(x, u) = f0 (x) + u1 f1 (x) + u2 f2 (x)


u1 = 0

Joanna Józefowska (Instytut Informatyki) Metoda Karusha-Kuhna-Tuckera 13 / 22

Warunki ortogonalności

Warunki ortogonalności

Funkcja Lagrange’a:
m
X
L(x, u) = f0 (x) + ui fi (x)
i=1

warunki ortogonalności

ui fi (x) = 0, i = 1, . . . , m

Joanna Józefowska (Instytut Informatyki) Metoda Karusha-Kuhna-Tuckera 14 / 22


Warunki KKT

Warunki Karusha-Kuhna-Tuckera (KKT)

zminimalizować f0 (x)
n x∈R

przy ograniczeniach fi (x) ¬ 0 , i = 1, . . . , m

Pm
∇f0 (x) + i=1 ui ∇fi (x) =0 warunki gradientowe

ui fi (x) = 0, i = 1, . . . , m warunki ortogonalności

fi (x) ¬ 0, i = 1, . . . , m warunki dopuszczalności

ui ­ 0, i = 1, . . . , m warunki nieujemności

Joanna Józefowska (Instytut Informatyki) Metoda Karusha-Kuhna-Tuckera 15 / 22

Twierdzenia KKT

Twierdzenia Karusha-Kuhna-Tuckera

Dany jest problem programowania matematycznego:


zminimalizować f0 (x)
n
x∈R

przy ograniczeniach fi (x) ¬ 0 , i = 1, . . . , m (∗)

warunki konieczne
jeżeli fi jest różniczkowalna, i = 0, . . . , m
i x∗ jest minimum lokalnym
i spełnione są ograniczenia (∗)
to istnieje wektor u∗ taki, że (x∗ , u∗ ) spełnia warunki KKT;

warunki dostateczne
jeżeli (x∗ , u∗ ) spełnia warunki KKT
i fi jest funkcją wypukłą, i = 0, . . . , m
to x∗ jest minimum globalnym.

Joanna Józefowska (Instytut Informatyki) Metoda Karusha-Kuhna-Tuckera 16 / 22


Twierdzenia KKT

Funkcja wypukła

Funkcja f jest wypukła wtedy i tylko wtedy, gdy dla dowolnych punktów x
oraz y zachodzi:

f (λx + (1 − λ)y ) ¬ λf (x) + (1–λ)f (y )


dla wszystkich λ takich, że 0 < λ < 1.

Funkcja f (x) jest wklęsła wtw gdy funkcja (–f (x)) jest wypukła.

Joanna Józefowska (Instytut Informatyki) Metoda Karusha-Kuhna-Tuckera 17 / 22

Twierdzenia KKT

Sprawdzanie wypukłości funkcji

1 Z definicji wypukłości
2 Z określoności Hesjanu
3 Z twierdzeń o minorach

Głównym minorem (wiodącym)


macierzy H nazywa się wyznacznik macierzy kwadratowej, którego główna
przekątna zawiera się w głównej przekątnej H i zgodny jest element (1,1).

Jeżeli H jest symetryczna, to


H jest dodatnio określona wtw każdy wiodący minor główny jest
dodatni;
H jest dodatnio półokreślona wtw wszystkie minory główne są
nieujemne.

Joanna Józefowska (Instytut Informatyki) Metoda Karusha-Kuhna-Tuckera 18 / 22


Twierdzenia KKT

Hesjan a wypukłość funkcji

H(x) jest dodatnio półokre- ⇔ f (x) jest funkcją wypukłą


ślona dla wszystkich warto-
ści x

H(x) jest dodatnio określona ⇔ f(x) jest funkcją ściśle wy-


dla wszystkich wartości x pukłą

Joanna Józefowska (Instytut Informatyki) Metoda Karusha-Kuhna-Tuckera 19 / 22

Twierdzenia KKT

Wnioski

Jeżeli funkcja jest wypukła, to jej punkt stacjonarny jest z pewnością


minimum.

Jeżeli funkcja celu i warunki ograniczające są wypukłe, to rozwiązanie


warunków KKT odpowiada znalezieniu minimum globalnego.

Joanna Józefowska (Instytut Informatyki) Metoda Karusha-Kuhna-Tuckera 20 / 22


Metoda KKT

Metoda Karusha-Kuhna-Tuckera

1 Sformułować funkcję Lagrange’a


m
X
L(x, u) = f0 (x) + ui fi (x)
i=1
2 Znaleźć wszystkie rozwiązania (x∗ , u∗ ) następujacego układu równań i
nierówności:
∂L
∂xj =0 j = 1, . . . , n
ui fi (x) = 0 i = 1, . . . , m
fi (x) ¬ 0 i = 1, . . . , m
ui ­ 0 i = 1, . . . , m
3 Jeżeli wszystkie funkcje fi są wypukłe, to punkt x∗ jest minimum
globalnym. Wprzeciwnym razie należy zbadać każdy punkt (x∗ , u∗ ) i
określić, czy jest w nim osiągane optimum.

Joanna Józefowska (Instytut Informatyki) Metoda Karusha-Kuhna-Tuckera 21 / 22

Metoda KKT

Przykład

zminimalizować f0 (x) = −3x1 + 21 x22

przy ograniczeniach f1 (x) = x12 + x22 − 1 ¬ 0

f2 (x) = −x1 ¬ 0

f3 (x) = −x2 ¬ 0

Joanna Józefowska (Instytut Informatyki) Metoda Karusha-Kuhna-Tuckera 22 / 22


Metoda PERT
Badania operacyjne

Joanna Józefowska

Instytut Informatyki

Joanna Józefowska (Instytut Informatyki) Metoda PERT 1 / 17

Plan

Plan

1 Modelowanie niepewności

2 Rozkład Beta czasu trwania czynności

3 Rozkład prawdopodobieństwa luzu zdarzenia

4 Przykład

Joanna Józefowska (Instytut Informatyki) Metoda PERT 2 / 17


Niepewność

Model stochastyczny

zminimalizować f0 (x) (1)


zminimalizować f0 (X) (3)
przy ograniczeniach fi (x) ­ 0 (2)
przy ograniczeniach fi (X) ­ 0 (4)
x – wektor zmiennych decyzyjnych –
X – wektor losowych zmiennych decyzyjnych
deterministycznych
f0 – wartość funkcji celu (kryterium) w punkcie
f0 – wartość funkcji celu (kryterium) – liczba
X0 – ??? zmienna losowa
rzeczywista
max f0 (X) – ???
max f0 (x) – jasno zdefiniowane

gęstość prawdopodobieństwa

f0 (X2 )
f0 (X1 ) f0 (X )
f0 (X3 )

Joanna Józefowska (Instytut Informatyki) Metoda PERT 3 / 17

Niepewność

Stochastyczna funkcja celu

Podejście klasyczne
ustal wartość funkcji celu f0 (X) odpowiadającą ”niepowodzeniu” (np.
Tn+1 > D);
oblicz prawdopodobieństwo p = P{f0 (X) > D}

Zmiana wartości składowych wektora x wpływa zarówno na zmianę


wartości funkcji celu f0 (x), jak i rozkładu prawdopodobieństwa funkcji
f0 (X).
Problem
Prawdopodobieństwo ”niepowodzenia” nie zawiera informacji o tym, jak
daleko jesteśmy od optymalnej wartości f0∗ (x).

Joanna Józefowska (Instytut Informatyki) Metoda PERT 4 / 17


Beta

Niedeterministyczny czas trwania czynności

Czas trwania czynności jest zmienną losową o rozkładzie beta.

Dystrybuanta rozkładu beta:

f (t) = H(t–a)p–1 (b–t)q–1

Wartość średnia i wariancja czasu trwania czynności:


a + 4m + b
te =
6

2 (b − a)2
σ =
36
gdzie:
a – wartość optymistyczna czasu trwania czynności
b – wartość pesymistyczna czasu trwania czynności
m – najbardziej prawdopodobna wartość czasu trwania czynności
Joanna Józefowska (Instytut Informatyki) Metoda PERT 5 / 17

Rozkład prawdopodobieństwa luzu zdarzenia

Luz zdarzenia

Luz zdarzenia jest zmienną losową o rozkładzie normalnym o parametrach:


 r 
N T̄ip − T̄iw , σT̄2 p + σT̄2 w
i i

gdzie: v
m u m
uX
σt2k
X
T̄iw = tke σT̄ w
i
=t
k=1 k=1
v
l u l
T̄ip =
X
tke
uX
σT̄ p = t σt2k
k=1 i
k=1

Joanna Józefowska (Instytut Informatyki) Metoda PERT 6 / 17


Rozkład prawdopodobieństwa luzu zdarzenia

Luz zdarzenia

Prawdopodobieństwo ujemnego luzu zdarzenia i

p(Li < 0) = P(T̄ip − T̄iw < 0)


 
p
T̄i − T̄iw
= Φ −
 q 
σT̄2 p + σT̄2 w
i i

gdzie Φ – dystrybuanta rozkładu normalnego o parametrach N(0, 1).

Joanna Józefowska (Instytut Informatyki) Metoda PERT 7 / 17

Przykład

Przykład

1 5

0 3 6

2 4

Joanna Józefowska (Instytut Informatyki) Metoda PERT 8 / 17


Przykład

Przykład

a + 4m + b
te =
6
czynność a m b tije σij2
< 0, 1 > 1 4 5
< 0, 2 > 3 5 7
< 1, 3 > 2 5 10
< 1, 5 > 5 7 14
< 2, 4 > 1 8 9
< 3, 4 > 3 9 12
< 3, 5 > 5 8 14
< 4, 6 > 5 7 10
< 5, 6 > 5 5 10

Joanna Józefowska (Instytut Informatyki) Metoda PERT 9 / 17

Przykład

Przykład

a + 4m + b
te =
6

2 (b − a)2
σ =
36
czynność a m b tije σij2
< 0, 1 > 1 4 5 3,67
< 0, 2 > 3 5 7 5,00
< 1, 3 > 2 5 10 5,33
< 1, 5 > 5 7 14 7,83
< 2, 4 > 1 8 9 7,00
< 3, 4 > 3 9 12 8,50
< 3, 5 > 5 8 14 8,50
< 4, 6 > 5 7 10 7,17
< 5, 6 > 5 5 10 5,83
Joanna Józefowska (Instytut Informatyki) Metoda PERT 10 / 17
Przykład

Przykład

(b − a)2
2
σ =
36
czynność a m b tije σij2
< 0, 1 > 1 4 5 3,67 0,44
< 0, 2 > 3 5 7 5,00 0,44
< 1, 3 > 2 5 10 5,33 1,78
< 1, 5 > 5 7 14 7,83 2,25
< 2, 4 > 1 8 9 7,00 1,78
< 3, 4 > 3 9 12 8,50 2,25
< 3, 5 > 5 8 14 8,50 2,25
< 4, 6 > 5 7 10 7,17 0,69
< 5, 6 > 5 5 10 5,83 0,69

Joanna Józefowska (Instytut Informatyki) Metoda PERT 11 / 17

Przykład

Przykład

m l
T̄ip
X X
T̄iw = tke = tke
k=1 k=1

i T̄iw T̄ip
0 0,00 1,33
1 3,67 5,00
2 5,00 11,83
3 9,00 10,83
4 17,50 18,83
5 17,50 20,17
6 24,67 26,00

Joanna Józefowska (Instytut Informatyki) Metoda PERT 12 / 17


Przykład

Przykład

m
X l
X
σT̄2 w = σt2k σT̄2 p = σt2k
i i
k=1 k=1

i T̄iw σT̄2 w T̄ip σT̄2 p


i i
0 0,00 0,00 1,33 5,17
1 3,67 0,44 5,00 4,72
2 5,00 0,44 11,83 2,47
3 9,00 2,22 10,83 2,94
4 17,50 4,47 18,83 0,69
5 17,50 4,47 20,17 0,69
6 24,67 5,17 26,00 0,00

Joanna Józefowska (Instytut Informatyki) Metoda PERT 13 / 17

Przykład

Przykład

i T̄iw σT̄2 w T̄ip σT̄2 p T̄ip − T̄iw


i i
0 0,00 0,00 1,33 5,17 1,33
1 3,67 0,44 5,00 4,72 1,33
2 5,00 0,44 11,83 2,47 6,83
3 9,00 2,22 10,83 2,94 1,33
4 17,50 4,47 18,83 0,69 1,33
5 17,50 4,47 20,17 0,69 2,67
6 24,67 5,17 26,00 0,00 1,33

Joanna Józefowska (Instytut Informatyki) Metoda PERT 14 / 17


Przykład

Przykład

 
T̄ p − T̄iw
− q i
ui = 
σT̄2 p + σT̄2 w
i i

i T̄iw σT̄2 w T̄ip σT̄2 p T̄ip − T̄iw ui


i i
0 0,00 0,00 1,33 5,17 1,33
1 3,67 0,44 5,00 4,72 1,33
2 5,00 0,44 11,83 2,47 6,83
3 9,00 2,22 10,83 2,94 1,33
4 17,50 4,47 18,83 0,69 1,33
5 17,50 4,47 20,17 0,69 2,67
6 24,67 5,17 26,00 0,00 1,33

Joanna Józefowska (Instytut Informatyki) Metoda PERT 15 / 17

Przykład

Przykład

i T̄iw σT̄2 w T̄ip σT̄2 p T̄ip − T̄iw ui Φ(−ui )


i i
0 0,00 0,00 1,33 5,17 1,33 0,5865 0,279
1 3,67 0,44 5,00 4,72 1,33 0,5865 0,279
2 5,00 0,44 11,83 2,47 6,83 4,0011 3.15E-5
3 9,00 2,22 10,33 2,94 1,33 0,5865 0,279
4 17,50 4,47 18,83 0,69 1,33 0,5865 0,279
5 17,50 4,47 20,17 0,69 2,67 0,1731 0,120
6 24,67 5,17 26,00 0,00 1,33 0,5865 0,279

Joanna Józefowska (Instytut Informatyki) Metoda PERT 16 / 17


Przykład

Przykład

1 5

i Φ(−ui ) 0 3 6
0 0,279
1 0,279 2 4
2 0,00000315
3 0,279 Φ(−ui ) = P{Li < 0}
4 0,279
Prawdopodobieństwa ujemnych luzów zdarzeń
5 0,00000125
oznaczają prawdopodobieństwo, że dane zdarzenie
6 0,279
wystąpi po terminie. W przypadku zdarzenia końcowego
oznacza to prawdopodobieństwo opóźnienia zakończenia
projektu.

Joanna Józefowska (Instytut Informatyki) Metoda PERT 17 / 17


Kontrola czasu wykonania czynności
Badania operacyjne

Joanna Józefowska

Instytut Informatyki

Joanna Józefowska (Instytut Informatyki) Kontrola czasu wykonania czynności 1 / 15

Czas wykonania

Sposoby wpływania na czas wykonania czynności

Czas czynności można skrócić przez:


użycie dodatkowych zasobów
użycie alternatywnych zasobów
wzrost kosztów
Relacje między czasem wykonania a wzrostem kosztów
dyskretne: MMRCPSP (Multi-Mode Resource Constraint Project
Scheduling)
ciągłe: liniowe lub nieliniowe

Joanna Józefowska (Instytut Informatyki) Kontrola czasu wykonania czynności 2 / 15


Czas wykonania

Zmienny czas wykonania czynności

t
tn

tgr

kn kgr k

tn , kn − czas, koszt normalny


tgr , kgr − czas, koszt graniczny
kgr − kn
s= − gradient kosztu
tn − tgr
Joanna Józefowska (Instytut Informatyki) Kontrola czasu wykonania czynności 3 / 15

Czas wykonania

Przykład

czynność tn tgr kn kgr


h1, 2i 8 6 280 400
h1, 4i 10 5 100 150
h2, 3i 6 4 300 400
h3, 6i 12 10 260 300
h4, 5i 15 15 150 150
h5, 6i 10 2 200 360

2 3

1 6

4 5

Joanna Józefowska (Instytut Informatyki) Kontrola czasu wykonania czynności 4 / 15


Czas wykonania

Przykład

czynność tn tgr kn kgr s


h1, 2i 8 6 280 400 60
h1, 4i 10 5 100 150 10
h2, 3i 6 4 300 400 50
h3, 6i 12 10 260 300 20
h4, 5i 15 15 150 150 –
h5, 6i 10 2 200 360 20
całkowity koszt 1290 1780

Joanna Józefowska (Instytut Informatyki) Kontrola czasu wykonania czynności 5 / 15

Czas wykonania

Przykład
czynność tn tgr kn kgr s
h1, 2i 8 6 280 400 60
h1, 4i 10 5 100 150 10
h2, 3i 6 4 300 400 50
h3, 6i 12 10 260 300 20
h4, 5i 15 15 150 150 –
h5, 6i 10 2 200 360 20
całkowity koszt 1290 1780
6
2 3
8 12
1 6
10 10
15
4 5

Joanna Józefowska (Instytut Informatyki) Kontrola czasu wykonania czynności 6 / 15


Czas wykonania

Przykład

2 3
8 17 6 14 23
9 9
8 12
1 6
0 0 35 35
0 0
10 10

4 15 5
10 10 25 25
0 0

Które zadanie warto skrócić?

Joanna Józefowska (Instytut Informatyki) Kontrola czasu wykonania czynności 7 / 15

Czas wykonania

Przykład

2 3
8 17 6 14 23
9 9
8 12
1 6
0 0 35 35
0 0
10 10

4 15 5
10 10 25 25
0 0

Które zadanie warto skrócić? sh1,4i = 10


O il skrócić zadanie h1, 4i? O 5 jednostek.

Joanna Józefowska (Instytut Informatyki) Kontrola czasu wykonania czynności 8 / 15


Czas wykonania

Przykład

2 3
8 12 6 14 18
4 4
8 12
1 6
0 0 30 30
0 0
5 10

4 15 5
5 5 20 20
0 0

Które zadanie warto skrócić? sh5,6i = 20


O il skrócić zadanie h5, 6i? O 4 jednostki.

Joanna Józefowska (Instytut Informatyki) Kontrola czasu wykonania czynności 9 / 15

Czas wykonania

Przykład

2 3
8 8 6 14 14
0 0
8 12
1 6
0 0 26 26
0 0
5 6

4 15 5
5 5 20 20
0 0

Trzeba równocześnie skrócić sh5,6i = 20 oraz sh3,6i = 20 o 2 jednostki.

Joanna Józefowska (Instytut Informatyki) Kontrola czasu wykonania czynności 10 / 15


Czas wykonania

Przykład

2 3
8 8 6 12 12
0 0
8 10
1 6
0 0 24 24
0 0
5 4

4 15 5
5 5 20 20
0 0

Trzeba równocześnie skrócić sh5,6i = 20 oraz sh2,3i = 50 o 2 jednostki.

Joanna Józefowska (Instytut Informatyki) Kontrola czasu wykonania czynności 11 / 15

Czas wykonania

Przykład

2 3
8 8 4 12 12
0 0
8 10
1 6
0 0 22 22
0 0
5 2

4 15 5
5 5 20 20
0 0

Nie można już bardziej skrócić ścieżki krytycznej.

Joanna Józefowska (Instytut Informatyki) Kontrola czasu wykonania czynności 12 / 15


Czas wykonania

Koszt skrócenia

czynność tn tgr t∗ kn kgr s k∗


h1, 2i 8 6 8 280 400 60 0
h1, 4i 10 5 5 100 150 10 50
h2, 3i 6 4 4 300 400 50 100
h3, 6i 12 10 10 260 300 20 40
h4, 5i 15 15 15 150 150 – 0
h5, 6i 10 2 2 200 360 20 160
całkowity koszt 1290 1780 350

T ∗ = 22
K ∗ = 1640

Joanna Józefowska (Instytut Informatyki) Kontrola czasu wykonania czynności 13 / 15

Czas wykonania

Algorytm kompresji

1 Zestawić czynności krytyczne, podać ich gradienty kosztów s oraz


czasy graniczne tgr .
2 Wyeliminować z zestawienia te czynności, dla których tgr = tn .
3 Proces skracania rozpocząć od czynności krytycznej o najniższym
gradiencie kosztów s.
4 Należy starać się skrócić czas trwania czynności o jak największą
liczbę jednostek. Występują tu dwa ograniczenia:
czas graniczny danej czynności tgr ,
pojawienie się nowej ścieżki krytycznej.

Joanna Józefowska (Instytut Informatyki) Kontrola czasu wykonania czynności 14 / 15


Czas wykonania

Algorytm kompresji

5 Przy istnieniu dwóch lub więcej ścieżek krytycznych w sieci należy


skracać czas o tę samą wielkość na wszystkich równoległych ścieżkach
krytycznych.
6 Najkrótszy termin wykonania programu uzyskuje się, gdy wszystkie
czynności na ścieżce krytycznej osiągną czasy graniczne.
7 Koszty przyspieszenia czynności oblicza się mnożąc liczbę jednostek
czasu, o które czynność została skrócona przez jej gradient kosztów.

Joanna Józefowska (Instytut Informatyki) Kontrola czasu wykonania czynności 15 / 15


Zasoby w zarządzaniu projektami
Badania operacyjne

Joanna Józefowska

Instytut Informatyki

12 grudnia 2021 roku

Joanna Józefowska (Instytut Informatyki) Zasoby w zarządzaniu projektami 12 grudnia 2021 roku 1 / 16

Plan

Plan

1 Klasyfikacja zasobów

2 Problem rozdziału zasobów

3 Problem rozdziału zasobów z wieloma sposobami wykonywania


czynności

4 Analiza finansowa inwestycji

Joanna Józefowska (Instytut Informatyki) Zasoby w zarządzaniu projektami 12 grudnia 2021 roku 2 / 16
Klasyfikacja

Klasyfikacja zasobów

Podstawowe kategorie zasobów wyróżnia się ze względu na ich dostepność:

zasoby odnawialne

zasoby nieodnawialne

zasoby podwójnie ograniczone

Joanna Józefowska (Instytut Informatyki) Zasoby w zarządzaniu projektami 12 grudnia 2021 roku 3 / 16

RCPSP

Problem rozdziału zasobów - oznaczenia

R – liczba zasobów odnawialnych


N – liczba zasobów nieodnawialnych
Rk – liczba jednostek k-tego zasobu odnawialnego, k = 1, 2, . . . , R
Nl – liczba jednostek l-tego zasobu nieodnawialnego, l = 1, 2, . . . , N
rjk – liczba jednostek zasobu k żądanych przez czynność j
njl - liczba jednostek zasobu l zużywanych przez czynność j

Joanna Józefowska (Instytut Informatyki) Zasoby w zarządzaniu projektami 12 grudnia 2021 roku 4 / 16
RCPSP

Problem rozdziału zasobów - sformułowanie

Zasoby: dyskretne, odnawialne,


Czynności: A0 , . . . , An+1 ,
Ograniczenia kolejnościowe: (Ai , Aj ) ∈ P,
Czas trwania czynności i: di ,
Najwcześniejszy możliwy termin zakończenia czynności i: EFi ,
Najpóźniejszy dopuszczalny termin zakończenia czynności i: LFi

(
1 gdy czynność j kończy się w chwili t
xjt =
0 w przeciwnym razie

Joanna Józefowska (Instytut Informatyki) Zasoby w zarządzaniu projektami 12 grudnia 2021 roku 5 / 16

RCPSP

Problem rozdziału zasobów - sformułowanie


zminimalizować:
LF
X n+1

txn+1,t
t=EFn+1

przy ograniczeniach:
LFj
X
xjt = 1 , j = 1, . . . , n + 1
t=EFj

LFi LFj
X X
txit ¬ xjt − dj , (Ai , Aj ) ∈ P
t=EFi t=EFj

n min{t+dj −1,LFj }
X X
rjk xjq ¬ Rk , k = 1, . . . , R; t = 1, . . . , H
j=1 q=max{t,EFj }

Joanna Józefowska (Instytut Informatyki) Zasoby w zarządzaniu projektami 12 grudnia 2021 roku 6 / 16
RCPSP

Problem rozdziału zasobów - przykład

4
2 5
zasoby 3 1 8
czynność z1 z2 z3
1 6 3 8
< 1, 2 > 1 2 0
< 1, 3 > 0 4 2 2 7 2
< 1, 4 > 2 1 0 8
< 2, 5 > 0 3 3 4 7
< 3, 5 > 3 1 0
< 3, 7 > 2 2 0
< 4, 7 > 1 1 2
< 5, 8 > 1 5 3
< 7, 8 > 0 4 2
dostępność 3 5 4

h1, 2i h2, 5i h5, 8i


h1, 4i h4, 7i
CPM h1, 3i 35 h3, 7i h7, 8i
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

Joanna Józefowska (Instytut Informatyki) Zasoby w zarządzaniu projektami 12 grudnia 2021 roku 7 / 16

RCPSP

Problem rozdziału zasobów - przykład

4
2 5
zasoby 3 1 8
czynność z1 z2 z3
1 6 3 8
< 1, 2 > 1 2 0
< 1, 3 > 0 4 2 2 7 2
< 1, 4 > 2 1 0 8
< 2, 5 > 0 3 3 4 7
< 3, 5 > 3 1 0
< 3, 7 > 2 2 0
< 4, 7 > 1 1 2
< 5, 8 > 1 5 3
< 7, 8 > 0 4 2
dostępność 3 5 4

h1, 2i h2, 5i 35 h5, 8i


h1, 4i h1, 3i h3, 7i h7, 8i
RCPSP h4, 7i
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

Joanna Józefowska (Instytut Informatyki) Zasoby w zarządzaniu projektami 12 grudnia 2021 roku 8 / 16
RCPSP

Problem rozdziału zasobów - przykład

4
2 5
zasoby 3 1 8
czynność z1 z2 z3
1 6 3 8
< 1, 2 > 1 2 0
< 1, 3 > 0 4 2 2 7 2
< 1, 4 > 2 1 0 8
< 2, 5 > 0 3 3 4 7
< 3, 5 > 3 1 0
< 3, 7 > 2 2 0
< 4, 7 > 1 1 2
< 5, 8 > 1 5 3
< 7, 8 > 0 4 2
dostępność 3 5 4

h1, 2i h1, 3i h2, 5i 35 h5, 8i


h7, 8i
h1, 4i
Zasób 2 h3, 7i
h4, 7i
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

Joanna Józefowska (Instytut Informatyki) Zasoby w zarządzaniu projektami 12 grudnia 2021 roku 9 / 16

MMRCPSP

Problem rozdziału zasobów z wieloma sposobami


wykonywania czynności

Mj – liczba sposobów wykonania czynności j


djm – czas trwania czynności j wykonywanej sposobem m,
rjmk – liczba jednostek zasobu odnawialnego k wymaganych do
wykonania czynności j sposobem m
njml - liczba jednostek zasobu nieodnawialnego l wymaganych do
wykonania czynności j sposobem m

dla więcej niż jednego zasobu znalezienie rozwiązania dopuszczalnego jest


silnie NP-trudne (Kolish 1995)

Joanna Józefowska (Instytut Informatyki) Zasoby w zarządzaniu projektami 12 grudnia 2021 roku 10 / 16
MMRCPSP

Problem rozdziału zasobów z wieloma sposobami


wykonywania czynności

Algorytmy dokładne:
schematy pełnego przeglądu – do 15 czynności
Talbot 1982
Patterson 1989
algorytm podziału i ograniczeń – do 20 czynności
Speranza and Vercellis 1993
Demeulemeester and Herroelen 1992
Sprecher and Drexl 1998

Joanna Józefowska (Instytut Informatyki) Zasoby w zarządzaniu projektami 12 grudnia 2021 roku 11 / 16

MMRCPSP

Problem rozdziału zasobów z wieloma sposobami


wykonywania czynności
Heurystyki:
algorytm podziału i ograniczeń
Talbot 1982
Sprecher and Drexl 1998
losowe próbkowanie – Drexl and Grünewald 1993
symulowane wyżarzanie
Słowiński et. al. 1994
Bouleimen and Lecocq 1998
Józefowska, Mika, Różycki, Waligóra, Węglarz 2001
algorytmy genetyczne
Özdamar 1999
Hartmann 2000
dekompozycja Bendersa – Maniezzo and Mingozzi 1999

Joanna Józefowska (Instytut Informatyki) Zasoby w zarządzaniu projektami 12 grudnia 2021 roku 12 / 16
NPV

Zaktualizowana wartość netto (Net Present Value)

NPV
Aktualna wartość zysków (różnicy między przychodami a kosztami), które
zostaną osiągnięte w przyszłości w określonej liczbie okresów czasu.
F
n P=
F = P(1 + r ) (1 + r )n

F – przyszły zysk
P – aktualna wartość inwestycji
r – stopa procentowa
n – liczba okresów
oprocentowania

Joanna Józefowska (Instytut Informatyki) Zasoby w zarządzaniu projektami 12 grudnia 2021 roku 13 / 16

NPV

Zaktualizowana wartość netto – przykład

Wpłacasz 1000,- PLN na konto oprocentowane w wysokości 5% rocznie.


A) Jaki będzie stan konta za rok?

FA = 1000(1 + 0, 05) = 1050


B) Jaki będzie stan konta za 7 lat?

FA = 1000(1 + 0, 05)7 = 1407

Joanna Józefowska (Instytut Informatyki) Zasoby w zarządzaniu projektami 12 grudnia 2021 roku 14 / 16
NPV

Zaktualizowana wartość netto – przykład

Ile musisz wpłacić dzisiaj na konto oprocentowane w wysokości 5%, aby


A) za 2 lata wypłacić 1000 PLN?
1000
PA = = 907, 03
(1 + 0, 05)2
B) przez 3 lata co roku wypłacać po 1000 PLN?
1000 1000 1000
PB = + +
(1 + 0, 05) (1 + 0, 05)2 (1 + 0, 05)3

= 952, 38 + 907, 03 + 863, 84 = 2723, 25

Joanna Józefowska (Instytut Informatyki) Zasoby w zarządzaniu projektami 12 grudnia 2021 roku 15 / 16

NPV

Zaktualizowana wartość netto jako kryterium


zmaksymalizować

CFt (1 + r )−t
X
NPV = CF0 +
t=1

CF0 - przepływ (wypływ) gotówki występujący na początku realizacji


przedsięwzięcia
CFt – przepływ gotówki występujący na końcu okresu t
r – stopa dyskontowa

Joanna Józefowska (Instytut Informatyki) Zasoby w zarządzaniu projektami 12 grudnia 2021 roku 16 / 16
Metoda ścieżki krytycznej
Badania operacyjne

Joanna Józefowska

Instytut Informatyki

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 1 / 42

Plan

Plan

1 Przykłady projektów

2 Modelowanie projektów

3 Metoda ścieżki krytycznej

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 2 / 42


Projekt

Projekt

Neumann i in. 2002


Projekt jest to jednorazowe niepowtarzalne przedsięwzięcie
wieloczynnościowe o nietypowej strukturze i przebiegu, którego realizacja
wymaga zwykle czasu oraz ograniczonych zasobów.

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 3 / 42

Projekt

Dziedziny projektów

produkcja oprogramowania,
wdrażanie systemów informatycznych,
procesy technicznego przygotowania produkcji,
przedsięwzięcia badawczo-rozwojowe,
modernizacja zakładów przemysłowych,
duże przedsięwzięcia inwestycyjne,
produkcja złożonego wyrobu na zamówienie,
....................................................

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 4 / 42


Projekt

Słynne projekty

Pocisk Polaris
(Marynarka wojenna
USA) – 1958
CONCORDE –
1964-1972
Sala koncertowa Casa
Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 5 / 42
da Musica europejskiej
stolicy kultury w Porto Model
(Portugalia) – 2001
Atrybuty opisujące
Rozbudowa Kanału czynność
Panamskiego –
2014-15

tij
i j

zdarzenie rozpoczynające czynność zdarzenie kończące czynność

czynność < i, j >

czas realizacji,
koszt realizacji,
zapotrzebowanie na zasoby.

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 6 / 42


Model

Następstwo zdarzeń

i1

i2 j k

i3

Zdarzenie o numerze j wystąpi, gdy zostanie zakończona realizacja


wszystkich czynności, dla których j jest zdarzeniem końcowym.
Rozpoczęcie czynności < j, k > jest możliwe, gdy wystąpi zdarzenie j.
Czynności < i1 , j >, < i2 , j >, < i3 , j > poprzedzają czynność < j, k >.

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 7 / 42

Model

Kolejność czynności

Kolejność czynności w projekcie wynika z ograniczeń o charakterze:


technologicznym (technologia wykonania),
czasowym (odniesienie bezpośrednio do kalendarza),
zasobowym (wynikające z niepodzielności i niesubstytucyjności
zasobów),
bilansowym (w przypadku zasobów podzielnych, np. środków
finansowych).

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 8 / 42


Model

Następstwo zdarzeń - cynność pozorna

1 3 5

2 4 6

Czynność pozorna < 3, 4 > oznacza, że czynność < 1, 3 > poprzedza


czynność < 4, 6 > ; p34 = 0.

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 9 / 42

Model

Model matematyczny projektu

dyskretny i skończony zbiór czynności (zadań);


zbiór ograniczeń kolejnościowych;
dyskretny i skończony zbiór atrybutów opisujących każdą czynność,
takich jak:
czas realizacji,
koszt realizacji,
zapotrzebowanie na zasoby.
(Battersby 1967)

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 10 / 42


Model

Sieć czynności

Sieć czynności jest to graf odwzorowujący kolejność realizacji


poszczególnych czynności projektu.
Funkcje określone na zbiorze łuków i wierzchołków tego grafu reprezentują
informacje o charakterze techniczno – ekonomicznym związane z realizacją
projektu (atrybuty).

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 11 / 42

Model

Sieć czynności

czas trwania czynności

t25
2 5
czynność

1 4 7

zdarzenie

3 6

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 12 / 42


Model

Sieć czynności jako graf

G = (V , E ) graf skierowany
V zbiór zdarzeń - wierzchołki grafu
E zbiór czynności - łuki grafu

Sieć czynności jest grafem:


unigrafem (między dowolną parą wierzchołków występuje co najwyżej
jeden łuk),
spójnym,
skierowanym,
nie zawierającym pętli ani dróg cyklicznych,
ma jedno zdarzenie początkowe i jedno zdarzenie końcowe.

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 13 / 42

Model

Sieć czynności jako graf

1 3 5

0 7

2 4 6

V - zbiór wierzchołków = zdarzeń


E - zbiór łuków = czynności

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 14 / 42


Model

Przykład

Załóżmy, że grupa studentów zainteresowanych pewnym problemem wykraczającym


poza ramy programu studiów planuje zorganizować seminarium poświęcone temu
zagadnieniu z udziałem kilku wybitnych wykładowców z różnych uczelni. Studenci
planują pozyskać sponsorów i wydrukować streszczenia prezentowanych wykładów.
Osobną sprawą jest wybór miejsca przeprowadzenia seminarium. Organizatorzy biorą pod
uwagę sale na uczelni lub poza nią. Ostateczny wybór będzie zależał od dostępności sal
w ustalonym terminie oraz kosztów ich wynajęcia. Należy też zadbać
o rozpowszechnienie informacji o seminarium wśród kolegów. W tym celu zostaną
wydrukowane plakaty i ulotki. Listę czynności, jakie należy przeprowadzić, aby
zrealizować plan, przedstawiono w tablicy 1. Ustalono również kolejność wykonywania
poszczególnych czynności i przewidywany czas ich wykonania. Dane te również
przedstawiono w tablicy. Ile dni przed planowanym terminem seminarium należy
rozpocząć jego przygotowywanie, aby ulotki i materiały seminaryjne zostały na czas
wydrukowane?

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 15 / 42

Model

Przykład

Tabela: Lista czynności związanych z organizacją seminarium


Czynność Opis Czynności Czas
poprzedzające trwania
1 Ustalenie listy wykładowców 2
2 Ustalenie listy możliwych lokalizacji 5
3 Pozyskanie sponsorów 1 5
4 Nadsyłanie streszczeń wykładów 1 7
5 Ustalenie lokalizacji 2 8
6 Ustalenie listy wystąpień 4 6
7 Opracowanie materiałów 4 8
8 Opracowanie i rozesłanie ulotek 5, 6 9
9 Druk materiałów 3, 7 7

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 16 / 42


Model

Przykład

3(5)
A E

1(2) 4(7) 7(8)


9(7)

START C KONIEC

2(5) 6(6) 8(9)

5(8)
B D

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 17 / 42

CPM

Algorytm porządkowania warstwowego

5
A E
7 8
2 7
ST C KO
5 6 9
8
B D

ST A B C D E KO
ST 0 1 1 0 0 0 0
A 0 0 0 1 0 1 0
B 0 0 0 0 1 0 0
C 0 0 0 0 1 1 0
D 0 0 0 0 0 0 1
E 0 0 0 0 0 0 1
KO 0 0 0 0 0 0 0

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 18 / 42


CPM

Algorytm porządkowania warstwowego

ST A B C D E KO
ST 0 1 1 0 0 0 0
A 0 0 0 1 0 1 0
B 0 0 0 0 1 0 0
C 0 0 0 0 1 1 0
D 0 0 0 0 0 0 1
E 0 0 0 0 0 0 1
KO 0 0 0 0 0 0 0

w0 = {ST } ST ← 0
w1 = {A, B} A←1 B←2
w2 = {C } C ←3
w3 = {D, E } D←4 E ←5
w4 = {KO} KO ← 6

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 19 / 42

CPM

Algorytm porządkowania warstwowego

1 Zbuduj binarną macierz przejść dla sieci czynności. k = 0;


2 Do warstwy wk zalicz zdarzenia odpowiadające zerowym kolumnom
aktualnej macierzy przejść; k = k + 1;
3 Wykreśl z macierzy przejść zerowe kolumny oraz wiersze o tych
samych numerach.
4 Jeżeli są jeszcze niewykreślone kolumny, to wróć do kroku 3 w
przeciwnym razie stop.

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 20 / 42


CPM

Algorytm porządkowania warstwowego

1 5 5
(A) (E)
2 7 8 7
0 3 6
(START) (C) (KONIEC)

5 6 9

2 8 4
(B) (D)

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 21 / 42

CPM

Jakość planu realizacji przedsięwzięcia

Dyskretny i skończony zbiór kryteriów:


całkowity czas realizacji przedsięwzięcia,
całkowity koszt realizacji przedsięwzięcia,
ryzyko przekroczenia terminu realizacji lub budżetu,
zaktualizowana wartość netto (NPV),
stopień równomierności wykorzystania zasobów w czasie,
zamrożenie środków obrotowych,
wielkość przestojów maszyn i urządzeń,
odporność harmonogramu na zakłócenia.

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 22 / 42


CPM

Metoda ścieżki krytycznej

CPM – Critical Path Method


pierwsza metoda analizy sieciowej (ok. 1956)
sieć jest w postaci kanonicznej (deterministyczna struktura sieci i
czasy trwania czynności)
znajduje najkrótszy możliwy czas realizacji projektu

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 23 / 42

CPM

CPM - oznaczenia
tij – czas trwania czynności < i, j >, przedział na osi czasu
Tiw – najwcześniejszy możliwy termin wystąpienia zdarzenia i, punkt
na osi czasu,
Tjp – najpóźniejszy dopuszczalny termin wystąpienia zdarzenia j,
punkt na osi czasu.

tij
i j

tij
Tiw Tjp

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 24 / 42


CPM

CPM - założenia

jedno zdarzenie początkowe


jedno zdarzenie końcowe
zdarzenia ponumerowane zgodnie z ich następstwem w czasie
(algorytm porządkowania warstwowego)
T0w = 0
p w
Tn+1 = Tn+1

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 25 / 42

CPM

CPM - obliczanie Tjw

Γ−1
j
i1

i2 j

...

im

Tiw1 Tiw3 Tiw2 Tiw4 Tjw

Tjw = max (Tiw + tij ) , j = 1, . . . , n + 1


i∈Γ−1
j

Γ−1
j – zbiór poprzedników zdarzenia j, T0w = 0
Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 26 / 42
CPM

CPM - obliczanie Tip

Γi j1

i j2

...

jm

Tip Tip1 Tip2 Tip4 Tip3


 
Tip = min Tjp − tij , i = 0, . . . , n
j∈Γi
p w
Γi – zbiór następników zdarzenia i, Tn+1 = Tn+1
Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 27 / 42

CPM

CPM

Tjw = max (Tiw + tij ) , j = 1, . . . , n + 1


i∈Γ−1
j

Γ−1
j – zbiór poprzedników zdarzenia j, T0w = 0
 
Tip = min Tjp − tij , j = 0, . . . , n
j∈Γi

p w
Γi – zbiór następników zdarzenia i, Tn+1 = Tn+1

Luzem zdarzenia nazywamy liczbę Li = Tip –Tiw .

Jeżeli luz jest równy zero (Li = 0) to zdarzenie nazywamy zdarzeniem


krytycznym.

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 28 / 42


CPM

Oznaczenia

numer zdarzenia
najpóźniejszy dopuszczalny termin
wystąpienia zdarzenia

i j
tij
Tiw Tip Tjw Tjp
Li Lj

luz zdarzenia
najwcześniejszy możliwy termin
wystąpienia zdarzenia czas trwania czynności

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 29 / 42

CPM

Przykład

1 5
2 2 5 17 17
0 0
2 7 8 7
0 3 6
0 0 9 9 24 24
0 0 0
5 6 9

2 8 4
5 7 15 15
2 0

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 30 / 42


CPM

Ścieżka krytyczna

Ścieżką krytyczną nazywamy taką drogę

< i0 , i1 >< i1 , i2 > . . . < ip–1 , ip >

łączącą zdarzenie początkowe i0 = 0 ze zdarzeniem końcowym ip = n + 1,


dla której czas
p
X
τ= tik−1 ik
k=0

jest najdłuższy.

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 31 / 42

CPM

Ścieżka krytyczna – przykład

1 5
5

2 7 8 7
0 3 6

5 6 9

2 8 4

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 32 / 42


CPM

Ścieżka krytyczna – przykład

1 5
2 2 5 17 17
0 0
2 7 8 7
0 3 6
0 0 9 9 24 24
0 0 0
5 6 9

2 8 4
5 7 15 15
2 0

Najdłuższa ścieżka w grafie, a jednocześnie najkrótszy czas realizacji


całego projektu

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 33 / 42

CPM

Ścieżka krytyczna - własności

W danej sieci może istnieć jedna lub więcej ścieżek krytycznych.


Czynności leżące na ścieżce krytycznej nazywamy czynnościami
krytycznymi.
Suma czasów wykonania czynności krytycznych ogranicza od dołu
czas realizacji projektu.
Czas ten można wyznaczyć jako τ = Tnp = Tnw .

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 34 / 42


CPM

Ścieżka krytyczna - wyznaczanie

i2 5 i4
5 15 15 20 20
i1 0 0
10 10 4 10
0 i3
25 25
0

Nie zawsze zdarzenia krytyczne wyznaczają jednoznacznie ścieżkę


krytyczną!

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 35 / 42

CPM

Zapas czasu (luz) czynności

Zapasem całkowitym czasu czynności < i, j > nazywamy wielkość

Zijc = Tjp –Tiw –tij

tij Zijc

Tiw Tip Tjw Tjp

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 36 / 42


CPM

Zapas czasu (luz) czynności

Zapasem swobodnym czasu czynności < i, j > nazywamy wielkość

Zijs = Tjw –Tiw –tij

tij Zijs

Tiw Tip Tjw Tjp

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 37 / 42

CPM

Zapas czasu (luz) czynności

Zapasem niezależnym czasu czynności < i, j > nazywamy wielkość

Zijn = max{0, Tjw –Tip –tij }

tij Zijn

Tiw Tip Tjw Tjp

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 38 / 42


CPM

Ścieżka krytyczna - wyznaczanie

Twierdzenie
Warunkiem koniecznym i dostatecznym na to, aby czynność < i, j > była
czynnością krytyczną jest równość Zijc = 0.

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 39 / 42

CPM

Ścieżka krytyczna - wyznaczanie

Twierdzenie
Między zapasami całkowitym, swobodnym i niezależnym zachodzą
następujące relacje: Zijn ¬ Zijs ¬ Zijc .

Wniosek
Dla czynności krytycznych wszystkie rodzaje zapasu są równe zero
Zijn = Zijs = Zijc =0.

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 40 / 42


CPM

Ścieżka krytyczna – przykład

1 4
4

4 3
8
0 3 6
2

5 5
4
2 5

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 41 / 42

CPM

Ścieżka krytyczna – przykład

1 4
4,7
8 8 12 19
0 7 3,7
8,0 4,0
0 3 6
2,10
0 0 12 12 22 22
0 0 5,0 5,0 0
4,13
2 0,13 5
4 17 17 17
13 0

Joanna Józefowska (Instytut Informatyki) Metoda ścieżki krytycznej 42 / 42


Gry dwuosobowe o sumie zerowej
Badania operacyjne

Joanna Józefowska

Instytut Informatyki

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 1 / 68

Plan

Plan

1 Przykład

2 Definicja gry dwuosobowej o sumie zerowej

3 Macierz gry

4 Strategie zdominowane

5 Mieszane rozszerzenie gry

6 Strategie mieszane

7 Rozwiązywanie gier macierzowych

8 Gry z naturą

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 2 / 68


Przykład

Przykład

Dwóch panów Jacek i Wojtek nudziło się nieco w barze i dla urozmaicenia
sobie czasu umówili się, że zagrają w następującą grę: będą mówić liczby
od 1 do 6 (Jacek 1, 3 lub 5, a Wojtek 2, 4 lub 6). Jeżeli suma będzie
większa od 7, to sumę otrzymuje od Jacka Wojtek, a gdy mniejsza –
odpowiednio sumę wypłaci Wojtek Jackowi. Gdy suma jest równa 7, to
nikt nie wygrywa.

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 3 / 68

Definicja

Analiza sytuacji

STRATEGIE WOJTKA
2 4 6
STRATEGIE
JACKA

1
3
5

Jacek: 1, 3, 5
Wojtek: 2, 4, 6

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 4 / 68


Definicja

Analiza sytuacji

STRATEGIE WOJTKA
2 4 6
STRATEGIE
JACKA

1 3 5 7
3 5 7 9
5 7 9 11

Wygrywa Jacek

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 5 / 68

Definicja

Analiza sytuacji

STRATEGIE WOJTKA
2 4 6
STRATEGIE
JACKA

1 3 5 7
3 5 7 9
5 7 9 11

Wygrywa Wojtek = przegrywa Jacek

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 6 / 68


Definicja

Analiza sytuacji

STRATEGIE WOJTKA
2 4 6
STRATEGIE
JACKA

1 3 5 7
3 5 7 −9
5 7 −9 −11

Wygrywa Wojtek = przegrywa Jacek

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 7 / 68

Definicja

Gra dwuosobowa o sumie zerowej

STRATEGIE WOJTKA
2 4 6
STRATEGIE
JACKA

1 3 5 0
3 5 0 −9
5 0 −9 −11
gra z punktu widzenia Jacka
wygrana Jacka = przegrana Wojtka
suma wygranych obu graczy = 0

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 8 / 68


Definicja

Teoria gier strategicznych

Emil Borel (1921) pierwsza próba


opracowania matematycznej teorii gier
John von Neumann (1928) twierdzenie
Emil Borel (1871–1956)
minimaksowe
John von Neumann, Oscar Morgenstern
(1944) „Theory of Games and
Economic Behavior”

John von Neumann (1903–1957)

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 9 / 68

Definicja

Nagroda Nobla a teoria gier

Herbert Simon (1978) rozwój


Herbert Simon
ewolucyjnej teorii gier, w szczególności
(1916–2001)
za koncepcję ograniczonej racjonalności
John Nash, Reinhard Selten i John
Harsanyi (1994) za rozwój teorii gier i
jej zastosowania w ekonomii

John Nash (1928-2015)

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 10 / 68


Definicja

Nagroda Nobla a teoria gier

William Vickrey i James Mirrlees (1996) za stworzenie modeli przetargów i


badanie konfliktów z niesymetryczną informacją uczestników

Robert Aumann (1930– )


Thomas Schelling (1921-2016)
Robert Aumann i Thomas Schelling (2005) zastosowanie teorii gier w
naukach społecznych i mikroekonomii (dot. zachowania jednostek i
rozwiązywania konfliktów)

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 11 / 68

Definicja

Nagroda Nobla a teoria gier

Leonid Hurwicz Eric S. Maskin


Roger B. Myerson
(1917–2008 ) (1950–)
(1951–)

Leonid Hurwicz, Eric S. Maskin, Roger B. Myerson (2007) za prace nad


teorią, która pozwala ocenić prawidłowość funkcjonowania rynków

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 12 / 68


Macierz gry

Gra macierzowa

Definicja
Grą dwuosobową o sumie zero nazywamy trójkę G = ⟨S, T , W ⟩ , w
której S i T są odpowiednio zbiorami strategii czystych gracza A i B, a
W (s, t) jest funkcją wypłat (wygraną gracza A = przegraną gracza B)
przyjmującą skończone wartości liczbowe i określoną na iloczynie
kartezjańskim SxT zbiorów strategii obu graczy.

Gdy zbiory S i T są skończone, macierz A = [aij ], gdzie


aij = W (si , tj ), si ∈ S, tj ∈ T , nazywamy macierzą wypłat lub macierzą
gry, a grę G = ⟨S, T , A⟩ grą macierzową.

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 13 / 68

Macierz gry

Strategia maksyminowa

STRATEGIE GRACZA B
2 4 6
STRATEGIE
GRACZA A

1 3 5 0
3 5 0 −9
5 0 −9 −11

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 14 / 68


Macierz gry

Strategia maksyminowa

STRATEGIE GRACZA B
2 4 6
STRATEGIE
GRACZA A

1 3 5 0
3 5 0 −9
5 0 −9 −11

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 15 / 68

Macierz gry

Strategia maksyminowa

STRATEGIE GRACZA B
2 4 6
STRATEGIE
GRACZA A

1 3 5 0
3 5 0 −9
5 0 −9 −11

Dolną wartością gry G = ⟨S, T , W ⟩ nazywamy liczbę:

v1 = max min W (s, t)


s∈S t∈T

Strategia s0 odpowiadająca dolnej wartości gry nazywa się strategią


maksyminową.
Jest to strategia gwarantująca graczowi A, że wygra co najmniej v1 .

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 16 / 68


Macierz gry

Strategia minimaksowa

STRATEGIE GRACZA B
2 4 6
STRATEGIE
GRACZA A

1 3 5 0
3 5 0 −9
5 0 −9 −11

Górną wartością gry G = ⟨S, T , W ⟩ nazywamy liczbę:

v2 = min max W (s, t)


t∈T s∈S

Strategia t0 odpowiadająca górnej wartości gry nazywa się strategią


minimaksową.
Jest to strategia gwarantująca graczowi B, że przegra co najwyżej v2 .

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 17 / 68

Strategie zdominowane

Strategia zdominowana

STRATEGIE GRACZA B
2 4 6
STRATEGIE
GRACZA A

1 3 5 0
3 5 0 −9
5 0 −9 −11
Jeżeli w grze macierzowej G = ⟨S, T , W ⟩ każdy element pewnego wiersza
macierzy wypłat odpowiadającego strategii sk ∈ S gracza A jest mniejszy
lub równy od odpowiedniego elementu innego wiersza, to strategia sk nosi
nazwę strategii zdominowanej gracza A.

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 18 / 68


Strategie zdominowane

Strategia zdominowana

STRATEGIE GRACZA B
2 4 6
STRATEGIE
GRACZA A

1 3 5 0
3 5 0 −9
5 0 −9 −11
Jeżeli w grze macierzowej G = ⟨S, T , W ⟩ każdy element pewnej kolumny
macierzy wypłat odpowiadającego strategii tl ∈ T gracza B jest wiekszy
lub równy od odpowiedniego elementu innej kolumny, to strategia tl nosi
nazwę strategii zdominowanej gracza B.

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 19 / 68

Strategie zdominowane

Punkt siodłowy
STRATEGIE GRACZA B
2 4 6
STRATEGIE
GRACZA A

1 3 5 0
3 5 0 −9
5 0 −9 −11

Punktem siodłowym macierzy A = [aij ], (i = 1, . . . , m, j = 1, . . . , n), jeżeli


taki istnieje nazywamy element ark , który spełnia warunek:

aik ¬ ark ¬ arj

Macierz A ma punkt siodłowy wtedy i tylko wtedy, gdy:

v1 = max min W (s, t) = min max W (s, t) = v2


s∈S t∈T t∈T s∈S

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 20 / 68


Mieszane rozszerzenie gry

Przykład (gry mieszane)

Wyobraź sobie, że jesteś w bibliotece i do Twojego stolika przysiada się


nieznajoma proponując następującą grę: Na sygnał każde z nas położy na
stole monetę (na przykład złotówkę). Jeżeli obie monety będą leżały
orzełkiem do góry, to płacę 3 złote, a jeżeli obie będą leżały reszką do góry,
to płacę złotówkę. Natomiast jeżeli będą różne wskazania, to Ty płacisz
dwa złote. Gra jest cicha, więc można zagrać w bibliotece, ale czy warto?

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 21 / 68

Mieszane rozszerzenie gry

Analiza

Gdyby gra była losowa, to łatwo obliczyć, że


Prawdopodobieństwo dwóch orzełków P(oo)= 0,25
Prawdopodobieństwo dwóch reszek P(rr)= 0,25
Prawdopodobieństwo orzełka i reszki P(or)+P(ro)= 0,5
Zatem wartość oczekiwana wygranej
V = 3*0,25 + 1*0,25 = 1
VN = 2*0,5 = 1
jest taka sama dla nieznajomej i dla czytelnika.

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 22 / 68


Mieszane rozszerzenie gry

Wartość oczekiwana
Gdyby nieznajoma grała dwa razy częściej reszkę niż orzełka, a
czytelnik nadal grał losowo, to
Prawdopodobieństwo dwóch orzełków
1 1 1
P(oo) = ∗ =
3 2 6

Prawdopodobieństwo dwóch reszek


2 1 1
P(rr ) = ∗ =
3 2 3

Prawdopodobieństwo orzełka i reszki


1 1 1
P(or ) + P(ro) = 1 − − =
6 3 2

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 23 / 68

Mieszane rozszerzenie gry

Wartość oczekiwana

1 1 1 1
 
EV = 2 ∗ − 3 ∗ + 1 ∗ =
2 6 3 6

Na każde 6 rozgrywek nieznajoma wygrywa 1 zł.

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 24 / 68


Mieszane rozszerzenie gry

Dobra strategia

Czy istnieje strategia, która w dłuższym okresie pozwoli czytelnikowi


wygrać z nieznajomą?
STRATEGIE CZYTELNIKA
t1 = O t2 = R
STRATEGIE
NIEZNAJOMEJ

Macierz gry s1 = O −3 2

s2 = R 2 −1

Wystarczy zaplanować z jakim prawdopodobieństwem grać orzełka, np.


1/3, od razu widać, że reszka będzie grana z prawdopodobieństwem 1 –
1/3 = 2/3.

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 25 / 68

Strategie mieszane

Strategie mieszane

Strategią mieszaną (lub zrandomizowaną) gracza A nazywamy skokowy


rozkład prawdopodobieństwa określony na zbiorze S strategii czystych tego
gracza, tzn. jest to wektor x T = [x1 , x2 , . . . , xm ], taki że:
m
X
xi = 1, xi ­ 0, i = 1, . . . , m
i=1

Strategią mieszaną gracza B nazywamy skokowy rozkład


prawdopodobieństwa określony na zbiorze T strategii czystych tego
gracza, tzn. jest to wektor y = [y1 , y2 , . . . , yn ], taki że:
n
X
yi = 1, yi ­ 0, i = 1, . . . , n
i=1

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 26 / 68


Strategie mieszane

Mieszane rozszerzenie gry

Mieszanym rozszerzeniem gry macierzowej G = ⟨S, T , W ⟩ nazywamy


trójkę Γ = ⟨X , Y , ϕ(X , Y )⟩ , w której zbiór
X = {x : m i=1 xi = 1, xi ­ 0, i = 1, 2, . .P
P
. , m} jest zbiorem strategii
mieszanych gracza A, a zbiór Y = {y : nj=1 yj = 1, yj ­ 0, j = 1, 2, ..., n}
- gracza B.
m X
X n
ϕ(x, y) = xi aij yj = xT Ay
i=1 j=1

jest wartością oczekiwaną wygranej gracza A.

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 27 / 68

Strategie mieszane

Dolna i górna wartość gry Γ

Dolną wartością gry Γ nazywamy liczbę:

k1 = max min xT Ay
x∈X y∈Y

a górną wartością gry Γ nazywamy liczbę:

k2 = min max xT Ay
y∈Y x∈X

Własność
v1 ¬ k1 ¬ k2 ¬ v2

Jeżeli v1 = v2 , to k1 = k2 .

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 28 / 68


Strategie mieszane

Punkt siodłowy

Jeżeli Γ, jest mieszanym rozszerzeniem gry G = ⟨S, T , W ⟩ i macierz A


posiada punkt siodłowy ark (v1 = k1 = k2 = v2 ), to strategiami
optymalnymi gry Γ jest para strategii czystych:

xr = 1, xi = 0 dla i ̸= r
oraz

yk = 1, yj = 0 dla j ̸= k
A wartość tej gry wynosi ark .

Tak było w przypadku Wojtka i Jacka

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 29 / 68

Rozwiązywanie

Wartość oczekiwana mieszanego rozszerzenia gry


STRATEGIE CZYTELNIKA
t1 = O t2 = R
NIEZNAJOMEJ
STRATEGIE

s1 = O −3 2
s2 = R 2 −1
x - prawdopodobieństwo, z jakim nieznajoma gra orzełka,
(1–x) - prawdopodobieństwo, z jakim gra reszkę,
V - wartość oczekiwana wypłaty dla nieznajomej.
Jeżeli nieznajoma chce osiągnąć wygraną co najmniej V , to jej strategie
powinny spełniać następujący układ nierówności:

–3x + 2(1–x) ­ V gdy czytelnik gra orzełka (1)


2x–(1–x) ­ V gdy czytelnik gra reszkę (2)

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 30 / 68


Rozwiązywanie

Wartość oczekiwana mieszanego rozszerzenia gry


STRATEGIE CZYTELNIKA
t1 = O t2 = R
STRATEGIE
NIEZNAJOMEJ

V
s1 = O −3 2
s2 = R 2 −1

–5x + 2 ­ V
3x–1 ­ V największa
gwarantowana h i
wygrana 38 , 18

–5x + 2 = 3x–1 x
3
x= (3)
8
1
V = (4)
8

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 31 / 68

Rozwiązywanie

Wartość oczekiwana mieszanego rozszerzenia gry


STRATEGIE CZYTELNIKA
t1 = O t2 = R
NIEZNAJOMEJ
STRATEGIE

s1 = O −3 2
s2 = R 2 −1
y - prawdopodobieństwo, z jakim czytelnik gra orzełka,
(1–y ) - prawdopodobieństwo, z jakim gra reszkę,
V - wartość oczekiwana wypłaty dla nieznajomej.
Jeżeli czytelnik nie chce przegrać więcej niż V , to jego strategie powinny
spełniać następujący układ nierówności:

–3y + 2(1–y ) ¬ V gdy nieznajoma gra orzełka (5)


2y –(1–y ) ¬ V gdy nieznajoma gra reszkę (6)

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 32 / 68


Rozwiązywanie

Wartość oczekiwana mieszanego rozszerzenia gry


STRATEGIE CZYTELNIKA
t1 = O t2 = R
STRATEGIE
NIEZNAJOMEJ

V
s1 = O −3 2
s2 = R 2 −1

–5y + 2 ¬ V
3y –1 ¬ V najmniejsza
gwarantowana h i
3 1
przegrana 8 , 8
–5y + 2 = 3y –1 x
3
y= (7)
8
1
V = (8)
8

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 33 / 68

Rozwiązywanie

Wartość oczekiwana mieszanego rozszerzenia gry

1
STRATEGIE CZYTELNIKA
V∗ =
t1 = O t2 = R 8
STRATEGIE
NIEZNAJOMEJ

∗ 3
s1 = O −3 2 x =
8
s2 = R 2 −1 3
y∗ =
8
Rozwiązanie to oznacza, że jeżeli zarówno czytelnik, jak i nieznajoma
będą na każde osiem gier trzy razy wybierać orzełka, to nieznajoma
wygra 1 zł na każde osiem rozgrywek.
Jest to dla niej wygrana gwarantowana, czyli grając orzełka w 3 na 8
gier wygra co najmniej 1 zł na każde osiem gier.
Dla czytelnika jest to strategia gwarantująca, że nie przegra więcej niż
1 zł na każde 8 gier.

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 34 / 68


Rozwiązywanie

Strategie optymalne

Parę strategii x ∗ ∈ X i y ∗ ∈ Y nazywamy strategiami optymalnymi


gracza A i B odpowiednio, wtedy i tylko wtedy, gdy dla każdego x ∈ X i
y ∈ Y zachodzi:
x T Ay ∗ ¬ x ∗T Ay ∗ ¬ x ∗T Ay
a liczbę v = x ∗T Ay ∗ nazywamy wartością gry. Parę strategii optymalnych
nazywa się punktem siodłowym gry.

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 35 / 68

Rozwiązywanie

Strategie optymalne

Warunkiem koniecznym i dostatecznym na to, aby para strategii x ∗ ∈ X i


y ∗ ∈ Y była parą strategii optymalnych jest równość k1 = k2 , czyli
równość dolnej i górnej wartości gry. Wtedy wartość gry v ∗ = k1 = k2 .

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 36 / 68


Rozwiązywanie

Twierdzenie minimaksowe

Przez rozwiązanie gry będziemy rozumieć znalezienie strategii optymalnych


(x ∗ , y ∗ ) oraz wartości gry v ∗ .
Twierdzenie minimaksowe
Każda gra Γ będąca mieszanym rozszerzeniem gry macierzowej
G = ⟨S, T , A⟩ ma rozwiązanie.

Uwaga: Gra wyjściowa G może, ale nie musi mieć rozwiązania.

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 37 / 68

Rozwiązywanie

Własności strategii optymalnych

Jeżeli istnieje więcej niż jedna strategia optymalna dla danego gracza, to
każda wypukła kombinacja liniowa tych strategii jest strategią optymalną
tego gracza.

x ∗ = αx1∗ + (1 − α)x2∗
Uwaga: Zbiór strategii optymalnych danego gracza jest zbiorem
wypukłym.

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 38 / 68


Rozwiązywanie

Rozwiązywanie gier mieszanych

1 Eliminujemy z macierzy A strategie zdominowane obu graczy.


Odpowiednie współrzędne wektorów x i y przyjmą wartość 0.
2 Badamy, czy macierz A ma punkt siodłowy. Jeżeli ark jest punktem
siodłowym macierzy A, to rozwiązaniem jest para strategii czystych:
(xr , yk ).
3 Przypadek, gdy A ma postać 2xn:
1 rozwiązujemy graficznie układ nierówności:

gj (x) = (a1j –a2j )x + a2j ­ v , j = 1, 2, . . . , n

2 znajdujemy punkt (x∗ , v ∗ ) i usuwamy ze zbioru T strategie, dla których


a1k x∗ + a2k (1–x∗ ) > v ∗
3 znajdujemy strategie optymalne gracza B rozwiązując problem z
macierzą postaci mx2.

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 39 / 68

Rozwiązywanie

Rozwiązywanie gier mieszanych c.d.

4 Przypadek, gdyA ma postać mx2:


1 rozwiązujemy graficznie układ nierówności:

hi (y ) = (ai1 –ai2 )y + ai2 ¬ v , i = 1, 2, . . . , m

2 znajdujemy punkt (y ∗ , v ∗ ) i usuwamy ze zbioru S strategie, dla których:

ar 1 y ∗ + ar 2 (1–y ∗ ) < v ∗

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 40 / 68


Rozwiązywanie

Przykład

Rozważmy grę mieszaną o następującej macierzy wypłat:


t1 t2 t3 t4
s1 0 2 4 3
s2 1 4 −5 −1
s3 0 1 2 1
x3∗ = 0 y2∗ = 0


 g1 (x) = (0 − 1)x + 1 ­ v

2 g (x) = (4 + 5)x − 5 ­ v
 g (x) = (3 + 1)x − 1 ­ v

3

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 41 / 68

Rozwiązywanie

Przykład


 −x + 1 ­ v
 V
9x − 5 ­ v
 4x − 1 ­ v



 x = 0, 6

1 − x ∗ = 0, 4

 v = 0, 4 h
3 2
i
5, 5

g3 (x) = 4x − 1 > v ∗ x

y4∗ = 0

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 42 / 68


Rozwiązywanie

Przykład c.d.
V

(
h1 (y ) = (0 − 4)y + 4 ¬ v
h2 (y ) = (1 + 5)y − 5 ¬ v
(
−4y + 4 ¬ v
6y − 5 ¬ v
h i
9 2


 y∗
= 0, 9 10 , 5
1 − y ∗ = 0, 1

 v = 0, 4 y

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 43 / 68

Rozwiązywanie

Rozwiązanie gry

t1 t2 t3 t4
s1 0 2 4 3
s2 1 4 −5 −1
s3 0 1 2 1


 x ∗ = [0, 6; 0, 4; 0]
y ∗ = [0, 9; 0; 0, 1; 0]
v ∗ = 0, 4

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 44 / 68


Rozwiązywanie

Gra Morra

Każdy partner pokazuje 1, 2 lub 3 palce i jednocześnie mówi, ile palców


wg jego przypuszczenia pokaże w tym czasie przeciwnik. Jeżeli tylko jeden
partner odgadnie prawidłowo sumę pokazanych palców, to otrzymuje
wygraną równą tej sumie. W przeciwnym razie jest remis.

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 45 / 68

Rozwiązywanie

Gra Morra

t1 t2 t3 t4 t5 t6 t7 t8 t9
(1, 1) (1, 2) (1, 3) (2, 1) (2, 2) (2, 3) (3, 1) (3, 2) (3, 3)
s1 0 2 2 −3 0 0 −4 0 0
s2 −2 0 0 0 3 3 −4 0 0
s3 −2 0 0 −3 0 0 0 4 4
s4 3 0 3 0 −4 0 0 −5 0
s5 0 −3 0 4 0 4 0 −5 0
s6 0 −3 0 0 −4 0 5 0 5
s7 4 4 0 0 0 −5 0 0 −6
s8 0 0 −4 5 5 0 0 0 −6
s9 0 0 −4 0 0 −5 6 6 0

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 46 / 68


Rozwiązywanie

Gra Morra
t1 t2 t3 t4 t5 t6 t7 t8 t9
(1, 1) (1, 2) (1, 3) (2, 1) (2, 2) (2, 3) (3, 1) (3, 2) (3, 3)
s1 0 2 2 −3 0 0 −4 0 0
s2 −2 0 0 0 3 3 −4 0 0
s3 −2 0 0 −3 0 0 0 4 4
s4 3 0 3 0 −4 0 0 −5 0
s5 0 −3 0 4 0 4 0 −5 0
s6 0 −3 0 0 −4 0 5 0 5
s7 4 4 0 0 0 −5 0 0 −6
s8 0 0 −4 5 5 0 0 0 −6
s9 0 0 −4 0 0 −5 6 6 0

zminimalizować v
przy ograniczeniach

0x1 + 2x2 + 2x3 –3x4 + 0x5 + 0x6 –4x7 + 0x8 + 0x9 ­ v


–2x1 + 0x2 + 0x3 + 0x4 + 3x5 + 3x6 –4x7 + 0x8 + 0x9 ­ v
–2x1 + 0x2 + 0x3 –3x4 + 0x5 + 0x6 + 0x7 + 4x8 + 4x9 ­ v
3x1 + 0x2 + 3x3 + 0x4 –4x5 + 0x6 + 0x7 –5x8 + 0x9 ­ v
0x1 –3x2 + 0x3 + 4x4 + 0x5 + 4x6 + 0x7 –5x8 + 0x9 ­ v
0x1 –3x2 + 0x3 + 0x4 –4x5 + 0x6 + 5x7 + 0x8 + 5x9 ­ v
4x1 + 4x2 + 0x3 + 0x4 + 0x5 –5x6 + 0x7 + 0x8 –6x9 ­ v
0x1 + 0x2 –4x3 + 5x4 + 5x5 + 0x6 + 0x7 + 0x8 –6x9 ­ v
0x1 + 0x2 –4x3 + 0x4 + 0x5 –5x6 + 6x7 + 6x8 + 0x9 ­ v
x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9 = 1

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 47 / 68

Rozwiązywanie

Gra Morra

t1 t2 t3 t4 t5 t6 t7 t8 t9
(1, 1) (1, 2) (1, 3) (2, 1) (2, 2) (2, 3) (3, 1) (3, 2) (3, 3)
s1 0 2 2 −3 0 0 −4 0 0
s2 −2 0 0 0 3 3 −4 0 0
s3 −2 0 0 −3 0 0 0 4 4
s4 3 0 3 0 −4 0 0 −5 0
s5 0 −3 0 4 0 4 0 −5 0
s6 0 −3 0 0 −4 0 5 0 5
s7 4 4 0 0 0 −5 0 0 −6
s8 0 0 −4 5 5 0 0 0 −6
s9 0 0 −4 0 0 −5 6 6 0

Rozwiązanie:

x∗ = [0 0 20/47 0 15/47 0 12/47 0 0]


y ∗ = [0 0 20/47 0 15/47 0 12/47 0 0]
v∗ = 0

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 48 / 68


Rozwiązywanie

Przykład
t1 t2 t3 t4 t5
s1 1 2 3 3 6
s2 2 6 1 3 3
s3 3 1 3 6 2
s4 3 3 6 2 1
zminimalizować v
przy ograniczeniach
x1 + 2x2 + 3x3 + 3x4 ­ v
2x1 + 6x2 + x3 + 3x4 ­ v
3x1 + x2 + 3x3 + 6x4 ­ v
3x1 + 3x2 + 6x3 + 2x4 ­ v
6x1 + 3x2 + 2x3 + x4 ­ v
x1 + x2 + x3 + x4 = 1
Rozwiązujemy metodą sympleks, np. narzędziem ExploreLP.
Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 49 / 68

Rozwiązywanie

Przykład - sformułowanie problemu LP

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 50 / 68


Rozwiązywanie

Przykład - rozwiazanie problemu LP

x ∗ = [0, 08; 0, 28; 0, 60; 0, 04]


v ∗ = 2, 56

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 51 / 68

Rozwiązywanie

Przykład
t1 t2 t3 t4 t5
s1 1 2 3 3 6
s2 2 6 1 3 3
s3 3 1 3 6 2
s4 3 3 6 2 1
zminimalizować v
przy ograniczeniach

y1 + 2y2 + 3y3 + 3y4 + 6y5 − v ¬ 0


2y1 + 6y2 + y3 + 3y4 + 3y5 − v ¬ 0
3y1 + y2 + 3y3 + 6y4 + 2y5 − v ¬ 0
3y1 + 3y2 + 6y3 + 2y4 + y5 − v ¬ 0
y1 + y2 + y3 + y4 + y5 = 1

Rozwiązujemy metodą sympleks, np. narzędziem ExploreLP.


Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 52 / 68
Rozwiązywanie

Przykład - rozwiazanie gry

x ∗ = [0, 08; 0, 28; 0, 60; 0, 04]


y ∗ = [0, 6; 0, 08; 0, 04; 0; 0, 28]
v ∗ = 2, 56

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 53 / 68

Gry z naturą

Założenia

Przeciwnik nie podejmuje decyzji w sposób racjonalny.


Przeciwnik nie jest zainteresowany wynikiem gry.
Stany natury mogą występować:
z jednakowym prawdopodobieństwem,
z różnymi prawdopodobieństwami.

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 54 / 68


Gry z naturą

Przykład

Rolnik ma wybrać jeden z 3 możliwych terminów siewu (1.03, 10.03 lub


15.03). Plony z hektara w zależności od przyszłego możliwego stanu
pogody A, B, C i D oraz terminu siewu podaje tablica:

terminy siewu A B C D
1 marca 21 15 32 16
10 marca 28 20 10 20
15 marca 13 27 25 15

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 55 / 68

Gry z naturą

Kryterium Walda (pesymistyczne)

Wybiera maksymalną wygraną przy założeniu, że natura zachowa się


najbardziej niekorzystnie.
Postępowanie:
Wybieramy minimalną wartość w każdym z wierszy – zakładamy, że
zajdą warunki najbardziej niekorzystne dla gracza;
Z uzyskanych wyników wybieramy wartość największą.
Uzyskana wartość stanowi gwarantowaną wygraną w najgorszym
wypadku.
http://rozanedziecinstwo.blogspot.com/2016/08/bo-nie-ma-rzeczy-niemozliwych-mama-mu

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 56 / 68


Gry z naturą

Przykład - kryterium Walda

Rolnik ma wybrać jeden z 3 możliwych terminów siewu (1.03, 10.03 lub


15.03). Plony z hektara w zależności od przyszłego możliwego stanu
pogody A, B, C i D oraz terminu siewu podaje tablica:

terminy siewu A B C D
1 marca 21 15 32 16 15
10 marca 28 20 10 20 10
15 marca 13 27 25 15 13

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 57 / 68

Gry z naturą

Kryterium Hurwicza

https://slideplayer.pl/slide/61744/1/images/1/RYZYKO+W+HANDLU+ZAGRANICZNYM.jpg
Gotowość do podjęcia ryzyka wyraża tzw. współczynnik ostrożności.
Postępowanie:
Ustala się arbitralnie tzw. współczynnik ostrożności γ (0 ¬ γ ¬ 1)
Dla każdej strategii i gracza stosujemy wzór:
vi = γ min aij + (1 − γ) max aij
j j

Ostatecznie wybieramy strategię, dla której vi ma największą wartość.


Dlaγ = 1 kryterium Hurwicza jest tożsame z kryterium Walda.
Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 58 / 68
Gry z naturą

Przykład - kryterium Hurwicza γ = 0.4

Rolnik ma wybrać jeden z 3 możliwych terminów siewu (1.03, 10.03 lub


15.03). Plony z hektara w zależności od przyszłego możliwego stanu
pogody A, B, C i D oraz terminu siewu podaje tablica:

terminy siewu A B C D
1 marca 21 15 32 16 25,2
10 marca 28 20 10 20 20,8
15 marca 13 27 25 15 21,4

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 59 / 68

Gry z naturą

Kryterium Savage’a

Spełnia postulat minimalizacji oczekiwanych strat wynikłych z


podjęcia decyzji gorszej niż najlepsza możliwa dla danego stanu
natury.
Postępowanie:
Wyznacza się macierz strat relatywnych: Strata jest różnicą między
największą możliwą wygraną dla danego stanu natury i wygraną
odpowiadającą decyzji gracza.
Dla każdej strategii znajduje się maksymalną stratę i wybiera się
strategię odpowiadającą najmniejszej z nich.

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 60 / 68


Gry z naturą

Przykład - kryterium Savage’a

Rolnik ma wybrać jeden z 3 możliwych terminów siewu (1.03, 10.03 lub


15.03). Plony z hektara w zależności od przyszłego możliwego stanu
pogody A, B, C i D oraz terminu siewu podaje tablica:

terminy siewu A B C D
1 marca 21 15 32 16
10 marca 28 20 10 20
15 marca 13 27 25 15
Macierz strat
terminy siewu A B C D
1 marca 7 12 0 4 12
10 marca 0 7 22 0 22
15 marca 15 0 7 5 15

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 61 / 68

Gry z naturą

Kryterium Bayesa

Uwzględnia prawdopodobieństwo wystąpienia każdego stanu natury.


Postępowanie:
Ustala się wartość oczekiwaną wygranej dla każdego stanu natury.
Wybiera się strategię, dla której oczekiwana wartość gry jest
największa.
Najczęściej zakłada się równe prawdopodobieństwo wystąpienia
wszystkich stanów.

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 62 / 68


Gry z naturą

Przykład - kryterium Bayesa

równe prawdopodobieństwo stanów natury (p = 0, 25)


Rolnik ma wybrać jeden z 3 możliwych terminów siewu (1.03, 10.03 lub
15.03). Plony z hektara w zależności od przyszłego możliwego stanu
pogody A, B, C i D oraz terminu siewu podaje tablica:

Macierz strat
terminy siewu A B C D
1 marca 21 15 32 16 21
10 marca 28 20 10 20 19,5
15 marca 13 27 25 15 20

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 63 / 68

Gry z naturą

Gry z naturą - podsumowanie

Strategie stosujemy w zależności od potrzeb


Kryterium Walda jest najbardziej zachowawczym
Kryterium Hurwicza pozwala decydować o poziomie ryzyka
Kryterium Bayesa uśrednia wygrane
Kryterium Savage’a minimalizuje straty wynikające z podjęcia decyzji
gorszej od najlepszej

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 64 / 68


Gry z naturą

Gry dwuosobowe o sumie dowolnej

Zapisywane w postaci drzew decyzyjnych


Analizując wierzchołki drzewa można określić zyski graczy
Rozwiązaniem gry są strategie maksyminowe graczy

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 65 / 68

Gry z naturą

Przykład
7

1+6 2+5 3+4

1+1+5 1+2+4 2+2+3 3+3+1

1+1+1+4 1+1+2+3 2+2+2+1

1+1+1+1+3 2+2+1+1+1

2+1+1+1+1+1

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 66 / 68


Gry z naturą

Przykład
7 −1

1+6 −1 2+5 −1 3+4 −1

1+1+5 +1 1+2+4 −1 2+2+3 +1 3+3+1 −1

1+1+1+4 +1 1+1+2+3 −1 2+2+2+1 +1

1+1+1+1+3 +1 2+2+1+1+1 −1

2+1+1+1+1+1 +1

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 67 / 68

Gry z naturą

Procedura MIN-MAX

Graczy oznaczamy MIN i MAX.


Wygrana gracza MAX jest równocześnie przegraną gracza MIN.
Gracz MAX stara się zmaksymalizować wartość gry.
Gracz MIN stara się zminimalizować wartość gry.
Przeciwnicy posiadają taką samą wiedzę o przestrzeni stanów i stosują
tę wiedzę konsekwentnie w celu wygrania gry.
Jeżeli ojcem jest MIN, to nadaj mu najmniejszą wartość spośród
dzieci.
Jeżeli ojcem jest MAX, to nadaj mu największą wartość spośród
dzieci.

Joanna Józefowska (Instytut Informatyki) Gry dwuosobowe o sumie zerowej 68 / 68

You might also like