Планування потреби в матеріалах1 (MRP) розв’язує задачу, яку модель EOQ у принципі розв’язати не може: EOQ і точка замовлення працюють для незалежного попиту (готовий виріб, продаж якого не залежить від інших позицій), а попит на комплектувальні й вузли залежний — він виводиться напряму з плану випуску готового виробу. MRP переводить план випуску готових виробів (основний план-графік, MPS) у план замовлень на кожну деталь і вузол, з якого цей виріб складається, з урахуванням наявного запасу й уже запланованих надходжень.
Основа розрахунку — специфікація виробу2 (BOM): ієрархічний перелік усіх деталей, вузлів і матеріалів, з яких складається готовий виріб, із зазначенням, скільки одиниць кожного компонента потрібно на одну одиницю виробу вищого рівня. Специфікація багаторівнева: готовий виріб (рівень 0) складається з вузлів (рівень 1), кожен вузол — зі своїх деталей (рівень 2), і розгортання потреби йде рівень за рівнем, згори вниз.
На кожному рівні розрахунок проходить два кроки. Брутто-потреба3 — повна кількість компонента, потрібна для виконання плану виробництва рівня вище, без урахування того, що вже є на складі; вона визначається основним планом-графіком і специфікацією виробу.
Брутто-потребаMRP-01визначається основним планом-графіком виробництва (MPS) і специфікацією виробу (BOM)Визначається основним планом-графіком виробництва (MPS) і специфікацією виробу (BOM).
Нетто-потреба4 — те, що справді потрібно замовити чи виготовити понад те, що вже є: брутто-потреба за вирахуванням наявного запасу й уже запланованих надходжень, з поправкою на резервування. Якщо різниця виходить від’ємною, нетто-потребу прирівнюють до нуля — замовляти «в мінус» немає сенсу.
Нетто-потребаMRP-02Нетто = Брутто + Резервування − (Наявний запас + Заплановані надходження)Від’ємне значення прирівнюється до нуля.
Найпростіший спосіб перевести нетто-потребу в конкретне замовлення — розмір партії «партія за партією»: замовляти рівно стільки, скільки показала нетто-потреба цього періоду, без запасу понад неї.
Розмір партії «партія за партією» (lot-for-lot)MRP-03Qзамовлення = Нетто-потреба періодуБез страхового запасу понад поточну потребу — мінімізує запас, але максимізує кількість замовлень.
Рисунок 4. Розгортання потреби за триярусною специфікацією: брутто-потреба нижчого рівня виводиться з планового замовлення вищого.
1Рівень 0 — готовий виріб: брутто-потреба задана основним планом-графіком (MPS)
2Рівень 1 — вузли: брутто-потреба = планове замовлення рівня 0 × норма витрати на виріб
3Рівень 2 — деталі: брутто-потреба = планове замовлення свого батьківського вузла × норма витрати
4На кожному рівні: нетто = брутто − наявний запас; планове замовлення виходить з урахуванням часу постачання
Текстовий опис схеми
Дерево специфікації виробу з трьох рівнів. Угорі один блок готового виробу А — рівень 0, з підписом «MPS задає брутто-потребу». Від нього дві стрілки вниз до вузлів B і C рівня 1, кожна стрілка підписана нормою витрати (кількість B і C на один виріб А). Від вузла B ще одна стрілка вниз до деталі D рівня 2, підписана нормою витрати D на один B. Під кожним блоком — міні-таблиця з чотирма рядками: брутто-потреба, наявний запас, нетто-потреба, планове замовлення. Стрілки показують, що планове замовлення батьківського рівня стає множником для брутто-потреби дочірнього рівня.
Приклад. Розгортання потреби за триярусною специфікацією виробу
MRP-01
Гевко І. Операційний менеджмент, 2017, тема 12 «Планування потреби в матеріалах і ресурсах», п. 12.1 «Модель потреби залежних запасів», с. 109–110, повна потреба
Дано
Виріб А (рівень 0) складається з 2 вузлів B і 3 деталей C (рівень 1). Вузол B, своєю чергою, складається з 4 деталей D (рівень 2). Основний план-графік вимагає випустити 100 виробів А. Наявний запас: А — 10 шт., B — 30 шт., C — 0 шт., D — 100 шт. Запланованих надходжень і резервувань немає. Розмір партії на всіх рівнях — «партія за партією».
Формула
Брутто = MPS або планове замовлення батьківського рівня × норма витрати (MRP-01); Нетто = Брутто − Наявний запас (MRP-02); Qзамовлення = Нетто-потреба (MRP-03)
Розв’язання
Рівень 0 (А): брутто-потреба = MPS = 100 шт. Нетто = 100 − 10 = 90 шт. Планове замовлення (виробництво) А = 90 шт.
Рівень 1 (B): брутто-потреба = планове замовлення А × норма B/А = 90 × 2 = 180 шт. Нетто = 180 − 30 = 150 шт. Планове замовлення B = 150 шт.
Рівень 1 (C): брутто-потреба = 90 × 3 = 270 шт. Нетто = 270 − 0 = 270 шт. Планове замовлення C = 270 шт.
Рівень 2 (D, дочірній вузла B): брутто-потреба = планове замовлення B × норма D/B = 150 × 4 = 600 шт. Нетто = 600 − 100 = 500 шт. Планове замовлення D = 500 шт.
Відповідь
Планові замовлення: А — 90 шт., B — 150 шт., C — 270 шт., D — 500 шт.
Інтерпретація
Брутто-потреба кожного дочірнього рівня виводиться не з попиту ринку напряму, а з планового замовлення свого батьківського рівня, помноженого на норму витрати, — це і є залежний попит із розділу про управління запасами: попит на D залежить від попиту на B, а не від власного прогнозу продажів D. Саме тому запас 100 шт. D, який виглядав солідним порівняно із запасом 30 шт. B, насправді закриває менше половини нетто-потреби рівня B, помноженої на норму витрати: 600 потрібно, 100 є, 500 доведеться замовити чи виготовити.
Попередній приклад розгортає потребу лише на один момент часу: він відповідає на питання «скільки», але не на питання «коли саме подати замовлення». У реальному плануванні MRP веде часовий графік — «time-phased record» — окремо для кожної позиції специфікації: скільки потрібно щотижня, скільки вже в дорозі, який прогнозований запас лишається на кінець тижня, і, головне, коли саме запускати замовлення, щоб воно надійшло точно до моменту потреби, а не пізніше й не намарно раніше.
Виріб А (рівень 0, час постачання (виробництва) — 1 тиждень, розмір партії «партія за партією», початковий запас 20 шт.) потрібен за основним планом-графіком у кількості 50 шт. на тижні 4 і 70 шт. на тижні 6.
Показник, тиждень
1
2
3
4
5
6
Брутто-потреба
0
0
0
50
0
70
Заплановані надходження
0
0
0
0
0
0
Прогнозований запас
20
20
20
0
0
0
Нетто-потреба
0
0
0
30
0
70
Планове надходження замовлення
0
0
0
30
0
70
Запуск замовлення (зсув на 1 тиждень)
0
0
30
0
70
0
Вузол B (рівень 1, 2 шт. на один виріб А, час постачання — 2 тижні, початковий запас 40 шт.) отримує брутто-потребу не з MPS, а з рядка «запуск замовлення» вузла А, помноженого на норму витрати: тиждень 3 — 30 · 2 = 60 шт., тиждень 5 — 70 · 2 = 140 шт. Розмір партії B — не «партія за партією», а фіксований лот, узятий з EOQ-01: за річного попиту 600 шт., вартості замовлення 100 грн і вартості зберігання 12 грн за рік EOQ = √(2·600·100/12) = √10 000 = 100 шт. Кожне замовлення B кратне цим 100 шт.
Показник, тиждень
1
2
3
4
5
6
Брутто-потреба
0
0
60
0
140
0
Заплановані надходження
0
0
0
0
0
0
Прогнозований запас
40
40
80
80
40
40
Нетто-потреба
0
0
20
0
60
0
Планове надходження замовлення (лот 100 шт.)
0
0
100
0
100
0
Запуск замовлення (зсув на 2 тижні)
100
0
100
0
0
0
Приклад. Часовий графік MRP: запуск замовлення з фіксованим лотом і зсувом на час постачання
MRP-02
Heizer J., Render B., Munson C. Operations Management, 2016, розділ 14 «Material Requirements Planning (MRP) and ERP», підрозділ «MRP Structure», net requirements
Дано
Дані з таблиць вище: для B на тижні 3 прогнозований запас до надходження — 40 шт., брутто-потреба тижня 3 — 60 шт.; фіксований лот — 100 шт. (EOQ-01); час постачання B — 2 тижні.
Формула
Нетто = Брутто + Резервування − (Прогнозований запас + Заплановані надходження), тут резервувань і запланованих надходжень немає (MRP-02); Планове надходження = найближче кратне лота ≥ нетто-потреби; Запуск = надходження, зсунуте назад на час постачання
Лот B дорівнює 100 шт., тож навіть 20 шт. нетто-потреби покриває ціле замовлення в 100 шт., а не рівно 20, як було б за правилом «партія за партією» (MRP-03): планове надходження тижня 3 = 100 шт.
Час постачання B — 2 тижні, тому запуск цього замовлення зсувають на 2 тижні назад від тижня надходження: 3 − 2 = 1, тобто запускають на тижні 1.
Те саме на тижні 5: брутто 140, запас на початок тижня 80, нетто = 140 − 80 = 60 шт.; лот 100 шт. покриває й цю потребу; запуск зсувають на 5 − 2 = 3, тобто на тиждень 3.
Відповідь
Замовлення B запускають на тижнях 1 і 3, кожне по 100 шт., щоб надходження прийшли рівно на тижні 3 і 5 — саме тоді, коли їх вимагає запуск замовлення А.
Інтерпретація
Фіксований лот (тут — розмір EOQ, порахований для B окремо від його ролі компонента) економить на оформленні замовлень, але залишає надлишок запасу там, де «партія за партією» лишила б нуль: після тижня 3 в запасі B залишається 40 + 100 − 60 = 80 шт. понад потребу цього тижня. Другий висновок — про час: запуск замовлення B на тижні 1 випереджає запуск замовлення А на тижні 3 на два тижні рівно тому, що час постачання B (2 тижні) довший за виробничий цикл, у який воно має встигнути. Це та сама логіка, яку показує рисунок 4: планове замовлення виходить не в момент потреби, а зі зсувом назад на час постачання, і чим глибший рівень специфікації, тим раніше, у календарі, треба було вже почати.
Підсумок розділу. MRP переводить план випуску готового виробу в план замовлень на кожен компонент через специфікацію виробу, рівень за рівнем: брутто-потреба задається планом вищого рівня, нетто-потреба віднімає наявний запас, а розмір партії — «партія за партією» чи фіксований лот — визначає, скільки замовити. Часовий графік додає третій вимір: запуск кожного замовлення зсувають назад від дати потреби рівно на час постачання, і на нижчих рівнях специфікації зсуви всіх рівнів вище накопичуються, тому замовлення доводиться запускати ще раніше.
Терміни глави
Планування потреби в матеріалах — Метод, який переводить основний план-графік випуску готових виробів (MPS) у план замовлень на кожен компонент специфікації виробу, рівень за рівнем, з урахуванням наявного запасу й уже запланованих надходжень. Працює для залежного попиту, на відміну від EOQ і точки замовлення.
Специфікація виробу — Ієрархічний, багаторівневий перелік усіх деталей, вузлів і матеріалів, з яких складається готовий виріб, із зазначенням норми витрати кожного компонента на одиницю виробу вищого рівня. Основа розрахунку MRP: розгортання потреби йде рівень за рівнем, згори вниз.
Брутто-потреба — Повна кількість компонента, потрібна для виконання плану виробництва рівня вище, без урахування наявного запасу. На рівні 0 визначається основним планом-графіком (MPS); на нижчих рівнях — плановим замовленням батьківського рівня, помноженим на норму витрати.
Нетто-потреба — Кількість компонента, яку справді потрібно замовити чи виготовити понад те, що вже є: брутто-потреба за вирахуванням наявного запасу й запланованих надходжень, з поправкою на резервування. Від’ємне значення прирівнюють до нуля.