Сказ про алгоритм формирования заявки на производство с оптимизацией по оборудованию

«Экспертам от экспертов»

Для кого будет полезен данный материал: для компаний, у которых срок годности продукции позволяет производить одно SKU на несколько дней (3-5) и в производстве отчетливо выделяются ограничивающие рабочие центры.

Таким критериям соответствует большинство производителей продуктов питания, но всё же не все. Исключение — производители категории ультра-фреш (например, охлаждённое мясо и цельномолочная продукция)

Вначале немного напомню общий алгоритм формирования заявки на производство (более детально описано здесь):

1) рассчитываем прогноз отгрузок по дням

2) фиксируем текущие остатки готовой продукции

3) рассчитываем дефицит готовой продукции

4) исходя из сроков производства SKU определяем день – когда нужно запустить производство, и на основании дефицита и минимальной партии запуска определяем объём заказа на производство

Данный алгоритм довольно простой и может по результатам расчета объёмов показать нам перегруз рабочих центров, но дальнейшая оптимизация загрузки производственного оборудования уже ложится на плечи аналитика.

Как же быть если мы хотим, чтобы не человек, а именно система оптимизировала загрузку оборудования в горизонте нескольких дней и обеспечила все потребности в продукции?

Опишу алгоритм, который реализовали мы (команда K2FRESH) в нашем решении этой задачи:

// Сразу оговорюсь, что универсальных алгоритмов на все случаи не бывает, и представленный алгоритм с большей степенью вероятности подойдёт компаниям, параметры которых указаны в начале статьи. При этом в каждом конкретном случае могут быть свои детали, которые вероятнее всего являются именно деталями, и в корне не изменяют алгоритм.

// Вторая оговорка – будут формулы и расчеты. Будьте готовы внимательно не только читать, но и считать ))


1._Рассчитываем N –целевое количество дней отгрузок для обеспечения продукцией с производства


a. Для определения целевого количества дней обеспечения каждой SKU рассчитываем – сколько дней мы можем хранить продукцию на складе ГП

Qдн=E/СДОгп , где

Qдн — целевое количество дней обеспечения каждой SKU,

E – ёмкость склада,

СДОгп — среднедневная отгрузка готовой продукции.

b. С учетом того, что объёмная продукция должна запускаться чаще чем продукция, отгружаемая в малых количествах, устанавливаем коэффициент на каждую SKU

// Например, для продукции, которая входит в топ позиций, совокупно составляющих 50% общего объёма, устанавливаем коэффициент 0,5. Для продукции, которая входит в 20% общего объёма, снизу списка устанавливаем коэффициент 2.

c. В результате данных расчетов для каждой номенклатуры будет определено целевое количество дней отгрузок при формировании заявки на производство.

Рисунок 1. Пример расчёта в таблице


2._Рассчитываем страховой запас пономенклатурно


Если какая-то продукция отгружается каждый день в количестве 100 единиц, то мы можем не иметь страхового запаса и формировать заявку в производство на 100 единиц.

Однако, если какая-то продукция (например, по четвергам) отгружается в среднем в количестве 100 единиц, то фактически отгрузки могут варьироваться от 80 до 120, а может и от 10 до 190.

Страховой запас рассчитываем, как среднее отклонение фактических отгрузок в истории от ожидаемого.

// Пример. Если отгрузки по четвергам колбасы Докторской были 80, 60, 100 и 160 за последние 4 недели (здесь мы учитываем статистику отгрузок, очищенную от акционных приростов), то ожидаемое значение отгрузок мы рассчитываем следующим образом:

(Огп1+ Огп2+ Огп3+ Огп4)/Qдн = ОЗО  , где

Огп1, Огп2, Огп3, Огп4 – отгрузка готовой продукции по дням,

Qдн – количество дней, которые мы берём для расчёта,

ОЗО – ожидаемое значение отгрузок

((80+60+100+160)/4) = 100

 При этом среднее отклонение определяем, как:

((ОЗО-Огп1)+ (ОЗО-Огп2)+ (ОЗО-Огп3)+ (ОЗО-Огп4)/Qдн = Оср , где

Оср – среднее отклонение

 ((20+40+0+60)/4) = 30

Следовательно, страховой запас мы устанавливаем, как:

Стр.з = Оср* Х , где

Стр.з  — страховой запас,

Х – задаваемый параметр системы, определяющий сколько средних отклонений учитывать при расчете страхового запаса.


3._Рассчитываем дефициты продукции в горизонте заданного количества дней


Данный расчет выполняется аналогично расчету в простом алгоритме формирования заявки на производство без оптимизации.

Рисунок 2. Пример расчёта дефицита продукции


4._При расчете объёма запуска в производство на конкретный день определяем номенклатуры, которые должны быть запущены в производство в этот день для закрытия дефицитов будущих отгрузок


I. По каждой номенклатуре рассчитываем объём запуска по формуле:

Vз = Σо + Стр.з – Опл , где

– объёма запуска в производство на конкретный день,

Σо — Сумма отгрузок на N дней вперёд (N целевое количество дней для обеспечения отгрузок)

Опл — Плановый остаток на начало дня появления дефицита.

II. Потом округляем до партии запуска.

III. После планирования объёмов запуска по всем номенклатурам рассчитываем объём потребности по ограничивающим ресурсам (рабочим центрам) и сравниваем с доступным.

IV. Если на рассчитываемый день у нас появляется перегруз производственного ресурса, то начинаем последовательно уменьшать количество дней на которое мы планируем запуск:

  • сначала уменьшаем объём запуска последней по списку позиции номенклатуры на план отгрузки одного дня
  • если недостаточно уменьшили потребность в ресурсах, то уменьшаем на один день предпоследнюю позицию и так доходим до первой позиции в списке
  • если уменьшение по всем позициям на один день недостаточно разгрузило ресурсы, то начинаем уменьшать ещё на один день объём обеспечения по номенклатурно и так далее, пока загрузка оборудования не составит меньше чем 100%

Рисунок 3. Пример расчёта планирования выпуска переработки

Данный алгоритм планирования заявки на производство позволяет постепенно снизить количество переналадок в производстве и, тем самым, повысить эффективность производства при обеспечении необходимого уровня клиентского сервиса.

В завершение стоит признаться, что реализовать данный алгоритм на бумажке или в Excel крайне затруднительно в силу разных причин. Именно поэтому (сейчас будет немного рекламы) мы разработали отраслевой продукт на платформе «1С» (рабочее название – «K2FRESH»), в основе которого и заложен указанный выше алгоритм.

Можете попробовать по указанному выше алгоритму разработать что-то свое. А можете, связавшись с нами, запросить индивидуальную презентацию продукта для вас 😉 Будем рады показать вам дорогу к порядку в планировании загрузки производства.

Печать статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *