- •Содержание Введение…………………………………………………………………………...3
- •Введение
- •1. Краткий обзор методов и моделей математического программирования
- •1.1 Линейное программирование
- •1.2 Нелинейное программирование
- •1.3 Динамическое программирование
- •Симплексный метод решение задач линейного программирования.
- •3. Двойственная задача
- •4. Постановка задачи управления запасами
- •5. Нахождение оптимальной производственной программы
- •6. Анализ решения задачи управления запасами
- •Заключение
- •Список использованной литературы
5. Нахождение оптимальной производственной программы
Обозначим fn(i) – это минимальные затраты в течение n последних отрезков времени при начальном уровне запасов i;
xn(i) – выпуск продукции, который позволяет достичь этих минимальных затрат fn(i).
Возьмём n=1.
Рассмотрим программу на последний месяц (на июнь).
D6=Dиюня=3 – спрос на июнь.
Запишем балансовое условие:
i0=i1+x1 – d1;
где i0=iкон =1 – уровень запасов на конец всего планового периода.
d1=D6=3-спрос на июнь,
Тогда 1=i1+x1 – 3.
Следовательно, i1=4 – x1; i1=0,1,2,3.
Уровень запасов для n=1 не превышает 3.
Выпуск в июне x=4 – i, где i – запас на начало последнего периода (на 1 июня).
Cоставляем таблицу:
Таблица 1
f1(i) = C(xt)+h*iкон
f1(i) = 12+2(4-i)+2*1
i |
x1(i) |
f1(i) |
0 |
4 |
22 |
1 |
3 |
20 |
2 |
2 |
18 |
3 |
1 |
16 |
Для n=2
D5=Dмая=3.
Формула для заполнения клеток таблицы равна:
12+2x+h(i+x-3)+f1(i+x-3), где
h=2 – затраты на хранение единицы продукции;
12+2x – затраты на производство;
2(i+x-3) – затраты на хранение;
f1(i+x-3) – минимальные затраты на июнь.
Ограничения для уровня запасов i ≤ 0,1,2,3, d1+d2. Тогда для заданной задачи d1+d2=6, но по условию i = 0,1,2,3; следовательно, i ≤ 3.
Ограничения для выпуска продукции: d2 – i ≤ x1 ≤ (d2+ d1) – i ;
3-i ≤ x ≤ 6-i.
Расчёт запрещённых клеток:
i=0, следовательно 3≤x≤6, но по условию xt ≤ 5 и тогда 3≤x≤5
i=1 следовательно 2≤x≤5
i=2 следовательно 1≤x≤4
i=3 следовательно 0≤x≤3
Таблица 2
xi |
0 |
1 |
2 |
3 |
4 |
5 |
x2(i) |
f2(i) |
0 |
* |
* |
* |
40 |
42 |
44 |
3 |
40 |
1 |
* |
* |
38 |
40 |
42 |
44 |
2 |
38 |
2 |
* |
36 |
38 |
40 |
42 |
* |
1 |
36 |
3 |
22 |
36 |
38 |
40 |
* |
* |
0 |
22 |
Клетка (0;3): (12+2*3)+2(0+3-3)+f1(0+3-3)=18+0+22=40
Клетка (0;4): (12+2*4)+2(0+4-3)+f1(0+4-3)=20+2+20=42
Клетка (0;5): (12+2*5)+2(0+5-3)+f1(0+5-3)=22+4+18=44
Клетка (1;2): (12+2*2)+2(1+2-3)+f1(1+2-3)=16+0+22=38
Клетка (1;3): (12+2*3)+2(1+3-3)+f1(1+3-3)=18+2+20=40
Клетка (1;4): (12+2*4)+2(1+4-3)+f1(1+4-3)=20+4+18=42
Клетка (1;5): (12+2*5)+2(1+5-3)+f1(1+5-3)=22+6+16=44
Клетка (2;1): (12+2*1)+2(2+1-3)+f1(2+1-3)= 14+0+22=36
Клетка (2;2): (12+2*2)+2(2+2-3)+f1(2+2-3)= 16+2+20=38
Клетка (2;3): (12+2*3)+2(2+3-3)+f1(2+3-3)= 18+4+18=40
Клетка (2;4): (12+2*4)+2(2+4-3)+f1(2+4-3)= 20+6+16=42
Клетка (3;0): (12+2*0)+2(3+0-3)+f1(3+0-3)= 0+0+22=22
Клетка (3;1): (12+2*1)+2(3+1-3)+f1(3+1-3)= 14+2+20=36
Клетка (3;2): (12+2*2)+2(3+2-3)+f1(3+2-3)= 16+4+18=38
Клетка (3;3): (12+2*3)+2(3+3-3)+f1(3+3-3)= 18+6+16=40
Для n=3 формула заполнения таблицы следующая:
12+2x+2(i+x-3)+f2(i+x-3)
Таблица 3
xi |
0 |
1 |
2 |
3 |
4 |
5 |
x3(i) |
f3(i) |
0 |
* |
* |
* |
58 |
60 |
62 |
3 |
58 |
1 |
* |
* |
56 |
58 |
60 |
50 |
5 |
50 |
2 |
* |
54 |
56 |
58 |
48 |
* |
4 |
48 |
3 |
40 |
54 |
56 |
46 |
* |
* |
0 |
40 |
Клетка (0;3): (12+2*3)+2(0+3-3)+f1(0+3-3)=18+0+40=58
Клетка (0;4): (12+2*4)+2(0+4-3)+f1(0+4-3)=20+2+38=60
Клетка (0;5): (12+2*5)+2(0+5-3)+f1(0+5-3)=22+4+36=62
Клетка (1;2): (12+2*2)+2(1+2-3)+f1(1+2-3)=16+0+40=56
Клетка (1;3): (12+2*3)+2(1+3-3)+f1(1+3-3)=18+2+28=58
Клетка (1;4): (12+2*4)+2(1+4-3)+f1(1+4-3)=20+4+36=60
Клетка (1;5): (12+2*5)+2(1+5-3)+f1(1+5-3)=22+6+22=50
Клетка (2;1): (12+2*1)+2(2+1-3)+f1(2+1-3)= 14+0+40=54
Клетка (2;2): (12+2*2)+2(2+2-3)+f1(2+2-3)= 16+2+38=56
Клетка (2;3): (12+2*3)+2(2+3-3)+f1(2+3-3)= 18+4+36=58
Клетка (2;4): (12+2*4)+2(2+4-3)+f1(2+4-3)= 20+6+22=48
Клетка (3;0): (12+2*0)+2(3+0-3)+f1(3+0-3)= 0+0+40=40
Клетка (3;1): (12+2*1)+2(3+1-3)+f1(3+1-3)= 14+2+38=54
Клетка (3;2): (12+2*2)+2(3+2-3)+f1(3+2-3)= 16+4+36=56
Клетка (3;3): (12+2*3)+2(3+3-3)+f1(3+3-3)= 18+6+22=46
Для n=4 формула заполнения таблицы следующая:
12+2x+2(i+x-3)+f3(i+x-3)
Таблица 4
xi |
0 |
1 |
2 |
3 |
4 |
5 |
x4(i) |
f4(i) |
0 |
* |
* |
* |
76 |
72 |
74 |
4 |
72 |
1 |
* |
* |
74 |
70 |
72 |
68 |
5 |
68 |
2 |
* |
72 |
68 |
70 |
66 |
* |
4 |
66 |
3 |
58 |
66 |
68 |
64 |
* |
* |
0 |
58 |
Клетка (0;3): (12+2*3)+2(0+3-3)+f1(0+3-3)=18+0+58=76
Клетка (0;4): (12+2*4)+2(0+4-3)+f1(0+4-3)=20+2+50=72
Клетка (0;5): (12+2*5)+2(0+5-3)+f1(0+5-3)=22+4+48=74
Клетка (1;2): (12+2*2)+2(1+2-3)+f1(1+2-3)=16+0+58=74
Клетка (1;3): (12+2*3)+2(1+3-3)+f1(1+3-3)=18+2+50=70
Клетка (1;4): (12+2*4)+2(1+4-3)+f1(1+4-3)=20+4+48=72
Клетка (1;5): (12+2*5)+2(1+5-3)+f1(1+5-3)=22+6+40=68
Клетка (2;1): (12+2*1)+2(2+1-3)+f1(2+1-3)= 14+0+58=72
Клетка (2;2): (12+2*2)+2(2+2-3)+f1(2+2-3)= 16+2+50=68
Клетка (2;3): (12+2*3)+2(2+3-3)+f1(2+3-3)= 18+4+48=70
Клетка (2;4): (12+2*4)+2(2+4-3)+f1(2+4-3)= 20+6+40=66
Клетка (3;0): (12+2*0)+2(3+0-3)+f1(3+0-3)= 0+0+58=58
Клетка (3;1): (12+2*1)+2(3+1-3)+f1(3+1-3)= 14+2+50=66
Клетка (3;2): (12+2*2)+2(3+2-3)+f1(3+2-3)= 16+4+48=68
Клетка (3;3): (12+2*3)+2(3+3-3)+f1(3+3-3)= 18+6+40=64
Для n=5 формула заполнения таблицы следующая:
12+2x+2(i+x-3)+f4(i+x-3)
Таблица 5
xi |
0 |
1 |
2 |
3 |
4 |
5 |
x5(i) |
f5(i) |
0 |
* |
* |
* |
90 |
90 |
92 |
3 и 4 |
90 |
1 |
* |
* |
88 |
88 |
90 |
86 |
5 |
86 |
2 |
* |
86 |
86 |
88 |
84 |
* |
4 |
84 |
3 |
72 |
84 |
86 |
82 |
* |
* |
0 |
72 |
Клетка (0;3): (12+2*3)+2(0+3-3)+f1(0+3-3)=18+0+72=90
Клетка (0;4): (12+2*4)+2(0+4-3)+f1(0+4-3)=20+2+68=90
Клетка (0;5): (12+2*5)+2(0+5-3)+f1(0+5-3)=22+4+66=92
Клетка (1;2): (12+2*2)+2(1+2-3)+f1(1+2-3)=16+0+72=88
Клетка (1;3): (12+2*3)+2(1+3-3)+f1(1+3-3)=18+2+68=88
Клетка (1;4): (12+2*4)+2(1+4-3)+f1(1+4-3)=20+4+66=90
Клетка (1;5): (12+2*5)+2(1+5-3)+f1(1+5-3)=22+6+58=86
Клетка (2;1): (12+2*1)+2(2+1-3)+f1(2+1-3)= 14+0+72=86
Клетка (2;2): (12+2*2)+2(2+2-3)+f1(2+2-3)= 16+2+68=86
Клетка (2;3): (12+2*3)+2(2+3-3)+f1(2+3-3)= 18+4+66=88
Клетка (2;4): (12+2*4)+2(2+4-3)+f1(2+4-3)= 20+6+58=84
Клетка (3;0): (12+2*0)+2(3+0-3)+f1(3+0-3)= 0+0+72=72
Клетка (3;1): (12+2*1)+2(3+1-3)+f1(3+1-3)= 14+2+68=84
Клетка (3;2): (12+2*2)+2(3+2-3)+f1(3+2-3)= 16+4+66=86
Клетка (3;3): (12+2*3)+2(3+3-3)+f1(3+3-3)= 18+6+58=82
Для n=6 формула заполнения таблицы следующая:
D1=Dянваря=2.
Так как спрос у нас в данном случае равен 2-м, то в некоторых клетках объём выпуска не может обеспечить такой спрос, следовательно, запрещённые клетки теперь другие.
12+2x+2(i+x-2)+f5+x-2)
Таблица 6
xi |
0 |
1 |
2 |
3 |
4 |
5 |
x6(i) |
f6(i) |
0 |
* |
* |
106 |
106 |
108 |
100 |
5 |
100 |
1 |
* |
104 |
104 |
106 |
98 |
* |
4 |
98 |
2 |
90 |
102 |
104 |
96 |
* |
* |
0 |
90 |
3 |
88 |
102 |
94 |
* |
* |
* |
0 |
88 |
Клетка (0;2): (12+2*2)+2(0+2-2)+f1(0+2-2)= 16+0+90=106
Клетка (0;3): (12+2*3)+2(0+3-2)+f1(0+3-2)= 18+2+86=106
Клетка (0;4): (12+2*4)+2(0+4-2)+f1(0+4-2)= 20+4+84=108
Клетка (0;5): (12+2*5)+2(0+5-2)+f1(0+5-2)= 22+6+72=100
Клетка (1;1): (12+2*1)+2(1+1-2)+f1(1+1-2)= 14+0+90=104
Клетка (1;2): (12+2*2)+2(1+2-2)+f1(1+2-2)= 16+2+86=104
Клетка (1;3): (12+2*3)+2(1+3-2)+f1(1+3-2)= 18+4+84=106
Клетка (1;4): (12+2*4)+2(1+4-2)+f1(1+4-2)= 20+6+72=98
Клетка (2;0): (12+2*0)+2(2+0-2)+f1(2+0-2)= 0+0+90=90
Клетка (2;1): (12+2*1)+2(2+1-2)+f1(2+1-2)= 14+2+86=102
Клетка (2;2): (12+2*2)+2(2+2-2)+f1(2+2-2)= 16+4+84=104
Клетка (2;3): (12+2*3)+2(2+3-2)+f1(2+3-2)= 18+6+72=96
Клетка (3;0): (12+2*0)+2(3+0-2)+f1(3+0-2)= 0+2+86=88
Клетка (3;1): (12+2*1)+2(3+1-2)+f1(3+1-2)= 14+4+84=102
Клетка (3;2): (12+2*2)+2(3+2-2)+f1(3+2-2)= 16+6+72=94
Для получения оптимальной программы составим сводную таблицу выпуска.
Таблица 7
Начал. запас |
n=1 |
n=2 |
n=3 |
n=4 |
n=5 |
n=6 |
||||||
x1(i) |
f1(i) |
x2(i) |
f2(i) |
x3(i) |
f3(i) |
x4(i) |
f4(i) |
x5(i) |
f5(i) |
x6(i) |
f6(i) |
|
0 |
4 |
22 |
3 |
40 |
3 |
58 |
4 |
72 |
3,4 |
90 |
5 |
100 |
1 |
3 |
20 |
2 |
38 |
5 |
50 |
5 |
68 |
5 |
86 |
4 |
98 |
2 |
2 |
18 |
1 |
36 |
4 |
48 |
4 |
66 |
4 |
84 |
0 |
90 |
3 |
1 |
16 |
0 |
22 |
0 |
40 |
0 |
58 |
0 |
72 |
0 |
88 |
Найдем оптимальную программу выпуска продукции.
Пусть запас на начало всего планового периода будет равен 0, тогда получим таблицу…
Оптимальная программа выпуска
Таблица 8
Число шагов до конца планового периода |
Запас на начало месяца |
Месяц |
Оптимальный выпуск |
Запас на конец месяца |
n=6 |
0 |
Январь |
x6(0)=5 |
(0+5-2)=3 |
n=5 |
3 |
Февраль |
x5(3)=0 |
(3+0–3)=0 |
n=4 |
0 |
Март |
x4(0)=4 |
(0+4–3)=1 |
n=3 |
1 |
Апрель |
x3(1)=5 |
(1+5–3)=3 |
n=2 |
3 |
Май |
x2(3)=0 |
(3+0–3)=0 |
n=1 |
0 |
Июнь |
x1(0)=4 |
(0+4–3)=1 |
Таким образом, оптимальная календарная программа выпуска продукции: 5 0 4 5 0 4, оптимальные затраты на реализацию этой шестимесячной программы f6(0)=100 д.е.