В последнее время у нас на СГОКе (это Стойленский горно-обогатительный комбинат) можно услышать фразы типа: «А что тебе белка сегодня советовала?» Со стороны странновато, но объясняется просто: мы запустили систему с ИИ, которая рекомендует операторам оптимальные настройки оборудования при любом из тысяч возможных сочетаний технологических параметров (все это для получения максимальной производительности обогатительной секции). Официальное название системы очень длинное, а неформально мы зовем ее «Белка» — по аналогии с названием компании, которая помогала нам в разработке, хотя многие сотрудники уверены, что название происходит от пушистого грызуна, которому, теоретически, может и руда по зубам.
![Нет, это не «Белка», а роторный карьерный экскаватор рядом с нашим комбинатом. Он делает все, чтобы загрузить «Белку» работой Нет, это не «Белка», а роторный карьерный экскаватор рядом с нашим комбинатом. Он делает все, чтобы загрузить «Белку» работой](https://habrastorage.org/getpro/habr/upload_files/985/509/696/9855096969abc5d8c3f49d4d9dd08504.jpeg)
Далее про то, как наша система с машинным обучением помогает управлять секцией измельчения, потребляющей мегаватты. Ну и, разумеется, покажу, как устроен сам процесс обогащения руды.
Прежде чем говорить о математической модели в основе решения, придется немного погрузиться в производственный процесс.
Как устроен процесс обогащения руды
Один из этапов производства металла — обогащение железосодержащей руды. Технологический процесс многоэтапный и сложный. Но если в двух словах, сначала руда проходит через серию дробилок, а когда куски достигают нормы 5,8 мм в диаметре, ее отправляют в мельницы для дальнейшего измельчения. Там она смешивается с водой, а полученную субстанцию называют пульпой.
![Транспортировка измельченной руды к мельницам Транспортировка измельченной руды к мельницам](https://habrastorage.org/getpro/habr/upload_files/fc9/065/c52/fc9065c52b0041e9762476e2534ac818.jpeg)
![А это цех с мельницами, которыми помогает управлять ИИ А это цех с мельницами, которыми помогает управлять ИИ](https://habrastorage.org/getpro/habr/upload_files/7b5/caf/6f1/7b5caf6f162c919fc667d6a52dcf25ae.jpeg)
В качестве дробящего элемента в мельницах используются шары из очень прочного металлического сплава. Несмотря на это они постоянно истираются и являются банальным расходником. Их количество нужно регулярно восполнять. В среднем раз в сутки в каждую мельницу досыпают около семи тонн.
![](https://habrastorage.org/getpro/habr/upload_files/e75/f39/fb9/e75f39fb913eac62508dcbbdd8149184.jpeg)
После мельницы стоит классификатор промпродукта (так называют измельченную, но еще не обогащенную руду), который разделяет его на фракции.
![Шнеки классификатора Шнеки классификатора](https://habrastorage.org/getpro/habr/upload_files/629/785/95c/62978595c0adcec8762ebe58494c517e.jpeg)
Самые крупные частицы по обратной петле возвращаются в мельницу, а пульпа с мелким помолом идет дальше в сепараторы первой стадии, где намагничивающиеся фрагменты отделяются от пустой породы без железа.
![](https://habrastorage.org/getpro/habr/upload_files/36a/e76/c4b/36ae76c4be15c35581fb34f9cf95a52e.jpeg)
Эти цилиндры на фото выше и есть магнитные сепараторы, отделяющие пустую породу (или, как это называют технологи, — хвосты, т.е. пустая порода, складируемая в больших искусственных сооружениях типа бассейна).
В конце всего технологического процесса мы получаем товарный концентрат с определенным содержанием железа.
Каждый из этапов имеет свои параметры и настройки. Расскажу о совокупности настроек технологической секции, в состав которой входят мельницы.
По факту это монстры, потребляющие по 3,5-4 МВт и перерабатывающие от 650 до 800 тонн в час!
Зеленые кружки под ними — сепараторы, отделяющие лишнюю породу. А серые конусы — гидроциклоны, которые отделяют крупную фракцию и отправляют ее на доизмельчение.
![Вот тут наш инженер специально поднялся на площадку с гидроциклонами, чтобы мы могли оценить примерный масштаб и общую картину Вот тут наш инженер специально поднялся на площадку с гидроциклонами, чтобы мы могли оценить примерный масштаб и общую картину](https://habrastorage.org/getpro/habr/upload_files/6c2/a78/17f/6c2a7817f156b5e51f739c63dd1f03cb.jpeg)
![А вот что происходит в камере гидроциклона. Крупная фракция уходит на доизмельчение, а остальное — в магнитные сепараторы А вот что происходит в камере гидроциклона. Крупная фракция уходит на доизмельчение, а остальное — в магнитные сепараторы](https://habrastorage.org/getpro/habr/upload_files/b5b/dc7/f72/b5bdc7f7285535c7cb4e0278c72e9f34.jpg)
В чем суть качественного помола
Мельница работает непрерывно. В нее постоянно загружается дробленая порода, а на выходе выгружается измельченная фракция, которая провела в мельнице десятки минут.
Режим работы секции определяется более чем десятью параметрами плюс качеством концентрата — все это влияет на производительность. Чем мельче фракция после мельницы, тем легче отделить железосодержащую руду от остальной породы в сепараторах. Однако сильное переизмельчение затягивает процесс помола и увеличивает затраты на обогащение, а также приводит к ухудшению качества концентрата. Если сделать помол крупнее, это ускорит дело и за сутки можно переработать больше руды. В общем, палка о двух концах.
Наша задача — обеспечить оптимальный помол, т.е. такой размер измельченных частиц, чтобы сепараторы превратили его в концентрат, который удовлетворяет основным требованиям по качеству заказчика.
![Магнитный дешламатор, который вместе с магнитными сепараторами помогает очистить руду от «хвостов» Магнитный дешламатор, который вместе с магнитными сепараторами помогает очистить руду от «хвостов»](https://habrastorage.org/getpro/habr/upload_files/a3b/526/04b/a3b52604bbee9f0235f1ddf241cb8c57.jpeg)
Качество итогового железорудного концентрата определяется содержанием в нем железа и его крупностью (помол). Измеряем мы эти параметры на выходе секции обогащения: накопительную пробу делаем раз в 20 минут в течение двух часов, но ее результаты приходят оператору с задержкой порядка четырех часов после помола.
В зависимости от того, куда отправляется концентрат — на отгрузку или на фабрику окомкования — требования по качеству могут меняться. Концентрат с содержанием железа меньше порогового значения усредняется в общей куче либо ложится на склад. Для нас это дополнительные затраты. При этом, естественно, корректируются параметры работы секции — как минимум снижается производительность мельниц.
Проблема в том, что руда всегда разная, даже при поставках с одного участка месторождения. При одном качестве руды мельница может перерабатывать 700 тонн руды в час, а при другом качестве — только 500 тонн в час. Поэтому мы не можем один раз запрограммировать параметры технологии и годами ими пользоваться.
Чтобы как-то сориентироваться, до начала обогатительного процесса мы проводим так называемую рудоразработку. Это лабораторный анализ, определяющий минералогический состав руды. Результат этого анализа — десяток параметров, на которые может ориентироваться оператор при задании параметров работы технологической секции. А кроме того, АСУТП (автоматическая система управления техпроцессом) выводит данные с различных датчиков — токи классификатора, мощность мельниц, плотности дешламаторов и гидроциклонов и т.п., по которым можно делать выводы о текущей эффективности работы.
![Вот так выглядит пульпа между двумя шнековыми приводами, возвращающими в мельницу крупную фракцию промпродукта Вот так выглядит пульпа между двумя шнековыми приводами, возвращающими в мельницу крупную фракцию промпродукта](https://habrastorage.org/getpro/habr/upload_files/396/79a/272/39679a2720ead45895c8c2788c040f68.jpeg)
Существующая автоматизация
Операторы давно не работают вручную. Несколько лет назад мы уже внедрили систему управления производством (APC) от Honeywell. Она устанавливает параметры работы секции в определенных границах. За счет заложенных в нее математических моделей система может при необходимости добавить руды или воды, чтобы держать процесс в нужных технологических рамках. Но работает она только под наблюдением оператора — на основе его личного опыта и чутья. Именно он задает границы регулирования.
Нам хотелось обобщить и систематизировать опыт всех операторов, сохранить его на производстве, чтобы принимать решения более взвешенно. По сути, нам нужна была надстройка над APC, которая сможет задавать границы параметров так, чтобы получить максимальную производительность при сохранении качества.
Использовать чужие наработки мы не могли. Производство на каждом обогатительном комбинате в мире построено по-своему, там идут свои процессы. Мы ознакомились с опытом чилийских и австралийских коллег, но не смогли перенести их автоматизацию к себе. В итоге, понимая все риски подобных проектов, мы решили идти своим путем, стартовав в начале 2020 года.
Если решающим фактором является чутье, то лучше прикрутить ИИ
Начали делать не сами — нашли подрядчика, который давно в теме и занимается внедрением систем искусственного интеллекта на производствах.
Учитывая специфику процесса, сразу ориентировались на машинное обучение. Для принятия решения о подстройке работы мельницы человеку приходилось анализировать в реальном времени комбинацию из большого количества параметров. Чтобы выполнить этот анализ эффективнее, применили комплекс методов интеллектуального анализа данных и машинного обучения, основанный на статистических данных о работе мельниц, составе руды и качестве итогового концентрата с начала 2019 года до текущего момента.
В целом над проектом работала команда, состоящая в пике из 20 человек. Одна из ключевых ролей была у операторов секции. Постоянно были вовлечены лидер продуктовой команды, владелец продукта, специалисты по анализу данных, бизнес-транслятор, специалисты по ИТ и АСУТП, плюс мы частенько прибегали к помощи технологов. Начали писать на R, но позже перешли на стек Python и Java.
Нам повезло, что на первых этапах цифровизации производства все данные о работе предприятия уже были собраны в корпоративном сегменте сети, поэтому их можно было забирать практически в режиме реального времени. Вначале для построения модели использовали порядка 90 параметров, сейчас осталось 49 параметров: плотностные режимы, состояния оборудования и потребляемой ими мощности, токи спиралей классификаторов, уровни пульпы в зумпфах, данные лабораторных анализов о содержании железа в концентрате, содержании требуемого класса крупности, объемы воды в точках подачи, различного рода задания PID-регуляторам — скорости питающих конвейеров, моменты и величина открытия задвижек.
Все эти параметры что-либо значат с точки зрения производственного процесса. К примеру, внезапное повышение мощности мельницы может означать, что измельчение идет неправильно. По мере развития модели среди параметров выделялись те, что коррелируют с качеством итогового концентрата и влияют на процессы на секции.
Для загрузки в модель мы перевели данные в нужный формат и строили скользящие средние — использовать данные с высокой дискретностью мы не могли (особенность этих данных и самих приборов такова, что нередки случайные скачки, которые могут «испортить» прогноз).
Реализованная модель рассчитывает рекомендуемые границы работы всех упомянутых выше параметров секции, выдавая советы раз в полчаса. Фактически система оценивает, была ли в прошлом похожая ситуация, что при этом делал оператор и привело ли это к повышению производительности без потери качества.
При этом система самообучается: статистика по работе мельниц используется для периодического дообучения модели, так что со временем «Белка» настраивает работу оборудования все точнее.
«Белка» генерирует большие объемы данных. Мы храним результаты анализа за полгода. А минутные исторические данные в архиве оставляем в течение двух лет, чтобы можно было сравнивать режимы работы оборудования. Обучаться на этих данных уже нельзя, поскольку обогатительная фабрика — это своего рода живой организм, где постоянно меняются технологические процессы. Оборудование ремонтируется и обновляется. Кроме того, за два года существенно изменяется рудное тело, поэтому эти данные становятся нерелевантными для обучения.
Интерфейс «Белки» и особенности тестирования
С точки зрения интерфейса на первом этапе результаты работы модели выглядели как цифровой советчик, который на экране оператора предлагает определенный набор параметров. Оператор мог либо отклонить совет, либо согласиться с ним, и тогда рекомендуемые значения передавались в APC.
С учетом разделения сети предприятия на корпоративный и технологический сегменты, интерфейс цифрового советчика реализовали и там, и там. Из корпоративного сегмента можно мониторить состояние процесса, видеть советы, которые предлагает модель, и строить отчеты для руководства, но управление системой доступно только из технологического сегмента.
Тестирование модели шло на реальном производстве около полутора месяцев, в марте — апреле 2021 года. В этот момент на посту оператора также посменно присутствовали разработчики системы. Цифровой советчик выдавал рекомендации, а если оператор их отклонял, ситуацию подробно разбирали и дорабатывали модель, если это было необходимо.
В период тестирования модель постоянно изменялась. В неделю проводили по 3-4 встречи, несколько раз в неделю накатывали новые версии. Так постепенно довели технологическую корректность советов до того уровня, когда можно было задуматься о полной автоматизации.
К этому моменту процент принятия советов был уже достаточно высок, а непринятие в основном было связано не с тем, что советы некорректны, а с тем, что у конкретного оператора другое мнение.
В одной и той же ситуации два специалиста принимают разные решения, в соответствии со своим опытом. Каждое из этих решений приводит к нужному результату, но одно из них более эффективно, другое — менее.
Человек не может в режиме реального времени рассмотреть все варианты и найти лучший из них. А машина может. Увидев, что специалисты поверили в модель, чаще прислушиваются к советам системы и готовы экспериментировать, мы поняли, что пора двигаться дальше.
Почему нельзя работать без операторов
Когда мы убедились, что модель дает корректные советы в штатных ситуациях, «Белка» перешла в автоматический режим, когда советы применяются без одобрения оператора. Но оператор все еще присутствует на рабочем месте. Он следит за тем, чтобы не возникало аварийных режимов с оговоренными в системе параметрами, и помогает справляться с нештатными ситуациями.
К примеру, система может не знать, что на производстве сломано или модернизируется какое-то оборудование, и, пока работы не будут завершены, нельзя давать максимальную мощность. Или что сейчас есть сложности с подачей воды и бессмысленно пытаться увеличить ее напор. В таких ситуациях оператор принимает управление на себя, хотя система все еще предлагает подсказки, которыми можно воспользоваться. В общем, если мы хотим, чтобы система работала без участия операторов, то автоматизировать нужно все производство целиком. Наверное, в какой-то момент так и случится, но до этого еще пока далеко.
![Это общий вид цеха с мельницами, классификаторами и гидроциклонами. Потребляет все это хозяйство несколько десятков мегаватт, и ИИ тут помогает немного сэкономить Это общий вид цеха с мельницами, классификаторами и гидроциклонами. Потребляет все это хозяйство несколько десятков мегаватт, и ИИ тут помогает немного сэкономить](https://habrastorage.org/getpro/habr/upload_files/edc/c48/533/edcc48533729425575a078131bc8c53d.jpeg)
В чем профит
Производство и так уже оптимизировано везде, где только можно. Но с ИИ появилась возможность выжать дополнительный экономический эффект за счет установки оптимальных, более узких границ регулирования каждого параметра и их динамического изменения под текущую ситуацию.
В процентном соотношении прибавка невелика: при сохранении качества мы достигли роста производительности всего на 1,52%. Но тут свою роль играет масштаб. Учитывая объемы производства, по факту это выливается в экономию более 100 миллионов рублей в год.
Выше производительность мельниц, больше объем произведенного концентрата, людям приятнее работать. Ну и еще можно похвастаться перед коллегами из других компаний, что у нас тут все и умно, и красиво.