Patent ID: 8457997

Claim:
A method comprising: (a) a computer system receiving information specifying decision variables and uncertainty variables for a plurality of assets associated with a petroleum exploration and/or production project, wherein the information also specifies for each asset a corresponding set of one or more algorithms, wherein the set of one or more algorithms for at least one of the assets includes an algorithm to estimate oil and gas production over time; (b) the computer system generating a decision vector, wherein the decision vector includes a single value for each of the decision variables; (c) the computer system executing an evaluation process on the decision vector to determine at least a value of a global objective for the decision vector, wherein said executing the evaluation process includes: (c1) generating an uncertainty vector, wherein said generating the uncertainty vector includes generating a single value for each of the uncertainty variables; (c2) generating for each asset a data set for the corresponding set of algorithms using a corresponding subset of one or more values in the decision vector and a corresponding subset of one or more values in the uncertainty vector; (c3) invoking execution of the set of algorithms for each asset on the corresponding data set to obtain output arguments corresponding to the asset; (c4) computing for each asset one or more values of one or more respective quantities from the output arguments corresponding to the asset; (c5) performing operations including (c1) through (c4) a plurality of times, thereby generating a population of values of each quantity for each asset; (c6) computing one or more statistics for each asset based on corresponding ones of the populations; and (c7) combining a first subset of the statistics to determine the global objective value corresponding to the decision vector, wherein the first subset includes at least one of the one or more statistics computed for each asset; (d) the computer system executing an optimizer, wherein said executing the optimizer includes performing (b) and (c) repeatedly, thereby generating a plurality of decision vectors and corresponding global objective values, and, wherein the optimizer uses the plurality of decision vectors and the corresponding global objective values to generate and repeatedly update a reference set of decision vectors in order to optimize the global objective; (e) the computer system storing data including the plurality of decision vectors and their corresponding global objective values in a memory.