HK1217744B - Control variable determination to maximize a drilling rate of penetration - Google Patents
Control variable determination to maximize a drilling rate of penetration Download PDFInfo
- Publication number
- HK1217744B HK1217744B HK16105802.9A HK16105802A HK1217744B HK 1217744 B HK1217744 B HK 1217744B HK 16105802 A HK16105802 A HK 16105802A HK 1217744 B HK1217744 B HK 1217744B
- Authority
- HK
- Hong Kong
- Prior art keywords
- drilling
- data
- model
- objective function
- determined
- Prior art date
Links
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation of U.S. patent application No. 14/490,189, filed on 9/18/2014, which is hereby incorporated by reference in its entirety. The present application further claims the benefit of us 61/879,933 provisional patent application No. 9/19/2013, filed 2013, in accordance with 35u.s.c. § 119(e), the entire contents of which are hereby incorporated by reference.
Background
All types and sizes of boreholes for various industries (water, natural gas, oil, construction, telecommunications, electrical, etc.) in various environments (land, ice, seabed, deep sea seabed, etc.) can be a complex, expensive, and dangerous process.
Disclosure of Invention
In an example embodiment, a method of determining an optimal value for control of a drilling operation is provided. Historical drilling data from previous drilling operations is received. The historical drilling data includes a plurality of values measured for each of a plurality of drilling control variables during the previous drilling operation. An objective function model is determined using the received historical drilling data and the neural network model. The objective function model maximizes a rate of penetration for the previous drilling operation. Measured drilling data comprising current drilling data values for different drilling operations is received. A different drilling operation means that the wellbore of the different drilling operation is different from the wellbore of the previous drilling operation. Determining optimal values for control of the different drilling operations by executing a determined objective function model with the measured drilling data including the current drilling data values for the different drilling operations as input. Outputting the determined optimal values for the control of the different drilling operations. Additional drilling data is received, the additional drilling data including a second plurality of values measured for each of the plurality of drilling control variables. The additional drilling data is measured after outputting the determined optimal values for the control of the different drilling operations. A second objective function model is determined using the received additional drilling data. The second objective function model maximizes a rate of penetration for the previous drilling operation. Second measured drilling data including a second current drilling data value for the different drilling operation is received. Determining a second optimal value for the control of the different drilling operation by executing the determined second objective function model with the second measured drilling data comprising the second current drilling data value for the different drilling operation as input. Outputting the determined second optimal value for the control of the different drilling operation.
In another example embodiment, a computer-readable medium is provided having computer-readable instructions stored thereon which, when executed by a computing device, cause the computing device to perform a method of determining an optimal value for control of a drilling operation.
In yet another example embodiment, a computing device is provided. The computing device includes, but is not limited to, a processor and a computer-readable medium operatively coupled to the processor. The computer-readable medium has instructions thereon that, when executed by a computing device, cause the computing device to perform a method of determining an optimal value for control of a drilling operation.
Such and other embodiments may optionally include one or more of the following features. The objective function model may be determined by evaluating a plurality of neural network model configurations. The instructions for determining the objective function model may include: defining a training data set as a first portion of the received historical drilling data; defining a validation dataset as a second portion of the received historical drilling data; defining a first neural network model configuration; training a first neural network model based on the defined first neural network model configuration using the defined training dataset; predicting model output data with the defined validation dataset as an input to the trained first neural network model; comparing the predicted model output data with the output data of the validation dataset; and determining a first validity score for the trained first neural network model based on comparing the predicted model output data to output data of the validation data set. The instructions for determining the objective function model may also include: defining a second neural network model configuration; training a second neural network model based on a defined second neural network model configuration using the defined training dataset; predicting model output data with the defined validation dataset as input to a trained second neural network model; comparing predicted second model output data with the output data of the validation data set; and determining a second validity score for the trained second neural network model based on comparing the predicted second model output data to the output data of the validation data set. The objective function model may be determined to be the trained first neural network model or the trained second neural network model based on a comparison between the determined first significance score and the determined second significance score. A predictive model may be determined using the received historical drilling data, which may predict values of control variables input to the determined objective function model. The computer-readable instructions may also cause the computing device to determine a current predicted value of the control variable input to the determined objective function model, which may be further executed with the current predicted value as an input. The predictive model may be determined using a decision tree model. The received additional drilling data may include a second plurality of values measured for each of the plurality of drilling control variables during the different drilling operation. The objective function model may also minimize the mechanical specific energy for the previous drilling operation. The objective function model may also optimize wellbore stability for the previous drilling operation. The objective function model may also optimize the wellbore stability of the previous drilling operation. The determined optimal value may be output to a display device. The determined optimal value may be output to a control device associated with a setpoint that adjusts the control. The computing device may be physically located on the drilling rig. In other embodiments, the computing device may be physically remote from the drilling rig.
Other principal features of the disclosed subject matter will become apparent to one skilled in the art upon review of the following drawings, detailed description, and appended claims.
Drawings
Illustrative embodiments of the disclosed subject matter will be described below with reference to the drawings, wherein like reference numerals refer to like elements.
FIG. 1 depicts a block diagram of a drilling data gathering system in accordance with an illustrative embodiment.
FIG. 2 depicts a block diagram of a model definition apparatus in accordance with an illustrative embodiment.
FIG. 3 depicts a flowchart illustrating an example of operations performed by the model definition device of FIG. 2 in accordance with an illustrative embodiment.
FIG. 4 depicts another block diagram of an optimization device in accordance with an illustrative embodiment.
FIG. 5 depicts a flowchart illustrating an example of operations performed by the optimization device of FIG. 4, in accordance with an illustrative embodiment.
FIG. 6 depicts calculations regarding rate of penetration during a drilling operation in accordance with an illustrative embodiment.
FIG. 7 depicts a block diagram of a distributed processing system in accordance with an illustrative embodiment.
FIG. 8 depicts a block diagram of an Event Stream Processing (ESP) device of the distributed processing system of FIG. 7 in accordance with an illustrative embodiment.
FIG. 9 depicts a flowchart illustrating an example of operations performed by the ESP device of FIG. 8 in accordance with an illustrative embodiment.
Detailed Description
Referring to FIG. 1, a block diagram of a drilling data gathering system 100 is shown in accordance with an illustrative embodiment. The drilling data gathering system 100 may include a plurality of rigs 101, a network 110, and a data warehouse 112. Fewer, different, and/or additional components may be incorporated into the drilling data gathering system 100. To illustrate, the plurality of rigs 101 may include a first rig 102, a second rig 104, a third rig 106, a fourth rig 108. The plurality of rigs 101 may include any number of rigs. A rig of the plurality of rigs 101 may be active or inactive. The plurality of drilling rigs 101 may be configured to drill any type and size of hole for various industries (e.g., water, natural gas, oil, construction, telecommunications, electrical, etc.) in various environments (e.g., land, ice, seabed, deep sea seabed, etc.). The multiple rigs 101 may be distributed locally, regionally, or globally.
The networks 110 may include one or more networks of the same or different types. The network 110 may be any type or combination of wired and/or wireless public or private networks, including a cellular network, a local area network, a wide area network, such as the internet, and so forth. The network 110 further may include sub-networks and be comprised of any number of devices. The plurality of drilling rigs 101 send communications to the data repository 112 through the network 110. The multiple drilling rigs 101 may communicate using various transmission media, which may be wired and/or wireless, as understood by those skilled in the art.
The data warehouse 112 stores drilling data from a plurality of drilling rigs 101, including a plurality of values measured for each of a plurality of drilling control variables (dependent or target variables used for predictive modeling) during a drilling or drilling operation. The plurality of values may be measured for each of a plurality of drilling control variables at a plurality of times within a certain time period. For example, the plurality of values may be measured for each of a plurality of drilling control variables per hour over a period of up to one year, although other period lengths and measurement intervals may also be used.
Referring to FIG. 2, a block diagram of a model definition apparatus 200 is shown in accordance with an illustrative embodiment. The model definition device 200 may be located on a rig of the plurality of rigs 101 or remotely from the plurality of rigs 101. The model definition device 200 may include an input interface 202, an output interface 204, a communication interface 206, a computer-readable medium 208, a processor 210, a model definition application 222, a data store 112, an objective function model 224, and a predictive model 225. Fewer, different, and/or additional components may be incorporated into model definition device 200.
As will be appreciated by those skilled in the art, the input interface 202 provides an interface for receiving information from a user for input into the model definition device 200. The input interface 202 may interface with various input technologies, including but not limited to a keyboard 212, a mouse 214, a microphone 215, a display 216, a trackball, a keypad, one or more buttons, and the like, to allow a user to input information into the model definition device 200 or to make selections presented in the user interface that are displayed on the display. The same interface may support both input interface 202 and output interface 204. For example, display 216, which includes a touch screen, provides user input and presents output to the user. The model definition device 200 may have one or more input interfaces using the same or different input interface technologies. The input interface technology is further accessible by the model definition device 200 through the communication interface 206.
Output interface 204 provides an interface for outputting information for review by a user of model definition device 200 and/or use by another application. For example, the output interface 204 may interface with various output technologies, including but not limited to a display 216, speakers 218, a printer 220, and so forth. The model definition device 200 may have one or more output interfaces using the same or different output interface technologies. The output interface technology is further accessible by the model definition device 200 through the communication interface 206.
The communication interface 206 provides an interface for receiving and transmitting data between devices using various protocols, transmission techniques, and media, as will be appreciated by those skilled in the art. The communication interface 206 may support communication using various transmission media that may be wired and/or wireless. The model definition device 200 may have one or more communication interfaces that use the same or different communication interface technologies. For example, the model-defining device 200 may support communication using an ethernet port, a bluetooth antenna, a telephone jack, a USB port, and so forth. Data and messages may be transmitted between the model definition device 200 and/or the distributed system 232, the one or more drilling operation sensors 226, and/or the one or more drilling operation control parameters 228 of the plurality of drilling rigs 101 using the communication interface 206.
As is appreciated by those skilled in the art, the computer-readable medium 208 is an electronic repository or storage device for information so that the information may be accessed by the processor 210. Computer-readable media 208 may include, but is not limited to, any type of Random Access Memory (RAM), any type of Read Only Memory (ROM), any type of flash memory, and the like, such as magnetic storage devices (e.g., hard disk, floppy disk, magnetic tape, … …), optical disks (e.g., Compact Disk (CD), Digital Versatile Disk (DVD), … …), smart cards, flash memory devices, and the like. The model definition device 200 may have one or more computer-readable media that use the same or different memory media technologies. For example, computer-readable media 208 may include different types of computer-readable media that may be hierarchically organized to provide efficient access to data stored therein, as will be appreciated by those skilled in the art. As an example, a cache memory may be implemented in a smaller, faster memory that stores copies of data from the most frequently/recently accessed main memory locations to reduce access latency. The model definition device 200 may also have one or more drives that support the loading of memory media (e.g., CD, DVD, external hard drive, etc.). One or more external hard drives may further be connected to model definition device 200 using communication interface 206.
The processor 210 executes instructions as understood by those skilled in the art. The instructions may be carried out by a special purpose computer, logic circuits, or hardware circuits. Processor 210 may be implemented in hardware and/or firmware. Processor 210 executes instructions, meaning that it performs/controls the operations required by the instructions. The term "execution" is the process of running an application required by an instruction or performing an operation required by an instruction. The instructions may be written using one or more programming languages, scripting languages, assembly languages, and the like. The processor 210 is operably coupled to receive, send, and process information with the input interface 202, the output interface 204, the communication interface 206, and the computer-readable medium 208. The processor 210 may retrieve the instruction set from a permanent memory device and copy the instructions in executable form to a temporary memory device, typically some form of RAM. The model definition device 200 may include multiple processors using the same or different processing techniques.
Model definition application 222 performs operations associated with defining objective function models 224 and/or predictive models 225 for one or more drilling operations from data stored in data repository 112. Some or all of the operations described herein may be embodied in the model definition application 222. The operations may be implemented using hardware, firmware, software, or any combination of such methods. Referring to the example embodiment of fig. 2, the model definition application 222 is implemented in software (including computer-readable and/or computer-executable instructions) stored in the computer-readable medium 208 and accessible by the processor 210 to execute instructions embodying the operation of the model definition application 222. Model definition application 222 may be written using one or more programming languages, assembly languages, scripting languages, and the like.
Model definition application 222 may be implemented as a web application. For example, the model definition application 222 may be configured to receive hypertext transfer protocol (HTTP) responses and send HTTP requests. The HTTP response may include a web page, such as a hypertext markup language (HTML) document and a link object generated in response to the HTTP request. Each web page may be identified by a Uniform Resource Locator (URL) that includes the location or address of the computing device containing the resource to be accessed, in addition to the location of the resource on the computing device. The type of file or resource depends on the internet application protocol, such as file transfer protocol, HTTP, h.323, and the like. The files accessed may be simple text files, image files, audio files, video files, executable files, general gateway interface applications, Java applets, extensible markup language (XML) files, or any other type of file supported by HTTP.
The data store 112 can be stored in the computer-readable medium 208 or on one or more computing devices (e.g., the distributed system 232) and accessed using the communication interface 206. The data stored in the data repository 112 may be received from the one or more drilling operation sensors 226. Example sensors include pressure sensors, temperature sensors, position sensors, velocity sensors, acceleration sensors, flow rate sensors, and the like, which may be mounted to various components used as part of a drilling operation. For example, the one or more drilling operation sensors 226 may include: surface sensors that measure the hook load, fluid rate, temperature and density in and out of the wellbore, riser pressure, surface torque, rotational speed of the drill pipe, rate of penetration, mechanical specific energy, etc.; and downhole sensors that measure rotational speed of the bit, fluid density, downhole torque, downhole vibration (axial, tangential, lateral), weight applied at the bit, annular pressure, differential pressure, azimuth, inclination, dogleg curvature, measurement depth, vertical depth, downhole temperature, and the like. Other data may include one or more drilling operation control parameters 228 and control settings, such as mud motor speed versus flow ratio, drill bit diameter, predicted formation top, seismic data, weather data, and so forth. Other data may be generated using physical models, such as an earth model, a weather model, a seismic model, a bottom hole assembly model, a well bore model, an annulus friction model, and so forth. In addition to the sensors and control settings, predictive outputs such as drilling rate, specific mechanical energy, hook load, in-flow fluid rate, out-flow fluid rate, pump pressure, surface torque, drill pipe rotational speed, annulus pressure, annulus friction pressure, annulus temperature, equivalent cycle density, etc. may be stored, for example, in a data warehouse.
A plurality of values from the same drilling operation, one or more adjacent drilling operations, one or more drilling operations having similar geographic characteristics, any of the one or more drilling operations, and so forth may be measured. For example, drilling operations in environments with similar rates of penetration and porosity may be used. The plurality of values may result from control variable values selected by an operator for the same or different drilling operations during a previous time period.
The data stored in the data store 112 may include any type of content represented in any computer-readable format, such as binary, alphanumeric, numeric, string, markup language, and so forth. Content may include textual information, graphical information, image information, audio information, digital information, and so forth, which may be encoded using various encoding techniques as will be appreciated by those skilled in the art. The data warehouse 112 may be stored using a variety of formats, as understood by those skilled in the art, including file systems, relational databases, tabular systems, structured query language databases, and so forth. For example, the data warehouse 112 may be stored in cubes distributed across a grid of computers as understood by those skilled in the art. As another example, the data warehouse 112 may be stored at multiple nodes as understood by those skilled in the artAnd (4) clustering. ApacheTMIs an open source software framework for distributed computing supported by the Apache software foundation. As another example, the data repository 112 may be stored in the cloud of a computer and accessed using cloud computing techniques as understood by those skilled in the art. Developed and offered by SAS Institute of Carry, N.C.LASRTMThe analytics server may be used as an analytics platform to enable multiple users to simultaneously access data stored in the data repository 112.
If the data warehouse 112 is distributed across the distributed system 232, a distributed processing system may be used. To illustrate, the distributed processing system may use multiple nodes as understood by those skilled in the artClustering, grid of computers using cubes storing data, useLASRTMAnalysis servers, cloud using computers, and the like. For example, the distributed control apparatus may coordinate access to the data warehouse 112 distributed across the distributed system 232 when requested by the model definition apparatus 200. One or more components of the distributed processing system may support multithreading, as will be appreciated by those skilled in the art. The components of the distributed processing system may be located in a single room or adjacent rooms, a single facility, and/or may be geographically distributed with respect to each other.
As will be appreciated by those skilled in the art, the data in the data warehouse 112 may be cleaned up to interpolate missing values, smooth noise data, identify and delete outliers, and/or resolve discrepancies. As will be appreciated by those skilled in the art, the data in the data warehouse 112 may be transformed to standardize and aggregate the data, unify data formats such as dates, and convert nominal data types to digital data types.
Referring to FIG. 3, example operations associated with model definition application 222 are described. The model definition application 222 may be used to create an objective function model 224 and/or one or more predictive models 225 using data stored in the data store 112. The objective function model 224 supports the determination of optimal values for control of a drilling operation using sensed data measured by one or more drilling operation sensors 226 during the drilling operation and/or using control settings for one or more drilling operation control parameters 228 of the drilling operation. The predictive model 225 supports determination of predicted values of control variables for a drilling operation using sensed data measured by one or more drilling operation sensors 226 during the drilling operation and/or using control settings read for one or more drilling operation control parameters 228 of the drilling operation.
Additional, fewer, or different operations may be performed depending on the embodiment. The order in which the operations of fig. 3 are presented is not intended to be limiting. While some flows of operations are presented in order, various operations may be performed in various iterations, concurrently (e.g., using threads), and/or in other orders than those illustrated. As will be appreciated by those skilled in the art, for example, a user may execute the model definition application 222, which presents a first user interface window that may include a plurality of menus and selectors, such as drop-down menus, buttons, text boxes, hyperlinks, and the like, associated with the model definition application 222. The indicator may indicate one or more user selections from the user interface, one or more data entries into a data field of the user interface, one or more data items read from the computer-readable medium 208 or otherwise defined with one or more default values, etc., that are received as input by the model definition application 222.
In operation 300, first indicators of one or more types of predictive models, configurations, and one or more control variables to predict are received. A predictive model predicts values of one or more control variables in a data set from values of other variables in the data set. For example, the first indicator indicates a name of a type of the prediction model and a control variable predicted using the type of the prediction model. One or more types of predictive models may be defined and configured for a plurality of control variables to support prediction of the plurality of control variables, either independently or in combination (e.g., in an order in which the predicted control variable is an input to another predictive model of a different control variable of the one or more control variables). The name of the type of predictive model is selectable for each of the plurality of control variables. Example control variables to predict include rate of penetration, mechanical specific energy, hook load, fluid inflow rate, fluid outflow rate, pump pressure, surface torque, rotational speed of the drill pipe, annulus pressure, annulus temperature, annulus friction pressure, equivalent circulating density, and the like.
To illustrate, the types of predictive models may be named "neural networks," "linear regression," "nonlinear regression," "support vector machines," "decision trees," "least squares," "gradient asymptotes," and so forth. Some configuration identifies one or more initialization values based on the type of predictive model. For example, when the category of the prediction model is indicated as "neural network", the first indicator may identify the number of hidden layers, the number of nodes per layer, the propagation method, and the like. A variety of configurations may be defined. For example, when the type of prediction model is a neural network, the first indicator may also identify a range of the number of hidden layers, the number of nodes per layer, and so on.
To further illustrate, the one or more control variables to be predicted and the data in the data store 112 may be provided toEnterprise MinerTMFor predictive modeling developed and provided by SAS Institute of carry, north carolina, usa. As an example of this, the following is given,Enterprise MinerTMvarious types of predictive models are included for neural networks (automatic, DMNeural, neural), decision tree decision trees, gradient asymptotes), regression models (Dmine regression, Least Angle Regression (LARS), regression), k-nearest neighbor models (memory-based reasoning (MBR)), least squares models (least squares), Support Vector machines (Support Vector machines), Ensemble models integrated to define predictive models (ensembles), and so forth.
The first indicator may be received by the model definition application 222 after selection from the user interface window or after user input into the user interface window. Default values for the types of predictive models and configurations may further be stored, for example, in the computer-readable medium 208. In alternative embodiments, the type of predictive model and configuration and the control variable or control variables to be predicted may not be selectable.
In operation 302, a second indicator of the data warehouse 112 is received. For example, the second indicator indicates a location of the data warehouse 112. As an example, the second indicator may be received by model definition application 222 after selection from the user interface window or after user input into the user interface window. In alternative embodiments, the data repository 112 may not be optional. For example, a recently created data warehouse may be automatically used.
As previously discussed, the data store 112 may be stored in cubes distributed across a grid of computers, may be stored in multiple nodes distributed across one or more computersIn a cluster, may be stored in a file system distributed across one or more computers, in a relational database, one or more tables, a structured query language database, and so forth.
In operation 304, data stored in the data warehouse 112 is developed and mined to select control variables (inputs, independent variables) that are significant for the determination of the predictive model for each of the one or more control variables to be predicted. For example, in operation 304, the data stored in the data warehouse 112 is reduced to obtain a minimal representation of size and volume and to retain consistent variance and entropy for similar analysis results. As will be appreciated by those skilled in the art, the digital data types can be discretized to simplify the analysis process.
Example data mining techniques include factor analysis, principal component analysis, correlation analysis, and the like, as will be appreciated by those skilled in the art. For purposes of illustration, developed and provided by SAS Institute of Carry, N.C.Enterprise MinerTMIncluding nodes for developing data and selecting or modifying control variables as input variables. Example nodes include transform nodes, cluster nodes, associated rule nodes, variable selection nodes, description statistics nodes, principal component nodes, and the like.
For example, the input variable having the highest degree of correlation with respect to each of the one or more control variables predicted to be predicted may be selected. Example input variables include hook load, inflow fluid rate, outflow fluid rate, pump pressure, surface torque, rotational speed of the drill pipe, annulus pressure, annulus temperature, annulus volume, and the like. The input variables further may include background variables such as lithology, fluid properties rheology, applied electrical power, applied hydraulics, bit type, bottom hole assembly design, temperature, and the like. Still further, the input variables may include geomechanical description models, predicted lithology, well intervention design, and the like.
In operation 306, a third indicator for selecting training data for the predictive model from the data warehouse 112 is received. The third indicator may be received by the model definition application 222, for example, after selection from the user interface window or after user input into the user interface window. The third indicator identifies a first portion of data stored in the data repository 112 for training the predictive model. The third indicator may indicate the number of data points included, the percentage of data points in the entire data warehouse 112 included, and so on. Subsets may be created from the data warehouse 112 by sampling. An example sampling algorithm is uniform sampling. Other random sampling algorithms may be used.
In operation 308, a fourth indicator for selecting validation data for the predictive model from the data store 112 is received. The fourth indicator may be received by the model definition application 222, for example, after selection from the user interface window or after user input into the user interface window. The fourth indicator indicates a second portion of the data stored in the data repository 112 for validating the predictive model. The fourth indicator may indicate the number of data points included, the percentage of data points included throughout the data warehouse 112, and so on. Subsets may be created from the data warehouse 112 by sampling. An example sampling algorithm is uniform sampling. Other random sampling algorithms may be used. The data points from the data warehouse 112 selected for the validation data may be different than the data points from the data warehouse 112 selected for the training data.
In operation 310, a predictive model is selected based on the first indicator or based on a default model stored in the computer-readable medium 208. In operation 312, the selected predictive model is initialized. In operation 314, the initialized predictive model is trained using training data selected as indicated by the third indicator.
In operation 316, the output data is predicted with the validation data selected as indicated by the fourth indicator as input to the trained predictive model. In operation 318, the predicted output data is compared to the actual output data included with the verification data. In operation 320, a validity score is determined based on the comparison. In operation 322, the determined validity score is stored, for example, in the computer-readable medium 208 in association with an indicator of the selected predictive model.
In operation 324, a determination is made as to whether there is another predictive model to evaluate. When there is another predictive model to evaluate, processing continues in operation 310. When there is no other predictive model to evaluate, processing continues in operation 326. In operation 310, a next predictive model is selected based on the first indicator.
In operation 326, an optimal prediction model for each of the one or more control variables to predict is selected. For example, the goodness scores stored for each iteration of operation 322 are compared and the prediction model associated with the best goodness score is selected. The optimal significance score may be the minimum or maximum value of the significance score stored for each iteration of operation 322. For example, if the validity score is a false positive, then the minimum validity score indicates the best model; whereas if the validity score is the correct recognition rate, the maximum validity score indicates the optimal model.
In operation 328, the selected optimal predictive model is stored, for example, in the computer-readable medium 208. The selected predictive model may be stored in connection with a particular drilling location, a particular drilling site, a particular type of drilling environment, and so forth. The selected predictive model is stored as predictive model 225. A different prediction model 225 may be defined for each of the one or more control variables to be predicted.
In operation 330, fifth indicators of the one or more types of objective function models and configurations are received. The fifth indicator may indicate that the objective function model maximizes drilling rate, minimizes mechanical specific energy, and/or optimizes wellbore stability. For example, the fifth indicator indicates the name of the objective function model and the type of the one or more control variables to be maximized/minimized/optimized. For purposes of illustration, the names may be "neural network," "linear regression," "nonlinear regression," "support vector machine," "decision tree," "least squares," "gradient asymptote," and the like. Some configuration identifies one or more initialization values based on the type of the objective function model. For example, when the type of the objective function model is identified as "neural network", the first indicator may identify the number of hidden layers, the number of nodes per layer, the propagation method, and the like. A variety of configurations may be defined. For example, when the type of objective function model is a neural network, the first indicator may also identify a range of numbers of hidden layers, a range of numbers of nodes per layer, and so on.
For example,Enterprise MinerTMvarious types of objective function models are included for neural networks (automatic, DMNeural, neural), decision trees (decision trees, gradient asymptotes), regression models (Dmine regression, Least Angle Regression (LARS), regression), k-nearest neighbor models (memory-based reasoning (MBR)), least squares models (least squares), Support Vector machines (Support Vector machines), Ensemble models (ensembles) integrated to define predictive models, and so forth.
As an example of this, the following is given,Enterprise MinerTMincluding a neural network program PROCNEURAL that can be used to configure, initialize, train, predict, and score neural network models. The input node may be an input variable, e.g. lift load, inflow fluid velocityRate, outgoing fluid rate, pump pressure, surface torque, rotational speed of the drill pipe, annulus pressure, bit type, applied electrical power, applied hydraulics, and workover design. The output node may be a predicted set point to control the inflow fluid rate, the outflow fluid rate, the surface torque force, and the rotational speed of the drill pipe to maximize the rate of penetration, minimize the mechanical specific energy, and/or optimize the wellbore stability. To illustrate, the objective function model may be implemented as a neural network with two or three hidden nodes, feed-forward adaptation, supervised learning mode, and back propagation to perform sensitivity analysis that determines how each input variable affects the output nodes to maximize rate of penetration, minimize mechanical specific energy, and/or optimize wellbore stability.
The fifth indicator may be received by model definition application 222, for example, after selection from the user interface window or after user input into the user interface window. Default values for the types of objective function models and configurations may further be stored, for example, in the computer-readable medium 208. In alternative embodiments, the type of objective function model and configuration may not be selectable. Operations 302 through 328 are repeated with the prediction model replaced with the objective function model to select the optimal objective function model instead of the optimal prediction model. The selected optimal objective function model is stored as the objective function model 224.
Clustering analysis of the data may be used to stratify actual results to evaluate the predictive model 225 and/or the objective function model 224 under operating conditions. The clustering analysis may be used to select variables in operation 304 and to select the predictive model 225 and/or the objective function model 224 in operation 326. The type of cluster analysis may be selected based on the target geological and mechanical aspects of the wellbore design. As an example, if drilling a well below a rock formation, the type of cluster analysis model may be different from the type of cluster analysis model used when drilling a well in sand. A variety of neural networks may be used such that one neural network provides an input to another neural network.
To illustrate, a predictive model may be selected for multiple solutions (e.g., mechanical specific energy, rate of penetration, and hydraulic wellbore stability) in operation 324. Predicted values for mechanical specific energy, rate of penetration, and hydraulic wellbore stability may be input to an objective function model that determines optimal values for surface control input variables, such as hook load, inflow fluid rate, outflow fluid rate, surface torque, rotational speed of the drill pipe, and annular pressure to achieve the predicted mechanical specific energy, rate of penetration, hydraulic wellbore stability, and equivalent circulating density.
Referring to FIG. 4, a block diagram of an optimization apparatus 400 is shown in accordance with an illustrative embodiment. The optimization device 400 can include a second input interface 402, a second output interface 404, a second communication interface 406, a second computer-readable medium 408, a second processor 410, a predictive model 225, an objective function model 224, control data 414, sensing data 412, and an optimization model 416. Fewer, different, and/or additional components may be incorporated into the optimization device 400.
After selection using the model definition device 200, the prediction model 225 and/or the objective function model 224 may be stored in the second computer-readable medium 408 and/or accessed by the optimization device 400 through the second communication interface 406. The model definition device 200 and the optimization device 400 may be integrated into the same computing device. The model definition device 200 and the optimization device 400 may be different computing devices. The optimization device 400 may be located on a rig of the plurality of rigs 101 or remotely from the plurality of rigs 101. The optimization apparatus 400 may be located on a different rig than the plurality of rigs 101 in which data is stored in the data warehouse 112. The data generated by the optimization device 400 may be stored in the data repository 112 through the second communication interface 406.
Although referred to as the optimization apparatus 400, the second input interface 402 provides functionality that is the same or similar to that described with reference to the input interface 202 of the model definition apparatus 200. Although referred to as the optimization apparatus 400, the second output interface 404 provides functionality that is the same or similar to that described with reference to the output interface 204 of the model definition apparatus 200. Although referred to as the optimization apparatus 400, the second communication interface 406 provides functionality that is the same or similar to that described with reference to the communication interface 206 of the model definition apparatus 200. Data and messages may be transmitted between the optimization device 400 and the drilling operation control 228 and/or the drilling operation sensors 226 using the second communication interface 406. Data and messages may be transmitted between the optimization device 400 and the drilling operation control 228 and/or the drilling operation sensors 226 using the second input interface 402 and/or the second output interface 404. Although referred to as the optimization device 400, the second computer-readable medium 408 provides functionality that is the same as or similar to that described with reference to the computer-readable medium 208 of the model definition device 200. Although referred to as the optimization apparatus 400, the second processor 410 provides functionality identical or similar to that described with reference to the processor 210 of the model definition apparatus 200.
The optimization model 416 supports the determination of optimal values for control of the drilling operation using the sensed data 412 measured during the drilling operation and the control data 414 generated during the drilling operation. Some or all of the operations described herein may be embodied in the optimization model 416. The operations of the optimization model 416 may be implemented using hardware, firmware, software, or any combination of such methods. Referring to the example embodiment of fig. 4, the optimization model 416 is implemented in software (including computer-readable and/or computer-executable instructions) stored in the second computer-readable medium 408 and accessible by the second processor 410 to execute instructions embodying the operations of the optimization model 416. The optimization model 416 can be written using one or more programming languages, assembly languages, scripting languages, and the like. The optimization model 416 may be implemented as a web application.
Referring to FIG. 5, example operations associated with the optimization model 416 are described. Additional, fewer, or different operations may be performed depending on the embodiment. The order in which the operations of fig. 5 are presented is not intended to be limiting. While some flows of operations are presented in order, various operations may be performed in various iterations, concurrently (e.g., using threads), and/or in other orders than those illustrated.
In operation 500, an initial rate of penetration chart is defined for a selected rig. For example, input variables that depict drilling conditions encountered during an expected drilling process are input to the predictive model 225 and/or the objective function model 224 to define an initial rate of penetration graph.
Referring to FIG. 6, a plot of rate of penetration is shown in accordance with an illustrative embodiment. The rate of penetration graph may include a designed rate of penetration (ROP) curve 600, an upper ROP curve 602, a lower ROP curve 604, an actual ROP curve 606, a predicted ROP curve 608, and an optimal ROP curve 610. The design ROP curve 600 may be defined as input variables to the optimization model 416 that are used to describe the drilling conditions encountered during the anticipated drilling process. The rate of penetration graph shown in fig. 6 represents the final ROP after drilling is complete. The initial ROP plot may include a planned ROP curve 600, an upper ROP curve 602, and a lower ROP curve 604.
The upper ROP curve 602 and the lower ROP curve 604 may be calculated using statistical probability limits. To illustrate, the upper ROP curve 602 and the lower ROP curve 604 may be determined using houhart (shewhhart) equations as understood by those skilled in the art. The upper ROP curve 602 and the lower ROP curve 604 may be associated with "western electrical rules" that are traditionally referred to by those of skill in the art as being created by shehatter for creating alarms.
Actual ROP curve 606 shows the actual ROP incurred during the drilling operation from start to finish. Predicted ROP curve 608 illustrates the ROP predicted using predictive model 225 of the predicted ROP during a drilling operation. The predicted ROP curve 608 may be calculated using a predictive model determined for ROP. The optimal ROP curve 610 shows the optimal ROP determined using the objective function model 224 in the optimization model 416. The optimal ROP curve 610 may be calculated using an optimization model determined for ROP.
Referring again to FIG. 5, in operation 502, control data 414 and sense data 412 are received. For example, the control data 414 and the sensed data 412 associated with the input variables indicated in operation 304 are the drilling operation control 228 and the drilling operation sensor 226, respectively, received in real time or near real time from indicating and measuring current control variable values for the drilling operation.
In operation 504, selected objective function model determinations are performed by taking received control data 414 and sense data 412 as inputsSet points for one or more controls of the drilling operation are specified. The determined set points for the control variables seek to maximize rate of penetration, minimize mechanical specific energy, and/or optimize wellbore stability. As an example, developed and offered by SAS Institute of carry, north carolina, usaThe OR comprises an OPTMODEL program that provides a framework for specifying and solving the objective function model 224. Example controls include controlling the inflow fluid rate, the outflow fluid rate, the surface torque, and the rotational speed of the drill pipe for a drilling operation.
In operation 506, the determined set points for the one or more controls of the drilling operation are output. For example, the determined setpoints for one or more controls of the drilling operation may be output to the display 216, the speaker 218, and/or the printer 220 for inspection by the user. As yet another example, the determined setpoints for one or more controls of the drilling operation may be output to a control device associated with adjusting the setpoints for each control. When the determined setpoint is greater than the current setpoint for control, the value for control may be increased; and when it is determined that the set point is less than the current set point for control, the value for control may be decreased.
In operation 508, the predicted ROP curve 608 and the optimal ROP curve 610 in the ROP plot are updated to reflect changes in the predicted values and the optimal values based on the determined set points for the one or more controls of the drilling operation. In operation 510, an updated ROP table is output. For example, the updated ROP chart may be output to the display 216 and/or the printer 220 for review by the user.
In operation 512, a determination is made as to whether to perform an update to the objective function model 224 or to the prediction model 225 for any of the control variables to be predicted. An indicator may be received indicating that an update is performed on one or more of the models. For example, the objective function model 224 and/or the predictive model 225 may be updated periodically (e.g., every second, every minute, every hour, every day, every week, every month, every year, etc.). The timer may trigger the reception of the indicator. The user may trigger the reception of the indicator. For example, a user may monitor drilling control variables such as an updated ROP chart and determine to perform an update. If it is determined that an update is to be performed, processing continues in operation 514 to update one or more of the models. If it is determined that no update is to be performed, processing continues in operation 502 to continue processing control data 414 and sense data 412 as control data 414 and sense data 412 are received in real-time.
In operation 514, the one or more models are updated, such as by updating data stored in the data repository 112 and repeating one or more of operations 302-328 on the objective function model 224 and/or the predictive model 225. For example, operations 310 through 328 may be repeated. In addition to the data measured and stored in the data store 112 after the last iteration of operation 328, the one or more models may be updated using the data stored in the data store 112 in the previous iteration of operation 328.
Referring to FIG. 7, a block diagram of a drilling system 700 is shown in accordance with an illustrative embodiment. The drilling system 700 may include a first drilling rig 102, a network 110, and a model definition device 200. Fewer, different, and/or additional components may be incorporated into the drilling system 700. The first drilling rig 102 may include drilling operation sensors 226, drilling operation control parameters 228 that generate control data 414, a rig control interface device 704, a local data aggregator 706, an Event Stream Processing (ESP) device 708, a visualization system 710, and a second network 712. The rig control interface device 704 may be configured to receive data from the drilling operation sensors 226 and the drilling operation control parameters 228. The received data may be aggregated on a pre-stored rig aggregator, such as a local data aggregator 706 as understood by those skilled in the art. The visualization system 710 provides a display regarding the current status of the first drilling rig 102. For example, the visualization system 710 may present the ROP chart of fig. 6 to the operator of the first drilling rig 102, in addition to other current control setpoint values.
The second network 712 may include one or more networks of the same or different types. The second network 712 may be any type or combination of wired and/or wireless public or private networks, including a cellular network, a local area network, a wide area network such as the internet, and so forth. The second network 712 further may comprise a sub-network and be comprised of any number of devices. Although the connections made through the second network 712 are not explicitly shown in the illustrative embodiment of fig. 7, one or more of the components of the drilling system 700 may communicate using the second network 712 including various transmission media that may be wired and/or wireless as understood by those skilled in the art. One or more of the components of the drilling system 700 may be directly connected or integrated into one or more computing devices.
Referring to fig. 8, a block diagram of an ESP device 708 is shown in accordance with an illustrative embodiment. ESP device 708 may include a third input interface 800, a third output interface 802, a third communication interface 804, a third computer-readable medium 806, a third processor 808, and an ESP application 810. Fewer, different, and/or additional components may be incorporated into ESP device 708.
Although referred to as ESP device 708, the third input interface 800 provides functionality that is the same or similar to that described with reference to the input interface 202 of the model definition device 200. Although referred to as ESP device 708, third output interface 802 provides functionality that is the same or similar to that described with reference to output interface 204 of model definition device 200. Although referred to as ESP device 708, third communication interface 804 provides functionality that is the same or similar to that described with reference to communication interface 206 of model definition device 200. Data and messages may be transmitted between ESP device 708 and model definition device 200, drill control interface device 704, and/or visualization system 710 using second communication interface 804. Although referred to as ESP device 708, the third computer-readable medium 806 provides functionality that is the same as or similar to that described with reference to the computer-readable medium 208 of the model definition device 200. Although referred to as ESP device 708, third processor 808 provides functionality identical or similar to that described with reference to processor 210 of model definition device 200.
ESP application 810 performs operations associated with executing the operations of optimization model 416 in real-time or near real-time. Some or all of the operations described herein may be embodied in ESP application 810. The operations may be implemented using hardware, firmware, software, or any combination of such methods. Referring to the example embodiment of fig. 8, ESP application 810 is implemented in software (comprising computer-readable and/or computer-executable instructions) stored in third computer-readable medium 806 and accessible by third processor 808 to perform instructions embodying the operation of ESP application 810. ESP application 810 may be written using one or more programming languages, assembly languages, scripting languages, and the like. ESP application 810 may be based on an event stream processing engine developed and provided by SAS Institute of carry, north carolina, usa.
Referring to FIG. 9, example operations associated with ESP application 810 are described. Additional, fewer, or different operations may be performed depending on the embodiment. The order in which the operations of fig. 9 are presented is not intended to be limiting. While some flows of operations are presented in order, various operations may be performed in various iterations, concurrently (e.g., using threads), and/or in other orders than those illustrated.
In operation 900, an ESP application instance is instantiated at ESP device 708. In the illustrative embodiment, an engine container is created, which exemplifies an ESP engine (ESPE). The components of the ESPE executing at ESP device 708 may include one or more engineering projects. An engineering project may be described as a second level container in a model managed by ESPE, where the thread pool size of the engineering project may be defined by a user. The engine container is a top-level container in the model that manages the resources of the one or more engineering projects. Each engineering project of the one or more engineering projects may include one or more consecutive queries, also referred to as models. The one or more consecutive queries may include one or more source windows and one or more derivative windows. In the illustrative embodiment, there is only one ESPE per instance of ESP application 810, for example. ESPE may or may not be durable.
Continuing query modeling involves defining a directed graph of windows for event stream manipulation and transformation. The continuous query may be described as a directed graph of source windows, relationship windows, pattern matching windows, and program windows. The one or more source windows and the one or more derivative windows represent continuously executing queries that generate updates to the query result set as new event blocks stream through the ESPE.
An event object may be described as a data packet accessible as a set of fields, where at least one of the fields is defined as a key or a unique Identifier (ID). Event objects may be created using various formats including binary, alphanumeric, XML, and the like. Each event object may include one or more fields designated as the primary ID of the event, so ESPE may support operation codes (opcodes) for events including insert, update/insert (uplet), and delete. Update/insert opcode update event if the key field already exists; otherwise, an event is inserted. To illustrate, an event object may be a packed binary representation of a set of field values and include both metadata and field data associated with an event. The metadata may include an operation code indicating whether the event represents an insert, update, delete, or update/insert, a set of flags indicating whether the event is normal, partially updated, or save generated events from a save policy management, and a set of microsecond timestamps that may be used for latency measurements.
Event block objects may be described as groupings or wrappers of event objects. An event stream may be described as a continuous stream of event block objects. A successive query of the one or more successive queries transforms a source event stream composed of stream event block objects published into ESPE into one or more output event streams using the one or more source windows and the one or more derivative windows. Continuous queries can also be considered data flow modeling.
The one or more source windows are at the top of the directed graph and where no window feeds. An event stream is published into the one or more source windows, and the event stream is directed from the one or more windows to a next set of connection windows as defined by the created drilling model. The one or more derivative windows are all exemplary windows that are not source windows and have other windows streaming events therein. The one or more derivative windows perform calculations or transformations on the incoming event stream. The one or more derivative windows transform the event stream based on window type (i.e., operators, such as join, filter, compute, aggregate, copy, pattern match, procedure, union, etc.) and window settings. As event streams are published into ESPEs, they are continuously queried and the resulting set of derived windows in such queries is continuously updated.
The one or more consecutive queries are exemplified by ESPE as a model. To illustrate, the one or more consecutive queries may be defined to apply one or more of the operations of optimization model 416 within ESPE (e.g., operations 504 and 508 of fig. 5) to sensed data 412 and/or control data 414 that is streamed to ESP device 708 and to output the determined setpoints and updated rate of penetration plots to visualization system 710 and/or rig control interface device 704. To create a continuous query, an input event structure of a pattern having keys flowing into the one or more source windows is identified. Output event structures are also identified that also have patterns of keys to be generated by the one or more source windows and/or the one or more derivative windows. The one or more source windows and the one or more derivative windows are created based on relationships, pattern matching, and program algorithms that transform input event streams into output event streams.
ESPE can analyze and process events in motion or "event streams". ESPE can store queries and stream data by querying to allow continuous analysis of data as it is received, rather than storing data and running queries against stored data.
Publish/subscribe (pub/sub) capabilities are initialized for ESPE. In an illustrative embodiment, a publish/subscribe capability is initialized for each of the one or more engineering projects. To initialize and enable the publish/subscribe capability of the ESPE, a port number is provided. The publish/subscribe client uses the port number to establish a publish/subscribe connection to the ESPE. One or more successive queries, exemplified by ESPE, analyze and process the input event stream to form an output event stream that is output to the event subscribing device.
A publish/subscribe Application Programming Interface (API) may be described as a library that enables event publishers (e.g., rig control interface device 704, local data aggregator 706, and/or model definition device 200) to publish event streams into ESPEs or event subscribers (e.g., visualization system 710 and rig control interface device 704) to subscribe to event streams from ESPEs. The publish/subscribe API provides cross-platform connectivity and endian compatibility between ESP application 810 and other networked applications. The publish/subscribe API may contain an ESP object support library so event publishers or event subscribers can create or manipulate events that they send or receive, respectively. For example, rig control interface device 704 may use a publish/subscribe API to send streams of event blocks (event block streams) into an ESPE, and visualization system 710 may use a publish/subscribe API to receive streams of event blocks from an ESPE.
In operation 902, the ESPE receives one or more event blocks that include control data 414 and/or sense data 412. An event block object containing one or more event objects is injected into a source window of the one or more source windows.
In operation 904, the event block is processed by one or more operations of the optimization model 416 executing within the ESPE. In operation 906, the second event block is sent to the visualization system 710. For example, the rate of penetration chart may be updated and output in one or more event blocks that are sent to the visualization system 710 for review by an operator.
As another example, control values may be calculated and output in one or more event blocks and sent to the rig control interface device 704 in operation 908, which may control changes in setpoints for control of the drilling operation control parameters 228.
Similar to operation 512, in operation 910, a determination is made as to whether to perform an update to the objective function model 224 or to the prediction model 225 for any of the control variables to be predicted. If it is determined that the update is performed, processing continues in operation 912. If it is determined that no update is to be performed, processing continues in operation 902 to continue processing control data 414 and sense data 412 as control data 414 and sense data 412 are received in real-time.
In operation 912, the engineering project is stopped. In operation 914, the objective function model 224 and/or the predictive model 225 of the optimization model 416 are updated according to the model definition device 200. In operation 916, the engineering project in the ESPE is restarted with the updated optimization model 416 received from the model definition device 200, and processing continues in operation 902 to continue processing the control data 414 and the sensed data 412 as the control data 414 and the sensed data 412 are received in real time.
The word "illustrative" is meant herein to be used as an example (example), instance (instance), or illustration. Any aspect or design described herein as "illustrative" is not necessarily to be construed as preferred or advantageous over other aspects or designs. Furthermore, for purposes of this disclosure and unless otherwise specified, "a" or "an" means "one or more. Further, the use of "and" or "in the detailed description is intended to include" and/or "unless specifically indicated otherwise. The illustrative embodiments may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement the disclosed embodiments.
The foregoing description of illustrative embodiments of the disclosed subject matter has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the disclosed subject matter to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of the disclosed subject matter. The embodiments were chosen and described in order to explain the principles of the disclosed subject matter and were described as practical applications of the disclosed subject matter to enable one skilled in the art to utilize the disclosed subject matter in various embodiments and with various modifications as are suited to the particular use contemplated.
Claims (25)
1. A non-transitory computer-readable medium having stored thereon computer-readable instructions that, when executed by a computing device, cause the computing device to:
receiving historical drilling data from a previous drilling operation, wherein the historical drilling data includes a plurality of values measured for each of a plurality of drilling control variables during the previous drilling operation;
determining an objective function model using the received historical drilling data and a neural network model, wherein the objective function model maximizes a rate of penetration for the previous drilling operation;
receiving measured drilling data including current drilling data values for a different drilling operation, wherein the different drilling operation means that a wellbore of the different drilling operation is different from a wellbore of the previous drilling operation;
determining optimal values for control of the different drilling operations by executing the determined objective function model with the measured drilling data including the current drilling data values for the different drilling operations as inputs;
outputting the determined optimal values for the control of the different drilling operations;
receiving additional drilling data, wherein the additional drilling data includes a second plurality of values measured for each of the plurality of drilling control variables, wherein the additional drilling data is measured after outputting the determined optimal values for the control of the different drilling operation;
determining a second objective function model using the received additional drilling data, wherein the second objective function model maximizes a rate of penetration for the previous drilling operation;
receiving second measured drilling data comprising second current drilling data values for the different drilling operations;
determining a second optimal value for the control of the different drilling operation by executing the determined second objective function model with the second measured drilling data comprising the second current drilling data value for the different drilling operation as input; and
outputting the determined second optimal value for the control of the different drilling operation.
2. The non-transitory computer-readable medium of claim 1, wherein the objective function model is determined by evaluating a plurality of neural network model configurations.
3. The non-transitory computer-readable medium of claim 1, wherein determining the objective function model comprises:
defining a training data set as a first portion of the received historical drilling data;
defining a validation dataset as a second portion of the received historical drilling data;
defining a first neural network model configuration;
training a first neural network model based on the defined first neural network model configuration using the defined training dataset;
predicting model output data with the defined validation dataset as an input to the trained first neural network model;
comparing the predicted model output data to output data of the validation data set; and
determining a first validity score for the trained first neural network model based on comparing the predicted model output data to output data of the validation data set.
4. The non-transitory computer-readable medium of claim 1, wherein a predictive model is determined using the received historical drilling data, wherein the predictive model predicts values of control variables input to the determined objective function model.
5. The non-transitory computer-readable medium of claim 1, wherein the objective function model further minimizes a mechanical specific energy for the previous drilling operation.
6. The non-transitory computer-readable medium of claim 1, wherein the objective function model further optimizes the wellbore stability of the previous drilling operation.
7. The non-transitory computer-readable medium of claim 1, wherein the determined optimal value is output to a display device.
8. The non-transitory computer-readable medium of claim 1, wherein the determined optimal value is output to a control device associated with adjusting a setpoint of the control.
9. The non-transitory computer-readable medium of claim 3, wherein determining the objective function model further comprises:
defining a second neural network model configuration;
training a second neural network model based on the defined second neural network model configuration using the defined training dataset;
predicting second model output data with the defined validation dataset as an input to the trained second neural network model;
comparing the predicted second model output data to the output data of the validation data set; and
determining a second validity score for the trained second neural network model based on comparing the predicted second model output data to the output data of the validation data set.
10. The non-transitory computer-readable medium of claim 4, wherein the computer-readable instructions further cause the computing device to determine a current predicted value of the control variable input to the determined objective function model, wherein the determined objective function model is further executed with the current predicted value as an input.
11. The non-transitory computer-readable medium of claim 4, wherein the predictive model is determined using a decision tree model.
12. The non-transitory computer-readable medium of claim 5, wherein the objective function model further optimizes the wellbore stability for the prior drilling operation.
13. The non-transitory computer-readable medium of claim 9, wherein the objective function model is determined to be the trained first neural network model or the trained second neural network model based on a comparison between the determined first significance score and the determined second significance score.
14. A computing device, comprising:
a processor; and
a non-transitory computer-readable medium operably coupled to the processor, the computer-readable medium having stored thereon computer-readable instructions that, when executed by the processor, cause the computing device to
Receiving historical drilling data from a previous drilling operation, wherein the historical drilling data includes a plurality of values measured for each of a plurality of drilling control variables during the previous drilling operation;
determining an objective function model using the received historical drilling data and a neural network model, wherein the objective function model maximizes a rate of penetration for the previous drilling operation;
receiving measured drilling data comprising current drilling data values for different drilling operations;
determining optimal values for control of the different drilling operations by executing the determined objective function model with the measured drilling data including the current drilling data values for the different drilling operations as inputs;
outputting the determined optimal values for the control of the different drilling operations;
receiving additional drilling data, wherein the additional drilling data includes a second plurality of values measured for each of the plurality of drilling control variables, wherein the additional drilling data is measured after outputting the determined optimal values for the control of the different drilling operation;
determining a second objective function model using the received additional drilling data, wherein the second objective function model maximizes a rate of penetration for the previous drilling operation;
receiving second measured drilling data comprising second current drilling data values for the different drilling operations;
determining a second optimal value for the control of the different drilling operation by executing the determined second objective function model with the second measured drilling data comprising the second current drilling data value for the different drilling operation as input; and
outputting the determined second optimal value for the control of the different drilling operation.
15. The computing device of claim 14, wherein a predictive model is determined using the received historical drilling data, wherein the predictive model predicts values of control variables input to the determined objective function model.
16. The computing device of claim 14, wherein the objective function model further minimizes a mechanical specific energy for the previous drilling operation.
17. The computing device of claim 16, wherein the objective function model further optimizes the wellbore stability of the previous drilling operation.
18. The computing device of claim 15, wherein the computer-readable instructions further cause the computing device to determine a current predicted value of the control variable input to the determined objective function model, wherein the determined objective function model is further executed with the current predicted value as an input.
19. The computing device of claim 18, wherein the predictive model is determined using a decision tree model.
20. A method of determining an optimal value for control of a drilling operation, the method comprising:
receiving historical drilling data from a previous drilling operation, wherein the historical drilling data includes a plurality of values measured for each of a plurality of drilling control variables during the previous drilling operation;
determining, by a computing device, an objective function model using the received historical drilling data and a neural network model, wherein the objective function model maximizes a rate of penetration for the previous drilling operation;
receiving measured drilling data comprising current drilling data values for different drilling operations;
determining, by the computing device, optimal values for control of the different drilling operations by executing the determined objective function model with the measured drilling data including the current drilling data values for the different drilling operations as input; and
outputting, by the computing device, the determined optimal values for the control of the different drilling operations;
receiving additional drilling data, wherein the additional drilling data includes a second plurality of values measured for each of the plurality of drilling control variables, wherein the additional drilling data is measured after outputting the determined optimal values for the control of the different drilling operation;
determining, by the computing device, a second objective function model using the received additional drilling data, wherein the second objective function model maximizes a rate of penetration for the previous drilling operation;
receiving second measured drilling data comprising second current drilling data values for the different drilling operations;
determining, by the computing device, a second optimal value for the control of the different drilling operation by executing the determined second objective function model with the second measured drilling data including the second current drilling data value for the different drilling operation as input; and
outputting, by the computing device, the determined second optimal value for the control of the different drilling operation.
21. The method of claim 20, wherein a predictive model is determined using the received historical drilling data, wherein the predictive model predicts values of control variables input to the determined objective function model.
22. The method of claim 20, wherein the objective function model further minimizes a mechanical specific energy for the previous drilling operation.
23. The method of claim 21, wherein the computer-readable instructions further cause the computing device to determine a current predicted value of the control variable input to the determined objective function model, wherein the determined objective function model is further executed with the current predicted value as an input.
24. The method of claim 21, wherein the predictive model is determined using a decision tree model.
25. The method of claim 22, wherein the objective function model further optimizes the wellbore stability of the previous drilling operation.
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201361879933P | 2013-09-19 | 2013-09-19 | |
| US61/879,933 | 2013-09-19 | ||
| US14/490,189 | 2014-09-18 | ||
| US14/490,189 US9085958B2 (en) | 2013-09-19 | 2014-09-18 | Control variable determination to maximize a drilling rate of penetration |
| PCT/US2014/056455 WO2015042347A1 (en) | 2013-09-19 | 2014-09-19 | Control variable determination to maximize a drilling rate of penetration |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1217744A1 HK1217744A1 (en) | 2017-01-20 |
| HK1217744B true HK1217744B (en) | 2018-04-13 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN105473812B (en) | Control variable to maximize drilling well drilling speed is determined | |
| US9163497B2 (en) | Fluid flow back prediction | |
| US7861800B2 (en) | Combining belief networks to generate expected outcomes | |
| US10185786B2 (en) | Method and analysis for holistic casing design for planning and real-time | |
| US20200040719A1 (en) | Machine-Learning Based Drilling Models for A New Well | |
| CN104024572A (en) | Method and system for predicting drill string stuck pipe event | |
| US11512573B2 (en) | Stimulation using fiber-derived information and fracturing modeling | |
| WO2017059152A1 (en) | Self-organizing swarm intelligent wells | |
| CN112507505B (en) | Method and system for integrated well construction | |
| US20160187508A1 (en) | System and method of facilitating the retrieval and analysis of data | |
| WO2023133213A1 (en) | Method for automated ensemble machine learning using hyperparameter optimization | |
| CN105209714A (en) | Compiling drilling scenario data from disparate data sources | |
| WO2024044111A1 (en) | Method and system for generating predictive logic and query reasoning in knowledge graphs for petroleum systems | |
| US11599955B2 (en) | Systems and methods for evaluating and selecting completion equipment using a neural network | |
| US20240403775A1 (en) | Predicting well performance from unconventional reservoirs with the improved machine learning method for a small training data set by incorporating a simple physics constrain | |
| HK1217744B (en) | Control variable determination to maximize a drilling rate of penetration | |
| HK1216932B (en) | Fluid flow back prediction | |
| CA2864265A1 (en) | Control parameter determination in steam assisted gravity drainage oil drilling |