Как найти оптимальную скорость проходки при бурении

Оптимизация лежит в основе каждого инженерного проекта - Boeing использовал оптимизацию для разработки оптимальной топологии крыльев своего самолета для более эффективного полета, GE использовала оптимизацию для разработки оптимальной лопасти ветряной турбины, которая вращается быстрее для выработки большего количества электроэнергии, и другие интересные примеры . В нефтегазовой отрасли оптимизация используется во многих аспектах, например в бурении. Наша миссия в этой статье - осветить применение в этой области.

Во-первых, нам нужно понять компоненты бурения. Бурильная колонна представляет собой единое целое или сборку, состоящую из компонентов, показанных на схеме ниже. Вес, обеспечиваемый утяжеленной бурильной трубой (толстостенные трубчатые детали из стальных стержней), находится в непосредственном контакте с буровым долотом. Этот вес называется Вес на долоте или WOB, определяемый как направленная вниз сила, прикладываемая к буровому долоту, необходимая для разрушения породы. Поскольку сверло вращается, измеряется число оборотов в минуту.

Скорость проходки или скорость проходки определяется как единица измерения глубины пробуренного расстояния за единицу времени. Скорость проходки измеряется в реальном времени приборами измерения во время бурения (MWD). Если расстояние в 1 фут может быть достигнуто за 1 минуту, мы можем рассчитать скорость проходки следующим образом:

Чем выше скорость проходки, тем быстрее можно преодолеть дистанцию. Компании всегда хотят бурить как можно быстрее, чтобы сэкономить время, потому что время - деньги. Поэтому они нанимают инженеров по бурению, чтобы они хорошо спроектировали буровые работы, включая оптимизацию скорости проходки.

Единственные переменные, которыми бурильщик может управлять с поверхности, - это нагрузка на долото и частота вращения. Другие переменные (PHIF, VSH, SW и KLOGH) являются постоянными переменными, потому что они представляют формацию. Следовательно, для наиболее эффективного бурения пласта необходимо в достаточной степени отрегулировать нагрузку на долото и частоту вращения.

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

В этой статье мы обсудим еще одно важное применение машинного обучения для оптимизации скорости проходки при бурении. К этой обучающей статье прилагаются исходные коды Jupyter Notebook, к которым можно получить доступ здесь.

Набор данных

Набор данных, который мы собираемся использовать, состоит из двух исходных данных; данные бурения в реальном времени и данные каротажа расчетной петрофизической продукции (CPO) из скважины № 15/9-F-15 на месторождении Волве в Северном море. Набор данных находится на GitHub здесь. Помните, что мы много раз использовали набор данных Volve в предыдущих статьях, поскольку он с открытым исходным кодом.

Набор данных состоит из 8 столбцов; Глубина (измеренная глубина), WOB (нагрузка на долото), SURF_RPM (скорость вращения в минуту на поверхности), ROP_AVG (средняя скорость проникновения), PHIF (пористость пласта), VSH (объем сланца), SW (водонасыщенность) и KLOGH (логарифмическая проницаемость). WOB, SURF_RPM и ROP_AVG - это параметры бурения, а остальные - петрофизические параметры.

Постановка задачи

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

Обратим внимание на интервал 3480–3 500 м, где скорость проходки падает до 0,002 м / с. Этот внезапный разрыв может быть вызван двумя факторами; ожидаемые или неожиданные причины. Ожидаемой причиной может быть высокое пластовое давление, позволяющее бурильщику избегать несчастных случаев. Неожиданная причина - недостаточная нагрузка на долото и обороты.

Поскольку у нас нет подробной информации о пластовом давлении, мы предполагаем, что этот внезапный разрыв является неожиданным. Как мы наблюдаем на глубине 3 480 м, нагрузка на долото составляет около 31 000 Н, а число оборотов в минуту равно 2, когда скорость проходки падает до 0,002 м / с. Мы предполагаем, что нагрузка на долото и число оборотов в минуту недостаточны для поддержания скорости проходки, указанной выше.

Таким образом, в этой статье мы ответим на два вопроса;

  • Что вызывает внезапное падение скорости проходки на глубине 3480 м?
  • Какие значения WOB и RPM необходимы для оптимизации ROP?

Прежде чем перейти к машинному обучению и оптимизации, мы проводим исследовательский анализ данных. Ниже приведен парный график некоторых независимых переменных в наборе данных. Можно выделить несколько интересных отношений. Кажется, что скорость проходки коррелирует с VSH (объем сланца). Это может показаться нелогичным, потому что мы часто полагаем, что скорость проходки в глинистых сланцах будет ниже при высоком VSH. Скорость проходки, похоже, не коррелирует с PHIF (пористостью пласта). Кроме того, точки в наборе данных имеют тенденцию группироваться по низкому VSH, низкому PHIF и низкому WOB.

Затем мы приступаем к созданию прогнозной модели для ROP с моделью Gradient Boosting Machine.

Машина повышения градиента для прогнозирования скорости проходки

Начиная с части машинного обучения, ROP_AVG отделяется от остальных столбцов в качестве цели прогнозирования. Затем набор данных был разделен на обучающий и тестовый набор с размером теста 20%. Мы создали конвейер, который состоит из стандартного средства масштабирования и модели, которую мы используем, Gradient Boosting. Для нашей модели были установлены два гиперпараметра; min_samples_leaf=6 и max_depth=20. Трубопровод соответствует составу поездов, и модель была оценена. Результат обучения в R-квадрате составил 95%, а тест R-квадрат - 79%.

Gradient Boosting Machine или GBM - это метод ансамбля, который работает путем создания набора различных более простых оценщиков. Это называется повышением, потому что модель ансамбля работает намного лучше, чем одиночная оценка. Он работает, суммируя деревья одно за другим; 2-е дерево добавляется к 1-му как ансамбль (назовем его D1). У нас есть целевая функция, назовите ее f. Разница (или остаток) между f и D1 - это остаток, который будет минимизирован следующим 3-м деревом. . Создает новый ансамбль D2. Затем этот остаток вычисляется между f и D2, рождается новый ансамбль, и процесс повторяется.

Мы скомпилировали модель для прогнозирования на основе новых входных данных. Например, мы хотели бы спрогнозировать механическую скорость проходки с заданными входными данными, как показано в приведенном ниже коде (пласт с пористостью 20%, объемом глинистого сланца 50%, водонасыщенностью 100% и проницаемостью 500 миллидар на глубине 4000 м, пробурили с нагрузкой на долото 50 000 Н и об / мин 2). Модель прогнозирует скорость проходки 0,008 м / с.

Оптимизация с помощью Particle Swarm

Наконец, мы пытаемся оптимизировать скорость проходки на глубине 3480 м, где происходит внезапный разрыв скорости проходки. Мы использовали модель для создания «прогнозируемого пространства» ROP как функции WOB и RPM. Для этого мы создаем диапазон значений нагрузки на долото и оборотов в минуту и ​​оставляем другие входные переменные постоянными. Постоянные входные переменные получены по нашим данным на высоте 3480 м.

  • Глубина: 3480 м
  • ФИФ: 0,09
  • VSH: 0,1
  • SW: 1
  • КЛОГ: 0,01 мкД
  • WOB: диапазон (17 000–90 000) Н
  • Обороты: диапазон (1,5–2,5)

Ниже приведен код для создания пространства прогнозов.

В результате получилось следующее пространство прогнозов;

Из этого графика мы видим, что на глубине 3 480 м высокая скорость проходки достигается при нагрузке на долото выше 42 000 Н и диапазоне оборотов от 1,8 до 2.

Мы можем четко найти причину, по которой ROP падает! Из данных мы знали, что нагрузка на долото составляет всего 31000 Н, что ниже допустимого окна нагрузки на долото для оптимизации скорости проходки.

Еще один шаг, и мы найдем значения WOB и RPM для получения наиболее оптимальной механической скорости проходки на этой глубине с помощью оптимизации роя частиц или PSO.

Оптимизация роя частиц (PSO) - это алгоритм оптимизации, основанный на поведении стай животных (перелетных птиц и медоносных пчел). В любой задаче оптимизации называется целевая функция, которая представляет собой четко определенную функцию, которая служит целью оптимизации. Глобальное решение находится где-то в пространстве поиска. PSO сначала размещает несколько частиц (или роев) в случайных позициях в пространстве поиска. Эти частицы имеют начальные скорости и направления, которые будут ускоряться в течение многих итераций, пока не найдут глобальное решение.

Мы использовали пакет PySwarm, чтобы использовать PSO для решения нашей задачи оптимизации. Сначала мы определяем целевую функцию. Наша целевая функция состоит из конвейера с именем pipe, включая нашу модель повышения градиента, которую мы построили. Функция получает все входные переменные в массиве X. Далее мы определяем нижнюю и верхнюю границы поиска. В этой задаче оптимизации мы хотим найти значения WOB и RPM. Следовательно, только эти переменные имеют нижнюю и верхнюю границы в пределах указанного выше диапазона.

Наконец, мы запускаем PSO. Мы устанавливаем гиперпараметры, как показано в коде, например swarmsize (количество частиц роя) 200, omega (коэффициенты масштабирования скорости частиц) 0,3, phip (коэффициент масштабирования для поиска вдали от наиболее известного положения частицы) 0,5, phig (коэффициент масштабирования для поиска вдали от наиболее известной позиции роя) 0,7, maxiter (максимальное количество итераций) 1000 и minstep (минимальный размер шага наилучшего положения роя до завершения поиска) 1x10–8.

Вышеупомянутая реализация PSO выводит значения WOB и RPM, которые оптимизируют ROP, и достигаемую оптимальную ROP.

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

Вывод

Мы показали, как использовать машину повышения градиента и оптимизацию роя частиц для оптимизации скорости проникновения при бурении. Вот ответы на два вопроса, которые мы рассматриваем в этой статье;

  • Скорость проходки падает до 0,002 м / с на глубине 3480 м из-за недостаточной нагрузки на долото в 31000 Н.
  • Оптимальная скорость проходки на глубине 3480 м - 0,0055 м. Это может быть достигнуто при нагрузке на долото около 74000 Н и частоте вращения 2.

В будущем таких проблем, как внезапные перерывы в бурении, можно было бы избежать, выполнив оптимизацию линии. Мы сохраним не только 🕒, но и 💰!

Следите за мной, чтобы увидеть новые статьи о моих экспериментах с ИИ машинного обучения в нашей удивительной энергетической отрасли! 💡