Компания "Фокус Групп" – команда российских консультантов по имитационному моделированию. Мы уже писали о том, как они оптимизировали пассажирские перевозки в России и создавали цифрового двойника нефтяного месторождения. Сегодня в блоге они объясняют, какие задачи решают нефтегазовые компании с помощью ИМ и рассказывают об одном из собственных проектов по планированию работы нефтяного месторождения.
Современные реалии на нефтяном рынке требуют от нефтедобывающих компаний уметь гибко реагировать на изменяющиеся условия: быстро сокращать или наращивать объёмы добычи. Посмотрев на заголовки новостных YouTube каналов весной 2020 года, очевидно, какую роль играет возможность оперативного просчёта экономики скважин. В предыдущей нашей статье мы писали о проекте нашей компании – создании цифрового двойника нефтяного поля для одной из ведущих нефтедобывающих компаний России. Думаем, что излишне будет объяснять, насколько актуален сейчас подобный инструмент.
В условиях динамичных сокращений добычи нефти добывающие компании планируют и оптимизируют деятельность с помощью имитационного моделирования, чтобы сократить операционные расходы. Поэтому в этой статье мы расскажем, как мы применили AnyLogic для создания системы оптимизации работы ремонтных бригад.
Задача и анализ данных
Бизнес-заказчик пришёл к нам с вопросом: каким образом возможно сокращение простоев скважин, которые в прошлом году достигали до 10% от добычи?
Мы проанализировали данные за предыдущий период: какие показатели собираются у компании, и как происходит планирование работы ремонтных бригад. В результате у нас появились данные за прошлый год с детализацией за каждые 3 часа: местонахождение и статус бригад, сколько нефти добыли и сколько было упущено из-за простоев скважин. На основе статистики поломок мы выделили 40 типов ремонтных работ и рассчитали среднее время ремонта для каждого типа поломки.
На основе проведенного анализа мы поняли, что классическая типизация инцидентов и работа со статистикой по времени ремонтных работ не позволяют получить применимую на практике методику расчёта, так как длительность каждого ремонта зависит от удаленности бригады от скважины, наличия комплекта запасных частей у бригады, погодных условий и особенности работы конкретной скважины. Имитационное моделирование позволило бы нам учесть эти ограничения в расчетах и детально отразить в безрисковой среде работу и ремонт скважин.
Базовая модель
Базовая модель воспроизводит статистику по движению ремонтных бригад за прошлый год. Визуализация движения позволила выявить неоптимальные маршруты и создать базовый вариант для сравнительного анализа – перемещение ремонтных бригад под управлением специалистов компании-заказчика. Также было замечено, что бригады работают неравномерно: часто простаивают, а иногда работают в авральном режиме.
Мы проанализировали модель и выяснили, как оптимизировать процесс составления расписания ремонтных бригад: передвинуть часть плановых ремонтов, чтобы минимизировать простои и снизить пиковую нагрузку. Результаты моделирования использовались при создании системы оптимизации.
Оптимизация модели
Для оптимизации движения мы применили метод ветвей и границ (branch & bound), который хорошо зарекомендовал себя для решения транспортных задач. Список задач разделялся на блоки по 10 дней, задачи из блока распределялись по свободным бригадам. В свою очередь, за каждой бригадой закреплялись скважины, которые нужно было проверить за 10 дней. С помощью метода ветвей и границ для каждой бригады решалась задача коммивояжера – вычислялся минимальный по расстоянию план посещения скважин.
Мы реализовали этот алгоритм планирования и получили новую модель, созданную для тех же условий: период, планы, используемые дороги, паузы в добыче, поломки и длительности ремонтов. В результате новая модель не показала потенциального выигрыша: результаты отличались от базовой модели на 1-2%, что сравнимо с погрешностью при моделировании.
Мы были удивлены такими результатами работы алгоритма, проверили правильность реализации алгоритма, провели повторные расчеты и обсудили результаты внутри команды. В итоге мы разработали собственный эвристический алгоритм, который позволил достичь сокращения объема недополученной нефти на 32%.
Расчет оптимального плана назначений бригад в Python
Собственный алгоритм был написан на Python, для обработки данных использовался пакет Pandas. Ключевые этапы алгоритма:
- Список задач на ремонт скважин делится на блоки по 10 дней.
- Задачи из каждого блока распределяются по бригадам. Из бригад отфильтровываются те бригады, которые свободны и успевают доехать до скважины к дате ремонта, не создав дополнительного простоя скважины.
- Каждой скважине из списка назначается ближайшая из свободных бригад.
- После назначения у бригады изменяется локация и время, когда она освободится. Время освобождения бригады вычисляется исходя из плановой длительности ремонта.
- Если после выполнения ремонта бригада простаивает более 5 дней, то она направляется на базу.
- Расчет повторяется.
Таким образом распределяются все задачи из блока на 10 дней, каждой бригаде назначается список скважин и план их обхода.
Результат
В результате проекта заказчик получил инструмент, позволяющий в оперативном режиме координировать работу бригад для достижения более высоких показателей добычи нефти, минимизации пробега бригад и получению большей прибыли от группы месторождений.
Вы можете ознакомиться с самой моделью в AnyLogic Cloud. Рекомендуем воспользоваться встроенной функцией сравнения сценариев, чтобы посмотреть на разницу базового и оптимизированного варианта.
Результат работы Python-скрипта – план назначений бригад на скважины в формате Excel. После этого стандартный и оптимальный планы загружаются в имитационную модель, где сравниваются результаты. Простая эвристика в результате позволяет сократить средний простой скважины с 28,5 дней до 9,6 дней, а объём недополученной нефти – на 32%.