- PVSM.RU - https://www.pvsm.ru -

И снова привет из глубин металлургического комбината! В прошлый раз я рассказывал [1], откуда завод знает, что производить и когда. Мы эту задачу выводили на более-менее понятную математическую модель не один год и будем рефакторить и оптимизировать отдельные участки всю оставшуюся жизнь, поскольку точки роста есть всегда.
Сегодня речь пойдёт про графикователи производства — системы, лежащие ниже уровнем, чем календарное планирование. Они берут обещания отгрузок по датам и в перспективе ближайших нескольких дней строят оптимальную загрузку каждого агрегата по единицам продукции.
Итак, к нам пришёл заказ, пускай условно это будет сталь Ивановского машиностроительного завода. Дальше мы планируем производство: в диапазоне нескольких недель работает система календарного планирования (стратегическое планирование), а в диапазоне двух-трёх дней работают графикователи (тактический уровень) – они разбирают заказы на серии работ, чтобы оптимизировать производство.
Происходит следующее: графикователь обычно имеет несколько заказов, которые критично произвести именно сегодня, и ставит их в производство. Предположим, нам нужно сделать два типа проката: узкий и широкий. Первый делается 3 часа, второй делается 4 часа. Между ними в нашем примере нет ничего критичного. Переналадка с одного типа продукции на другой на этом переделе в примере занимает полтора часа.
![]()
Графикователь запускает оптимизатор, который ищет ближайшие заказы, которые можно произвести там же при таких же примерно условиях. Предположим, нам повезло и где-то рядом есть ещё несколько тонн такого же узкого проката, как мы уже точно делаем, разбитого на четыре мелких заказа. Мы собираем всё это в кластер и отправляем на стан одним заданием.
![]()
На самом деле на этом уровне заказы уже превращаются в задачи для цехов, поэтому это выглядит вот так:
![]()
Дальше у нас есть остаток смены, в который можно произвести что-то из пула заказов в нашем окне ближайших заказов. Предположим, там есть заказы на прокат средней ширины.
Графикователь ставит их вот так:
![]()
Но тут дело в том, что на этом конкретном оборудовании переналадка с узкого на широкий прокат занимает больше времени, чем со среднего на широкий. Соответственно, оптимизатор может переставить задачи местами, чтобы сэкономить время на этой операции.
![]()
В конце у нас будет возможность произвести ещё какое-то количество широкого проката (и он может быть нужен в следующих днях), например. То, что мы выиграли на оптимизации, — это дополнительная прибыль для производства.
Естественно, у нас может быть и вот такая картина, когда задача уйдёт на следующую смену.
Тогда она станет ограничением для графика следующей смены:
![]()
И мы можем выбирать заказы не только исходя из параметров загрузки оборудования, но ещё учитывать другие метрики — доступность материала, технологические ограничения, следование календарному плану. Металл, например, может лежать прямо перед агрегатом или перемещаться из другого цеха. Оптимизатор всё это видит и учитывает и в первую очередь берёт то, что есть в наличии. Во вторую очередь учитывает то, что придёт на склад. Для каждого узла производства составляется такой график загрузки. Система видит семь тысяч возможных производственных позиций с учётом загрузки мощностей, даты обещания клиенту, наличия на складе и т.д.

Это прокатный стан, на всём протяжении которого должны быть перенастроены валки в зависимости от типоразмера стальной полосы

А тут эти валки видно крупно
Естественно, за сутки что-то может поменяться. Например, вместо планового ремонта у нас образуется где-то оперативный. Графикователь адаптирует свою загрузку под эту ситуацию с учётом того, что нужно перепланировать конкретный график. Это можно сделать как руками, так и с помощью оптимизатора.
Обычно загрузка состоит из микса критичных и некритичных заказов:
Это выгодно с точки зрения календарного планирования, потому что для заказов задаются окна на выполнение — то время, которое гарантирует, что заказ с точки зрения производства будет отгружен в срок. Графикование же обеспечивает гибкость оптимальной загрузки оборудования и даёт возможность выжимать из него максимум. Гибкость в глобальной перспективе календарного планирования часто даёт больший выигрыш, чем локальная загрузка в 100% по плану.

Прокатный стан, вид с пульта управления
Итак, мы разместили заказы по агрегатам и расставили даты. Графикователи раскидали всё это в разрезе не заказов, а производственных операций: сколько слябов, куда, где какие плавки, какие рулоны и где потребуются и так далее, плюс с учётом технических ограничений: времени на логистику между цехами, перестройки и переналадки.
Далее график на сутки передаётся в MES (систему управления производством) в виде суточного задания. Начинается его выполнение. По факту готовности MES отчитывается в графикователе.
Предположим, что наша цепочка производства заказа для ивановских автокранов начинается с выплавки сляба подходящего сортамента. Сюда идёт только высококачественный материал с особыми требованиями к химсоставу, качеству готовой продукции и сорту металла.
Вот сляб выплавлен, и вдруг он не проходит аттестацию (выходной контроль качества в конверторном цехе). Предположим, что-то с температурными режимами пошло немного не так и сплав «палладия с иридием», как в фильме «День выборов», не подходит под входные критерии следующего передела. Зато подходит подо что-то другое менее ответственное, с простыми требованиями к составу.

В лаборатории
У оптимизатора есть выбор, что именно делать:
И вот, если в окне планирования вдруг окажутся заказы только с повышенными требованиями к стали или будет выгодно раскатать «более крутой» сляб даже на заказе с требованиями ниже, то, вполне возможно, по стечению производственных обстоятельств, какие-нибудь простые вилки могут быть сделаны из суперстали. Просто графикователь сказал, что так будет лучше.
На выходе — задание для MES. На входе — огромное количество данных:

План ремонтов
Мы стараемся работать «с колёс». Когда материал приходит на склад, мы комбинируем заказы так, чтобы он сразу шёл в производство. Началось это лет десять назад ещё на бумаге, потом, с появлением первой автоматизации, удалось сильно уменьшить количество остатков на складах, а теперь храним только нужное. К нужному относятся небольшие буферные запасы критичных и самых востребованных полуфабрикатов — это чтобы при срочном дорогом заказе иметь гибкость или в случае непредвиденной остановки предыдущего участка — не останавливать производство.
В общем, не замораживаем деньги, не затариваем склад, не усложняем логистику.
Конвертерный цех добавляет графикователю свои нюансы: время и очередь движения сталевозов, кранов, комбинации химии стали и времени её обработки на различных агрегатах.
Пока это всё происходит, «бульон» стынет, при этом на выходе нужно без перерыва подавать сталь в установки разливки стали строго определённой температуры. Это добавляет новые ограничения.

Стальной «бульон» подъезжает
Иногда бывает, что в ближайших заказах (горизонт 5 дней) нет ничего, что удачно комбинируется с тем, что мы сейчас производим. Тогда окно подбора расширяется и графикователь начинает искать что-то нужное в заказах дальше. Например, может заглянуть и на 2 месяца вперёд. Но если сотрудники знают, что производимый металл всё равно будет востребован в ближайшее время (даже если заказ ещё не пришёл), то они могут настроить систему вручную и произвести слябы на склад.

Это слябы в момент своего рождения
Также мы стараемся не делать заказы раньше, если они отгружаются по железной дороге.
Например, если заказ на пятницу, то состав, который приедет во вторник, будет только мешать и множить издержки.

А это слябы в момент перемещения
Содержимое складов бывает физическое (что по факту есть) и виртуальное (что производство сделает за сегодня в результате расчёта графикователя). Физическое наличие учитывается в приоритете над виртуальным. Графикователь, как я уже упоминал, работает непрерывно. А график рассчитывается по требованию пользователя. Если он хочет увидеть график, он нажимает кнопочку и читает результат.
На случай форс-мажоров или аварийных режимов у нас есть возможность внесения корректировки в план напрямую в MES-системе.
На установках разливки стали есть так называемые переходные слябы — это когда в УНРС ушла одна сталь, она почти кончилась, и потом туда ушла другая сталь. В итоге получается некая средняя химия между первой и второй плавкой. Состав таких слябов можно прогнозировать и также рассчитывать, куда они пойдут и подо что — в другие заказы. Может быть, даже на всё те же чапельники. В общем, переходные слябы нужно назначить на потребность, где ожидаемые химии будут удовлетворять требованиям заказа.
Иногда бывает так, что на склад в конце всех этих оптимизаций приходит пара слябов из какого-то редкого металла, который нам в следующий раз понадобится через год. Поскольку графикователь не умеет заглядывать далеко в будущее, здесь пока принимается решение вручную: держать, продавать, переплавлять или использовать для заказа, где его характеристики сильно превосходят требуемые.
Пока мы не считаем себестоимость на разных машинах одной операции, например, не учитываем количество персонала на машину (на новых меньше, на старых больше), не считаем энергоэффективность обслуживания и так далее. Цель — нагружать близко к 100%.
MPS:

Составление сменно-суточного задания:

Далее в цепочке производства металл проходит преобразование из вида «сляб» в вид «горячекатаный рулон». Этим преобразованием занимается «Стан-2000», это важное место комбината. У него отдельный графикователь. Он видит потребности по операции прокатки с окном возможных дат производства, чтобы мы попали в обещанную дату. Задача планировщика стана — собирать последовательность производства из наличия слябов перед станом и заказов. При этом надо соблюдать технологию и порядок заказов.

Это один из «кусочков» процесса оцинковки
Как было в упрощённом примере выше, «Стан-2000» не может резко перестраиваться с одной ширины на другую, надо учитывать переход между строчками. Стан может катать от 900 до 1850 мм. Ему нужно время, чтобы перенастроиться на другую толщину. Максимально группируются потребности с одинаковыми параметрами, чтобы прокатать их один раз сразу партией. Также на стане при производстве происходит сильное обжатие валков, они изнашиваются, замена валков делается при каждом монтаже. Валки имеют ширину, то есть нельзя весь монтаж катать узкий металл или широкий — иначе они не выдержат, нужно относительно равномерно их нагружать, иначе пойдёт брак.
Планировщику важно обеспечить равномерность для цехов холодной прокатки. Есть план производства у каждого цеха по суткам, его нужно соблюдать. Сильно упрощая, нельзя дать 5000 тонн в понедельник и сказать: «Живите с этим всю неделю». Это потому что горячекатаный металл на складе может начать портиться без защиты. А защита делается на следующем переделе. И вообще если не обеспечивать цеха равномерно, а обеспечивать толчками, эти же толчки будут позже сильнее отражаться на готовой продукции и потеряется гибкость.
Технологически после «Стана-2000» происходит разделение потоков металла на два ручья: производство в цехе холодного проката (крупный объём), туда сделан конвейер, горячекатаные рулоны ставят краном.

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

В рамках управления нашим производством мы, кажется, нащупали новый уровень киберпанк-мира: глобально он плановый, но в коротком горизонте — оперативный. И план ещё может быстро обновляться, то есть система за счёт хорошей автоматизации моделей остаётся очень гибкой и при этом не теряет в оптимальности.
Автор: Андрей Болотов
Источник [3]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/news/387228
Ссылки в тексте:
[1] рассказывал: https://habr.com/ru/companies/nlmk/articles/749006/
[2] конвертерном цехе: https://habr.com/ru/companies/nlmk/articles/580270/
[3] Источник: https://habr.com/ru/companies/nlmk/articles/757384/?utm_source=habrahabr&utm_medium=rss&utm_campaign=757384
Нажмите здесь для печати.