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. 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.
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?
Matematyczny model tak postawionego zadania jest następujący: Oznaczmy przez: x1- ilość cukru, x2- ilość mąki, x3- ilość chipsów.
Zysk właściciela wynosi: 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
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:
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:
nazywamy funkcją celu, zaś nierówności Często wygodnie będzie nam pisać: Funkcję nazywamy funkcją celu, zaś nierówności ograniczeniami
Zmienne x1,…,xn nazywamy zmiennymi decyzyjnymi. Zauważmy, że zarówno funkcja celu jak i lewe strony nierówności w ograniczeniach są funkcjami liniowymi.
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.
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ć.
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ć.
Rozwiązanie dopuszczalne a rozwiązanie optymalne
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).
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ł.
Problem? Ustalić optymalne rozmiary produkcji wyrobów gwarantujące maksymalizację przychodu ze sprzedaży przy istniejących ograniczeniach.
Program pierwotny a program dualny
Kolejny przykład Przedsię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)
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.
Możemy napisać model matematyczny powyższego problemu 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.
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.
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).
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.
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)
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).
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.
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.
W końcu Teoria Gier
Gra macierzowa-gra dwuosobowa o sumie zerowej (i o skończonej liczbie strategii każdego gracza). Gra dwumacierzowa-niezerowa.
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ść.
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
Weźmy pod uwagę grę dwuosobową o sumie zerowej 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.
Dokończenie na tablicy. Dziękuję