Каждый руководитель производства или системный аналитик сталкивается с классической задачей: есть технологическая линия (например, из 4 последовательных этапов), через которую проходит различная номенклатура продукции. Время обработки каждого изделия на каждом этапе индивидуально. Возникает закономерный вопрос: как составить оптимальное расписание, обеспечить непрерывность работы и загрузить оборудование на максимум? Рассмотрим эту проблему с точки зрения прикладной математики, теории управления операциями и практических инструментов автоматизации в 1С:ERP и 1С:MES.
Стремление загрузить абсолютно все рабочие центры на 100% — это одна из главных ошибок планирования, которая на практике приводит к финансовому краху предприятия. В теории управления операциями существует строгий закон, описываемый формулой Кингмана (также известной как уравнение VUT). Проанализируем эту зависимость подробнее.
Формула Кингмана определяет среднее время ожидания деталей в очереди перед технологическим этапом:
Wq = (p / (1 - p)) * ((Ca^2 + Cs^2) / 2) * t
Где:
Выясним причину, по которой 100% загрузка губительна. Обратим внимание на первый множитель формулы: p / (1 - p). Если мы пытаемся загрузить оборудование на 100% (то есть значение p стремится к 1), знаменатель дроби стремится к нулю, а сам множитель — к бесконечности.
Если на производстве присутствует хоть малейшая изменчивость (разное время обработки разных изделий, микропростои, задержки поставок сырья, вариативность в работе персонала), любая попытка загрузить линию на 100% приведет к экспоненциальному росту очередей перед станками. В цеху лавинообразно вырастет объем незавершенного производства (НЗП), увеличатся сроки выполнения заказов, а оборотный капитал окажется «замороженным» в деталях, лежащих на полу.
Поэтому в современной методологии управления производством (TOC и Lean) декларируется жесткое правило: загружать на максимум можно только узкое место (бутылочное горлышко) системы. Остальное оборудование должно обладать избыточной мощностью, чтобы мгновенно поглощать колебания потока.
Перейдем к задаче составления оптимального расписания для линии из 4 последовательных этапов. В математической теории расписаний эта задача классифицируется как n/m/F/Cmax (где n деталей проходят через m станков в фиксированном порядке с целью минимизации общего времени обработки партии — makespan).
Рассмотрим основные алгоритмы, которые позволяют упорядочить запуск изделий в производство:
m. Он искусственно сводит задачу из 4 этапов к m-1 (то есть к 3) виртуальным двухстанковым задачам, решает каждую методом Джонсона и выбирает наилучшее расписание.Проанализируем пример программной реализации расчета индексов Палмера для упорядочивания запуска деталей на встроенном языке 1С.
// Процедура рассчитывает индекс наклона Палмера для партии изделий
Процедура РассчитатьИндексыПалмера(ТаблицаПродукции) Экспорт
// ТаблицаПродукции содержит колонки: Номенклатура, ВремяЭтап1, ВремяЭтап2, ВремяЭтап3, ВремяЭтап4
КоличествоЭтапов = 4;
Для Каждого Строка Из ТаблицаПродукции Цикл
ИндексНаклона = 0;
Для НомерЭтапа = 1 По КоличествоЭтапов Цикл
// Весовой коэффициент по методу Палмера: W = 2 * i - m - 1
Вес = 2 * НомерЭтапа - КоличествоЭтапов - 1;
ИмяКолонки = "ВремяЭтап" + НомерЭтапа;
ИндексНаклона = IndexНаклона + Вес * Строка[ИмяКолонки];
КонецЦикла;
Строка.ИндексНаклона = ИндексНаклона;
КонецЦикла;
// Сортируем таблицу по убыванию индекса Палмера для построения расписания запуска
ТаблицаПродукции.Сортировать("ИндексНаклона Убыв");
КонецПроцедуры
Попытка составить абсолютно точное расписание пооперационного уровня для 4 станков на недели вперед разбивается о реальность: поломки оборудования, человеческий фактор, брак и сбои поставок. Поэтому Теория ограничений (TOC) Джеффри Голдратта предлагает отказаться от избыточной детализации в пользу концепции «Барабан — Буфер — Веревка» (Drum-Buffer-Rope — DBR).
Разберем по шагам, как работает этот механизм:
Посмотрим, как эти концепции автоматизированы в типовом решении 1С:ERP. Программа поддерживает два основных уровня планирования:
Рассмотрим подробнее, почему многие эксперты считают пооперационное планирование в 1С:MES сложным и иногда даже «вредным» для нестабильных производств. Для работы MES-системы требуются идеальные нормативно-справочные данные (НСИ):
Если в цехе отсутствует жесткая дисциплина учета факта, любое минимальное отклонение (например, деталь обрабатывалась на 5 минут дольше нормативного времени) мгновенно делает построенное расписание неактуальным. Диспетчеру приходится постоянно запускать пересчет («перепланирование»), что вносит хаос в работу рабочих. Поэтому рекомендуется начинать автоматизацию с простого межцехового планирования по методу «Барабан-Буфер-Веревка».
Ни один самый совершенный математический алгоритм или информационная система не заработает, если на предприятии не выстроена правильная организационная структура и система мотивации. Часто технологи запускают в производство «все подряд», руководствуясь желанием показать красивую отчетность по локальной выработке станков. Это классическая системная ошибка.
Для исправления ситуации необходимо пересмотреть систему KPI (ключевых показателей эффективности):
Проанализировав все аспекты — от математических формул Кингмана до методологии DBR в 1С:ERP и человеческого фактора — мы видим, что непрерывность работы многоэтапной линии достигается не максимальной загрузкой всех станков, а точным балансированием потока вокруг ключевого ограничения системы.