- •1. Задача управления запасами как пример задачи динамического программирования
- •1.1.Общая постановка задачи управления запасами
- •1.2. Задача управления запасами в динамической форме
- •2. Пример решения задачи управления запасами
- •2.1. Нахождение оптимальной производственной программы
- •2.2. Анализ решения задачи управления запасами
- •3. Содержание курсовой работы
2. Пример решения задачи управления запасами
2.1. Нахождение оптимальной производственной программы
Рассмотрим следующий пример:
Пусть количество отрезков времени N = 6 (Январь – Июнь), спрос Dt = 3, для t = . Затраты определяются по формуле:
, где
xt – выпуск продукции;
- запасы на конец отрезка t ;
h∙it – затраты на хранение;
h = 1 – затраты на хранение единицы продукции;
- производственные затраты
, где t = ;
, где t = .
Производственные затраты – это сумма условно постоянных затрат на переналадку оборудования – 13 и затрат пропорциональных выпуску продукции - .
Производственные мощности и складские площади ограниченны, поэтому налагаются ограничения на выпуск х и уровень запасов i.
;
Затраты на переналадку оборудования относительно высоки по сравнению с другими элементами затрат. Поэтому необходимо стремиться к укрупнению партии выпускаемой продукции. Объем выпуска ограничен пятью единицами. Спрос в каждом периоде равен трем единицам. Поэтому уровень запасов в течение одного отрезка времени не может возрасти больше чем на две единицы. Это означает, что в течение двух периодов времени не удается избежать двух переналадок.
Обозначим:
- минимальные затраты на n последних отрезков при начальном уровне запасов i.
- выпуск продукции, который обеспечит . Будем считать, что уровень запасов на конец всего планового периода должен быть равен нулю.
Пусть n = 1.
Рассмотрим программу на последний месяц (на июнь)
D6 = Dиюня = 3 – спрос на июнь.
Запишем условие (4) для рассмотренного примера:
Где - уровень запасов на конец всего планового периода (для нас ), - спрос на июнь.
Тогда .
Следовательно , т.е.
Уровень запасов для n=1 не превышает 3.
Тогда выпуск x1 неотрицательный, целая величина лежит в пределах:
, т.е.
Выпуск в июне , где i - запас на начало последнего периода, (на 1 июня).
Теперь можно составить таблицу.
= 13 + 2(3 – i).
Таблица 1
Возможные значения запаса |
|
|
0 1 2 3 |
3 2 1 0 |
19 17 15 0 |
Для каждого шага n будем строить одну таблицу, в которой предусмотрено:
по одной строке для каждого возможного значения начального уровня запаса ;
по одному столбцу для каждого возможного значения объема выпуска продукции х.
Будем записывать минимальные затраты для соответствующих сочетаний выпуска х и начального запаса i.
Некоторые клетки таблицы могут быть запрещены в силу условий задачи, каждое из представленных в клетках таблицы чисел представляет собой сумму затрат для периода n и оптимальность затрат для n – 1 последующих периодов. В двух дополнительных столбцах записывается минимальная сумма по строке и соответствующий оптимальный выпуск продукции.
Для n = 2 формула для заполнения клеток таблицы:
, где
- затраты на хранение единицы продукции
13 + 2х – затраты на производство
– затраты на хранение
– минимальные затраты на июнь
Ограничения для уровня запасов
Тогда для данной задачи , но по условию ; следовательно .
Ограничения для выпуска продукции: ,
Так, например,
, следовательно , но по условию и тогда
, и т.д.
Согласно указанным ограничениям можно отметить запрещенные клетки: для это клетки (1;0) и (1;1).
Таблица 2
х |
0 |
1 |
2 |
3 |
4 |
5 |
|
|
|
0 |
* х |
* |
* |
38 |
39 |
40 |
|
3 |
38 |
1 |
* |
* |
36 |
37 |
38 |
26 |
|
5 |
26 |
2 |
* |
34 |
35 |
36 |
24 |
* |
|
4 |
24 |
3 |
19 |
33 |
34 |
22 |
* |
* |
|
0 |
19 |
4 |
18 |
32 |
20 |
* |
* |
* |
|
0 |
18 |
кл. (0; 3):
кл. (1; 2):
кл. (1; 3):
Для n = 3 формула для заполнения таблицы следующая:
(для нашего примера )
Таблица 3
х |
0 |
1 |
2 |
3 |
4 |
5 |
|
|
|
0 |
* |
* |
* |
19 + 38 |
22 + 26 |
25 + 24 |
|
4 |
48 |
1 |
* |
* |
17 + 38 |
20 + 26 |
23 + 24 |
26 + 19 |
|
5 |
45 |
2 |
* |
15 + 38 |
18 + 26 |
21 + 24 |
24 + 19 |
27 + 18 |
|
4 |
43 |
3 |
0 + 38 |
16 + 26 |
19 + 24 |
22 + 19 |
25 + 18 |
* |
|
0 |
38 |
4 |
1 + 26 |
17 + 24 |
20 + 19 |
23 + 18 |
* |
* |
|
0 |
27 |
Примечание: х – в клетке, ставится знак «*», значит клетка запрещена, например кл. (0; 0): спрос в данном случае 3, а выпуск 0, данный объем выпуска не может обеспечить такой спрос, следовательно, клетка запрещена.
Аналогично составляем таблицы для n = 4, n = 5 и n = 6.
Для получения оптимальной программы составляем сводную таблицу.
Таблица 4
Начальный запас на период |
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
3 |
19 |
3 |
38 |
4 |
48 |
3 или 4 |
67 |
5 |
79 |
4 |
96 |
1 |
2 |
17 |
5 |
26 |
5 |
45 |
5 |
64 |
5 |
74 |
5 |
93 |
2 |
1 |
15 |
4 |
24 |
4 |
43 |
5 |
54 |
4 |
72 |
4 |
91 |
3 |
0 |
0 |
0 |
19 |
0 |
38 |
0 |
48 |
0 |
67 |
0 |
79 |
4 |
* |
* |
0 |
18 |
0 |
27 |
0 |
46 |
0 |
65 |
0 |
75 |
Найдем оптимальную программу выпуска продукции.
Пусть запас на начало всего планового периода будет равен 0, тогда получим таблицу 5.
Таблица 5
Оптимальная программа выпуска
Число шагов до конца планового периода |
Запас на начало месяца |
месяц |
Оптимальный выпуск |
Запас на конец месяца |
|
0 |
Январь |
4 |
1 |
|
1 |
Февраль |
5 |
3 |
|
3 |
Март |
0 |
0 |
|
0 |
Апрель |
4 |
1 |
|
1 |
Май |
5 |
3 |
|
3 |
июнь |
0 |
0 |