Badania Operacyjne UW, wykład 3 produkcja-zapasy, Programowanie dynamiczne


Programowanie dynamiczne (Cd)

Ogólnie zadanie programowania dynamicznego można sformułować następująco:

Wyznaczyć takie wartości zmiennych decyzyjnych 0x01 graphic
, dla których funkcja F (zakładamy, że funkcja jest addytywna) osiąga ekstremum, co zapisujemy:

znaleźć ekstremum funkcji

0x01 graphic

gdzie:

xi - dopuszczalna decyzja w i-tym etapie, przy czym xi należy do zbioru Xi decyzji dopuszczalnych dla i-tego etapu, 0x01 graphic
,

si - stan dopuszczalny w jakim może się znaleźć proces na początku i-tego etapu,

0x01 graphic
- rezultat decyzji xi uwzględniającej stan procesu si na początku i-tego etapu.

Wartości funkcji vi, a w konsekwencji i wartość funkcji F zależą od wyboru zmiennych decyzyjnych xi. Wybór ten nie jest dokonywany jednorazowo, lecz kolejno dla poszczególnych etapów procesu decyzyjnego.

Wyznaczenie ekstremum funkcji F jest realizowane według procedury opartej na zasadzie optymalności R. E. Bellmana:

0x01 graphic

0x01 graphic

.......................................................

0x01 graphic

xi należy do zbioru Xi decyzji dopuszczalnych dla i-tego etapu

.......................................................

0x01 graphic

Należy tutaj wyraźnie podkreślić, że w oznaczeniach niniejszego rozdziału (poza jednym wyjątkiem) przyjęto numerację „od końca”. To znaczy etap ostatni jest numerowany jako pierwszy.

Problem zarządzania produkcją i zapasami

Rozważmy problem zarządzania zapasami i produkcją w określonym okresie czasu (okres czasu analizy dzieli się odpowiednio na etapy np. miesiące, tygodnie itp.) z punktu widzenia istniejącego i mogącego się zmieniać z okresu na okres: popytu na określony produkt, ograniczonych zdolności produkcyjnych danych produktów, oraz zdolności magazynowania tych produktów.

Przykład:

Przedsiębiorstwo w ciągu czterech miesięcy powinno pokryć zapotrzebowanie na dany produkt, przy następujących założeniach:

1-szej jednostki - 3 tys. zł,

2-giej - 2 tys. zł,

3-ciej i 4-tej - po 1 tys. zł,

5-tej - 4 tys. zł,

Koszty k(x) produkcji x jednostek podano w Tablicy poniżej.

Tablica: Funkcja k(x) kosztów produkcji

x

0

1

2

3

4

5

k(x)

0

16

18

19

20

24

(13+3)

(16+2)

(18+1)

(19+1)

(20+4)

Zgodnie z zasadą programowania dynamicznego wprowadzimy następujący zapis formalny rozważanego problemu:

Przyjmijmy:

xn - ilość produktu wytworzonego w miesiącu n,

snzapas na koniec miesiąca n. Jednocześnie sn-1 oznacza stan zapasów na początek n-tego miesiąca.

Zmianę stanów zapasów można zapisać:

0x01 graphic
,

s0 - zapas na początku rozważanego okresu,

0x01 graphic
optymalna wielkość produkcji w miesiącu n przy zapasie na początku miesiąca 0x01 graphic
.

Koszty ponoszone w danym miesiącu są sumą kosztów wytwarzania xn oraz magazynowania 0x01 graphic
jednostek w ciągu jednego miesiąca, tzn.:

0x01 graphic
, (n = 1, 2, 3,4)

so i s4=0 (s4 - zapas na koniec kwietnia)

(so - zapas na początek stycznia)

Wreszcie:

0x01 graphic
- możliwości produkcyjne (całkowitoliczbowe),

0x01 graphic
- możliwości magazynowania.

Należy zminimalizować 0x01 graphic
przy spełnieniu wyżej wymienionych warunków.

Uwaga: wyjątkowo w tym przykładzie odeszliśmy od przyjętej konwencji numerowania od końca.

Sposób rozwiązywania

Analizujemy ostatni miesiąc, czyli kwiecień (n = 4)

0x01 graphic

0x01 graphic
- decyzja dotycząca wielkości produkcji w zależności od s3 (stan s4=0, czyli s3+x4-3=0. A stąd wynika podana zależność na x4). Wyniki analizy ostatniego miesiąca przedstawiono w Tablicy poniżej.

Tablica Wyniki analizy miesiąca kwietnia

s3

0x01 graphic

0x01 graphic

0

19

3

1

18

2

2

16

1

3

0

0

Analizujemy teraz łącznie miesiące n = 4 (kwiecień) i n - 1 = 3 (marzec).

Koszty poniesione w marcu wynoszą 0x01 graphic
.

Zatem minimalny koszt poniesiony w marcu i kwietniu przy zapasie 0x01 graphic
na początku marca wynosi:

0x01 graphic

Sposób wyznaczania funkcji 0x01 graphic
ilustruje Tablica poniżej.

Tablica: Wyniki analizy miesiąca marzec i kwiecień

S2\x3

0

1

2

3

4

5

0x01 graphic

0x01 graphic

0

-

-

-

19+0+19

20+2+18

24+4+16

38

3

1

-

-

18+0+19

19+2+18

20+4+16

24+6+0

30

5

2

-

16+0+19

18+2+18

19+4+16

20+6+0

-

26

4

3

0+0+19

16+2+18

18+4+16

19+6+0

-

-

19

0

4

0+2+18

16+4+16

18+6+0

-

-

-

20

0

Sposób wyznaczania funkcji 0x01 graphic
obejmującej kwiecień, marzec i luty oraz wyznaczenie optymalnej decyzji 0x01 graphic
ilustruje z kolei Tablica poniżej.

Tablica: Wyniki analiz miesięcy: luty, marzec i kwiecień

S1\x2

0

1

2

3

4

5

0x01 graphic

0x01 graphic

0

-

-

-

19+0+38

20+2+30

24+4+26

52

4

1

-

-

18+0+38

19+2+30

20+4+26

24+6+19

49

5

2

-

16+0+38

18+2+30

19+4+26

20+6+19

24+8+20

45

4

3

0+0+38

16+2+30

18+4+26

19+6+19

20+8+20

-

38

0

4

0+2+30

16+4+26

18+6+19

19+8+20

-

-

32

0

Funkcja 0x01 graphic
obejmuje styczeń, luty, marzec i kwiecień w sposób analogiczny jak funkcje poprzednie. Należy tylko pamiętać o założeniu, że zapas początkowy w styczniu czyli 0x01 graphic
jest równy 0. Analizujemy, więc tylko sytuację dla 0x01 graphic
(patrz Tablica).

Tablica Wyniki analizy całego rozważanego okresu:

S0\x1

0

1

2

3

4

5

0x01 graphic

0x01 graphic

0

-

-

-

19+0+52

20+2+49

24+4+45

71

3 lub 4

Optymalny ciąg decyzji dla czterech miesięcy wyznaczamy rozpoczynając analizę od ostatniej Tabeli.

Minimalny koszt poniesiony w ciągu czterech miesięcy wyniósł 71 tys. zł. Zgodnie z przeprowadzoną wyżej analizą koszt ten poniesiono wytwarzając w styczniu 3 albo 4 jednostki wyrobu. Wskazuje to na wystąpienie dwóch różnych możliwości rozwiązania problemu dających ten sam wynik.

Jeżeli przyjąć, że:

0x01 graphic
(optymalna wielkość produkcji w styczniu) to:

0x01 graphic
.

Jeżeli 0x01 graphic
to z Tablicy obejmującej luty, marzec i kwiecień mamy 0x01 graphic

Luty, marzec, kwiecień.

S1\x2

0

1

2

3

4

5

0x01 graphic

0x01 graphic

0

-

-

-

19+0+38

20+2+30

24+4+26

52

4

1

-

-

18+0+38

19+2+30

20+4+26

24+6+19

49

5

2

-

16+0+38

18+2+30

19+4+26

20+6+19

24+8+20

45

4

3

0+0+38

16+2+30

18+4+26

19+6+19

20+8+20

-

38

0

4

0+2+30

16+4+26

18+6+19

19+8+20

-

-

32

0

stąd,

0x01 graphic
.

Jeżeli 0x01 graphic
to z analogicznej Tablicy odczytujemy 0x01 graphic

Marzec, kwiecień:

S2\x3

0

1

2

3

4

5

0x01 graphic

0x01 graphic

0

-

-

-

19+0+19

20+2+18

24+4+16

38

3

1

-

-

18+0+19

19+2+18

20+4+16

24+6+0

30

5

2

-

16+0+19

18+2+18

19+4+16

20+6+0

-

26

4

3

0+0+19

16+2+18

18+4+16

19+6+0

-

-

19

0

4

0+2+18

16+4+16

18+6+0

-

-

-

20

0

0x01 graphic

Przy 0x01 graphic
, optymalna wielkość produkcji wynosi 0. Kwiecień:

s3

0x01 graphic

0x01 graphic

0

19

3

1

18

2

2

16

1

3

0

0

Zgodnie z powyższą analizą przedsiębiorstwo powinno produkować:

-------------------------------------------------------------

Jak będzie wyglądało rozwiązanie gdyby przyjąć, że 0x01 graphic
w styczniu produkujemy 4 sztuki wyrobu?

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

19



Wyszukiwarka

Podobne podstrony:
Badania Operacyjne UW, cpm i trasa 2014
Badania Operacyjne UW, inwestycje
Wykład nr 5 Optymalizacja (programowania dynamicznego)
Jadczak R - Badania operacyjne Wykład 3, programowanie całkowitoliczbowe
Program wykładu, Studia - Materiały, Badania Operacyjne
Jadczak R Badania operacyjne, Wykład 3 programowanie całkowitoliczbowe
Badania operacyjne wyklad 2 id Nieznany
Jadczak R Badania operacyjne, Wykład 4 Optymalizacja w logistyce
[W] Badania Operacyjne (2009 02 21) wykład
BADANIA OPERACYJNE wykład1, WAT, semestr IV, Modelowanie Matematyczne
Projekt badania operacyjne- programowanie sieciowe, Badania operacyjne
badania operacyjne, bo program
badania operacyjne, w3 Zagadnienia Dualne Programowania Liniowego
Badania operacyjne (wykład), Bad.oper.
Badania operacyjne (wykład), Bad.oper.
Jadczak R Badania operacyjne, wyklad teoria podejmowania decyzji

więcej podobnych podstron