enhance & accelerate sensitivity analysis, history matching, … · 2017. 1. 16. · calculate...
TRANSCRIPT
Enhance & Accelerate Sensitivity Analysis, History Matching, Optimization & Uncertainty Analysis Using CMOST
© COPYRIGHT 2013. COMPUTER MODELLING GROUP LTD.
™ Trademark of Computer Modelling Group Ltd. All other company, product, and service names may be trademarks or registered trademarks, and are the property of their respective owners.
Outline
• What is CMOST • CMOST Input Data Features • CMOST Technologies • CMOST Data Analytics • CMOST Workflows • Summary
What is CMOST? - Productivity Sensitivity Analysis • Better understanding of a simulation model • Identify important parameters
History Matching • Calibrate simulation model with field data • Obtain multiple history-matched models
Optimization • Improve NPV, Recovery, … • Reduce cost
Uncertainty Analysis • Quantify uncertainty • Understand and reduce risk
CMOST View of Simulation Models
Simulation Model y1=f1(x1, x2, …, xn) y2=f1(x1, x2, …, xn)
… ym=f1(x1, x2, …, xn)
Parameters x1, x2, …, xn
Objective Functions y1, y2, …, yn
Black Box System
CMOST User Interface
CMOST INPUT DATA FEATURES Quality Data
Quality Result
How Input Data is Organized
Define what data to be extracted from simulation
Define how the simulation model is parameterized
Define objective functions to be calculated
Original Time Series
User-defined Time Series
Property vs. Distance Data Series
Easy Parameterization of Simulation Model • Complementary to Builder • Create CMOST parameters • Better syntax highlighting
– Highlight CMOST parameters – Fold no-need-to-see sections
• Easy navigation – Different sections of the
dataset – Navigate CMOST parameters
• Handle include files – Create/extract include files – View include files – Parameterize include files
Dependent Parameters using Formula • Syntax highlighting • Shows what variables are available to be used
to create formulas • Test and check the formula anytime
Coupling with Geological Software through Pre-simulation Commands
Geological model Simulation model
Simulation model
Third-party package
Third-party package
Objective Functions
Characteristic Date Times
• Fixed date times • Dynamic date times
o From original time series o From user-defined time
series
Basic Simulation Result • From original time series • From user-defined time
series • Characteristic time durations
History Matching Error • For original time series • For user-defined time series • For property vs. distance
series
Net Present Value
• Continuous cash flow terms • Discrete cash flow terms
Advanced
• Calculated by user Jscript code
• Calculated by Excel • Calculated by user
Executable
Global Objective Functions
• Nominal o Entire field HM error o Entire field NPV o User-defined
• Robust (coming soon) o Standard statistical
measures o User-defined
Dynamic Date Times: Maximize Peak NPV
Peak NPV
Dynamic Date Times: Plateau Optimization
Plateau period Oil produced at plateau Average oil rate at plateau
User-defined Objective Functions
• Use Excel spreadsheet – Map CMOST parameter values to cells – Map simulation results to cells
• Use Jscript code • Use executable provided by user (e.g. MATLAB) • Preview calculation result using base case
CMOST TECHNOLOGIES • Design of Experiments • Optimization Algorithms • Monte Carlo Simulation • Data-Driven Prediction • Distributed Computing
Design of Experiments • A structured, organized
method to determine the relationship between:
– Different variables (Xs) affecting a process
– The outputs of that process (Ys)
• An efficient strategy to gather empirical knowledge – Knowledge based on the analysis of experimental
(simulation) data
Experimental Design Methods in CMOST • Two-level classical experimental designs
– Plackett-Burman design – Fractional factorial design
• Three-level classical experimental designs – Full factorial design – Box-Behnken design – Central composite design (CCD)
• Latin hypercube design – Any number of parameters – Mixture of continuous and discrete parameters – Continuous parameter sampling options
Continuous uniform sampling Continuous sampling honoring prior distribution Discrete uniform sampling
– Discrete parameter sampling options Treat discrete values equally probable Honor prior distribution of discrete values
Recommendations
• Sensitivity analysis • Two-level classical experimental designs • Three-level classical experimental designs • Latin hypercube design
• Uncertainty analysis • Three-level classical experimental designs • Latin hypercube design
Optimization Algorithms
• CMG DECE (Design Exploration Controlled Evolution)
• Particle Swarm Optimization (PSO) • Latin Hypercube plus Proxy Optimization • Random Brute Force Search • Differential Evolution (coming soon)
DECE: Designed Exploration Controlled Evolution
Run simulations using the design
Get initial set of training data
Run simulations
Satisfy stop criteria?
Stop
Add new solutions to training data
Generate initial Latin hypercube design
Yes
No
Exploration (get more information)
Exploitation (find optimum) Success?
Yes
No
DECE Characteristics • Handles continuous & discrete parameters • Handles hard constraints • Asynchronous – complete utilization of distributed
computing power • Fast and stable convergence
PSO Optimization Algorithm
25
• A population based stochastic optimization technique developed in 1995 by James Kennedy and Russell Eberhart
• Let particles move towards the best position in search space, remembering each local (particle’s) best known position and global (swarm’s) best known position.
Latin Hypercube plus Proxy Optimization Algorithm
Run simulations using the design
Get initial set of training data
Build a proxy model using training data
Find possible optimum solutions using proxy
Run simulations using these possible solutions
Satisfy stop criteria?
Stop
Add validated solutions to training data
Generate initial Latin hypercube design
• Polynomial • Ordinary kriging
Yes
No
Latin Hypercube Plus Proxy Optimization
Latin hypercube design
Optimization using proxy
Random Brute Force Search • Choose parameter value randomly • No trend to results (scatter) • Only use if search space is small
Monte Carlo simulation: method for analyzing uncertainty propagation
Define parameter probability distributions Pick random values and calculate NPV (using proxy or simulator) Repeat for thousands of iterations
DWOC
8281 83
p
DWOC
DWOC
8281 83
p
DWOC
SORG
0.300.25 0.35
p
SORG
SORG
0.300.25 0.35
p
SORG
SORW
0.300.25 0.35
p
SORW
SORW
0.300.25 0.35
p
SORW
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26Net present value (M$)
NPV=F(DWOC, SORG, SORW, …)
Probability Distributions in CMOST
Normal Lognormal Triangle
Uniform Custom Discrete
Parameter Correlations in Monte Carlo Samples
0.0 0.25
0.50 0.75
Data-driven Prediction
• Use proxy models to quickly predict reservoir response
• Choose different types of proxy models – Polynomial – Ordinary kriging – Polynomial + ordinary kriging – Kernel
• Excellent tool for what-if analyses & team discussions
Proxy Dashboard Movie
Run Simulation to Verify Proxy Prediction
New Experiment New Parameter & Objective Function
Values
Distributed Computing
• CMG Scheduler • Microsoft HPC • IBM Platform LSF • Oracle Grid Engine • Portable Batch System (PBS/TORGUE)
CMOST DATA ANALYTICS
Patterns
CMOST Data
Analytics
Trends Relationships
Decisions Ideas
How Data Flows in CMOST
CMOST Experiment Table
Data Filtering & Compression
Capable of storing results for thousands of simulations
Parameter Run Progress
Objective Function Run Progress
Time Series Observers
Property vs. Distance Series Observers
Parameter & Objective Function Histograms
Cross Plots
Proxy Model QC
Proxy Model Statistics
Proxy Model Effect Estimates
Monte Carlo Simulation Result
Tornado Plot
CMOST WORKFLOWS • Sensitivity Analysis • History Matching • Optimization • Uncertainty Analysis • User-defined Workflow
Sensitivity Analysis Workflows
Define Input Data
Configure and Run Engine
Response Surface Methodology
One Parameter At A Time
Result & Analysis
History Matching & Optimization Workflows
Define Input Data
Configure and Run Engine
PSO DECE
Result & Analysis
LHD+Proxy Brute Force
Uncertainty Analysis Workflows
Define Input Data
Configure and Run Engine
Monte Carlo using Simulator
Monte Carlo using Proxy Models
Result & Analysis
User-Defined Workflows
Define Input Data
Configure and Run Engine
External Engine (User’s optimization
algorithm)
Manual Engine (User-defined experiments)
Result & Analysis
Easy to Use
Adaptive & Dynamic Open & Extensible
Powerful Analytics
To be The Leading Developer & Supplier of Dynamic Reservoir Technologies in the WORLD
Our vision:
For more information or follow-up: [email protected]