Wd.1 7.10.2003 Badania operacyjne- kompleksowa dziedzina nauki związana ściśle z teoria podejmowania decyzji. Badania operacyjne- umożliwiają za pomocą modeli matematyczno- ekonomicznych, praktyczne wyznaczenie metodyki rozwiązania ściśle określonych problemów związanych z podejmowaniem optymalnych decyzji w różnych, ale konkretnych sytuacjach. Wiele metod badań operacyjnych wymaga wykonania danej liczby obliczeń, co jest możliwe dopiero przy zastosowaniu techniki elektronicznej. Metody: Metody stosowane w badaniach operacyjnych skupiają się na porównaniu efektywności różnych sposobów wewnętrznych zagadnień i poszukiwaniu rozwiązania optymalnego, pozwalają przeanalizować wybrany wycinek rzeczywistości oraz ocenić ilościowo rezultaty możliwych do podjęcia decyzji. Dziedziny zastosowań Badań operacyjnych: - planowanie przedsięwzięć
- zagadnienia dystrybucyjne i transportowe (np. planowanie tras dostaw)- szeregowanie i harmonizowanie zadań- układanie rozkładów zajęć, jazdy pociągów itp.- planowanie i zarządzanie produkcją- zarządzanie systemami masowej obsługi- problemy rozkroju i pakowania (np. krój materiałów)- projektowanie lokalizacji rozmieszczenia i powiązania obiektów (np. w sieci). Podstawowe modele i metody badań operacyjnych:-Metody optymalizacji dyskretnej- modele i algorytmy grafowe - modele liniowe i całkowitoliczbowe- modele przepływów w sieciach- programowanie dynamiczne- heurystyki (opisy słowne):*Metody sztucznej inteligencji*Modele i metody symulacyjne*Modele teorii gier*Systemy masowej obsługi i sieci kolejkowe*Decyzyjne łańcuchy Markowa
Etapy badań operacyjnych:1.budowa modelu matematycznego opisującego rozwiązany problem 2.rozwinięcie modelu, polegające na określeniu najlepszej w danych warunkach decyzji 3.weryfikacja modelu imipkowego rozwiązania oraz dokonanie ewentualnych poprawek 4.kontrolę mającą zapewnić dopływ informacji wpływających na ewentualne zmiany optymalnej decyzji, jak również umożliwiać wprowadzenie konkretnej decyzji w przypadku zmian różnych czynników wpływających na optymalną decyzję.
Falsyfikacja- znalezienie sytuacji, w której model nie odwzoruje rzeczywistości. Świadomie wybieramy sytuacje najgorsze.
Wd2 14.10.2003 Zakład produkuje szybkowary ciśnieniowe A i ekspresy do kawy B. Popyt na nie jest nieograniczony. Produkcję ograniczają operacje otoczenia spawania i montażu. W tab1. zestawiono przepustowość możliwą do osiągnięcia, a tabeli 2 procentowe układy poszczególnych operacje w ogólnej przepustowości produkcyjnej. Tab.1
Operacja |
Szybkowary A |
Ekspresy B |
Tłoczenie |
25000 |
35000 |
Spawanie |
33333 |
16667 |
Montaż A |
22500 |
- |
Montaż B |
- |
15000 |
Tab.2
Operacja |
Szybkowary A |
Ekspresy B |
Tłoczenie |
0,004 |
0,00286 |
Spawanie |
0,003 |
0,006 |
Montaż A |
0,00444 |
- |
Montaż B |
- |
0,00667 |
Zysk na jednym szybkowarze to 15zł, na ekspresie 12,5zł. Jakie ilości szybkowarów szybkowarów ekspresów zakład powinien produkować, aby osiągnąć największy zysk?
Rozwiązane:Niech x1, x2 liczby produktów. Rozwiązanie przepustowości produkcji to ograniczenia:
Programowanie liniowe
Zadanie optymalizacji formułowane jest następująco:
Znaleźć minimum funkcji celu
f(x)= z = c1x1+c2x2+…cnxn (1)
przy ograniczeniach
g(x) a11x1+a12x2+…a1nxn = b1
a21x1+a22x2+...a2nxn = b2
.......................................
am1x1+am2x2+...amnxn = bm
oraz określamy, że ma standardową postać zadania programowania liniowego, ogólną postać można sprowadzić do postaci standardowej w przypadkach: 1jeśli poszukujemy max i min funkcji celu, to minimalizujemy jej ujemną wartość: z* = -z wówczas wówczas min z*= max z, . 2 jeżeli ograniczenie wyrażone jest w postaci nierówności, to dodanie „sztucznej zmiennej xn+1 umożliwia napisanie go w postaci równania:
3.jeżeli zmienna xk ma dowolny znak, czyli może przyjąć wartości dodatnie lub ujemne, wówczas zmieniamy ją na różnicę, dwu nieujemnych zmiennych, ponieważ każdą ujemną można zapisać jako różnicę dwu liczb dodatnich xk= xk+ xk , xk def. Wierzchołek - (punkt ekstremalny) to punkt w zbiorze wypukłym, który nie leży na odcinku łączących dwa inne punkty. Rozwiązanie dopuszczalne- to każde rozwiązanie równań ograniczeń, spełniające warunek nieujemności. Rozwiązanie bazowe- jest to rozwiązanie równań ograniczeń otrzymanych przez przyjęcie „nadmiaru” n-m zmiennych równego zero. Bazą nazywamy zbiór zmiennych nie równoważnych zeru, będących rozwiązaniem równań ograniczeń. Rozwiązanie optymalne to rozwiązanie dopuszczalne spełniające funkcję celu.
Podstawowe twierdzenia Tw.1 Zbiór rozwiązań dopuszczalnych jest zbiorem wypukłym, którego punkty ekstremalne odpowiadają rozwiązaniom bazowym dopuszczalnym. Tw.2 Jeżeli istnieje rozwiązanie dopuszczalne to istnieje podstawowe rozwiązanie bazowe dopuszczalne. Tw.3 Jeżeli funkcja celu ma skończoną wartość min, to przynajmniej jedno rozwiązanie optymalne jest rozwiązaniem bazowym dopuszczalnym.
Metoda Simpleksów Metoda simpleksów jest iteracyjnym (krok po kroku) schematem do poruszania się od jednego punktu ekstremalnego do punktu sąsiedniego, dopóki nie zostanie wyznaczone rozwiązanie optymalne. Do opracowania takiej metody należało określić: sposób wyboru początkowego punktu ekstremalnego,sposób poruszania się między punktami ekstremalnymi bez powracania tą samą drogą, sposób identyfikacji rozwiązania optymalnego, gdy zostanie osiągnięte bez konieczności badania wszystkich punktów ekstremalnych...ad.1 postać kanoniczna , Niech x1,x2…xn oznaczają zmienne bazowe. Funkcję celu i równanie ograniczeń zapiszemy: min:z=z0=cm+xm+1+…cnxn (4) x1+a1m+zxm+1+…+a1nxn=b1
x2+a2m+xm+1+…+aznxn=b2 (5) xm+am,m+xm+1+…+amnxn=bm dla
Równanie (5) nosi nazwę równań kanonicznych dla bazy x1,x2…xn Postać tę charakteryzuję
- zmienne bazowe maja dodatnie współczynniki równe 1 w każdym równaniu pojawia się tylko jedno z nich- funkcja celu nie zawiera zmiennych bazowych Postać kanoniczna pozwala od razu wskazać rozwiązanie bazowe (x1=b1x2=b2…xm=bm,0,..0) oraz z = z0
Wd3 21.10.2003 Sieć działań dla operacji sympleks dodac rys
Wd.4 Zagadnienie to dotyczy optymalizacji takich liniowych zagadnień, w których liczba zmiennych jest równa liczbie ograniczeń (n=m) i zmienne muszą być całkowite. Jest tak w sytuacji rozmieszczenia pracowników lub sprzętu potrzebnych do wykonania określonych zadań. Zad.1 Cztery rodzaje prac mogą być wykonywane przez 4 zespoły pracowników. Czasy wykonywania poszczególnych prac przez te zespoły oszacowane i umieszczono w tabeli. Jak należy przydzielić zadanie, po jednym na zespół by czas wykonywania prac był min?
Zadanie |
Zespół |
|||
|
1 |
2 |
3 |
4 |
A |
10 |
25 |
16 |
11 |
B |
13 |
26 |
7 |
21 |
C |
35 |
19 |
18 |
16 |
D |
19 |
26 |
24 |
10 |
Rozwiązanie Należy tak przekształcić macierz by w każdym wierszu i kolumnie otrzymać element zerowy, niepowtarzający się. Wykorzystujemy 1a) w każdym wierszu od każdego elementu odejmujemy wartość najmniejszego elementu 1b) w kolumnach od każdego elementu odejmujemy wartości najmniejszego elementu w danej kolumnie
Zadanie |
Zespół |
|||
|
1 |
2 |
3 |
4 |
A |
0 |
15 |
6 |
1 |
B |
6 |
19 |
0 |
14 |
C |
19 |
3 |
2 |
0 |
D |
9 |
16 |
14 |
0 |
Zadanie |
Zespół |
|||
|
1 |
2 |
3 |
4 |
A |
0 |
12 |
6 |
1 |
B |
6 |
16 |
0 |
14 |
C |
19 |
0 |
2 |
0 |
D |
9 |
13 |
14 |
0 |
2. dla przekształconej macierzy optymalne jest rozwiązanie pracowników, odpowiadające zerowym elementów macierzy. Rozwiązaniem jest:
Zadanie |
Zespół |
A |
1 |
B |
3 |
C |
2 |
D |
4 |
Wartość funkcji celu obliczamy na podstawie macierzy pierwotnej. Czas wynosi: 10+7+19+10=46 3. Jeśli w kilku kolumnach lub wierszach przekształconej macierzy pojawi się więcej niż jedno zero wówczas: 3a) narysować możliwie najmniejszą liczbę poziomych i pionowych linii przechodzących przez wszystkie zera macierzy, tak by każde zero było przekreślone choćby raz. Zacząć od narysowania linii przechodzącej przez największą liczbę zer. 3b) Znaleźć element o najmniejszej wartości, przez który nie przechodzi linia. Odjąć ten element od pozostałych nieprzekreślonych leżących na przecięciu linni. 3c), Jeśli wśród naszych zer nie ma rozwiązania powtarzać procedurę 3a-3c aż do jego uzyskania. Np. Macierz pierwotna + krok 3a
|
0 |
1 |
2 |
4 |
0 |
2 |
4 |
0 |
3 |
|
7 |
0 |
0 |
0 |
0 |
2 |
1 |
3 |
2 |
2 |
3 |
4 |
0 |
2 |
3b.Najmniejszy element, przez który nie przechodzi linia jest 1. Po odjęciu 1 od elementów nieprzekreślonych i dodaniu jej do tych, które leżą na przecięciach linii uzyskujemy:
|
A |
B |
C |
D |
E |
1 |
4 |
0 |
1 |
3 |
4 |
2 |
0 |
1 |
3 |
0 |
2 |
3 |
6 |
7 |
0 |
1 |
0 |
4 |
0 |
1 |
0 |
3 |
1 |
5 |
2 |
2 |
3 |
0 |
1 |
Rozwiązanie
Zadanie |
Zespół |
A |
2 |
B |
1 |
C |
5 |
D |
3 |
E |
4 |
Wd5 28.10.2003@w każdym wierszu od każdego elementu odejmujemy wartość najmniejszego elementu.@w kolumnach od kolejnego elementu odejmujemy wartość najmniejszego elementu w danej kolumnie@W każdym wierszu i kolumnie należy otrzymać element zerowy, nie powtarzający się. Zera wskazują ostateczne rozwiązanie. Dla przekształconej macierzy optymalnym jest rozmieszczenie pracowników, odpowiadającym zerowym elementom macierzy. Gdy kilka zer to należy: narysować możliwie najmniejszą liczbę poziomych i pionowych linii przechodzących przez wszystkie zera macierzy, tak choćby każde zero było przekreślone raz. Zacząć od przeprowadzenia linii przechodzących przez największą liczbę zer@znaleźć element o najmniejszych wartościach przez który nie przechodzi linia. Odjąć ten element od wszystkich pozostałych nie przekreślonych oraz dodajemy ten element do wartości leżących na przecięciu linnii @jeżeli wśród nowych zer nie ma rozwiązań to powtarzamy procedurę aż do skutku
Wd6 4.11.2003 Macierz przepływów Wyrażamy ilość towarów towarów postaci zmiennych Xij. Z danych w tabeli tworzymy równania ograniczeń. Zmienne traktować jako zmienne nieujemne- równanie wynikające z popytu klientów. Suma zmiennych = zamówieniu. Funkcja celu = koszty transportu z=…+…. Ponieważ ograniczenia są równościami to metoda Stepping- stone. Cztery zmienne różne od zera rozwiązujemy krokami, począwszy od 1 wiersza, któraś z dwóch zmiennych różnych od zera.
X11 |
X12 |
0 |
0 |
0 |
X22 |
X23 |
0 |
0 |
0 |
X33 |
X34 |
Podstawiając powyższe wartości do funkcji z otrzymamy Z po wcześniejszym podstawieniu, czego się da wychodzi Z = z i można od razu odczytać jej wartości. Analizujemy współczynnik tylko przy wartościach funkcji celu i tylko te ujemne. Przegląd wskazuje, że możemy najlepiej zwiększyć wartość zmiennej x32 i przyjąć, że x33=0. Wówczas x32 może wzrosnąć, co najwyżej do 20 a funkcja z celu zmniejszy się o 5x20=100 Z=440+… z=340 Wybieramy min wartości, ale dodatnią. Gdy wszystkie współczynniki są dodatnie to nic już nie da się zrobić.
Wd7 24.11.2003 ZAGADNIENIA DYNAMICZNE I STATYSTYCZNE Programowanie dynamiczne Def. Programowanie dynamiczne- analiza warunków, które musi spełniać optymalny, wielostadialny proces decyzyjny oraz badanie, w jaki sposób można wykorzystać te warunki w celu wyboru najlepszego działania. Problemy: 1Zagadnienia determienastyczne - każda decyzja w sposób jednoznaczny określa wynik.2Główny przedmiot rozważań to analiza możliwości względem czasu traktowania jako zmienna decyzyjna 3wpływ warunków początkowych i ograniczających nakładanych na rozwiązania optymalne 4Rozpatrywane modele mają skończony horyzont czasowy 5Postać i właściwości rozwiązania optymalnego 6Badania i właściwości zjawisk o dużo mniejszej liczbie niewiadomych 7Liczbowe rozwiązania modeli dynamicznych(zagadnienia liniowe) mogą być wyznaczane za pomocą metody wyznaczenia najkrutszej drogi w sieci cyklicznej Cel: Jak formułować model, aby wpełni wydobyć ich dynamiczne właściwości - Brak ogólnych reguł postępowania, za pomocą których można określić dynamiczne właściwości zagadnienia- np. wprowadzenie dobrego systemu oznaczeń Ex -oprogramowanie reguł sterowania zapasami określających, kiedy i o ile należy powiększyć zapasy - oprogramowanie zasad kalendarzowego planowania produkcji i wielkość w zatrudnieniu w warunkach zmieniającego się popytu na wybrane dobra - podział ograniczonych nakładów inwestycyjnych między możliwie nowe kierunki ich wykorzystania -wybór metod prowadzenia kampanii reklamowej -systematyzacja metod poszukiwania cennych surowców -budowa planów kalendarzowych bieżących kapitalnych remontów skomplikowanych. Wspólną cechą modeli dynamicznych jest przedstawienie problemu decyzyjnego za pomocą wzorów rekurencyjnych, pozwalających obliczyć wybrany ciąg na podstawie jednego lub kilku wyrazów poprzedzających. Elementarny model Niezawodny dostawca:- Firma chce opracować prognozy produkcji pewnego produktu na N kolejnych dni. Założenia:- dla każdego okresu firma dysponuje prognozę popytu na wytworzony produkt- czas przygotowania partii wyrobów pomijamy- wielkość popytu zmienia się z upływem czasu
- ekonomiczne wskaźniki produkcji zależą od wielkości produkcji. Cel: Sformułowanie programu produkcyjnego minimalizującego optymalne koszty produkcji i przekazywania zasobów przy warunku zapewniającym pełne i terminowe zaspokojenie popytu. Budowa Modelu
wielkość produkcji w czasie , if - zapasy w końcu okresu t, Df - wielkość popytu w czasie - nieujemna liczba całkowita, Ct(xt;it) - funkcja kosztów Funkcja celu Zminimalizować
Zakładamy dodatkowo iN=0 - likwidacja zapasów w końcu okresu planisty. W każdym okresie popyt powinien być zaspokojony w pełni i terminowo. I ograniczenie Zapasy w końcu okresu t}=zapasy na początku ok.+produkcja koprodukcja okresie- popyt w okresie it=it-1+xt-Dt dla każdego okresu t=1,2,3…N- funkcja liniowa II ograniczenie - firma jest w stanie zaspokoić popyt w każdym okresie-poziom zapasów na początku okresu i wielkość produkcji w danym okresie powinny być wystarczająco duże aby zapasy w końcu okresu były wielkościami nieujemnymi-poziom zapasów it=1,2,....Sformułowanie dynamiczne-idea procesu obliczeniowego
oś czasu------------oś -proces obliczeniowy <--------------przechodzenie ze stanu ostatniego do wyjściowego. Nowe oznaczenia Dn- popyt w okresie, w którym do końca horyzontu planu pozostało jeszcze n okresów Cn(x,j)- koszt produkcji (x jednostek towaru oraz magazynowanie j jednostek na końcu okresu którego do końca horyzontu planu dzieli jeszcze n okresów d1 = Dw dn= D1 C1(x,j)=CN(x,j) - stan systemu produkcyjnego na początku każdego okresów określają zapasy na początku tego okresu fn(i) - wartość odpowiadająca polityce min kosztów (początkowy poziom zapasów do końca pozostałych okresów)
Xn(i) - wielkość produkcji odpowiadającej fn(i) Etap gdy n=0 - koniec okresu planowania fn(0)=0 Etap gdy n=1 f1(i)=c1(d1-i,0) gdzie d1-i=wielkość produkcji a 0= zapasy na koniec okresu Etap gdy n=2 koszt dla tego etapu wynosi: c2(x,i+x-d2)+f1(i+x-d2) gdzie:
(i+x-d2) - zapas na koniec okresu x- wielkość produkcji f2(i)= min[c2(x,i+x-d2)+f1(i+x-d2) ]
Wd8 2.12.2003 Ogólna postać wzoru fn(i)= min[cn(x,i+x-dn)+f1(i+x-dn)] -- wielkość produkcji
- początkowy poziom zasobów i=0,1,…,d1+…+dn
- poziom zasobów na końcu każdego okresu wynosi (i+x-dn) Ze wzoru rekurencyjnego można obliczyć w kolejności:n=0 f0(0) koniec okresu planowania n=1 f1(0), f1(1). n=2 f2(0), f2(1),…,f2(d1+d2), n=3 f3(0), f3(1),... ,f3(d1+d2+d3), n=4 f4(0), f4(1),... ,f4(d1+d2+d3+d4)
n=N-1 fN-1(0), fN-1(1),... , fN-1(d1+d2+...+dN-1) ,n=N fN(io),W celu optymalizacji planu produkcji należy sprawdzić: 1Poziom produkcji xn(io) odpowiada wartość fN(io) - jest to optymalna decyzja na początku horyzontu plan.2wartość etapu - początkowy poziom zapasów io+ xn(io)- dN i odpowiadający mu poziom produkcji fN-1(io+ xn(io)- dN)
Zależność rekurencyjna jest równoważna metodzie najkrótszej drogi w sieci acyklicznej.
Zagadnienia dyliżansem 1Podróż ze wsch. na zach - 4 etapy 2linie ciągłe trasy dyliżansu 3 kwadraty to stan 4 wartości- cena polisy ubezpieczeniowej Cij- cena polisy ubezpieczeniowej na trasie od stanu i do stanu j. Zasada optymalności Niezależnie od stanu począwszy i decyzji o kolejnych dojście do danego stanu, pozostałe decyzje muszą stanowić politykę optymalną, określającą drogę z dowolnego stanu do punktu końcowego.4 etapy:
1. fn(s) min koszt ubezpieczenia jeżeli znajdziemy się w stanie s a do końca drogi pozostanie n stanów jn(s)- decyzje pozwalające osiągnięcie fn(s) więc f- wartość funkcji celu s- oznacza że aktualna wartość funkcji celu zależy od stanu systemu n- oznacza, że od stanu s pozostało do końca drogi n etapów koniec podróży f0(10)=0 szukamy f1(8) i f1(9) f1(8)= c8,10+f0(10)
f1(9)= c9,10+ f0(10) Szukamy f2(6)=? tzn. min koszt polisy ubezpieczeniowej, jeżeli najdziemy się w stanie 6 i do końca drogi pozostały dwa etapy ( albo trasa 8 albo trasa 9) f2(6)=min[c6,8+f1(8), c6,9+f1(9)] Wzór rekurencyjny fn(s)=min [Csj+fn-1(j)] dla n=1,2,3,4- bo 4 etapy Obliczenia:f1(8)= c8,10+0=1 dla j1(8)=10 (s=8), f1(9)= c9,10+0=4 dla j1(9)=10 (s=9), n=1
Csj+f0(j)
j s |
decyzje |
||
|
10 |
ji(s) |
f1(s) |
8 |
1+0 |
10 |
1 |
9 |
4+0 |
10 |
4 |
n=2
s |
decyzja |
j2(s) |
f2(s) |
|
|
8 |
9 |
|
|
5 |
7+1 |
5+4 |
8 |
8 |
6 |
3+1 |
4+4 |
8 |
4 |
7 |
7+1 |
1+4 |
9 |
5 |
Dodac schemat kwadrat-kwadrat
xxxxxxxxxxxxxxxxxxxxxxxxxxx
n=3 Csj+f2(j)
j s |
decyzja |
j3(s) |
f3(s) |
||
|
5 |
6 |
7 |
|
|
2 |
15+8 |
12+4 |
|
6 |
16 |
3 |
5+8 |
10+4 |
7+5 |
7 |
12 |
4 |
|
15+4 |
13+5 |
7 |
18 |
n=4 Csj+f4(j)
j s |
Decyzja |
j4(s) |
f4(s) |
||
|
2 |
3 |
4 |
|
|
1 |
2+16 |
5+12 |
1+18 |
3 |
17 |
Jaka jest optymalna polityka odpowiadający min kosztów.
Wd9 9.12.2003 Zagadnienie dyliżansu Optymalna polityka Droga przechodząca przez następujące stany 1-3-7-9-10 Programowanie dynamiczne Modele zarządzania zapasami, wypukłe i wklęsłe funkcje kosztów Założenie Dla każdego okresu t funkcja kosztów Ct (xt, it)= Ct (xt)+ ht(it), Ct(xt)
0 , Ct(0)=0 , ht(it)
0 , ht(0)=0, Ct(xt)- koszt wytworzenia xt jednostek towaru ht(it) - koszt magazynowania it jednostek na koniec okresu t. Równanie bilansu zapasów dla każdego it= it-1+xt-Dt lub it= i0+
, Dt- popyt nieujemne liczby całkowite , xt,it- nieujemne liczby całkowite, Def. Wypukłej i wklęsłej funkcji kosztów Funkcję g(x) określona na zbiorze liczb całkowitych jest nazywana jest wypukłą jeżeli :g(x+1) - g(x)
g(x)-g(x-1) dla każdego x, Natomiast wklęsłą jeżeli:g(x+1) - g(x)
g(x)-g(x-1) dla każdego wypukłe funkcje kosztów -koszt każdej dodatkowej jednostki produkcji jest co tak duży, jak poprzedniej jednostki produkcyjnej -wklęsła funkcja kosztów - koszt każdej jednostki produkcyjnej jest nie większy od kosztów poprzedniej jednostki produkcyjnej. Dodac wykresy xx-----yy
Funkcja kosztów wypukła
dla każdego x
Funkcja kosztów wklęsła
dla każdego x
Np.1 funkcja liniowa g(x)ax+b
Funkcja liniowa g(x) jest dla każdego każdego każdego każdego oraz x funkcją wypukła jak i funkcją wklęsłą. Np.2 funkcja kwadratowa g(x) ax2+b
funkcja g(x) jest dla każdego każdego funkcją wypukłą gdy a jest liczbą nieujemną i funkcją wklęsłą gdy a jest liczbą niedodatnią.
Np.3 funkcja
gdzie
,
Funkcja g(x) jest funkcją wklęsła dla x<0 oraz x>0 Jeżeli jest funkcją wypukłą w punkcie x=0
Przypadek
gdzie
oznacza koszty magazynowania jednostek zapasów
karę umowną za niezrealizowanie w terminie zapasów. Model zarządzania zapasami z wypukłą funkcję kosztów Dodatkowe założenia -Funkcja kosztów produkcji ct(x) jest wypukła -Funkcja kosztów magazynowania zapasów ht(xt) jest wypukła. Algorytm Zaczynając od I okresu należy w kolejnych okresach realizować każdą jednostkę zamówienia możliwie najtaniej przy danym kalendarzowym planie produkcji oraz wynikającym z niego sposobu zarządzania zapasami.1dla każdego z okresów rozważamy zwiększenie produkcji o jednostkę w porównaniu z aktualnym planem produkcji w celu zrealizowania jednostki z zamówienia dp. 2.dla każdego p wariantów obniżamy łączny wzrost kosztów zwiększenia wielkości produkcji i zapasów o jednostkę. Wybieramy wariant dominujący najmniejszy koszt krańcowy i zmieniamy w odpowiedni sposób plan produkcji. Jeżeli istnieje kilka takich wariantów to wybieramy ten, który odpowiada okresowi najpóźniejszemu. 3,zmieniamy aktualną wielkość popytu Dp o jednostkę. Badamy czy wszystkie aktualne Dp są równe zeru, jeżeli tak to kończymy w przeciwnym wypadku wracamy do kroku 1.
+ wd 13.01.2004