Method and system for scenario and case decision management
First Claim
1. A method comprising:
- (a) assembling a set of models that represent components of a value chain, wherein each of the models of said set includes one or more variables, where each of said one or more variables is defined on a corresponding range;
(b) selecting values of the variables in their respective ranges to create instantiated models;
(c) assembling the instantiated models into a workflow;
(d) executing one or more simulation engines on the workflow to generate data output.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method may be configured to support the evaluation of the economic impact of uncertainties associated with the planning of a petroleum production project, e.g., uncertainties associated with decisions having multiple possible outcomes and uncertainties associated with uncontrollable parameters such as rock properties, oil prices, etc. The system and method involve receiving user input characterizing the uncertainty of planning variables and performing an iterative simulation that computes the economic return for various possible instantiations of the set of planning variables based on the uncertainty characterization. The system and method may (a) utilize and integrate highly rigorous physical reservoir, well, production flow, and economic models, and (b) provide a mechanism for specifying constraints on the planning variables. Furthermore, the system and method may provide a case manager process for managing multiple cases and associated “experimental runs” on the cases.
191 Citations
48 Claims
-
1. A method comprising:
-
(a) assembling a set of models that represent components of a value chain, wherein each of the models of said set includes one or more variables, where each of said one or more variables is defined on a corresponding range;
(b) selecting values of the variables in their respective ranges to create instantiated models;
(c) assembling the instantiated models into a workflow;
(d) executing one or more simulation engines on the workflow to generate data output. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method comprising:
-
(a) assembling a set of models that represent components of a value chain, wherein each of the models of said set includes one or more random variables;
(b) instantiating the random variables of each model to determine instantiated models;
(c) assembling the instantiated models into a workflow; and
(d) executing one or more simulation engines on the workflow to generate data output. - View Dependent Claims (11, 12)
-
-
13. A method comprising:
-
(a) computing an instantiated value of a random variable;
(b) selecting a first model from a collection of models based on the instantiated value; and
(c) executing a simulation engine on an input data set including the first model. - View Dependent Claims (14, 15, 16)
-
-
17. A system comprising:
-
a memory configured to store program instructions and data;
a processor configured to read the program instructions from the memory, wherein, in response to execution of the program instructions, the processor is operable to;
(a) assemble a set of models, wherein each of the models of said set includes one or more variables, where each of said one or more variables is defined on a corresponding range;
(b) select values of the variables in their respective ranges to create instantiated models;
(c) assemble the instantiated models into a workflow; and
(d) execute one or more simulation engines on the workflow. - View Dependent Claims (18)
-
-
19. A computer-readable memory medium configured to store program instructions, wherein the program instructions are configured to direct one or more computers to perform operations comprising:
-
(a) assembling a set of models, wherein each of the models of said set includes one or more variables, where each of said one or more variables varies in a corresponding range;
(b) selecting values of the variables in their respective ranges to create instantiated models;
(c) assembling the instantiated models into a workflow;
(d) executing one or more simulation engines on the workflow;
- View Dependent Claims (20)
-
-
21. A method comprising:
-
performing setup operations to assemble a case comprising a set of planning variables and models;
executing a calculation loop one or more times, wherein each iteration of the calculation loop comprises;
(a) generating instantiations of the planning variables to determine instantiated models, and (b) executing one or more simulation engines on the instantiated models. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A method comprising:
-
receiving user input to assemble a first case comprising models and planning variables;
receiving user input to assemble a second case based on the first case;
storing the first case, the second case and differences between the first case and second case in a memory medium;
displaying an indication of the first case, second case, and a parent child relationship between the first case and second case;
conditionally displaying the differences between the first case and second case in response to a user request.
-
-
32. A method for organizing cases and variations of cases, the method comprising:
- reading cases and models included in the cases from a storage medium;
displaying the names of the cases and the included models to the user;
providing a user interface which allows user interaction with the cases and the included models, wherein the user interaction includes one or more of deleting cases, editing cases, copying cases and creating new cases; and
saving new and modified cases and corresponding included models to the storage medium;
wherein the models represent value chain components. - View Dependent Claims (33, 34, 35, 36)
- reading cases and models included in the cases from a storage medium;
-
37. A system comprising:
-
a memory configured to store program instructions and data;
a processor configured to read the program instructions from the memory, wherein, in response to execution of the program instructions, the processor is operable to;
read cases and models included in the cases from a storage medium;
display the names of the cases and the included models to the user;
provide a user interface which allows user interaction with the cases and the included models, wherein the user interaction includes one or more of deleting cases, editing cases, copying cases and creating new cases; and
save new and modified cases and corresponding included models to the storage medium;
wherein the models represent value chain components.
-
-
38. A computer-readable memory medium configured to store program instructions, wherein the program instructions are configured to direct one or more computers to perform operations comprising:
-
reading cases and models included in the cases from a storage medium;
displaying the names of the cases and the included models to the user;
providing a user interface which allows user interaction with the cases and the included models, wherein the user interaction includes one or more of deleting cases, editing cases, copying cases and creating new cases; and
saving new and modified cases and corresponding included models to the storage medium;
wherein the models represent value chain components.
-
-
39. A method comprising:
-
displaying names of execution data sets associated with cases, wherein each of the cases includes a set of models representing value chain components, wherein each of the execution data sets includes at least execution setup information usable to qualify one or more executions of a simulation on one or more of the cases;
providing an interface which allows the user to view contents of any of said execution data sets which have been executed; and
providing an interface which allows the user to invoke execution of an execution data set that has not yet been executed. - View Dependent Claims (40)
-
-
41. A system comprising:
-
a memory configured to store program instructions and data;
a processor configured to read the program instructions from the memory, wherein, in response to execution of the program instructions, the processor is operable to;
display names of execution data sets associated with cases, wherein each of the cases includes a set of models representing value chain components, wherein each of the execution data sets includes at least execution setup information usable to qualify one or more executions of a simulation on one or more of the cases;
provide an interface which allows the user to view contents of any of said execution data sets which have been executed; and
provide an interface which allows the user to invoke execution of an execution data set that has not yet been executed.
-
-
42. A method comprising:
-
(a) receiving user input characterizing probability distributions for planning variables associated with a set of models;
(b) generating instantiated values of the planning variables;
(c) assembling one or more input data sets for one or more simulation engines from the set of models and the instantiated values;
(d) executing the one or more simulation engines on one or more input data sets;
- View Dependent Claims (43, 44, 45, 46, 47)
-
-
48. A method comprising:
-
(a) receiving user input characterizing a set of planning variables associated with a set of models;
(b) generating instantiated values of the planning variables;
(c) assembling a first input data set using a first subset of the instantiated values and a first subset of the set of models, and assembling a second input data set using a second subset of the instantiated values and a second subset of the set of models;
(d) determining well perforation locations for wells in the first input data set, and appending the well perforation locations to the first input data set;
(e) determining instantiated schedules using a third subset of the instantiated values and a third subset of the models, and appending the instantiated schedules to the first input data set and the second input data set;
(f) executing a reservoir flow simulator on the first input data set to generate flow data for oil, gas and water and appending the flow data to the second input data set;
(g) executing an economic computation engine on the second input data set to generate economic output data;
(h) storing the instantiated values of the planning variables, the flow data and the economic output data to a storage medium in a relational database format; and
(i) repeating (b), (c), (d), (e), (f), (g) and (h) until a termination condition is achieved.
-
Specification