
- •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 |