Sei sulla pagina 1di 36

UNIVERSIDAD NACIONAL DEL SUR

OILFIELD PRODUCTION PLANNING


Mixed-Integer Multiperiod Model for the Planning
of Oilfield Production
Modelo matemtico de optimizacin MINLP implementado en GAMS
a travs de interfaces con MS Excel

Ing. Federico Alberto Gorrini - Dr. Jos Alberto Bandoni

DEPARTAMENTO DE INGENIERA QUMICA


DOCUMENTO DE TRABAJO | Septiembre 2014

UNIVERSIDAD NACIONAL DEL SUR


OILFIELD PRODUCTION PLANNING
Mixed-Integer Multiperiod Model for the Planning of Oilfield Production
Departamento de Ingeniera Qumica. Septiembre 2014

Autor __Ing. Federico Alberto Gorrini


Director __Dr. Jos Alberto Bandoni

Datos de Contacto
federicogorrini01@gmail.com
abandoni@plapiqui.edu.ar

Universidad Nacional del Sur


(8000) Baha Blanca. Buenos Aires, Argentina.

Oilfield Production Planning.

UNIVERSIDAD NACIONAL DEL SUR

Oilfield Production Planning


Mixed-Integer Multiperiod Model for the Planning of Oilfield Production
Modelo matemtico de optimizacin MINLP implementado
en GAMS a travs de interfaces con MS Excel
Ing. GORRINI, Federico Alberto - Dr. BANDONI, J. Alberto

ABSTRACT
Durante el desarrollo del presente trabajo, se
implement
un
modelo
de
optimizacin
multiperodo mixto-entero para la planificacin de la
produccin petrolera en los pozos de un mismo
reservorio. El problema considera las variaciones
topolgicas e involucra los perfiles de produccin y
los tiempos de operacin/parada de los pozos en
cada perodo de tiempo. Se asume comportamiento
no-lineal de la presin de flujo (respecto al tiempo)
mientras se calcula la produccin de petrleo y se
consideran perodos de tiempo de duracin
uniforme.

Finalmente, el modelo es implementado a


travs del sistema de modelamiento GAMS (General
Algebraic Modeling System), mostrando un ejemplo
numrico de resolucin. Se generan interfaces a
travs de MS Excel que permite la importacin de
datos y exportacin de resultados involucrados en
GAMS. Adems, esto posibilita el procesamiento de
los resultados y su graficado para un mejor anlisis
de los mismos.
El resultado del proceso es la determinacin de
los caudales y tiempos de operacin ptimos para
los pozos de un mismo reservorio petrolero.

Los archivos correspondientes a la programacin se encuentran en la carpeta del siguiente enlace. Seguir las instrucciones para una correcta
descarga:
https://onedrive.live.com/redir?resid=57D9ABABD9D55D8B%21107
1.
2.
3.
4.
5.
6.
7.
8.

Ingresar el link y acceder a los archivos en Outlook.


Seleccionar la carpeta Optimization Oilfield Planning y clickear el botn Descargar.
Una vez descargada la carpeta, abrir el archivo Optimization_10_wells.gpr.
Seleccionar File -> Project -> Open Project. Una vez all, abrir el archivo Oil_Explotation_10_wells.gms ubicado en la misma carpeta.
Por otra parte, abrir el archivo DS - Pressure_Curve_Analysis.xlsx situado en la carpeta Curve Analysis.
Seleccionar Datos -> Editar Vnculos. Seleccionar Data.xlsx de la lista de orgenes y clickear el botn Cambiar origen... Seleccionar el
archivo Data.xlsx.
Ahora hacer lo propio con el origen Results.xlsx. Seleccionar el archivo Results.xlsx.
Guardar todos los archivos y cerrarlos.

De esta manera se logra que los archivos descargados se encuentren vinculados entre s y las interfaces sean activas.
En la carpeta Curve Analysis tambin podr encontrar al informe Shale Gas & Shale Oil - Gas y Petrleo Convencional y no-Convencional en
Argentina.

Gorrini, Federico Alberto_____________________________________________________________________________________1

Oilfield Production Planning.

UNIVERSIDAD NACIONAL DEL SUR

BACKGROUND
Recientemente la optimizacin multiperodo en la
industria qumica ha recibido considerable atencin.
Este tipo de problemas involucran instalaciones donde
los costos y demandas varan de perodo en perodo
debido al comportamiento del mercado o a cambios
estacionales.

un dado perodo de tiempo. El coeficiente de


productividad depende de la conductividad del pozo y
permite el clculo del flujo de petrleo como una
funcin de la prdida de presin entre el reservorio y el
pozo.
ecuacin 1

En un modelo de planificacin multiperodo, el


problema considera la topologa e involucra a las
decisiones de puesta en marcha/paro de la operacin
de los procesos en cada perodo de tiempo. La
operacin de un campo de petrleo es un problema
multiperodo debido a que los costos y las demandas de
la produccin de petrleo cambian de un perodo a otro
a lo largo del horizonte de tiempo considerado.
La infraestructura petrolera consiste en plataformas
de produccin con un nmero de reservorios incluyendo
los pozos de petrleo. En los modelos de campos
petroleros multiperodo, las decisiones de diseo
involucran las capacidades de produccin de las
plataformas as como tambin decisiones sobre cules
plataformas de produccin y pozos sern instalados a lo
largo del horizonte de tiempo en cuestin. Las
decisiones de planificacin involucran la produccin de
petrleo en cada perodo de tiempo.
En el pasado, las decisiones acerca de las
capacidades de las plataformas, la programacin de
perforacin y los perfiles de produccin han sido
realizados a menudo de manera separada bajo ciertas
asunciones para disminuir la carga computacional.
Las instalaciones de los campos petroleros se
encuentran frecuentemente en operacin durante
varias dcadas. Por tanto, a pesar de que los cambios en
la presin del reservorio con respecto al tiempo no son
significativos en el corto plazo, stos no pueden ser
ignorados para la simulacin que involucre planificacin
futura y decisiones de inversin. Es sabido que el
comportamiento de un reservorio representa una
restriccin no-lineal, pero muchas veces el
comportamiento del reservorio ha sido aproximado por
restricciones lineales como una funcin de la
produccin acumulada de petrleo. Por tanto, el ndice
de productividad, , es asumido como constante para

donde es el caudal de flujo de petrleo en el perodo


j, es la presin del reservorio y la presin del pozo.
El anlisis del pozo revela, de cualquier forma, que la
presin de flujo del pozo presenta una dependencia
temporal no-lineal y, como consecuencia, la suposicin
de condiciones operativas constantes no aplica. La
Figura 1 ilustra la extraccin de petrleo desde un
reservorio.
well head

well bore storage


well bore
oil flow
reservoir

Figura 1. Diagrama conceptual de un pozo de petrleo en un


reservorio

Tal como indica la Ecuacin 1, la fuerza impulsora


para la produccin de petrleo desde el pozo es la
diferencia de presin manifestada entre el reservorio y
las paredes del pozo. Tambin, ntese que cuando el
pozo acaba de ser perforado -o cuando ha sido cerrado
durante un perodo de tiempo significativo-, es posible
asumir que la presin del pozo es la misma que la del
reservorio. Por tanto, al comienzo de la operacin,
cuando el pozo es abierto al flujo, el petrleo puede ser
extrado debido a la diferencia de presin entre el fondo
del pozo y el tope del mismo -en el caso de extraccin

Gorrini, Federico Alberto_____________________________________________________________________________________2

Oilfield Production Planning.

UNIVERSIDAD NACIONAL DEL SUR

natural-. Segn el tiempo de operacin se incremente,


la presin en las paredes del pozo decrece y esto causa
el flujo de petrleo desde el reservorio hacia el pozo.
De todos modos, el caudal del flujo de petrleo
desde el reservorio hacia el pozo depende tambin de
las propiedades geolgicas de los alrededores del
mismo; como son la permeabilidad, el espesor, la
porosidad, etc., las cuales determinan la capacidad de
produccin del pozo. As, debido a la resistencia al flujo
de petrleo entre el reservorio y las paredes del pozo, la
produccin de petrleo causa que la presin en la
expresin que ha sido utilizada frecuentemente (Horne,
1998) para representar dicho comportamiento es:
ecuacin 2

pozo.
es la presin en las paredes del pozo al inicio
de la operacin (presin del reservorio) y
es la
presin (final) en las paredes del pozo en el tiempo de
operacin . El desarrollo de la Ecuacin 2 se encuentra
en la seccin Ecuacin Matemtica. En este trabajo se
asume que el valor de las propiedades geolgicas es
conocido. Es as como la ecuacin puede ser
reformulada como:
ecuacin 3

donde
y
son constantes que resultan de la
combinacin de las propiedades geolgicas. Por otra
parte, si el pozo se encuentra cerrado, su presin se
incrementar debido al efecto del flujo de petrleo
desde el reservorio hacia el pozo. La Figura 2 muestra el
comportamiento de la presin del pozo cuando el
petrleo se encuentra fluyendo y ms tarde cuando el
pozo se encuentra cerrado.

Pup

Oil Flow Rate [bbl/d]

Well Bore Pressure [psi]

donde , , ,
, y son propiedades geolgicas
determinadas experimentalmente que caracterizan al

Plow
tshut in

tshut in

Figura 2.Perfil tpico del la performance de la presin del pozo de petrleo y su caudal de flujo

Este trabajo maneja planificacin a corto plazo


para la produccin de petrleo en los pozos de un
reservorio petrolero, siempre atendiendo a la reduccin
de costos de explotacin. Las decisiones de planificacin
consisten en determinar el caudal de los flujos de
petrleo y los tiempos de operacin/cierre para cada
pozo del reservorio en cada perodo. Tales decisiones
son basadas en consideraciones prcticas, las cuales
evitan que la presin del pozo decaiga ms all de un
mnimo valor admisible. Tambin, debe recordarse que
el caudal de produccin de petrleo debe satisfacer la
demanda de petrleo para cada perodo de tiempo.

Como se est focalizado en las decisiones a corto plazo,


se considera que la presin del reservorio -no del pozopermanece constante sobre el horizonte de tiempo en
cuestin. Por otro lado, se asume comportamiento nolineal de la presin del pozo para el clculo de la
produccin de petrleo tal como lo describe la Ecuacin
3, y tambin es asumido que el valor de las constantes
geolgicas del pozo es conocido. El modelo matemtico
implementado en este trabajo para representar y
optimizar al problema es de tipo MINLP (Mixed-Integer
Non-Linear Programming).

Gorrini, Federico Alberto_____________________________________________________________________________________3

Oilfield Production Planning.

UNIVERSIDAD NACIONAL DEL SUR

INTRODUCCIN TERICA
El trabajo considera la planificacin a corto plazo
de la produccin petrolera de los pozos de un reservorio
sobre un horizonte temporal H dividido en NP perodos
de duracin T.
As es como, dada la demanda de petrleo para un
dado perodo de tiempo, las decisiones de planificacin
involucran conocer el caudal de flujo de petrleo y los
tiempos de operacin/cierre de los pozos. La principal
restriccin impuesta al problema es evitar que la
presin del pozo decaiga ms all de una presin
mnima admisible, debajo de la cual la produccin se
considera econmica y/o tcnicamente inviable;
adems de lograr satisfacer la demanda de petrleo
existente.

Las suposiciones realizadas en este documento


para realizar el modelamiento incluyen:
1.

2.

3.

Pozos mltiples de un reservorio comn


producen
de
manera
completamente
independiente unos de otros.
Comportamiento no-lineal de la presin del
pozo como funcin del caudal de petrleo y
del tiempo.
La funcin objetivo es calculada en trminos
de coeficientes de costos, los cuales cambian
para cada perodo de tiempo debido a
cambios estacionales.

ECUACIN MATEMTICO DE PERFORMANCE DE UN POZO


Se define al potencial de flujo como:

La interpretacin fsica de este parmetro es que


es el trabajo requerido por una unidad de volumen de
fluido -en un proceso sin friccin- para transportarla
desde un estado de referencia hasta el punto en
cuestin. De esta forma, la ecuacin de la Ley de
Permeabilidad enunciada por DArcy puede ser
expresada como:

Al aplicar esta formulacin al caso del flujo de


petrleo desde un reservorio hacia el pozo de petrleo
conviene enfrentar el problema en coordenadas
cilndricas.

Se asume que el flujo en pozos verticales slo se da


en planos horizontales. Adems, al asumir propiedades
homogneas en sentido angular, el flujo slo se
producir en sentido radial. Estas asunciones pueden
expresarse matemticamente como:

As, la ecuacin de DArcy se reduce a:

DEFINICIN DEL SISTEMA


Permeabilidad
Es una propiedad de la roca la cual mide la capacidad de
transferencia que tienen los fluidos para atravesar la
roca.

Gorrini, Federico Alberto_____________________________________________________________________________________4

Oilfield Production Planning.

UNIVERSIDAD NACIONAL DEL SUR

Espesor
El espesor til es la longitud vertical de la formacin
permeable que contiene el rea de drenaje por el cual el
fluido fluye hacia el pozo. Esto no es solamente el
intervalo punzado o el espesor de formacin
encontrado por el pozo.

de los factores responsables por la reduccin de la


permeabilidad en los alrededores del pozo. Sin
embargo, un exitoso tratamiento de estimulacin tal
como acidificar o fracturar, resulta en un incremento de
la permeabilidad en los alrededores del pozo,
reduciendo el dao de la formacin (skin).

Radio de drenaje
Distancia comprendida desde el centro del pozo hasta el
lmite de volumen de roca permeable al cual se le
interrumpe la presin esttica (r2).

Analicemos que es lo que ocurre con la


potencialidad de flujo en las inmediaciones de un pozo
petrolero.

Presin promedio de reservorio


Es la presin promedio -asumida esttica- que se
desarrolla a una distancia del pozo igual o superior al
radio de drenaje (p2).
Presin dinmica de fondo
Es la presin desarrollada en el lmite de la formacin, o
sea en las paredes del pozo donde se encuentran los
punzados (p1).

Al asumirse que no existe flujo axial y que slo se


da en direccin axial.

En cuanto a la velocidad, es sabido que el caudal


de flujo de petrleo es igual para cualquier seccin
equiradial.

pr

pr-pw

pressure

Al ser

pw
r1

distance
r2

Figura A.1.1. Perfil de presin desarrollada entre el reservorio (radio


de drenaje) y el centro del pozo de petrleo

Factor de dao
Durante las operaciones de perforacin y completacin,
la permeabilidad de la formacin de la seccin cercana
al pozo puede ser alterada. A esta zona alterada de
permeabilidad se le llama daada. La invasin de fluidos
de perforacin, dispersin de las arcillas (hinchamiento),
la presencia de revoque y cemento y la presencia de una
gran saturacin de gas alrededor del pozo, son algunos

De esta manera, se termina asumiendo

Igualmente, este constituye un factor despreciable


en fenmenos de flujo a travs de medios permeables,
sobre todo frente a las presiones con las que se trabaja
en este caso. Por su parte, el trmino de diferencial de
presin es el ms importante. En este trmino debe
considerarse la prdida de presin del factor de dao,
adems de la prdida ocasionada por la turbulencia en
inmediaciones del pozo.

Gorrini, Federico Alberto_____________________________________________________________________________________5

Oilfield Production Planning.

UNIVERSIDAD NACIONAL DEL SUR

q2

q1

r1

r1
r2

r2

Figura 3. Diagrama de flujo de un fluido en direccin radial hacia el centro de dos geometras cilndricas concntricas

Los trminos de skin y turbulence pseudoskin


suelen ser despreciados. As es como la potencialidad de
flujo se reduce al diferencial de presin.

El caudal correspondiente a la presin atmosfrica


como presin dinmica de fondo es el flujo potencial
mximo mientras que el caudal a la presin del
reservorio es siempre cero.
qmax

flowrate

Despus,

patm

well buttom pressure

pr

Figura 4. Flujo de petrleo desde el reservorio hacia el fondo de la


perforacin del pozo

ecuacin 4

Aranofsky y Jenkins (1954) desarrollan un modelo


IPR (Inflow Performance Relationship) dependiente del
tiempo. El Inflow Performance Relationship es una
relacin funcional entre el caudal de produccin y la
presin dinmica de fondo. Esta relacin, desarrollada
por Gilbert (1954), se define en el rango de presin
desde la presin del reservorio y la presin atmosfrica.

Segn Aranofsky y Jenkins,

Ntese que la ecuacin es tiempo-dependiente


slo hasta
. Al reemplazar estas
expresiones:
ecuacin 5

Gorrini, Federico Alberto_____________________________________________________________________________________6

Oilfield Production Planning.

UNIVERSIDAD NACIONAL DEL SUR

ndice de Productividad
Este ndice deriva de una aproximacin para
describir la performance de influjo de un pozo
petrolero. ste fue desarrollado asumiendo que:
1. Flujo radial alrededor del pozo.
2. Flujo monofsico.
3. Distribucin homognea de la permeabilidad
del reservorio.
4. Formacin saturada de fluido.

siendo

el ndice de Productividad.

Definiendo las constantes


representacin empleada:

se obtiene la

La ecuacin de la Ley de DArcy puede ser ajustada


a un fluido compresible utilizando un factor de volumen
promedio de formacin de gas.

ecuacin 6

MODELO MATEMTICO
El modelo considera la operacin cclica de cada
pozo i en cada perodo de tiempo j. Se asume, para
todos los pozos, que la presin del pozo al comienzo y al
final de cada perodo de tiempo -y, en consecuencia, al
final y al principio de cada ciclo- ser la misma e igual a
la mxima presin admisible por el pozo. En cada
perodo de tiempo, habr un mximo de
ciclos para
cada pozo pero en este modelo no existen variables
asociadas para todos los
ciclos posibles, debido a
que los caudales de flujo y los tiempos de operacin
sern los mismos para cada ciclo de un dado perodo de

tiempo. El nmero real de ciclos para cada pozo dentro


de un perodo de tiempo ( ) ser determinado por el
esquema de optimizacin. Finalmente, en lugar de
utilizar la Ecuacin 3, la expresin en el pozo ser
aproximada por una expresin no-lineal que involucra
un trmino el cual contiene una potencia constante
positiva del tiempo de operacin. Esta expresin
constituye el ncleo del modelo matemtico ya que es
la representacin de su comportamiento durante los
ciclos de operacin/cierre de los pozos.

Sets & ndices


Set de perodos de tiempo (1 ... NP)
Set de pozos (1 ... NW)
Set de valores admisibles para el nmero de ciclos en un perodo de tiempo (1 ... NC)
ndices correspondientes al pozo, el perodo de tiempo y el ciclo, respectivamente (

Variables Continuas
Produccin total de petrleo del pozo i en el perodo j
Caudal de flujo de petrleo en el pozo i en el perodo j

Gorrini, Federico Alberto_____________________________________________________________________________________7

Oilfield Production Planning.

UNIVERSIDAD NACIONAL DEL SUR

Tiempo de operacin para cada ciclo del pozo i en el perodo j


Tiempo de cierre para cada ciclo del pozo i en el perodo j
Tiempo de operacin total del pozo i en el perodo j
Tiempo de cierre total del pozo i en el perodo j
Presin del pozo i en el perodo j al final de un ciclo de operacin

Variables Binarias
1 si existen k ciclos en la operacin del pozo i en el perodo j

Variables Enteras
Nmero de ciclos en la operacin del pozo i en el perodo j

Parmetros
Coeficientes de costos asociados al caudal de produccin de petrleo y al mantenimiento del pozo
segn se encuentre produciendo o cerrado, respectivamente.
Parmetros para calcular el decaimiento de la presin en el pozo i cuando se encuentra produciendo
Parmetros para calcular el incremento de la presin en el pozo i cuando se encuentra cerrado

El modelo resultante es un Mixed Integer NonLinear Problem (MINLP). La funcin objetivo que se

plantea para minimizar los costos en la explotacin del


campo petrolero es:

ecuacin M1

ecuacin M2
ecuacin M3

ecuacin M4

ecuacin M5

ecuacin M6
ecuacin M7

Gorrini, Federico Alberto_____________________________________________________________________________________8

UNIVERSIDAD NACIONAL DEL SUR

Oilfield Production Planning.

ecuacin M8
ecuacin M9
ecuacin M10

ecuacin M11
ecuacin M12

ecuacin M13
ecuacin M14
ecuacin M15
ecuacin M16
ecuacin M17

La produccin de petrleo de cada pozo -el caudal


de flujo de petrleo multiplicado por el tiempo total de
operacin del pozo en el perodo j- es calculada a travs
de la Ecuacin M2. La Ecuacin M3 atiende a satisfacer
la demanda de petrleo en cada perodo de tiempo j.
El nmero de ciclos para cada perodo de tiempo
es dado por la Ecuacin M4 y la Ecuacin M5. Ntese
que si el nmero de ciclos en un dado perodo de
tiempo es k,
; mientras que
.
El tiempo total de operacin/cierre para un pozo i
en un perodo j es dado por el producto entre el nmero
de ciclos y los tiempos de operacin/cierre de cada
pozo, tal como lo indica la Ecuacin M6 y la Ecuacin
M7. Ntese que si un pozo permanece cerrado durante
un dado perodo de tiempo, el nmero de ciclos ( ) es
cero y el tiempo de operacin
para el pozo dentro de
este perodo es nulo. En tal caso, el lado derecho de la
Ecuacin 6 consiste en un trmino bilineal que incluye
dos variables, las cules son ambas iguales a cero. Para
evitar esta dificultad cuando el nmero de ciclos es igual
a cero, en la prctica se asigna a
el valor de en

lugar del nmero 0 (


). Para el caso de la
Ecuacin M7, el problema es resuelto utilizando la
variable
. Ntese que mientras el pozo i permanece
cerrado en un perodo j,
, y si se encuentra
abierto al flujo
mientras que alguno de los
otros
ser igual a 1.
La Ecuacin M8 establece que la suma de tiempos
que el pozo i permanece en operacin/cerrado dentro
de un perodo j es igual a la extensin del perodo de
tiempo. El tiempo de operacin de cada ciclo del pozo i,
, debe ser menor al tiempo que permite la cada de
presin del pozo por debajo del valor de la mnima
presin admisible, condicin dictada por la Ecuacin
M9. Tal mximo de tiempo de operacin es dado por la
Ecuacin M10.
El tiempo de cierre para cada pozo i, debe ser al
menos igual al tiempo mnimo que permita a la presin
del pozo incrementarse hasta el valor mximo
admisible, segn lo expresa la Ecuacin M11. Tal tiempo
mnimo es dado por la Ecuacin M12. La Ecuacin M13
permite el clculo de la presin de flujo del pozo

Gorrini, Federico Alberto_____________________________________________________________________________________9

UNIVERSIDAD NACIONAL DEL SUR

despus de la operacin del mismo y justo antes de


cerrarlo durante un ciclo de operacin.
Finalmente, las restricciones de la Ecuacin M14 y
la Ecuacin M15 representan el comportamiento de las
principales variables del problema en trminos de la
variable binaria
. Estas dictaminan que el tiempo
total de operacin de un pozo i no puede superar al

Oilfield Production Planning.

tiempo total del perodo T; y que el caudal de operacin


no puede ser superior al caudal mximo impuesto, con
excepcin de los casos donde el pozo permanece
cerrado durante todo el perodo de tiempo, donde se
exige a ste que sea nulo. De esta forma, la produccin
del reservorio queda modelada matemticamente y, las
condiciones para optimizarla se encuentran declaradas.

EJEMPLOS NUMRICOS Y RESULTADOS


El modelo propuesto es resuelto a travs del
sistema de modelamiento GAMS. Se implement el
solver DICOPT (CPLEX + CONOPT), el cual utiliza por
defecto las subrutinas CPLEX y CONOPT para la
resolucin de los subproblemas MIP y NLP,
respectivamente. En todas las ejecuciones realizadas, las
propiedades geolgicas (comportamiento de la presin
de flujo del pozo) son diferentes para cada pozo del
reservorio. Ms an, los coeficientes de costos varan no
slo para cada pozo, sino que tambin lo hacen en cada
perodo de tiempo.
En el ejemplo en estudio se trabaja con un
reservorio explotado a travs de un nmero total de 10
pozos petroleros. El Anexo 1 (GAMS Oilfield Production
Optimization Programming) contiene la programacin
ejecutada en el software GAMS. All se detalla el
propsito de los distintos segmentos de la
programacin.

Para facilitar el ingreso de datos a GAMS as como


tambin su egreso y posterior visualizacin se recurre a
un software con una interface ms interactiva y
asequible a cualquier tipo de usuario tal como lo es MS
Excel. Este software permite cargar los datos de ingreso
en cmodas tablas. Una vez ejecutada la programacin
en GAMS tambin posibilita el acceso a los resultados a
travs de tablas, as como tambin la construccin de
grficos para su interpretacin. El procedimiento para
generar la interfaz MS Excel - GAMS para la carga de
datos es descripto en el Anexo 2 (MS Excel - GAMS
interfaz), mientras que la construccin de la interfaz
GAMS - MS Excel para la extraccin de resultados y su
visualizacin en este ltimo se describe en el Anexo 3
(GAMS - MS Excel interfaz). Cabe recordar que en
ambos casos es el software GAMS el que se encuentra
a cargo de la ejecucin y que MS Excel slo atiende a
las rdenes de ste.

CONCLUSIN
Es posible resolver el modelo satisfactoriamente
utilizando el solver DICOPT. Para el caso particular
mostrado, ste halla el punto ptimo de operacin en
tan slo 4 iteraciones y 0.015 s de tiempo de resolucin.
Sin embargo, si bien el modelo pudo ser resuelto bajo
los valores de prueba propuestos, ste es altamente nolineal, por lo que la modificacin de estos valores ha
llevado en la mayora de los casos a la incapacidad del
solver DICOPT para dar con la solucin. Es por ello que

en el futuro, debern implementarse mtodos capaces


de lidiar con estas no-linealidades, lo cual seguramente
mejorar mucho el desempeo de la programacin.
Adems, la aplicacin del solver BARON ha
resultado intil dado los extensos tiempos de
resolucin. A continuacin se presenta las grficas
obtenidas de los resultados del ejemplo numrico
propuesto.

Gorrini, Federico Alberto____________________________________________________________________________________10

Oilfield Production Planning.

UNIVERSIDAD NACIONAL DEL SUR

RESULTADOS. PERFORMANCE DE LA PRESIN EN CADA POZO


observa que la presin del pozo logra recuperarse antes
de la culminacin de cada ciclo.
En los casos en que el pozo permaneci cerrado y
fuera de operacin durante todo un perodo, su presin
ha sido constante e igual a la presin del reservorio.

6,020

6,020

6,000

6,000

Well Bore Pressure [psi]

Well Bore Pressure [psi]

Estos grficos contienen la evolucin de la presin


de cada pozo del reservorio en el tiempo. En todos los
casos sta ha prevalecido por encima de la mnima
presin admisible, adems de haberse recuperado al
final de cada ciclo hasta alcanzar la misma presin del
reservorio. En el caso del pozo 5 en el perodo 1 se

5,980
5,960
5,940
5,920
5,900
5,880
5,860

5,960
5,940
5,920
5,900
5,880
5,860

15 30 45 60 75 90 105 120

Figura 1. Evolucin de la presin del pozo 1 en funcin del tiempo

15 30 45 60 75 90 105 120

Figura 2. Evolucin de la presin del pozo 2 en funcin del tiempo

6,020

6,020
6,000

Well Bore Pressure [psi]

Well Bore Pressure [psi]

5,980

5,980
5,960
5,940
5,920
5,900
5,880

6,000
5,980
5,960
5,940
5,920
5,900
5,880
5,860

5,860
0

15 30 45 60 75 90 105 120

Figura 3. Evolucin de la presin del pozo 3 en funcin del tiempo

15 30 45 60 75 90 105 120

Figura 4. Evolucin de la presin del pozo 4 en funcin del tiempo

Gorrini, Federico Alberto_____________________________________________________________________________________11

Oilfield Production Planning.

6,020

6,020

6,000

6,000

Well Bore Pressure [psi]

Well Bore Pressure [psi]

UNIVERSIDAD NACIONAL DEL SUR

5,980
5,960
5,940
5,920
5,900
5,880
5,860

5,960
5,940
5,920
5,900
5,880
5,860

15 30 45 60 75 90 105 120

Figura 5. Evolucin de la presin del pozo 5 en funcin del tiempo

6,020

6,020

6,000

6,000

5,980
5,960
5,940
5,920
5,900
5,880
5,860

5,980
5,960
5,940
5,920
5,900
5,880
5,860

15 30 45 60 75 90 105 120

Figura 7. Evolucin de la presin del pozo 7 en funcin del tiempo

6,020

6,020

6,000

6,000

5,980
5,960
5,940
5,920
5,900
5,880
5,860

15 30 45 60 75 90 105 120

Figura 8. Evolucin de la presin del pozo 8 en funcin del tiempo

Well Bore Pressure [psi]

Well Bore Pressure [psi]

15 30 45 60 75 90 105 120

Figura 6. Evolucin de la presin del pozo 6 en funcin del tiempo

Well Bore Pressure [psi]

Well Bore Pressure [psi]

5,980

5,980
5,960
5,940
5,920
5,900
5,880
5,860

15 30 45 60 75 90 105 120

Figura 9. Evolucin de la presin del pozo 9 en funcin del tiempo

15 30 45 60 75 90 105 120

Figura 10. Evolucin de la presin del pozo 10 en funcin del tiempo

Gorrini, Federico Alberto_____________________________________________________________________________________12

Oilfield Production Planning.

UNIVERSIDAD NACIONAL DEL SUR

RESULTADOS. PRODUCCIN ACUMULADA DE CADA POZO EN FUNCIN DEL TIEMPO


Sin embargo, que el caudal de produccin de cada
pozo sea constante no implica que este
comportamiento se replique para la completitud del
reservorio, de hecho, el caudal de petrleo brindado por
el reservorio completo es variable en el tiempo y hasta
llega a ser nulo hacia el final de cada perodo de tiempo
-todos los pozos se encuentran en recuperacin-.

35,000

12,000

30,000

10,000

25,000

Production [bbl]

Production [bbl]

La evolucin de la produccin acumulada de cada


pozo se encuentra en stos grficos. Aqu puede verse
que la produccin de cada pozo aumenta de manera
lineal mientras ste se mantiene en operacin, producto
de que su caudal de flujo sea constante; mientras que se
estanca cuando el pozo permanece cerrado y
recuperando presin.

20,000
15,000
10,000

6,000
4,000
2,000

5,000
0

0
0

15 30 45 60 75 90 105 120

Figura 1. Evolucin de la presin del pozo 1 en funcin del tiempo

25,000

1,200

20,000

1,000

15,000
10,000
5,000

15 30 45 60 75 90 105 120

Figura 2. Evolucin de la presin del pozo 2 en funcin del tiempo

Production [bbl]

Production [bbl]

8,000

800
600
400
200

0
0

15 30 45 60 75 90 105 120

Figura 3. Evolucin de la presin del pozo 3 en funcin del tiempo

15 30 45 60 75 90 105 120

Figura 4. Evolucin de la presin del pozo 4 en funcin del tiempo

Gorrini, Federico Alberto____________________________________________________________________________________13

Oilfield Production Planning.

25,000

12,000

20,000

10,000
Production [bbl]

Production [bbl]

UNIVERSIDAD NACIONAL DEL SUR

15,000
10,000

8,000
6,000
4,000

5,000

2,000

0
0

15 30 45 60 75 90 105 120

1,000
900
800
700
600
500
400
300
200
100
0

3,000
2,500
2,000
1,500
1,000
500
0
0

15 30 45 60 75 90 105 120

Figura 7. Evolucin de la presin del pozo 7 en funcin del tiempo

6,000
Production [bbl]

5,000
4,000
3,000
2,000
1,000
0
0

15 30 45 60 75 90 105 120

Figura 9. Evolucin de la presin del pozo 9 en funcin del tiempo

15 30 45 60 75 90 105 120

Figura 8. Evolucin de la presin del pozo 8 en funcin del tiempo

7,000

Production [bbl]

15 30 45 60 75 90 105 120

Figura 6. Evolucin de la presin del pozo 6 en funcin del tiempo

Production [bbl]

Production [bbl]

Figura 5. Evolucin de la presin del pozo 5 en funcin del tiempo

20,000
18,000
16,000
14,000
12,000
10,000
8,000
6,000
4,000
2,000
0
0

15 30 45 60 75 90 105 120

Figura 10. Evolucin de la presin del pozo 10 en funcin del tiempo

Gorrini, Federico Alberto____________________________________________________________________________________14

UNIVERSIDAD NACIONAL DEL SUR

Oilfield Production Planning.

ANEXO 1. GAMS OILFIELD PRODUCTION OPTIMIZATION PROGRAMMING


La programacin realizada en GAMS para ejecutar
el modelo matemtico y poder obtener el punto ptimo
consta de nueve partes, en cada una de las cuales se
definen:
- Sets
- Parmetros (MS Excel - GAMS interfaz)
- Variables
- Ecuaciones
- Funcin Objetivo
- Rango vlido de las variables
- Valores iniciales
- Condiciones de resolucin y mtodos a utilizar
- Resultados (GAMS - MS Excel interfaz)

Sets, Parmetros (MS Excel - GAMS interfaz) y


Variables
Tanto los Sets, Parmetros as como las Variables
son cargadas en MS Excel y ms tarde tomadas por
GAMS. Sin embargo, las mismas deben primero
definirse en GAMS. En este caso, tal como puede verse
ms adelante, dicha definicin se produce entre las
lneas de programacin 3 a 14.
Una vez definidos en GAMS, debe programarse la
conexin GAMS - MS Excel. Dicha conexin puede
realizarse a travs de un archivo .gdx. La estructura
bsica de comandos para ejecutar la conexin es:
$ gdxin my_file.gdx
$ load item_name
$ gdxin
Al especificar item_name puede incluirse a varios
items. Al hacerlo, deben nombrarse dejando un espacio
entre ellos. Entre las lneas de programacin 17 a 25 es
donde se produce esta serie de comandos. All se
especifican los sets (i, j, k), el tiempo de cada perodo j
(
), los coeficientes que determinan el
comportamiento de la presin del pozo en produccin
as como tambin cuando se encuentra cerrado
(
), la demanda correspondiente a
cada perodo j (
( )), los coeficientes de
ganancias/costos para cada pozo i sea que ste se

encuentre operativo como cuando se encuentra cerrado


(
), as como tambin las presiones lmite
definidas para la operacin (
).
Por ltimo se define al parmetro
( ),
aunque ste -por conveniencia- es definido
directamente en GAMS (lneas 28 a 32). Este parmetro
representa el nmero de subciclos k existentes dentro
de un dado perodo j.
Las variables tambin deben definirse dentro de la
estructura de GAMS. Entre las lneas 37 a 47 se definen
las variables que slo pueden adquirir valores positivos
( ( ), ( ), ( ), ( ), ( ), ( ), ( ),
( ),
( ),
( )). Tambin debe definirse a la
variable , la cual en este caso ser el resultado de la
funcin objetivo a minimizar y, como tal, se define como
una variable libre (lnea 35).
En la lnea 50 se define a la variable binaria
(
), la cual es una herramienta que permite indicar
dentro del modelo cul es el nmero de subciclos
presentes dentro de un dado perodo k. La variable
( ) no es ms que un recurso al que se alude para
definir el valor que adquiere la variable binaria (
).
Cuando el pozo prevalece cerrado a lo largo de un
perodo, (
) = 1, mientras que si presenta al menos
un subciclo (
)
.

Ecuaciones y Funcin Objetivo


Primero debe declararse la existencia de las ecuaciones,
tal como se lista entre las lneas 53 y 69. Luego, es
posible desarrollar cada una de ellas tal como se
encuentra en las lneas 72 a 105. Finalizado esto, se
declara a todas estas bajo el nombre del modelo
matemtico oilfield (lnea 107).

Rango vlido de las variables y valores iniciales


Una vez definidas las ecuaciones, inecuaciones y
variables del modelo matemtico, es necesario
determinar en qu rango podrn encontrarse los valores

Gorrini, Federico Alberto____________________________________________________________________________________15

UNIVERSIDAD NACIONAL DEL SUR

de las variables. Esto reduce el tiempo de cmputo y


aumenta las probabilidades de que un solver logre hallar
el punto ptimo. Ms an, si es posible debe definirse
valores iniciales para cada una de las variables en torno
al valor en que se infiere puede sta hallarse; cuanto
ms cerca se halle el valor inicial del valor ptimo menor
ser el tiempo de cmputo.

Condiciones de resolucin y mtodos a utilizar


Adems de desarrollar la descripcin matemtica
del modelo, es necesario especificar el solver de
resolucin a emplear as como tambin los mtodos de
resolucin disponibles dentro del mismo para resolver
los subproblemas. Tal como ya se ha mencionado, en
este caso se utiliza el solver DICOPT (DIscrete and
COntinuous OPTimizer). DICOPT es un programa para la
resolucin de problemas MINLP (Mixed Integer NonLinear Programming) que involucran variables lineales
binarias o variables enteras y variables continuas nolineales y lineales. El programa se basa en extensiones
del algoritmo de aproximacin externa para la
estrategia de igualdad relajada. El algoritmo MINLP
dentro de DICOPT resuelve una serie de subproblemas
NLP y MIP. Estos subproblemas pueden ser resueltos
utilizando
cualquier
solver
NLP
(Non-Linear
Programming) o MIP (Mixed-Integer Programming) que
corra bajo GAMS. Este programa es capaz de resolver
slo problemas MINLP, y es asignado por defecto en
GAMS. Tambin son asignados por defecto CONOPT
como solver de los subproblemas NLP, y CPLEX como
solver de los subproblemas MIP. Los NLP solvers

Oilfield Production Planning.

posibles son: MINOS5, MINOS, CONOPT, CONOPT3 y


SNOPT. Los MIP solvers disponibles son: CPLEX, GUROBI,
XPRESS y XA.
Las lneas 217 a 221 expresan en forma explcita
los solvers y programas utilizados para la resolver el
problema de optimizacin. DICOPT es un programa
basado en aproximacin externa (Outer Approximation),
por lo que aproxima las funciones convexas por lneas
tangentes internas. Esto no garantiza que la solucin
obtenida sea necesariamente el ptimo global, sino que
puede tratarse de un ptimo local. Para garantizar el
hallazgo de un ptimo global debe recurrirse al empleo
de BARON, el cual s es un algoritmo de optimizacin
global. Sin embargo, esta subrutina puede requerir un
tiempo computacional notablemente mayor en
problemas altamente no lineales como el presente.
Antes de resolver un modelo utilizando DICOPT, es
altamente recomendado experimentar con el modelo
relajado donde las restricciones de enteros son
ignoradas -las variables enteras se tornan en continuas-.
Esto constituye un modelo rMINLP (Relaxed Mix Integer
Non-Linear Programming). As DICOPT puede comenzar
resolviendo el problema relajado -menos restringido y
de ms fcil solucin- para luego utilizar la solucin
ptima relajada existente como punto de inicio.
Entre las lneas 206 y 234 se encuentran
declarados todos los comandos de resolucin. Los
marcados con * se encuentran inactivos aunque pueden
ser activados para resolver el modelo rMINLP o bien
acudir a la subrutina del solver BARON.

Gorrini, Federico Alberto____________________________________________________________________________________16

UNIVERSIDAD NACIONAL DEL SUR

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45

Oilfield Production Planning.

$TITLE Oilfield Explotation Process Optimization


SETS
* 10 wells - 2 periods of time - 4 subcycle
i wells
j periods
k subcycles;
PARAMETERS C1(i),C2(i),C1rec(i),C2rec(i);
PARAMETER Demand(j);
PARAMETERS gamma(i,j),delta(i,j),alfa(i,j);
PARAMETERS Pup(i),Plow(i);
SCALAR Tperiod

$CALL GDXXRW.EXE Data.xlsx Index=Index!A1


$gdxin Data.gdx
$load i j k
$load Tperiod
$load C1 C2 C1rec C2rec
$load Demand
$load gamma delta alfa
$load Pup Plow
$gdxin

PARAMETER Kcycle(k)
/1
0.0001
2
1
3
2
4
3/;

FREE VARIABLE z minimize production cost;


POSITIVE VARIABLE
y0(i,j)
Q(i,j)
P(i,j)
Tauo(i,j)
Tauc(i,j)
tto(i,j)
ttc(i,j)
N(i,j)

Gorrini, Federico Alberto____________________________________________________________________________________17

UNIVERSIDAD NACIONAL DEL SUR

46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90

Oilfield Production Planning.

ttmin(i,j)
ttmax(i,j);
BINARY VARIABLE
y(i,j,k);

EQUATIONS
EQ1(j)
EQ4(i,j)
EQ5(i,j)
EQ6(i,j)
EQ6a(i,j)
EQ6b(i,j)
EQ7(i,j)
EQ8(i,j)
EQ9(i,j)
EQ8a(i,j)
EQ9a(i,j)
EQ10(i,j)
EQ11(i,j)
EQ12(i,j)
obj;

EQ1(j)..

SUM(i, Q(i,j)*Tauo(i,j)) =G= Demand(j);

EQ4(i,j).. N(i,t) =E= SUM (k,y(i,j,k)*Kcycle(k));


EQ5(i,j).. SUM(k,Y(i,j,k)) =E= 1;
EQ6(i,j).. Tauo(i,j) =E= N(i,j)*tto(i,j);
EQ6a(i,j).. Tauc(i,j) =E= (N(i,j)+y0(i,j))*ttc(i,j);
EQ6b(i,j).. y0(i,j) =E= y(i,j,"1");
EQ7(i,j).. Tauo(i,j)+Tauc(i,j) =E= Tperiod;
* EQ8(i,j).. tto(i,j) =L= ((P(i,j)-Plow(i))/C1(i)*Q(i,j))**(1/C2(i));
EQ8(i,j).. ttmax(i,j)**C2(i) =E= ((P(i,j)-Plow(i)))/(C1(i)*Q(i,j));
EQ8a(i,j).. tto(i,j) =L= ttmax(i,j);
* EQ9(i,j).. ttc(i,j) =L= ((Pup(i)-P(i,j))/C3(i))**(1/C4(i));

Gorrini, Federico Alberto____________________________________________________________________________________18

UNIVERSIDAD NACIONAL DEL SUR

91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134

Oilfield Production Planning.

EQ9(i,j).. (ttmin(i,j)**C2rec(i))*(C1rec(i)) =E= (Pup(i)-P(i,j));


EQ9a(i,j).. ttc(i,j) =G= ttmin(i,j);
EQ10(i,j).. P(i,j) =E= Pup(i)-C1(i)*Q(i,j)*tto(i,j)**C2(i);
EQ11(i,j).. Tauo(i,j)-Tperiod*(1-y(i,j,"1")) =L= 0;
EQ12(i,j).. Q(i,j)-Q.up(i,j)*(1-y(i,j,"1")) =L= 0;
*option reslim = 100000;
*option sysout = ON;
*option domlim = 1000000;
obj..

z =E= sum((i,j),gamma(i,j)*Q(i,j)*Tauo(i,j)+
delta(i,j)*Tauo(i,j)+alfa(i,j)*Tauc(i,j));

MODEL oilfield /ALL/;

N.up (i,j) = 3;
N.l (i,j) = 1;
N.lo (i,j) = 0.0001;
Tauo.up (i,j) = 42.5 ;
Tauo.lo (i,j) = 0.00001;
Tauc.up (i,j) = 60;
Tauc.lo (i,j) = 0.00001;
tto.up (i,j) = 30;
tto.l (i,j) = 10;
tto.lo (i,j) = 0.001;
ttc.up (i,j) = 60;
ttc.l (i,j) = 20;
ttc.lo (i,j) = 0.0001;
ttmin.up (i,j) = 60;
ttmin.lo (i,j) = 2;
ttmax.up (i,j) = 60;
ttmax.lo (i,j) = 0.001;
Q.lo (i,j) = 0.0001;
Q.l (i,j) = 500;

Gorrini, Federico Alberto____________________________________________________________________________________19

UNIVERSIDAD NACIONAL DEL SUR

135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180

Oilfield Production Planning.

Q.up (i,j) = 900;


P.lo (i,j) = 5880;
P.up (i,j) = 6009;

* OPTION Statements
* option domlim = n
* This option sets a limit on the total accumulated number of non-linear
* funtion evaluation errors that are allowed while solving the NLP subproblems
* or inside DICOPT.
* option domlim = 1000000;
* option reslim = x
* This option sets a limit on the total accumulated time [s] spent inside
* DICOPT and the subsolvers. The default is 1000.
* option reslim = 1000;
* m.iterlim = n
* Sets the total accumulated (minor) iteration limit. This option overrides the
* global iteration limit set by an option statement.
* oilfield.iterlim = 1000;
* option iterlim = n
* This option sets a limit on the total accumulated (minor) iterations
* performed in the MIP and NLO subproblems. The default is 1000.
* option iterlim = 2000;
* option sysout = on
* This option will print extra information to the listing file.
* option sysout = on;

* DICOPT Options
* m.optfile = n
* This option instructs DICOPT to read an option file dicopt.opn. This file
* should be located in the current directory.
* In the oilfield.optfile could be more than one DICOPT Options.
* maxcycles n
* This option specify the maximum number of cycles or major iterations
* performed. The default value is n = 20.

Gorrini, Federico Alberto____________________________________________________________________________________20

UNIVERSIDAD NACIONAL DEL SUR

181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225

Oilfield Production Planning.

* epsx x
* This tolerance is used to distinguish integer variables that are set to an
* integer value by the user, or integer variables that are fractional.
* The default value is x = 1.0e-3.
* Infeasder n
* This option is to determine whether linearizations of infeasible NLP
* subproblems are added or not to the MIP master problem.
* The default option is N = 0, in which no linearizations are added in the
* infeasible NLP subproblems.
* When n = 1, linearizations derived from infeasible NLP subproblems are added
* to the master problem. This option is recommended to speed up convergence
* when the MINLP is known to be convex. If used for nonconvex MINLP possibility
* of cutting-off the global optimum is increased.
*$ontext
$onecho > dicopt.op2
maxcycles = 100
epsx = 1.0e-3
infeasder 0
$offecho
oilfield.optfile = 2;
*$offtext

* DICOPT MODELING METHODS


* Before solving a model with DICOPT, it is strongly advised to experiment with
* the relaxed model where the integer restrictions are ignored.
* This is the RMINLP model.
* In the following fragment, the second SOLVE statement will only be executed if
* the first SOLVE was successful.
* In some cases the relaxed problem is the most difficult model. If you have
* more than one NLP solver available, you may want to try a sequence of them.
option NLP = conopt;
option MIP = cplex;
option rMINLP = conopt;
option MINLP = dicopt;
*option MINLP = BARON;
*SOLVE oilfield USING rMINLP MINIMIZING z;

Gorrini, Federico Alberto____________________________________________________________________________________21

UNIVERSIDAD NACIONAL DEL SUR

226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250

Oilfield Production Planning.

*if (oilfield.modelstat > 2.5, option rMINLP=MINOS;


*SOLVE oilfield USING rMINLP MINIMIZING z;)
*if (oilfield.modelstat > 2.5, option rMINLP=SNOPT;
*SOLVE oilfield USING rMINLP MINIMIZING z;)
* When the next statement is activated, it allows GAMS to solve the model with
* discrete variables after try to do it with relaxed ones.
*abort$(oilfield.modelstat > 2.5) "Relaxed model could not be solved";
SOLVE oilfield using MINLP MINIMIZING z;

Execute_unload "Results.gdx" Q.L P.L tto ttc N


$onecho > taskoutput.txt
var=Q.L rng=Results!C3:E13 rdim=1 cdim=1
var=P.L rng=Results!H3:J13 rdim=1 cdim=1
var=tto rng=Results!C17:E27 rdim=1 cdim=1
var=ttc rng=Results!H17:J27 rdim=1 cdim=1
var=N rng=Results!M17:O27 rdim=1
$offecho
$CALL GDXXRW.EXE Results.gdx Index=Index!A1

Gorrini, Federico Alberto____________________________________________________________________________________22

Oilfield Production Planning.

UNIVERSIDAD NACIONAL DEL SUR

ANEXO 2. MS EXCEL - GAMS INTERFAZ


MS Excel ofrece una interfaz para la carga y
procesamiento de datos ms cmoda y con mayor
potencialidad que GAMS, sobre todo cuando deben
cargarse gran cantidad de datos o procesarse
demasiados resultados -o incluso graficarlos-. Adems,
ofrece una interfaz mucho ms familiar e interactiva al
usuario.
MS Excel permite la carga de sets y parmetros, los
cuales sern tomados ms tarde por GAMS. Sin
embargo, stos deben primero definirse en GAMS. Una
vez definidos en GAMS, debe programarse la conexin
GAMS-MS Excel. Dicha conexin puede realizarse a
travs de un archivo .gdx. La estructura bsica de
comandos para ejecutar la importacin de datos desde
un archivo .gdx es la siguiente:
$ gdxin my_file.gdx
$ load item_name
$ gdxin

entre ellos. Por otro lado, para exportar los resultados


hacia un archivo .gdx, se utiliza el siguiente comando:
execute_unload file_name.gdx items_list
En items_list se deben especificar la lista de items
de salida en el archivo .gdx. Si se quiere obtener los
valores iniciales de las variables, este comando se debe
ejecutar antes del comando SOLVE; por el contrario, si
lo que se desean son los valores en el punto ptimo,
entonces debe insertarse luego de la resolucin.
Cuando GAMS intercambia datos con otros
programas, se puede utilizar dos esquemas de
operacin.
a. GAMS al mando: donde GAMS utiliza al otro
programa como repositorio de datos y
resultados.
b. Otro software al mando: aqu GAMS es
utilizado como una subrutina.

Al especificar item_name puede incluirse a varios


items. Al hacerlo, deben nombrarse dejando un espacio

.xlsx

.gdx

GAMS

.gdx

.xlsx

Figura A.2.1. Diagrama de flujo de datos/resultados a travs de las interfaces GAMS - MS Excel

En este caso se dispone a GAMS como software de


mando. Para ello, en GAMS debe utilizar al comando
GDXXRW.EXE, el cual es una herramienta de GAMS que
permite crear archivos .gdx a partir de archivos de MS
Excel y viceversa, es decir, tomar datos desde archivos
.gdx y forzarlos dentro de hojas de clculo de MS Excel.
Para generar un archivo .gdx a partir de un archivo de
MS Excel se debe emplear al comando de la siguiente
forma:

$ CALL GDXXRW.EXE Results_file.xlsx Index = Index! A1


As, la estructura total de la conexin finalmente
ser:
$ CALL GDXXRW.EXE Data_file.xlsx Index = Index! A1
$ gdxin Data_file.gdx
$ load Sets
$ load Parameters
$ gdxin

$ CALL GDXXRW.EXE Data_file.xlsx Index = Index! A1


MODEL + SOLVE command
En cambio, para impulsar a los resultados desde un
archivo .gdx hacia un archivo de MS Excel se debe
emplear de la siguiente manera:

Execute_unload `Results_file.gdx` itemslist;


$ CALL GDXXRW.EXE Results_file.xlsx Index = Index! A1

Gorrini, Federico Alberto____________________________________________________________________________________23

Oilfield Production Planning.

UNIVERSIDAD NACIONAL DEL SUR

En itemslist debe especificarse las variables de las


cuales se pretende exportar sus valores finales.

Tambin, dentro de esta misma solapa se indica la


disposicin de las dimensiones de las variables.

Todo esto es la programacin que se realiza en el


archivo de GAMS. Por su parte, debe tambin existir un
archivo para la carga de datos de MS Excel. Este archivo,
al que llamaremos Data.xlsx, debe constar de tres
solapas: Index, Sets y Data.

Sets: en esta hoja de clculo debe declararse los sets


involucrados y sus respectivos elementos en forma
de columnas.
Data: aqu se incorporan los datos en forma de
tablas. Pueden tambin incluirse parmetros.
Index: es la ltima de las hojas de clculo a construir.
Proporciona la programacin que ejecuta la
conexin final para la interfaz MS Excel - GAMS. En
esta hoja de clculo se nombran los sets y
parmetros, declarando su ubicacin y el rango que
ocupan en la tabla correspondiente.
set
par

set_name
par_name

rdim: los datos se expresan verticalmente en


columnas.
si existe una columna con
datos del parmetro,
si no se expresan los
datos del parmetro en disposicin de columna.
cdim: los datos se expresan horizontalmente en filas.
si existe una fila con datos del parmetro,
si no se expresan los datos del parmetro
en disposicin de fila.
dim: nmero de dimensiones en las que se expresa
un parmetro; es igual al resultado de la suma
.

Un detalle importante para que GAMS tome los


datos cargados en Data.xlsx es que el archivo haya sido
guardado. GAMS importa los datos de la ltima versin
del archivo de MS Excel, sin importar si ste se
encuentra abierto o no.

Sets!N#:N#
Sets!N#:N#

Tabla A.2.1. Especificacin de Sets y Parmetros en el archivo Data.xlsx,


solapa Index de MS Excel

rdim

dim

wells

periods

subcycles

set

Sets!A2:A11

w1

set

Sets!B2:B3

w2

set

Sets!C2:C5

w3

par

Tperiod

Data!F16

w4

par

C1

Data!H4:I13

w5

par

C2

Data!H17:I26

w6

par

C1rec

Data!K4:L13

w7

par

C2

rec

Data!K17:L26

w8

par

Demand

Data!E4:F5

w9

par

Data!N3:P13

w10

par

Data!N16:P26

par

Data!R3:T13

par

Pup

Data!B4:C13

Data!B17:C26

par

low

cdim

Tabla A.2.2. Especificacin de Sets en la solapa


Sets del archivo Data.xlsx en MS Excel

Gorrini, Federico Alberto____________________________________________________________________________________24

Oilfield Production Planning.

UNIVERSIDAD NACIONAL DEL SUR

Tabla A.2.3. Especificacin de datos en el archivo Data.xlsx de MS Excel, solapa Data.

gamma
P up [ps i ]

C 1 rec

C1

Demand

alfa
1

w1

6,009

75,000

w1

0.05457

w1

27.285

w1

2.916

3.500

w1

50.05

22.75

w2
w3
w4
w5
w6

6,009
6,009
6,009
6,009
6,009

50,000

w2
w3
w4
w5
w6

0.11079
0.06512
0.83125
0.10658
0.12569

w2
w3
w4
w5
w6

33.237
26.056
25.265
36.215
42.259

w2
w3
w4
w5
w6

5.833
3.215
5.219
6.226
5.232

6.708
4.256
4.566
3.265
7.626

w2
w3
w4
w5
w6

75.83
60.26
42.23
96.26
21.26

85.93
20.32
30.86
50.64
45.26

w7
w8
w9
w 10

6,009
6,009
6,009
6,009

w7
w8
w9
w 10

0.72652
0.23523
0.15832
0.09535

w7
w8
w9
w 10

26.266
21.265
18.265
29.215

w7
w8
w9
w 10

9.265
4.226
1.261
2.265

8.265
5.265
2.265
3.266

w7
w8
w9
w 10

35.47
65.26
82.26
24.15

52.14
50.82
70.46
54.87

delta
P

low

[ps i ]

T cycle [da ys ]

60

C2

C2

rec

w1
w2

5,880
5,880

w1
w2

0.28742
0.23786

w1
w2

0.28742
0.23786

w1
w2

71.75
95.66

76.53
102.84

w3
w4
w5
w6
w7

5,880
5,880
5,880
5,880
5,880

w3
w4
w5
w6
w7

0.25035
0.33265
0.28351
0.24862
0.35542

w3
w4
w5
w6
w7

0.25035
0.33265
0.28351
0.24862
0.35542

w3
w4
w5
w6
w7

84.64
24.26
42.32
15.73
56.25

70.25
45.26
42.24
34.89
46.65

w8
w9
w 10

5,880
5,880
5,880

w8
w9
w 10

0.35156
0.29556
0.21518

w8
w9
w 10

0.35156
0.29556
0.21518

w8
w9
w 10

51.25
65.82
49.25

75.25
61.25
27.13

Gorrini, Federico Alberto__________________________________________________________________________________________________________________________________________25

Oilfield Production Planning.

UNIVERSIDAD NACIONAL DEL SUR

ANEXO 3. GAMS - MS EXCEL INTERFAZ


As como se realiz para la carga de datos, para la
exportacin de resultados desde GAMS debe generarse
del mismo modo un archivo de MS Excel para tal fin.
Nuevamente, MS Excel ofrece una mejora cualitativa
frente a GAMS tanto para visualizar los resultados en
tablas como por la facilidad que ofrece para graficar y
analizar los resultados obtenidos. Sin embargo, los
parmetros resultantes deben primero definirse en
GAMS. Una vez definidos en GAMS, debe programarse
la conexin GAMS-MS Excel. Dicha conexin puede
realizarse a travs de un archivo .gdx. Para exportar los

.xlsx

.gdx

resultados hacia un archivo .gdx, se utiliza el siguiente


comando:
execute_unload file_name.gdx items_list
En items_list se debe especificar la lista de items
de salida en el archivo .gdx. Si se quiere obtener los
valores iniciales de las variables, este comando se debe
ejecutar antes del comando SOLVE; por el contrario, si
lo que se desean son los valores en el punto ptimo,
entonces debe insertarse luego de la resolucin.

.gdx

GAMS

.xlsx

Figura A.3.1. Diagrama de flujo de datos/resultados a travs de las interfaces GAMS - MS Excel

En este caso vuelve a utilizarse GAMS como


software de mando. Para ello GAMS debe utilizar al
comando GDXXRW.EXE, el cual es una herramienta de
GAMS que permite crear archivos .gdx a partir de
archivos de MS Excel y viceversa. En este caso se utiliza
para tomar datos desde archivos .gdx y forzarlos dentro
de hojas de clculo de MS Excel. Para generar un archivo
de MS Excel a partir de un archivo .gdx se debe emplear
al comando de la siguiente forma:

GAMS. Por su parte, debe tambin existir un archivo


para la descarga de datos hacia MS Excel. Este archivo,
al que llamaremos Results.xlsx, debe constar de tres
solapas: Index y Results.
-

$ CALL GDXXRW.EXE Data_file.xlsx Index = Index! A1

Results: aqu se incorporan los datos en forma de


tablas. Pueden tambin incluirse parmetros.
Index: Proporciona la programacin que ejecuta la
conexin final para la interfaz GAMS - MS Excel. En
esta hoja de clculo se nombran los variables a
importar, declarando su ubicacin y el rango que
ocupan en la tabla correspondiente.

La estructura total de la conexin finalmente ser:


var
$ CALL GDXXRW.EXE Data_file.xlsx Index = Index! A1
$ gdxin Data_file.gdx
$ load Sets
$ load Parameters
$ gdxin

En itemslist debe especificarse las variables de las


cuales se pretende exportar sus valores finales. Todo
esto es la programacin que se realiza en el archivo de

Sets!N#:N#

Tambin, dentro de esta misma solapa se indica la


disposicin de las dimensiones de las variables.
-

MODEL + SOLVE command


Execute_unload `Results_file.gdx` itemslist;
$ CALL GDXXRW.EXE Results_file.xlsx Index = Index! A1

set_name

rdim: los datos se expresan verticalmente en


columnas.
si existe una columna con
datos del parmetro,
si no se expresan los
datos del parmetro en disposicin de columna.
cdim: los datos se expresan horizontalmente en filas.
si existe una fila con datos del parmetro,
si no se expresan los datos del parmetro
en disposicin de fila.
dim: nmero de dimensiones en las que se expresa
un parmetro; igual a la suma
.

Gorrini, Federico Alberto____________________________________________________________________________________26

Oilfield Production Planning.

UNIVERSIDAD NACIONAL DEL SUR

Tabla A.3.1. Especificacin de Variables en el archivo Results.xlsx, solapa Index de MS Excel

rdim

cdim

dim

var

Q.L

Results!C3:E13

var

P.L

Results!H3:J13

var

tto

Results!C17:E27

var

ttc

Results!H17:J27

var

Results!M17:O27

Una vez realizada esta programacin las variables


resultantes aparecern actualizadas luego de cada
ejecucin de GAMS. Despus, la manipulacin de estos
resultados para su anlisis es muy sencillo. En este caso,
resulta de inters el anlisis de las curvas de
declinacin/recuperacin de la presin en cada pozo, as
como la evolucin de la produccin acumulada en el

tiempo.
Para
ello,
se
cre
el
archivo
Analysis_Curves.xlsx, en el que los datos de
performance de las curvas de cada pozo se encuentran
ya vinculados a los datos importados por Results.xlsx,
logrando que todos los datos se actualicen
automticamente luego de cada ejecucin de GAMS.

Tabla A.3.2. Valor resultado del punto ptimo de las variables requeridas en la solapa Results del archivo Results.xlsx en MS Excel

Q.L

P.L [psi]
1

w1
w2
w3

w1
w2
w3

423.4
247.4
400.1

423.4
409.8
448.2

w1
w2
w3

w1
w2
w3

5,955
5,953
5,948

5,955
6,000
5,955

w4
w5
w6
w7
w8
w9
w10

w4
w5
w6
w7
w8
w9
w10

23.4
219.6
265.5
40.6
78.6
140.8
306.4

38.8
264.2
348.3
40.6
127.3
140.8
306.4

w4
w5
w6
w7
w8
w9
w10

w4
w5
w6
w7
w8
w9
w10

5,956
5,953
5,945
6,006
5,958
5,955
5,948

6,006
5,949
6,001
6,006
6,006
5,955
5,948

tto [days]
w1
w2
w3
w4
w5
w6
w7
w8
w9
w10

w1
w2
w3
w4
w5
w6
w7
w8
w9
w10

ttc [days]
1

19.22
20.76
30.00
20.64
21.25
14.17
0.00
17.95
20.26
30.00

19.22
0.00
11.66
0.00
14.17
0.00
0.00
0.00
20.26
30.00

w1
w2
w3
w4
w5
w6
w7
w8
w9
w10

w1
w2
w3
w4
w5
w6
w7
w8
w9
w10

N
1

10.78
9.24
30.00
9.36
8.75
5.83
60.00
12.05
39.74
30.00

10.78
60.00
18.34
60.00
5.83
60.00
60.00
60.00
39.74
30.00

w1
w2
w3
w4
w5
w6
w7
w8
w9
w10

w1
w2
w3
w4
w5
w6
w7
w8
w9
w10

2.00
2.00
1.00
2.00
2.00
3.00
1.00
2.00
1.00
1.00

2.00
1.00
2.00
1.00
3.00
1.00
1.00
1.00
1.00
1.00

Gorrini, Federico Alberto____________________________________________________________________________________27

Oilfield Production Planning.

UNIVERSIDAD NACIONAL DEL SUR

ANEXO 4. PROGRAMACIN GRFICA MS EXCEL


Una vez conseguidos los resultados arrojados por
GAMS, estos son exportados hacia el documento
Results.xlsx, el cual a su vez los exportar hacia el
archivo Pressure_Curve_Analysis.xlsx. En este ltimo
archivo se pretende graficar y analizar las curvas de
performance de cada pozo sobre cada perodo de
tiempo.

Para lograr esto, se importan los datos hacia hojas


de clculo individuales donde se expresan mediante las
siguientes tablas como la Tabla A.4.1.

Tabla A.4.1. Resumen de resultados y parmetros de


cada pozo

Como un pozo puede tener 1, 2 o 3 subciclos en


cada perodo, esto supone una dificultad a la hora de
intentar que MS Excel grafique en forma automtica a
partir de los resultados provistos. Para lograr graficar en
MS Excel a partir de los resultados obtenidos, se debe
calcular al valor de las funciones de la presin en
diversos puntos en el tiempo para luego graficarlos y
obtener las curvas. Sin embargo, es difcil que MS Excel
sepa si debe usar la ecuacin de decrecimiento o
recuperacin de la presin en el pozo o cuntos
subciclos se presentan. Por tanto, se recurre al clculo
de un nmero NP de puntos dentro del perodo de
tiempo T -en este caso particular, se toman 120 puntos
de clculo por perodo-. Para lograr esto se recurre a la
funcin condicional de MS Excel:

Results
Q.L
P.L [psi]
tto [days]
ttc [days]
N
Tcycle [days]

423.4
5,955
19.2
10.8
2

423.4
5,955
19.2
10.8
2

60

60

data well 1
C1

0.05457

C2

0.28742
rec

27.285

C2rec

0.28742

C1

Es importante que el archivo Results.xlsx


permanezca cerrado mientras se ejecuta GAMS, de lo
contrario, los datos no sern importados por MS Excel.

SI (prueba_lgica, [valor_si_verdadero], [valor_si_falso])


pressure boundaries
up

P [psi]

6,009

6,009

Plow [psi]

5,880

5,880

Con
las
consideraciones
expresadas
a
continuacin, es posible programar las respectivas
frmulas en MS Excel a fin de representar el
comportamiento de la presin y produccin de cada
pozo en funcin del tiempo y obtener los grficos
correspondientes.

A continuacin se expresan las frmulas a


aplicar en cada segmento de tiempo en funcin del
nmero de subciclos.

Tmese en consideracin las siguientes ecuaciones


aplicadas para representar cada segmento de las curvas
segn el nmero de subciclos que se presenten. En los
casos en que
, para el tiempo basta con dividir el
tiempo del perodo en NP partes y multiplicarlo por el
contador respectivo al punto en cuestin, mientras que
para la presin slo se debe imponer el valor
.

Gorrini, Federico Alberto____________________________________________________________________________________28

Oilfield Production Planning.

UNIVERSIDAD NACIONAL DEL SUR

Time [days]

to

60

to

to

30 + t o

30

20 + t o

20

40 + t o

40

60

60

Gorrini, Federico Alberto____________________________________________________________________________________29

Oilfield Production Optimization

UNIVERSIDAD NACIONAL DEL SUR

Pressure [psi]

to

60

to

to

30 + t o

30

20 + t o

20

En ocasiones puede que la recuperacin de la


presin del ltimo subciclo correspondiente a un dado
perodo se concrete antes que el perodo termine. Es
trminos matemticos esto puede expresarse como
. En estos casos es necesario realizar
una correccin sobre las frmulas introducidas para
calcular la presin del pozo en tales instancias; de lo

40 + t o

40

60

60

contrario, la presin graficada superar a


, lo cual es
tcnicamente imposible. En los subciclos que se
presente sta situacin deber insertarse un condicional
adicional en la frmula de clculo de la presin que
indique que cundo la presin calculada sea superior a
, a sta se le deber imponer el valor

Gorrini, Federico Alberto____________________________________________________________________________________30

Oilfield Production Optimization

UNIVERSIDAD NACIONAL DEL SUR

Production [bbl]

to

60

to

to

30 + t o

30

20 + t o

20

40 + t o

40

60

60

Gorrini, Federico Alberto____________________________________________________________________________________31

UNIVERSIDAD NACIONAL DEL SUR


Baha Blanca - Argentina

OILFIELD PRODUCTION PLANNING


Mixed-Integer Multiperiod Model for the Planning of Oilfield Production
Documento de Trabajo. Septiembre 2014

Potrebbero piacerti anche