1
Ferrara , 21, 22, 23 Settembre 2010 Congresso: Risorse geotermiche di media e bassa Risorse geotermiche di media e bassa temperatura in Italia. temperatura in Italia. Potenziale, Prospettive di mercato, Azioni Sessione POSTER Organizzazione con la collaborazione di P. Berry (b,c) , S. Bonduá (b) , V. Bortolotti (b) , A. Cassioli (a) , C. Cormio (b,c) , A. Diolaiti (c) , E. Lognoli (c) , F. Schoen (a) (a) Department of System and Computer Science - University of Florence, Italy (b) b (b) Department of Civil, Environmental, Materials Engineering - University of Bologna, Italy b (c) CINIGeo - National Interuniversity Consortium for Georesources Engineering Rome Italy CINIGeo - National Interuniversity Consortium for Georesources Engineering Rome, Italy Abstract iTOUGH2 [1] is a computer program, coded in Fortran 77, for parameter estimation, sensitivity analysis, and uncertainty propagation analysis and it is based on the TOUGH2 [2] simulator, a flexible and robust numerical simulator for non isothermal flows of multicomponent, multiphase fluids in one, two and three-dimensional porous and fractured media, used all over the world for the simulation of high enthalpy geothermal reservoirs. Th i bl t i l t k ii i t ti ti f i l dl d th f l i th l i i l ti i t i ll td i ht d l t The inverse problem, a typical task arising in parameters estimation of a numerical model and therefore also in geothermal reservoir simulation, is typically casted as a weighted least square problem: the difference between measured and simulated data is used as quality measure of the numerical model accuracy in reproducing the phenomena at hand Simulated data are in general a problem: the difference between measured and simulated data is used as quality measure of the numerical model accuracy in reproducing the phenomena at hand. Simulated data are in general a nonlinear non convex and possibly not continuous function of the simulation parameters the latter being the variable to be determined Such complex dependency is not known in general or it is nonlinear, non convex and possibly not continuous function of the simulation parameters, the latter being the variable to be determined. Such complex dependency is not known in general, or it is computable only by numerical routines: thus the objective function (or error function) can be considered as a black-box that only provides the objective function values. We have focus on the Global Optimization (GO) of that objective function: the task is computational intensive, for each function evaluation requires an iTOUGH2 simulation run, and hence an ad hoc algorithm is needed. Our choice has been a class of recently proposed algorithms based on Radial-Basis Functions (RBF) [3]. We therefore developed a new iTOUGH2 external module, coded in C++, in which a GO l ih b d RBF i d l h i bl P li i i h i h f f hi fi l f h dl i ifi l bl ih h algorithm based on RBF is used to solve the inverse problem. Preliminary tests are encouraging, showing that performances of this first release of the module are significantly comparable with the already available GO algorithms in iTOUGH2 So we are confident that the optimized release should improve the performance of the iTOUGH2 model calibration task especially when there are a already available GO algorithms in iTOUGH2. So, we are confident that the optimized release should improve the performance of the iTOUGH2 model calibration task, especially when there are a lot of parameters to estimate lot of parameters to estimate. Introduction Introduction E ti ll th i bl it f ti ti dl t f th i Inverse modeling flow chart diagram [1] Essentially the inverse problem consists of estimating model parameters from the comparison between simulated response of the model and the measurements of the system response between simulated response of the model and the measurements of the system response made at discrete points in time and space and is typically casted as a weighted least square updating par am et er made at discrete points in time and space, and is typically casted as a weighted least square problem. The objective function (error function) is a global measure of misfit between the no measured data and the corresponding model output. This misfit is used as quality measure of objective model simulated minimization stop? best estimated end start yes set of init ial the numerical model accuracy in reproducing the phenomena at hand. In inverse modeling, function model data algorithm stop? parameter end start init ial parameters parameters are estimated by minimizing the objective function: the best-estimate parameters set is the one that minimi es the objecti e f nction measured data set is the one that minimizes the objective function. Si ltd dt i l li d ibl t ti f ti f measured data from real system Simulated data are in general a nonlinear, non convex and possibly not continuous function of the simulation parameters the latter being the variable to be determined Such complex the simulation parameters, the latter being the variable to be determined. Such complex dependency is not known in general or it is computable only by numerical routines: thus the dependency is not known in general, or it is computable only by numerical routines: thus the objective function can be considered as a black-box that only provides the objective function Least square error function values. b t t iTOUGH2 makes available several algorithms for the minimization of the objective function, but error function best set t none of them are specifically designed for that kind of problems, which main characteristics O ti i ti parameter M i i x y x S 2 *] ) ( [ ) ( ) ( i S are: Optimization y i i y S 2 ) ( ) ( min y S y y i i 1 the objective function is non-linear and non-convex, i.e. showing multiple local/global optima; Minimization the first order information (i.e. the gradient) of the objective function is not available; the objective function evaluation is computationally expensive. Where: S(y): Objective Function x i *: i-th measured data (i=1,2,…,M) The RBF algorithm has been recently proposed to address that class of problems. Many N: number of parameters x i (y): i-th simulated data (i=1,2,…,M) applications (as for instance in the automotive industry) have shown the effectiveness of the th d l t t kl lbl bl k b ti i ti bl ii i t ti ti N: number of parameters M: number of measured data i i : measurement error (i=1,2,...,M) methodology to tackle global black-box optimization problems, arising in parameter estimation of simulated models M: number of measured data y: set of parameters (j=1 2 N) i [l j ,u j ]: j-th parameter limits of simulated models. y: set of parameters (j 1,2,,N) j j Th RBF Al ith The RBF Algorithm RBF Application: sampling A smooth approximation of the error function is built in an incremental way, using the so called Radial- Branin Function sampling s et of start Basis Functions: Branin Function n s et of parameters start n y y y s ) ( ||) (|| ) ( The Branin function contour lines, a i m i i y y y s 1 ) ( ||) (|| ) ( classical test for global optimization l ith initialize s(y) i 1 algorithms. Where: initialize s(y) : i th parameter set for which Where: s(y): the RBF approximation function update s(y) I : i-th parameter set for which simulation has been run s(y): the RBF approximation function y: set of parameters update s(y) simulation has been run ɸ(|| y i ||): the radial basis function y: set of parameters n: number of evaluated points (i e simulation ɸ(|| y i ||): the radial basis function Π (y) : a polynomial of degree m n: number of evaluated points (i.e. simulation runs performed) stop? end yes parameters Π m (y) : a polynomial of degree m λ : coefficients of the RBF approximation runs performed) m: degree of the polynomial (typically 0 or 1) stop? end parameters updating λ i : coefficients of the RBF approximation m: degree of the polynomial (typically 0 or 1) no The RBF Algorithm at each iteration decides, with a rule that ensures global exploration, a new set of evaluation of the no The RBF Algorithm at each iteration decides, with a rule that ensures global exploration, a new set of model parameters and evaluates the error function (i.e. runs a iTOUGH2 simulation). The new value Fig 1 The original Branin odd/even evaluation of the error function is then used to update the error function approximation, and the algorithm continues usually until a Fig. 1 The original Branin function landscape. iteration fixed budget of function evaluation is not finished. This limit is set taking account of the available CPU ti d f th ti i d f h i l ti Th t f t i bt i d t h function landscape. odd even time and of the time required for each simulation. The new set of parameters y is obtained, at each iteration either as the global minimum of the approximation function or more frequently based upon local odd even global iteration, either as the global minimum of the approximation function or, more frequently, based upon the maximization of an auxiliary utility function which for any feasible parameter set measures the local r ef i nem ent global ex pl or at i on the maximization of an auxiliary utility function which for any feasible parameter set measures the likelihood that this set is indeed optimal. r ef i nem ent ex pl or at i on likelihood that this set is indeed optimal. The RBF algorithm does not require any gradient computation and can be easily restarted from the The RBF algorithm does not require any gradient computation and can be easily restarted from the previous executions. iTOUGH2 All parameters error values are available and can be then used as first guess for local refinement with s i m ul at i on local optimization algorithms, as for instance Levemberg-Marquardt. Implementation Tests Implementation A dl h b i l d i C d di l i f d ih h iTOUGH2 Fig 2 The approximation after six Tests iTOUGH2 S l P bl l [6] d A new module has been implemented in C++ and directly interfaced with the iTOUGH2 simulation code: Fig. 2 The approximation after six evaluated points: the radial basis iTOUGH2 Sample Problems examples [6] and some dedicated models of high enthalpy geothermal simulation code: it is fully integrated with the Fortran iTOUGH2 code; evaluated points: the radial basis approximation has only partial dedicated models of high enthalpy geothermal reservoir (for example Larderello-Travale field) are it is fully integrated with the Fortran iTOUGH2 code; the module is optional; similarity with the original one. reservoir (for example Larderello-Travale field), are used both in the development phase of the code and the module is optional; it is based on the state-of-art open source libraries, as Boost [5]. used both in the development phase of the code and in its tests. Conclusion Conclusion Preliminary tests are encouraging showing that performances of this first release of the module are significantly comparable with the already available Preliminary tests are encouraging, showing that performances of this first release of the module are significantly comparable with the already available GO algorithms in iTOUGH2 The algorithm is competitive and its tuning is currently on the way to improve performances So we are confident that the GO algorithms in iTOUGH2. The algorithm is competitive and its tuning is currently on the way to improve performances. So, we are confident that the optimized release should improve the performance of the iTOUGH2 model calibration task, especially when there are a lot of parameters to estimate. References Acknowledgements [1] Finsterle S. “iTOUGH2 User’s Guide”. Lawrence Berkeley Laboratory (2007). http://esd.lbl.gov/iTOUGH2/ This work is supported by MAC-GEO [2] Pruess K., C. Oldenburg, G. Moridis : “TOUGH2 User’s Guide, Version 2.0”. Lawrence Berkeley Laboratory (1999). [3] htt // iki di / iki/Gl b l ti i ti Project (Fondo per le Aree Sottoutilizzate, Mi i t d ll S il E i [3] http://en.wikipedia.org/wiki/Global_optimization [4] Gutmann H M “A Radial Basis Function Method for Global Optimization” Journal of Global Optimization 19: (2001) 201-227 Ministero dello Sviluppo Economico, Ministero dell’Istruzione dell’Universitá e Fig. 3 The approximation after [4] Gutmann H.M. A Radial Basis Function Method for Global Optimization . Journal of Global Optimization 19: (2001), 201 227. [5] http://www.boost.org Ministero dell Istruzione, dell Universitá e della Ricerca, Regione Toscana). fifteen points: the contour lines well [6] Finsterle S. “iTOUGH2 Sample Problems”. Lawrence Berkeley Laboratory (2007). http://esd.lbl.gov/iTOUGH2/ reproduce the function landscape.

S x[ ( ) *] y x Optimization ( )y S - Unione Geotermica · (c)() CINIGeo - National Interuniversity Consortium forNational Interuniversity Consortium for Georesources EngineeringEngineering

Embed Size (px)

Citation preview

Ferrara , 21, 22, 23 Settembre 2010 ‐ Congresso:Risorse geotermiche di media e bassaRisorse geotermiche di media e bassa 

temperatura in Italia.temperatura in Italia.Potenziale, Prospettive di mercato, Azioni

Sessione POSTER

Organizzazione                                                            con la collaborazione di P. Berry(b,c), S. Bonduá(b), V. Bortolotti(b), A. Cassioli(a), C. Cormio(b,c), A. Diolaiti(c), E. Lognoli(c), F. Schoen(a)

(a) Department of System and Computer Science - University of Florence, Italy(b) b(b) Department of Civil, Environmental, Materials Engineering - University of Bologna, Italyb

(c) CINIGeo - National Interuniversity Consortium for Georesources Engineering – Rome Italy( ) CINIGeo - National Interuniversity Consortium for Georesources Engineering Rome, Italy

AbstractiTOUGH2 [1] is a computer program, coded in Fortran 77, for parameter estimation, sensitivity analysis, and uncertainty propagation analysis and it is based on the TOUGH2 [2] simulator, a flexible[ ] p p g p y y y p p g y [ ]and robust numerical simulator for non isothermal flows of multicomponent, multiphase fluids in one, two and three-dimensional porous and fractured media, used all over the world for thesimulation of high enthalpy geothermal reservoirs.Th i bl t i l t k i i i t ti ti f i l d l d th f l i th l i i l ti i t i ll t d i ht d l tThe inverse problem, a typical task arising in parameters estimation of a numerical model and therefore also in geothermal reservoir simulation, is typically casted as a weighted least squareproblem: the difference between measured and simulated data is used as quality measure of the numerical model accuracy in reproducing the phenomena at hand Simulated data are in general aproblem: the difference between measured and simulated data is used as quality measure of the numerical model accuracy in reproducing the phenomena at hand. Simulated data are in general anonlinear non convex and possibly not continuous function of the simulation parameters the latter being the variable to be determined Such complex dependency is not known in general or it isnonlinear, non convex and possibly not continuous function of the simulation parameters, the latter being the variable to be determined. Such complex dependency is not known in general, or it iscomputable only by numerical routines: thus the objective function (or error function) can be considered as a black-box that only provides the objective function values. We have focus on the Globalp y y j ( ) y p jOptimization (GO) of that objective function: the task is computational intensive, for each function evaluation requires an iTOUGH2 simulation run, and hence an ad hoc algorithm is needed. Ourchoice has been a class of recently proposed algorithms based on Radial-Basis Functions (RBF) [3]. We therefore developed a new iTOUGH2 external module, coded in C++, in which a GOl i h b d RBF i d l h i bl P li i i h i h f f hi fi l f h d l i ifi l bl i h halgorithm based on RBF is used to solve the inverse problem. Preliminary tests are encouraging, showing that performances of this first release of the module are significantly comparable with the

already available GO algorithms in iTOUGH2 So we are confident that the optimized release should improve the performance of the iTOUGH2 model calibration task especially when there are aalready available GO algorithms in iTOUGH2. So, we are confident that the optimized release should improve the performance of the iTOUGH2 model calibration task, especially when there are alot of parameters to estimatelot of parameters to estimate.

IntroductionIntroductionE ti ll th i bl i t f ti ti d l t f th i

Inverse modeling flow chart diagram [1]Essentially the inverse problem consists of estimating model parameters from the comparisonbetween simulated response of the model and the measurements of the system responsebetween simulated response of the model and the measurements of the system responsemade at discrete points in time and space and is typically casted as a weighted least square

updatingparametermade at discrete points in time and space, and is typically casted as a weighted least square

problem. The objective function (error function) is a global measure of misfit between the

pno

p j ( ) gmeasured data and the corresponding model output. This misfit is used as quality measure of objective

modelsimulated minimization

stop?best estimated

endstartyesset of

initialthe numerical model accuracy in reproducing the phenomena at hand. In inverse modeling,

jfunctionmodel data algorithm stop? parameter endstart

yinitial

parameters

parameters are estimated by minimizing the objective function: the best-estimate parametersset is the one that minimi es the objecti e f nction measured dataset is the one that minimizes the objective function.

Si l t d d t i l li d ibl t ti f ti f

measured datafrom real system

Simulated data are in general a nonlinear, non convex and possibly not continuous function ofthe simulation parameters the latter being the variable to be determined Such complexthe simulation parameters, the latter being the variable to be determined. Such complexdependency is not known in general or it is computable only by numerical routines: thus thedependency is not known in general, or it is computable only by numerical routines: thus theobjective function can be considered as a black-box that only provides the objective function Least square error functionj y p jvalues.

q

b t tiTOUGH2 makes available several algorithms for the minimization of the objective function, but error function best settnone of them are specifically designed for that kind of problems, which main characteristics

O ti i tiparameter

Mii xyx

S2*])([

)( )(i Sare: Optimization

y ii yyS

2

])([)(

)(min ySy

yi i1 y

• the objective function is non-linear and non-convex, i.e. showing multiple local/global optima; Minimization• the first order information (i.e. the gradient) of the objective function is not available;

• the objective function evaluation is computationally expensive. Where:

S(y): Objective Function xi*: i-th measured data (i=1,2,…,M)The RBF algorithm has been recently proposed to address that class of problems. Many

(y) j

N: number of parameters xi(y): i-th simulated data (i=1,2,…,M) applications (as for instance in the automotive industry) have shown the effectiveness of the

th d l t t kl l b l bl k b ti i ti bl i i i t ti ti

N: number of parameters

M: number of measured data

i

i: measurement error (i=1,2,...,M)methodology to tackle global black-box optimization problems, arising in parameter estimationof simulated models

M: number of measured data

y: set of parameters (j=1 2 N)

i ( )

[lj,uj]: j-th parameter limitsof simulated models. y: set of parameters (j 1,2,…,N) [ j, j] j p

Th RBF Al ithThe RBF Algorithm RBF Application:sampling

A smooth approximation of the error function is built in an incremental way, using the so called Radial-pp

Branin Functionsampling

set ofstartBasis Functions:

Branin Functionn

set ofparameters

start

n

yyys )(||)(||)( The Branin function contour lines, a i

mii yyys1

)(||)(||)( classical test for global optimizationl ith

initialize s(y) i 1 algorithms.Where:

initialize s(y)

: i th parameter set for which

Where:

s(y): the RBF approximation functionupdate s(y) I: i-th parameter set for whichsimulation has been run

s(y): the RBF approximation function

y: set of parameters

update s(y)simulation has been run

ɸ(|| y – i ||): the radial basis function y: set of parameters

n: number of evaluated points (i e simulation ɸ(|| y i ||): the radial basis function

Π (y) : a polynomial of degree m n: number of evaluated points (i.e. simulation

runs performed)stop?endyes parameters Πm(y) : a polynomial of degree m

λ : coefficients of the RBF approximation

runs performed)

m: degree of the polynomial (typically 0 or 1)

stop?end parametersupdating

λi: coefficients of the RBF approximationm: degree of the polynomial (typically 0 or 1)no

The RBF Algorithm at each iteration decides, with a rule that ensures global exploration, a new set ofevaluation of the

no

The RBF Algorithm at each iteration decides, with a rule that ensures global exploration, a new set ofmodel parameters and evaluates the error function (i.e. runs a iTOUGH2 simulation). The new value Fig 1 The original Braninodd/even

evaluation of theerror function p ( )

is then used to update the error function approximation, and the algorithm continues usually until aFig. 1 – The original Braninfunction landscape.

iteration

fixed budget of function evaluation is not finished. This limit is set taking account of the available CPUti d f th ti i d f h i l ti Th t f t i bt i d t h

function landscape.

oddeven time and of the time required for each simulation. The new set of parameters y is obtained, at eachiteration either as the global minimum of the approximation function or more frequently based uponlocal

oddeven

global iteration, either as the global minimum of the approximation function or, more frequently, based uponthe maximization of an auxiliary utility function which for any feasible parameter set measures the

localrefinement

globalexploration the maximization of an auxiliary utility function which for any feasible parameter set measures the

likelihood that this set is indeed optimal.

refinement exploration

likelihood that this set is indeed optimal.

The RBF algorithm does not require any gradient computation and can be easily restarted from theThe RBF algorithm does not require any gradient computation and can be easily restarted from theprevious executions. iTOUGH2 p

All parameters error values are available and can be then used as first guess for local refinement withsimulation

p glocal optimization algorithms, as for instance Levemberg-Marquardt.

Implementation TestsImplementationA d l h b i l d i C d di l i f d i h h iTOUGH2 Fig 2 The approximation after six

TestsiTOUGH2 S l P bl l [6] dA new module has been implemented in C++ and directly interfaced with the iTOUGH2

simulation code:

Fig. 2 – The approximation after sixevaluated points: the radial basis

iTOUGH2 Sample Problems examples [6] and somededicated models of high enthalpy geothermalsimulation code:

it is fully integrated with the Fortran iTOUGH2 code;

evaluated points: the radial basisapproximation has only partial

dedicated models of high enthalpy geothermalreservoir (for example Larderello-Travale field) are it is fully integrated with the Fortran iTOUGH2 code;

the module is optional;similarity with the original one.

reservoir (for example Larderello-Travale field), areused both in the development phase of the code and the module is optional;

it is based on the state-of-art open source libraries, as Boost [5].used both in the development phase of the code andin its tests.p [ ]

ConclusionConclusionPreliminary tests are encouraging showing that performances of this first release of the module are significantly comparable with the already availablePreliminary tests are encouraging, showing that performances of this first release of the module are significantly comparable with the already availableGO algorithms in iTOUGH2 The algorithm is competitive and its tuning is currently on the way to improve performances So we are confident that theGO algorithms in iTOUGH2. The algorithm is competitive and its tuning is currently on the way to improve performances. So, we are confident that theoptimized release should improve the performance of the iTOUGH2 model calibration task, especially when there are a lot of parameters to estimate.p p p , p y p

References Acknowledgements[1] Finsterle S. “iTOUGH2 User’s Guide”. Lawrence Berkeley Laboratory (2007). http://esd.lbl.gov/iTOUGH2/

gThis work is supported by MAC-GEO[ ] y y ( ) p g

[2] Pruess K., C. Oldenburg, G. Moridis : “TOUGH2 User’s Guide, Version 2.0”. Lawrence Berkeley Laboratory (1999).[3] htt // iki di / iki/Gl b l ti i ti

pp yProject (Fondo per le Aree Sottoutilizzate,Mi i t d ll S il E i[3] http://en.wikipedia.org/wiki/Global_optimization

[4] Gutmann H M “A Radial Basis Function Method for Global Optimization” Journal of Global Optimization 19: (2001) 201-227Ministero dello Sviluppo Economico,Ministero dell’Istruzione dell’Universitá e Fig. 3 – The approximation after[4] Gutmann H.M. A Radial Basis Function Method for Global Optimization . Journal of Global Optimization 19: (2001), 201 227.

[5] http://www.boost.orgMinistero dell Istruzione, dell Universitá edella Ricerca, Regione Toscana).

g ppfifteen points: the contour lines well

[6] Finsterle S. “iTOUGH2 Sample Problems”. Lawrence Berkeley Laboratory (2007). http://esd.lbl.gov/iTOUGH2/ reproduce the function landscape.