marta-programowanieliniowe

Download Report

Transcript marta-programowanieliniowe

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.
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:
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.
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ść itej 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 dwumacierzowaniezerowa.
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.
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ę