programowanie liniowe w teorii gier

34
Programowanie liniowe w teorii gier

Upload: mayten

Post on 29-Jan-2016

87 views

Category:

Documents


2 download

DESCRIPTION

Programowanie liniowe w teorii gier. George Dantzig , Tjalling Koopmans , Leonid Kantorowicz. Właściciel ciężarówki może przewieźć z miejscowości  A  do  B  cukier, mąkę i chipsy. W ciężarówce mieści się towar o objętości co najwyżej 7000 litrów i wadze co najwyżej 5 ton . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Programowanie liniowe  w  teorii gier

Programowanie liniowe w

teorii gier

Page 2: Programowanie liniowe  w  teorii gier

George Dantzig, Tjalling Koopmans, Leonid Kantorowicz

Page 3: Programowanie liniowe  w  teorii gier

Właściciel ciężarówki może przewieźć z miejscowości A do B cukier, mąkę i chipsy.

W ciężarówce mieści się towar o objętości co najwyżej 7000 litrów i wadze co najwyżej 5 ton.

•1 kg cukru zajmuje objętość 1,5 litra,•1 kg mąki 2 litry, •1 kg chipsów zajmuje objętość 4 litrów.

Page 4: Programowanie liniowe  w  teorii gier

Zysk od przewozu poszczególnych towarów jest następujący:

•za 100 kg cukru 8 zł,•za 100 kg mąki 10 zł,•za 100 kg chipsów 25 zł.

Ile cukru, mąki i chipsów powinien załadować właściciel ciężarówki aby zmaksymalizować swój zysk?

Page 5: Programowanie liniowe  w  teorii gier

Matematyczny model tak postawionego zadania jest następujący:

Oznaczmy przez:

• x1- ilość cukru,• x2- ilość mąki,• x3- ilość chipsów.

Page 6: Programowanie liniowe  w  teorii gier

Skoro ciężarówka może zabrać co najwyżej 5 ton towarów, musi zachodzić nierówność:

100x1+100x2+100x3≤5000

Z kolei ograniczenie objętości wyraża się wzorem :

150x1+200x2+400x3≤7000

Zysk właściciela wynosi:

Z=8x1+10x2+25x3

Page 7: Programowanie liniowe  w  teorii gier

x1, x2, x3 muszą być oczywiście nieujemne.

Po uproszczeniach otrzymamy więc problem programowania matematycznego:

f(x1,x2,x3)=8x1+10x2+25x3 → max

w zbiorze:

Page 8: Programowanie liniowe  w  teorii gier

Definicja Problemem programowania liniowego będziemy nazywać problem programowania matematycznego sformułowany następująco: 

Niech cj oraz aij dla i=1,…,m i j=1,…,n będą liczbami rzeczywistymi.

znaleźć maksimum funkcji:

przy ograniczeniach:

Page 9: Programowanie liniowe  w  teorii gier

Często wygodnie będzie nam pisać:

Funkcjęnazywamy funkcją celu, zaś nierówności

ograniczeniami

Page 10: Programowanie liniowe  w  teorii gier

Zmienne x1,…,xn nazywamy zmiennymi decyzyjnymi.

Zauważmy, że zarówno funkcja celujak i lewe strony nierówności w ograniczeniach

są funkcjami liniowymi. 

Page 11: Programowanie liniowe  w  teorii gier

• Możemy wyprodukować n wyrobów.• Do ich produkcji zużywane są różne środki

produkcji, których część (powiedzmy r) jest dostępna w ograniczonych ilościach.

• Dane są:– normy zużycia środków produkcji na jednostkę

każdego wyrobu,– zasoby środków produkcji,– ceny lub zyski jednostkowe ze sprzedaży wyrobów.

Page 12: Programowanie liniowe  w  teorii gier

• Mogą być też podane dodatkowe informacje o popycie na wyprodukowane produkty (lub niektóre z nich):– minimalna ilość, jaką trzeba wyprodukować, aby

zrealizować zamówienie odbiorców,– lub maksymalna ilość, jaką można sprzedać.

Page 13: Programowanie liniowe  w  teorii gier

A zatem parametrami są:• aij - zużycie i-tego środka produkcji na

wytworzenie jednostki j-ego wyrobu (i=1,…,r; j=1,..,n);

• bi-posiadany zasób i-tego środka produkcji;

• cj-cena lub zysk jednostkowy ze sprzedaży

j-ego wyrobu;• dj-min. ilość j-ego wyrobu, jaką trzeba

wyprodukować;• gj-max. ilość j-ego wyrobu, jaką można sprzedać.

Page 14: Programowanie liniowe  w  teorii gier

Rozwiązanie dopuszczalne a

rozwiązanie optymalne

Page 15: Programowanie liniowe  w  teorii gier

Przykład

Przedsiębiorstwo produkuje dwa wyroby: W1 i W2.

W procesie produkcji zużywa się wiele środków, spośród których dwa są limitowane.

Limity te wynoszą: środek I – 96000 jedn., środek II – 80000 jedn.

Nakłady limitowane na jednostkę wyrobów W1 i W2 są w tabeli (tablica).

Page 16: Programowanie liniowe  w  teorii gier

Wiemy, że zdolności produkcyjne nie pozwalają wyprodukować więcej niż 3000 szt. wyrobów W1 oraz 4000 szt. wyrobów W2.

Analiza rynku ustaliła optymalne proporcje produkcji, które są 3:2.

Cena sprzedaży (w zł) jednostki wyrobu W1 wynosi 30 zł, a wyrobu W2 – 40 zł.

Page 17: Programowanie liniowe  w  teorii gier

Problem?

Ustalić optymalne rozmiary produkcji wyrobów gwarantujące

maksymalizację przychodu ze sprzedaży przy istniejących

ograniczeniach.

Page 18: Programowanie liniowe  w  teorii gier

Program pierwotny a program dualny

Page 19: Programowanie liniowe  w  teorii gier

Kolejny przykładPrzedsiębiorstwo produkuje cztery wyroby W1, W2, W3 i W4, dwa spośród wielu środków

używanych w procesie produkcji są limitowane.

Limity te wynoszą: • Środek I- 90 000 jedn.,• Środek II-120 000 jedn.Nakłady limitowanych środków na jednostkę są

w tabeli (tablica)

Page 20: Programowanie liniowe  w  teorii gier

Zysk osiągany na jednostce produkcji kształtuje się odpowiednio: 4, 6, 3, 12 zł.

PROBLEM?

Ustalić optymalne rozmiary produkcji poszczególnych wyrobów. Podać

łączny zysk zrealizowany przy optymalnym asortymencie

produkcji.

Page 21: Programowanie liniowe  w  teorii gier

Możemy napisać model matematyczny powyższego problemu.

Będzie to program pierwotny. Funkcja celu jest funkcją czterech

zmiennych, trudno więc będzie rozwiązać ten problem metodą graficzną.

Możemy zbudować program dualny względem tego programu pierwotnego.

Page 22: Programowanie liniowe  w  teorii gier

Program dualny jest odrębnym programem, z nowymi nie występującymi w programie pierwotnym zmiennymi –

oznaczymy je yi (i = 1,2,…,r).

Jednak pomiędzy programem pierwotnym i dualnym możemy znaleźć związki.

Page 23: Programowanie liniowe  w  teorii gier

Związki:• W PD jest tyle zmiennych, ile

warunków ograniczających w programie pierwotnym (i odwrotnie).

• Współczynniki funkcji celu PP są wyrazami wolnymi układu nierówności PD (i odwrotnie).

Page 24: Programowanie liniowe  w  teorii gier

• Macierz współczynników układu nierówności [aji] w PD jest transpozycją macierzy współczynników układu nierówności w PP [aij] (i odwrotnie).

• Programem dualnym względem programu dualnego jest program pierwotny.

Page 25: Programowanie liniowe  w  teorii gier

Zauważmy, że:• jeżeli w PP funkcja celu jest

maksymalizowana, to w PD jest minimalizowana (i odwrotnie),

• Konstruując PD, należy zmienić kierunki nierówności na przeciwne w porównaniu z PP.

(dotyczy to programów symetrycznych)

Page 26: Programowanie liniowe  w  teorii gier

Twierdzenia o dualności

• W rozwiązaniach optymalnych obu programów x*=(x*

1,…,x*n) i

y*=(y*1,…,y*

r) wartości funkcji celu są sobie równe, czyli F(x*

1,…,x*

n) =G(y*1,…,y*

r).

Page 27: Programowanie liniowe  w  teorii gier

Twierdzenie o równowadze• Jeżeli i-ty warunek PP jest (chociaż w jednym)

optymalnym rozwiązaniu tego programu spełniony z nierównością (ostro), to odpowiadająca mu i-ta zmienna - yi w (dowolnym) optymalnym rozwiązaniu PD przyjmuje wartość 0.

• Jeżeli j-y warunek PD jest (chociaż w jednym) optymalnym rozwiązaniu tego programu spełniony z nierównością (ostro), to odpowiadająca mu j-a zmienna – xj w (dowolnym) optymalnym rozwiązaniu PP przyjmuje wartość 0.

Page 28: Programowanie liniowe  w  teorii gier

• Jeżeli PD ma jedno rozwiązanie optymalne, to optymalna wartość i-tej zmiennej dualnej (y*

1) informuje jak wielki przyrost (spadek) wartości funkcji celu PP przypada na zwiększenie (zmniejszenie) wyrazu wolnego w i-tym ograniczeniu (bi) o jednostkę, przy niezmienionych pozostałych b.

Page 29: Programowanie liniowe  w  teorii gier

W końcu Teoria Gier

Page 30: Programowanie liniowe  w  teorii gier

•Gra macierzowa-gra dwuosobowa o sumie zerowej (i o skończonej liczbie strategii każdego gracza).

•Gra dwumacierzowa-niezerowa.

Page 31: Programowanie liniowe  w  teorii gier

Twierdzenie von Neumanna (twierdzenie minimaksowe)

W każdej grze macierzowej – z dowolną ilością strategii i

dowolnymi wypłatami – istnieją strategie optymalne obu graczy

(być może mieszane) oraz dokładnie jedna wartość.

Page 32: Programowanie liniowe  w  teorii gier

Strategia mieszana, co to?Przypuśćmy, że gracz 1 przed wybraniem

strategii przeprowadza losowanie, od wyniku którego uzależni swój wybór.

Takie postępowanie nazywa się randomizacją, a otrzymana „losowa” strategia – strategią mieszaną.

Gra czysta – taka, która nie jest mieszana

Page 33: Programowanie liniowe  w  teorii gier

Weźmy pod uwagę grę dwuosobową o sumie zerowej.

Niech to będzie gra najprostsza, w której każdy gracz ma tylko dwie strategie (tabelka).

Z tw. von Neumanna wiemy, że taka gra ma jakąś, na razie nieznaną, wartość (minimaks) w.

Jest ona z definicji największą taką liczbą v, że przy każdej strategii przeciwnika gracz 1 może sobie zapewnić wygraną w wysokości co najmniej v.

Page 34: Programowanie liniowe  w  teorii gier

Dokończenie na tablicy.

Dziękuję