SlideShare una empresa de Scribd logo
1 de 33
Descargar para leer sin conexión
UNIVERSIDAD NACIONAL DEL SUR 
OILFIELD PRODUCTION PLANNING 
Mixed-Integer Multiperiod Model for the Planning of Oilfield Production 
Modelo matemático de optimización MINLP implementado en GAMS a través de interfaces con MS Excel 
Ing. Federico Alberto Gorrini - Dr. José Alberto Bandoni 
DEPARTAMENTO DE INGENIERÍA QUÍMICA 
DOCUMENTO DE TRABAJO | Septiembre 2014
UNIVERSIDAD NACIONAL DEL SUR 
OILFIELD PRODUCTION PLANNING 
Mixed-Integer Multiperiod Model for the Planning of Oilfield Production 
Departamento de Ingeniería Química. 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) Bahía Blanca. Buenos Aires, Argentina.
UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 
Ing. GORRINI, Federico Alberto - Dr. BANDONI, J. Alberto 
ABSTRACT 
Durante el desarrollo del presente trabajo, se implementó un modelo de optimización multiperíodo mixto-entero para la planificación de la producción petrolera en los pozos de un mismo reservorio. El problema considera las variaciones topológicas e involucra los perfiles de producción y los tiempos de operación/parada de los pozos en cada período de tiempo. Se asume comportamiento no-lineal de la presión de flujo (respecto al tiempo) mientras se calcula la producción de petróleo y se consideran períodos de tiempo de duración uniforme. 
Finalmente, el modelo es implementado a través del sistema de modelamiento GAMS (General Algebraic Modeling System), mostrando un ejemplo numérico de resolución. Se generan interfaces a través de MS Excel que permite la importación de datos y exportación de resultados involucrados en GAMS. Además, esto posibilita el procesamiento de los resultados y su graficado para un mejor análisis de los mismos. 
El resultado del proceso es la determinación de los caudales y tiempos de operación óptimos para los pozos de un mismo reservorio petrolero. 
Los archivos correspondientes a la programación se encuentran en la carpeta del siguiente enlace. Seguir las instrucciones para una correcta descarga: 
https://onedrive.live.com/redir?resid=57D9ABABD9D55D8B%21107 
1. Ingresar el link y acceder a los archives en Outlook. 
2. Seleccionar la carpeta Optimization Oilfield Planning y clickear el botón Descargar. 
3. Una vez descargada la carpeta, abrir el archivo Optimization_10_wells.gpr. 
4. Seleccionar File -> Project -> Open Project. Una vez allí, abrir el archivo Oil_Explotation_10_wells.gms ubicado en la misma carpeta. 
5. Por otra parte, abrir el archivo DS - Pressure_Curve_Analysis.xlsx situado en la carpeta Curve Analysis. 
6. Seleccionar Datos -> Editar Vínculos. Seleccionar Data.xlsx de la lista de orígenes y clickear el botón Cambiar origen... Seleccionar el archivo Data.xlsx. 
7. Ahora hacer lo propio con el origen Results.xlsx. Seleccionar el archivo Results.xlsx. 
8. 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 también podrá encontrar al informe Shale Gas & Shale Oil - Gas y Petróleo Convencional y no-Convencional en Argentina. 
Oilfield Production Planning 
Mixed-Integer Multiperiod Model for the Planning of Oilfield Production 
Modelo matemático de optimización MINLP implementado en GAMS a través de interfaces con MS Excel 
Gorrini, Federico Alberto_____________________________________________________________________________________1
UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 
BACKGROUND 
Recientemente la optimización multiperíodo en la 
industria química ha recibido considerable atención. 
Este tipo de problemas involucran instalaciones donde 
los costos y demandas varían de período en período 
debido al comportamiento del mercado o a cambios 
estacionales. 
En un modelo de planificación multiperíodo, el 
problema considera la topología e involucra a las 
decisiones de puesta en marcha/paro de la operación 
de los procesos en cada período de tiempo. La 
operación de un campo de petróleo es un problema 
multiperíodo debido a que los costos y las demandas de 
la producción de petróleo cambian de un período a otro 
a lo largo del horizonte de tiempo considerado. 
La infraestructura petrolera consiste en plataformas 
de producción con un número de reservorios incluyendo 
los pozos de petróleo. En los modelos de campos 
petroleros multiperíodo, las decisiones de diseño 
involucran las capacidades de producción de las 
plataformas así como también decisiones sobre cuáles 
plataformas de producción y pozos serán instalados a lo 
largo del horizonte de tiempo en cuestión. Las 
decisiones de planificación involucran la producción de 
petróleo en cada período de tiempo. 
En el pasado, las decisiones acerca de las 
capacidades de las plataformas, la programación de 
perforación y los perfiles de producción 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 operación durante 
varias décadas. Por tanto, a pesar de que los cambios en 
la presión del reservorio con respecto al tiempo no son 
significativos en el corto plazo, éstos no pueden ser 
ignorados para la simulación que involucre planificación 
futura y decisiones de inversión. Es sabido que el 
comportamiento de un reservorio representa una 
restricción no-lineal, pero muchas veces el 
comportamiento del reservorio ha sido aproximado por 
restricciones lineales como una función de la 
producción acumulada de petróleo. Por tanto, el índice 
de productividad, , es asumido como constante para 
un dado período de tiempo. El coeficiente de 
productividad depende de la conductividad del pozo y 
permite el cálculo del flujo de petróleo como una 
función de la pérdida de presión entre el reservorio y el 
pozo. 
donde es el caudal de flujo de petróleo en el período 
j, es la presión del reservorio y la presión del pozo. 
El análisis del pozo revela, de cualquier forma, que la 
presión de flujo del pozo presenta una dependencia 
temporal no-lineal y, como consecuencia, la suposición 
de condiciones operativas constantes no aplica. La 
Figura 1 ilustra la extracción de petróleo desde un 
reservorio. 
Figura 1. Diagrama conceptual de un pozo de petróleo en un 
reservorio 
Tal como indica la Ecuación 1, la fuerza impulsora 
para la producción de petróleo desde el pozo es la 
diferencia de presión manifestada entre el reservorio y 
las paredes del pozo. También, nótese que cuando el 
pozo acaba de ser perforado -o cuando ha sido cerrado 
durante un período de tiempo significativo-, es posible 
asumir que la presión del pozo es la misma que la del 
reservorio. Por tanto, al comienzo de la operación, 
cuando el pozo es abierto al flujo, el petróleo puede ser 
extraído debido a la diferencia de presión entre el fondo 
del pozo y el tope del mismo -en el caso de extracción 
ecuación 1 
reservoir 
well head 
well bore 
oil flow 
well bore storage 
Gorrini, Federico Alberto_____________________________________________________________________________________2
UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 
ecuación 3 
Pup 
Plow 
tshut in t 
Oil Flow Rate [bbl/d] 
0 
Well Bore Pressure [psi] 
t t shut in 
natural-. Según el tiempo de operación se incremente, 
la presión en las paredes del pozo decrece y esto causa 
el flujo de petróleo desde el reservorio hacia el pozo. 
De todos modos, el caudal del flujo de petróleo 
desde el reservorio hacia el pozo depende también de 
las propiedades geológicas de los alrededores del 
mismo; como son la permeabilidad, el espesor, la 
porosidad, etc., las cuales determinan la capacidad de 
producción del pozo. Así, debido a la resistencia al flujo 
de petróleo entre el reservorio y las paredes del pozo, la 
producción de petróleo causa que la presión en la 
expresión que ha sido utilizada frecuentemente (Horne, 
1998) para representar dicho comportamiento es: 
donde , , , , y son propiedades geológicas 
determinadas experimentalmente que caracterizan al 
pozo. es la presión en las paredes del pozo al inicio 
de la operación (presión del reservorio) y es la 
presión (final) en las paredes del pozo en el tiempo de 
operación . En este trabajo se asume que el valor de las 
propiedades geológicas es conocido. Es así como la 
ecuación puede ser reformulada como: 
donde y son constantes que resultan de la 
combinación de las propiedades geológicas. Por otra 
parte, si el pozo se encuentra cerrado, su presión se 
incrementará debido al efecto del flujo de petróleo 
desde el reservorio hacia el pozo. La Figura 2 muestra el 
comportamiento de la presión del pozo cuando el 
petróleo se encuentra fluyendo y más tarde cuando el 
pozo se encuentra cerrado. 
Figura 2.Perfil típico del la performance de la presión del pozo de petróleo y su caudal de flujo 
Este trabajo maneja planificación a corto plazo 
para la producción de petróleo en los pozos de un 
reservorio petrolero, siempre atendiendo a la reducción 
de costos de explotación. Las decisiones de planificación 
consisten en determinar el caudal de los flujos de 
petróleo y los tiempos de operación/cierre para cada 
pozo del reservorio en cada período. Tales decisiones 
son basadas en consideraciones prácticas, las cuales 
evitan que la presión del pozo decaiga más allá de un 
mínimo valor admisible. También, debe recordarse que 
el caudal de producción de petróleo debe satisfacer la 
demanda de petróleo para cada período de tiempo. 
Como se está focalizado en las decisiones a corto plazo, 
se considera que la presión del reservorio -no del pozo-permanece 
constante sobre el horizonte de tiempo en 
cuestión. 
Por otro lado, se asume comportamiento no-lineal 
de la presión del pozo para el cálculo de la producción 
de petróleo tal como lo describe la Ecuación 3, y 
también es asumido que el valor de las constantes 
geológicas del pozo es conocido. 
El modelo matemático implementado en este 
trabajo para representar y optimizar al problema es de 
tipo MINLP (Mixed-Integer Non-Linear Programming). 
ecuación 2 
Gorrini, Federico Alberto_____________________________________________________________________________________3
UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 
INTRODUCCIÓN TEÓRICA 
El trabajo considera la planificación a corto plazo de la producción petrolera de los pozos de un reservorio sobre un horizonte temporal H dividido en NP períodos de duración T. 
Así es como, dada la demanda de petróleo para un dado período de tiempo, las decisiones de planificación involucran conocer el caudal de flujo de petróleo y los tiempos de operación/cierre de los pozos. La principal restricción impuesta al problema es evitar que la presión del pozo decaiga más allá de una presión mínima admisible, debajo de la cual la producción se considera económica y/o técnicamente inviable; además de lograr satisfacer la demanda de petróleo existente. 
Las suposiciones realizadas en este documento para realizar el modelamiento incluyen: 
1. Pozos múltiples de un reservorio común producen de manera completamente independiente unos de otros. 
2. Comportamiento no-lineal de la presión del pozo como función del caudal de petróleo y del tiempo. 
3. La función objetivo es calculada en términos de coeficientes de costos, los cuales cambian para cada período de tiempo debido a cambios estacionales. 
MODELO MATEMÁTICO 
El modelo considera la operación cíclica de cada pozo i en cada período de tiempo j. Se asume, para todos los pozos, que la presión del pozo al comienzo y al final de cada período de tiempo -y, en consecuencia, al final y al principio de cada ciclo- será la misma e igual a la máxima presión admisible por el pozo. En cada período de tiempo, habrá un máximo 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 operación serán los mismos para cada ciclo de un dado período de tiempo. El número real de ciclos para cada pozo dentro de un período de tiempo ( ) será determinado por el esquema de optimización. Finalmente, en lugar de utilizar la Ecuación 3, la expresión en el pozo será aproximada por una expresión no-lineal que involucra un término el cual contiene una potencia constante positiva del tiempo de operación. Esta expresión constituye el núcleo del modelo matemático ya que es la representación de su comportamiento durante los ciclos de operación/cierre de los pozos. 
Sets & Índices 
Set de períodos de tiempo (1 ... NP) 
Set de pozos (1 ... NW) 
Set de valores admisibles para el número de ciclos en un período de tiempo (1 ... NC) 
Índices correspondientes al pozo, el período de tiempo y el ciclo, respectivamente ( , , ) 
Gorrini, Federico Alberto_____________________________________________________________________________________4
UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 
Variables Continuas 
Producción total de petróleo del pozo i en el período j 
Caudal de flujo de petróleo en el pozo i en el período j 
Tiempo de operación para cada ciclo del pozo i en el período j 
Tiempo de cierre para cada ciclo del pozo i en el período j 
Tiempo de operación total del pozo i en el período j 
Tiempo de cierre total del pozo i en el período j 
Presión del pozo i en el período j al final de un ciclo de operación 
Variables Binarias 
1 si existen k ciclos en la operación del pozo i en el período j 
Variables Enteras 
Número de ciclos en la operación del pozo i en el período j 
Parámetros 
Parámetros para calcular el decaimiento de la presión en el pozo i cuando se encuentra produciendo 
Parámetros para calcular el incremento de la presión en el pozo i cuando se encuentra cerrado 
El modelo resultante es un Mixed Integer Non- Linear Problem (MINLP). La función objetivo que se plantea para minimizar los costos en la explotación del campo petrolero es: 
ecuación 1 
ecuación 5 
ecuación 6 
ecuación 4 
ecuación 3 
ecuación 2 
Gorrini, Federico Alberto_____________________________________________________________________________________5
UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 
La producción de petróleo de cada pozo -el caudal de flujo de petróleo multiplicado por el tiempo total de operación del pozo en el período j- es calculada a través de la Ecuación 2. La Ecuación 3 atiende a satisfacer la demanda de petróleo en cada período de tiempo j. 
El número de ciclos para cada período de tiempo es dado por la Ecuación 4 y la Ecuación 5. Nótese que si el número de ciclos en un dado período de tiempo es k´, ; mientras que . 
El tiempo total de operación/cierre para un pozo i en un período j es dado por el producto entre el número de ciclos y los tiempos de operación/cierre de cada pozo, tal como lo indica la Ecuación 6 y la Ecuación 7. Nótese que si un pozo permanece cerrado durante un dado período de tiempo, el número de ciclos ( ) es cero y el tiempo de operación para el pozo dentro de este período es nulo. En tal caso, el lado derecho de la Ecuación 6 consiste en un término bilineal que incluye dos variables, las cuáles son ambas iguales a cero. Para evitar esta dificultad cuando el número de ciclos es igual a cero, en la práctica se asigna a el valor de en lugar del número 0 ( ). Para el caso de la Ecuación 7, el problema es resuelto utilizando la variable . Nótese que mientras el pozo i permanece cerrado en un período j, , y si se encuentra abierto al flujo mientras que alguno de los otros será igual a 1. 
La Ecuación 8 establece que la suma de tiempos que el pozo i permanece en operación/cerrado dentro de un período j es igual a la extensión del período de tiempo. El tiempo de operación de cada ciclo del pozo i, , debe ser menor al tiempo que permite la caída de presión del pozo por debajo del valor de la mínima presión admisible, condición dictada por la Ecuación 9. Tal máximo de tiempo de operación es dado por la Ecuación 10. 
El tiempo de cierre para cada pozo i, debe ser al menos igual al tiempo mínimo que permita a la presión del pozo incrementarse hasta el valor máximo 
ecuación 10 
ecuación 11 
ecuación 9 
ecuación 8 
ecuación 7 
ecuación 12 
ecuación 13 
ecuación 14 
ecuación 15 
ecuación 16 
ecuación 17 
Gorrini, Federico Alberto_____________________________________________________________________________________6
UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 
admisible, según lo expresa la Ecuación 11. Tal tiempo mínimo es dado por la Ecuación 12. La Ecuación 13 permite el cálculo de la presión de flujo del pozo después de la operación del mismo y justo antes de cerrarlo durante un ciclo de operación. 
Finalmente, las restricciones de la Ecuación 14 y la Ecuación 15 representan el comportamiento de las principales variables del problema en términos de la variable binaria . Estas dictaminan que el tiempo total de operación de un pozo i no puede superar al tiempo total del período T; y que el caudal de operación no puede ser superior al caudal máximo impuesto, con excepción de los casos donde el pozo permanece cerrado durante todo el período de tiempo, donde se exige a éste que sea nulo. De esta forma, la producción del reservorio queda modelada matemáticamente y, las condiciones para optimizarla se encuentran declaradas. 
EJEMPLOS NUMÉRICOS Y RESULTADOS 
El modelo propuesto es resuelto a través del sistema de modelamiento GAMS. Se implementó el solver DICOPT (CPLEX + CONOPT), el cual utiliza por defecto las subrutinas CPLEX y CONOPT para la resolución de los subproblemas MIP y NLP, respectivamente. En todas las ejecuciones realizadas, las propiedades geológicas (comportamiento de la presión de flujo del pozo) son diferentes para cada pozo del reservorio. Más aún, los coeficientes de costos varían no sólo para cada pozo, sino que también lo hacen en cada período de tiempo. 
En el ejemplo en estudio se trabaja con un reservorio explotado a través de un número total de 10 pozos petroleros. El Anexo 1 (GAMS Oilfield Production Optimization Programming) contiene la programación ejecutada en el software GAMS. Allí se detalla el propósito de los distintos segmentos de la programación. 
Para facilitar el ingreso de datos a GAMS así como también su egreso y posterior visualización se recurre a un software con una interface más interactiva y asequible a cualquier tipo de usuario tal como lo es MS Excel. Este software permite cargar los datos de ingreso en cómodas tablas. Una vez ejecutada la programación en GAMS también posibilita el acceso a los resultados a través de tablas, así como también la construcción de gráficos para su interpretación. 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 construcción de la interfaz GAMS - MS Excel para la extracción de resultados y su visualización 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 ejecución y que MS Excel sólo atiende a las órdenes de éste. 
CONCLUSIÓN 
Es posible resolver el modelo satisfactoriamente utilizando el solver DICOPT. Para el caso particular mostrado, éste halla el punto óptimo de operación en tan sólo 4 iteraciones y 0.015 s de tiempo de resolución. Sin embargo, si bien el modelo pudo ser resuelto bajo los valores de prueba propuestos, éste es altamente no- lineal, por lo que la modificación de estos valores ha llevado en la mayoría de los casos a la incapacidad del solver DICOPT para dar con la solución. Es por ello que en el futuro, deberán implementarse métodos capaces de lidiar con estas no-linealidades, lo cual seguramente mejorará mucho el desempeño de la programación. 
Además, la aplicación del solver BARON ha resultado inútil dado los extensos tiempos de resolución. A continuación se presenta las gráficas obtenidas de los resultados del ejemplo numérico propuesto. 
Gorrini, Federico Alberto_____________________________________________________________________________________7
UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 
5,860 
5,880 
5,900 
5,920 
5,940 
5,960 
5,980 
6,000 
6,020 
0 
15 
30 
45 
60 
75 
90 
105 
120 
Well Bore Pressure [psi] 
5,860 
5,880 
5,900 
5,920 
5,940 
5,960 
5,980 
6,000 
6,020 
0 
15 
30 
45 
60 
75 
90 
105 
120 
Well Bore Pressure [psi] 
5,860 
5,880 
5,900 
5,920 
5,940 
5,960 
5,980 
6,000 
6,020 
0 
15 
30 
45 
60 
75 
90 
105 
120 
Well Bore Pressure [psi] 
5,860 
5,880 
5,900 
5,920 
5,940 
5,960 
5,980 
6,000 
6,020 
0 
15 
30 
45 
60 
75 
90 
105 
120 
Well Bore Pressure [psi] 
RESULTADOS. PERFORMANCE DE LA PRESIÓN EN CADA POZO 
Estos gráficos contienen la evolución de la presión de cada pozo del reservorio en el tiempo. En todos los casos ésta ha prevalecido por encima de la mínima presión admisible, además de haberse recuperado al final de cada ciclo hasta alcanzar la misma presión del reservorio. En el caso del pozo 5 en el período 1 se observa que la presión del pozo logra recuperarse antes de la culminación de cada ciclo. 
En los casos en que el pozo permaneció cerrado y fuera de operación durante todo un período, su presión ha sido constante e igual a la presión del reservorio. 
Figura 1. Evolución de la presión del pozo 1 en función del tiempo 
Figura 3. Evolución de la presión del pozo 3 en función del tiempo 
Figura 2. Evolución de la presión del pozo 2 en función del tiempo 
Figura 4. Evolución de la presión del pozo 4 en función del tiempo 
Gorrini, Federico Alberto_____________________________________________________________________________________8
UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 
5,860 
5,880 
5,900 
5,920 
5,940 
5,960 
5,980 
6,000 
6,020 
0 15 30 45 60 75 90 105 120 
Well Bore Pressure [psi] 
5,860 
5,880 
5,900 
5,920 
5,940 
5,960 
5,980 
6,000 
6,020 
0 15 30 45 60 75 90 105 120 
Well Bore Pressure [psi] 
5,860 
5,880 
5,900 
5,920 
5,940 
5,960 
5,980 
6,000 
6,020 
0 15 30 45 60 75 90 105 120 
Well Bore Pressure [psi] 
5,860 
5,880 
5,900 
5,920 
5,940 
5,960 
5,980 
6,000 
6,020 
0 15 30 45 60 75 90 105 120 
Well Bore Pressure [psi] 
5,860 
5,880 
5,900 
5,920 
5,940 
5,960 
5,980 
6,000 
6,020 
0 15 30 45 60 75 90 105 120 
Well Bore Pressure [psi] 
5,860 
5,880 
5,900 
5,920 
5,940 
5,960 
5,980 
6,000 
6,020 
0 15 30 45 60 75 90 105 120 
Well Bore Pressure [psi] 
Figura 5. Evolución de la presión del pozo 5 en función del tiempo 
Figura 7. Evolución de la presión del pozo 7 en función del tiempo 
Figura 9. Evolución de la presión del pozo 9 en función del tiempo 
Figura 6. Evolución de la presión del pozo 6 en función del tiempo 
Figura 8. Evolución de la presión del pozo 8 en función del tiempo 
Figura 10. Evolución de la presión del pozo 10 en función del tiempo 
Gorrini, Federico Alberto_____________________________________________________________________________________9
UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 
0 
5,000 
10,000 
15,000 
20,000 
25,000 
30,000 
35,000 
0 
15 
30 
45 
60 
75 
90 
105 
120 
Production [bbl] 
0 
2,000 
4,000 
6,000 
8,000 
10,000 
12,000 
0 
15 
30 
45 
60 
75 
90 
105 
120 
Production [bbl] 
0 
5,000 
10,000 
15,000 
20,000 
25,000 
0 
15 
30 
45 
60 
75 
90 
105 
120 
Production [bbl] 
0 
200 
400 
600 
800 
1,000 
1,200 
0 
15 
30 
45 
60 
75 
90 
105 
120 
Production [bbl] 
RESULTADOS. PRODUCCIÓN ACUMULADA DE CADA POZO EN FUNCIÓN DEL TIEMPO 
La evolución de la producción acumulada de cada pozo se encuentra en éstos gráficos. Aquí puede verse que la producción de cada pozo aumenta de manera lineal mientras éste se mantiene en operación, producto de que su caudal de flujo sea constante; mientras que se estanca cuando el pozo permanece cerrado y recuperando presión. 
Sin embargo, que el caudal de producción de cada pozo sea constante no implica que este comportamiento se replique para la completitud del reservorio, de hecho, el caudal de petróleo brindado por el reservorio completo es variable en el tiempo y hasta llega a ser nulo hacia el final de cada período de tiempo -todos los pozos se encuentran en recuperación-. 
Figura 1. Evolución de la presión del pozo 1 en función del tiempo 
Figura 3. Evolución de la presión del pozo 3 en función del tiempo 
Figura 2. Evolución de la presión del pozo 2 en función del tiempo 
Figura 4. Evolución de la presión del pozo 4 en función del tiempo 
Gorrini, Federico Alberto____________________________________________________________________________________10
UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 
0 
5,000 
10,000 
15,000 
20,000 
25,000 
0 15 30 45 60 75 90 105 120 
Production [bbl] 
0 
2,000 
4,000 
6,000 
8,000 
10,000 
12,000 
0 15 30 45 60 75 90 105 120 
Production [bbl] 
0 
500 
1,000 
1,500 
2,000 
2,500 
3,000 
0 15 30 45 60 75 90 105 120 
Production [bbl] 
0 
1,000 
2,000 
3,000 
4,000 
5,000 
6,000 
7,000 
0 15 30 45 60 75 90 105 120 
Production [bbl] 
0 
2,000 
4,000 
6,000 
8,000 
10,000 
12,000 
14,000 
16,000 
18,000 
20,000 
0 15 30 45 60 75 90 105 120 
Production [bbl] 
0 
100 
200 
300 
400 
500 
600 
700 
800 
900 
1,000 
0 15 30 45 60 75 90 105 120 
Production [bbl] 
Figura 5. Evolución de la presión del pozo 5 en función del tiempo 
Figura 7. Evolución de la presión del pozo 7 en función del tiempo 
Figura 9. Evolución de la presión del pozo 9 en función del tiempo 
Figura 6. Evolución de la presión del pozo 6 en función del tiempo 
Figura 8. Evolución de la presión del pozo 8 en función del tiempo 
Figura 10. Evolución de la presión del pozo 10 en función del tiempo 
Gorrini, Federico Alberto____________________________________________________________________________________11
UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 
ANEXO 1. GAMS OILFIELD PRODUCTION OPTIMIZATION PROGRAMMING 
La programación realizada en GAMS para ejecutar el modelo matemático y poder obtener el punto óptimo consta de nueve partes, en cada una de las cuales se definen: 
- Sets 
- Parámetros (MS Excel - GAMS interfaz) 
- Variables 
- Ecuaciones 
- Función Objetivo 
- Rango válido de las variables 
- Valores iniciales 
- Condiciones de resolución y métodos a utilizar 
- Resultados (GAMS - MS Excel interfaz) 
Sets, Parámetros (MS Excel - GAMS interfaz) y Variables 
Tanto los Sets, Parámetros así como las Variables son cargadas en MS Excel y más tarde tomadas por GAMS. Sin embargo, las mismas deben primero definirse en GAMS. En este caso, tal como puede verse más adelante, dicha definición se produce entre las líneas de programación 3 a 14. 
Una vez definidos en GAMS, debe programarse la conexión GAMS - MS Excel. Dicha conexión puede realizarse a través de un archivo .gdx. La estructura básica de comandos para ejecutar la conexión 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 líneas de programación 17 a 25 es donde se produce esta serie de comandos. Allí se especifican los sets (i, j, k), el tiempo de cada período j ( ), los coeficientes que determinan el comportamiento de la presión del pozo en producción así como también cuando se encuentra cerrado ( ), la demanda correspondiente a cada período j ( ( )), los coeficientes de ganancias/costos para cada pozo i sea que éste se encuentre operativo como cuando se encuentra cerrado ( ), así como también las presiones límite definidas para la operación ( ). 
Por último se define al parámetro ( ), aunque éste -por conveniencia- es definido directamente en GAMS (líneas 28 a 32). Este parámetro representa el número de subciclos k existentes dentro de un dado período j. 
Las variables también deben definirse dentro de la estructura de GAMS. Entre las líneas 37 a 47 se definen las variables que sólo pueden adquirir valores positivos ( ( ), ( ), ( ), ( ), ( ), ( ), ( ), ( ), ( ), ( )). También debe definirse a la variable , la cual en este caso será el resultado de la función objetivo a minimizar y, como tal, se define como una variable libre (línea 35). 
En la línea 50 se define a la variable binaria ( ), la cual es una herramienta que permite indicar dentro del modelo cuál es el número de subciclos presentes dentro de un dado período k. La variable ( ) no es más 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 período, ( ) = 1, mientras que si presenta al menos un subciclo ( ) . 
Ecuaciones y Función Objetivo 
Primero debe declararse la existencia de las ecuaciones, tal como se lista entre las líneas 53 y 69. Luego, es posible desarrollar cada una de ellas tal como se encuentra en las líneas 72 a 105. Finalizado esto, se declara a todas estas bajo el nombre del modelo matemático “oilfield” (línea 107). 
Rango válido de las variables y valores iniciales 
Una vez definidas las ecuaciones, inecuaciones y variables del modelo matemático, es necesario determinar en qué rango podrán encontrarse los valores 
Gorrini, Federico Alberto____________________________________________________________________________________12
UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 
de las variables. Esto reduce el tiempo de cómputo y aumenta las probabilidades de que un solver logre hallar el punto óptimo. Más aún, 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 más cerca se halle el valor inicial del valor óptimo menor será el tiempo de cómputo. 
Condiciones de resolución y métodos a utilizar 
Además de desarrollar la descripción matemática del modelo, es necesario especificar el solver de resolución a emplear así como también los métodos de resolución 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 resolución de problemas MINLP (Mixed Integer Non- Linear Programming) que involucran variables lineales binarias o variables enteras y variables continuas no- lineales y lineales. El programa se basa en extensiones del algoritmo de aproximación 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 sólo problemas MINLP, y es asignado por defecto en GAMS. También son asignados por defecto CONOPT como solver de los subproblemas NLP, y CPLEX como solver de los subproblemas MIP. Los NLP solvers posibles son: MINOS5, MINOS, CONOPT, CONOPT3 y SNOPT. Los MIP solvers disponibles son: CPLEX, GUROBI, XPRESS y XA. 
Las líneas 217 a 221 expresan en forma explícita los solvers y programas utilizados para la resolver el problema de optimización. DICOPT es un programa basado en aproximación externa (Outer Approximation), por lo que aproxima las funciones convexas por líneas tangentes internas. Esto no garantiza que la solución 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 optimización 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 más fácil solución- para luego utilizar la solución óptima relajada existente como punto de inicio. 
Entre las líneas 206 y 234 se encuentran declarados todos los comandos de resolución. 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____________________________________________________________________________________13
UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 
1 
$TITLE Oilfield Explotation Process Optimization 
2 
3 
SETS 
4 
* 10 wells - 2 periods of time - 4 subcycle 
5 
6 
i wells 
7 
j periods 
8 
k subcycles; 
9 
10 
PARAMETERS C1(i),C2(i),C1rec(i),C2rec(i); 
11 
PARAMETER Demand(j); 
12 
PARAMETERS gamma(i,j),delta(i,j),alfa(i,j); 
13 
PARAMETERS Pup(i),Plow(i); 
14 
SCALAR Tperiod 
15 
16 
17 
$CALL GDXXRW.EXE Data.xlsx Index=Index!A1 
18 
$gdxin Data.gdx 
19 
$load i j k 
20 
$load Tperiod 
21 
$load C1 C2 C1rec C2rec 
22 
$load Demand 
23 
$load gamma delta alfa 
24 
$load Pup Plow 
25 
$gdxin 
26 
27 
28 
PARAMETER Kcycle(k) 
29 
/1 0.0001 
30 
2 1 
31 
3 2 
32 
4 3/; 
33 
34 
35 
FREE VARIABLE z minimize production cost; 
36 
37 
POSITIVE VARIABLE 
38 
y0(i,j) 
39 
Q(i,j) 
40 
P(i,j) 
41 
Tauo(i,j) 
42 
Tauc(i,j) 
43 
tto(i,j) 
44 
ttc(i,j) 
45 
N(i,j) 
Gorrini, Federico Alberto____________________________________________________________________________________14
UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 
46 
ttmin(i,j) 
47 
ttmax(i,j); 
48 
49 
BINARY VARIABLE 
50 
y(i,j,k); 
51 
52 
53 
EQUATIONS 
54 
55 
EQ1(j) 
56 
EQ4(i,j) 
57 
EQ5(i,j) 
58 
EQ6(i,j) 
59 
EQ6a(i,j) 
60 
EQ6b(i,j) 
61 
EQ7(i,j) 
62 
EQ8(i,j) 
63 
EQ9(i,j) 
64 
EQ8a(i,j) 
65 
EQ9a(i,j) 
66 
EQ10(i,j) 
67 
EQ11(i,j) 
68 
EQ12(i,j) 
69 
obj; 
70 
71 
72 
EQ1(j).. SUM(i, Q(i,j)*Tauo(i,j)) =G= Demand(j); 
73 
74 
EQ4(i,j).. N(i,t) =E= SUM (k,y(i,j,k)*Kcycle(k)); 
75 
76 
EQ5(i,j).. SUM(k,Y(i,j,k)) =E= 1; 
77 
78 
EQ6(i,j).. Tauo(i,j) =E= N(i,j)*tto(i,j); 
79 
80 
EQ6a(i,j).. Tauc(i,j) =E= (N(i,j)+y0(i,j))*ttc(i,j); 
81 
82 
EQ6b(i,j).. y0(i,j) =E= y(i,j,"1"); 
83 
84 
EQ7(i,j).. Tauo(i,j)+Tauc(i,j) =E= Tperiod; 
85 
86 
* EQ8(i,j).. tto(i,j) =L= ((P(i,j)-Plow(i))/C1(i)*Q(i,j))**(1/C2(i)); 
87 
EQ8(i,j).. ttmax(i,j)**C2(i) =E= ((P(i,j)-Plow(i)))/(C1(i)*Q(i,j)); 
88 
EQ8a(i,j).. tto(i,j) =L= ttmax(i,j); 
89 
90 
* EQ9(i,j).. ttc(i,j) =L= ((Pup(i)-P(i,j))/C3(i))**(1/C4(i)); 
Gorrini, Federico Alberto____________________________________________________________________________________15
UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 
91 
EQ9(i,j).. (ttmin(i,j)**C2rec(i))*(C1rec(i)) =E= (Pup(i)-P(i,j)); 
92 
EQ9a(i,j).. ttc(i,j) =G= ttmin(i,j); 
93 
94 
EQ10(i,j).. P(i,j) =E= Pup(i)-C1(i)*Q(i,j)*tto(i,j)**C2(i); 
95 
96 
EQ11(i,j).. Tauo(i,j)-Tperiod*(1-y(i,j,"1")) =L= 0; 
97 
98 
EQ12(i,j).. Q(i,j)-Q.up(i,j)*(1-y(i,j,"1")) =L= 0; 
99 
100 
*option reslim = 100000; 
101 
*option sysout = ON; 
102 
*option domlim = 1000000; 
103 
104 
obj.. z =E= sum((i,j),gamma(i,j)*Q(i,j)*Tauo(i,j)+ 
105 
delta(i,j)*Tauo(i,j)+alfa(i,j)*Tauc(i,j)); 
106 
107 
MODEL oilfield /ALL/; 
108 
109 
110 
N.up (i,j) = 3; 
111 
N.l (i,j) = 1; 
112 
N.lo (i,j) = 0.0001; 
113 
114 
Tauo.up (i,j) = 42.5 ; 
114 
Tauo.lo (i,j) = 0.00001; 
115 
116 
Tauc.up (i,j) = 60; 
117 
Tauc.lo (i,j) = 0.00001; 
118 
119 
tto.up (i,j) = 30; 
120 
tto.l (i,j) = 10; 
121 
tto.lo (i,j) = 0.001; 
122 
123 
ttc.up (i,j) = 60; 
124 
ttc.l (i,j) = 20; 
125 
ttc.lo (i,j) = 0.0001; 
126 
127 
ttmin.up (i,j) = 60; 
128 
ttmin.lo (i,j) = 2; 
129 
130 
ttmax.up (i,j) = 60; 
131 
ttmax.lo (i,j) = 0.001; 
132 
133 
Q.lo (i,j) = 0.0001; 
134 
Q.l (i,j) = 500; 
Gorrini, Federico Alberto____________________________________________________________________________________16
UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 
135 
Q.up (i,j) = 900; 
136 
137 
P.lo (i,j) = 5880; 
138 
P.up (i,j) = 6009; 
139 
140 
141 
* OPTION Statements 
142 
143 
* option domlim = n 
144 
* This option sets a limit on the total accumulated number of non-linear 
145 
* funtion evaluation errors that are allowed while solving the NLP subproblems 
146 
* or inside DICOPT. 
147 
* option domlim = 1000000; 
148 
149 
* option reslim = x 
150 
* This option sets a limit on the total accumulated time [s] spent inside 
151 
* DICOPT and the subsolvers. The default is 1000. 
152 
* option reslim = 1000; 
153 
154 
* m.iterlim = n 
155 
* Sets the total accumulated (minor) iteration limit. This option overrides the 
156 
* global iteration limit set by an option statement. 
157 
* oilfield.iterlim = 1000; 
158 
159 
* option iterlim = n 
160 
* This option sets a limit on the total accumulated (minor) iterations 
161 
* performed in the MIP and NLO subproblems. The default is 1000. 
162 
* option iterlim = 2000; 
163 
164 
* option sysout = on 
165 
* This option will print extra information to the listing file. 
166 
* option sysout = on; 
167 
168 
169 
170 
* DICOPT Options 
171 
172 
* m.optfile = n 
173 
* This option instructs DICOPT to read an option file dicopt.opn. This file 
174 
* should be located in the current directory. 
175 
* In the oilfield.optfile could be more than one DICOPT Options. 
176 
177 
* maxcycles n 
178 
* This option specify the maximum number of cycles or major iterations 
179 
* performed. The default value is n = 20. 
180 
Gorrini, Federico Alberto____________________________________________________________________________________17
UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 
181 
* epsx x 
182 
* This tolerance is used to distinguish integer variables that are set to an 
183 
* integer value by the user, or integer variables that are fractional. 
184 
* The default value is x = 1.0e-3. 
185 
186 
* Infeasder n 
187 
* This option is to determine whether linearizations of infeasible NLP 
188 
* subproblems are added or not to the MIP master problem. 
189 
* The default option is N = 0, in which no linearizations are added in the 
190 
* infeasible NLP subproblems. 
191 
* When n = 1, linearizations derived from infeasible NLP subproblems are added 
192 
* to the master problem. This option is recommended to speed up convergence 
193 
* when the MINLP is known to be convex. If used for nonconvex MINLP possibility 
194 
* of cutting-off the global optimum is increased. 
195 
196 
*$ontext 
197 
$onecho > dicopt.op2 
198 
maxcycles = 100 
199 
epsx = 1.0e-3 
200 
infeasder 0 
201 
$offecho 
202 
203 
oilfield.optfile = 2; 
204 
*$offtext 
205 
206 
207 
* DICOPT MODELING METHODS 
208 
209 
* Before solving a model with DICOPT, it is strongly advised to experiment with 
210 
* the relaxed model where the integer restrictions are ignored. 
211 
* This is the RMINLP model. 
212 
* In the following fragment, the second SOLVE statement will only be executed if 
213 
* the first SOLVE was successful. 
214 
215 
* In some cases the relaxed problem is the most difficult model. If you have 
216 
* more than one NLP solver available, you may want to try a sequence of them. 
217 
218 
option NLP = conopt; 
219 
option MIP = cplex; 
220 
option rMINLP = conopt; 
221 
option MINLP = dicopt; 
222 
*option MINLP = BARON; 
223 
224 
*SOLVE oilfield USING rMINLP MINIMIZING z; 
225 
Gorrini, Federico Alberto____________________________________________________________________________________18
UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 
226 
*if (oilfield.modelstat > 2.5, option rMINLP=MINOS; 
227 
*SOLVE oilfield USING rMINLP MINIMIZING z;) 
228 
*if (oilfield.modelstat > 2.5, option rMINLP=SNOPT; 
229 
*SOLVE oilfield USING rMINLP MINIMIZING z;) 
230 
231 
* When the next statement is activated, it allows GAMS to solve the model with 
232 
* discrete variables after try to do it with relaxed ones. 
233 
234 
*abort$(oilfield.modelstat > 2.5) "Relaxed model could not be solved"; 
235 
SOLVE oilfield using MINLP MINIMIZING z; 
236 
237 
238 
239 
Execute_unload "Results.gdx" Q.L P.L tto ttc N 
240 
241 
$onecho > taskoutput.txt 
242 
var=Q.L rng=Results!C3:E13 rdim=1 cdim=1 
243 
var=P.L rng=Results!H3:J13 rdim=1 cdim=1 
244 
var=tto rng=Results!C17:E27 rdim=1 cdim=1 
245 
var=ttc rng=Results!H17:J27 rdim=1 cdim=1 
246 
var=N rng=Results!M17:O27 rdim=1 
247 
$offecho 
248 
249 
$CALL GDXXRW.EXE Results.gdx Index=Index!A1 
250 
Gorrini, Federico Alberto____________________________________________________________________________________19
UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 
Tabla A.2.3. Especificación de datos en el archivo Data.xlsx de MS Excel, solapa “Data”. 
gamma alfa 
P up [ps i ] Demand C 1 C 1 
rec 1 2 1 2 
w1 6,009 1 75,000 w1 0.05457 w1 27.285 w1 2.916 3.500 w1 50.05 22.75 
w2 6,009 2 50,000 w2 0.11079 w2 33.237 w2 5.833 6.708 w2 75.83 85.93 
w3 6,009 w3 0.06512 w3 26.056 w3 3.215 4.256 w3 60.26 20.32 
w4 6,009 w4 0.83125 w4 25.265 w4 5.219 4.566 w4 42.23 30.86 
w5 6,009 w5 0.10658 w5 36.215 w5 6.226 3.265 w5 96.26 50.64 
w6 6,009 w6 0.12569 w6 42.259 w6 5.232 7.626 w6 21.26 45.26 
w7 6,009 w7 0.72652 w7 26.266 w7 9.265 8.265 w7 35.47 52.14 
w8 6,009 w8 0.23523 w8 21.265 w8 4.226 5.265 w8 65.26 50.82 
w9 6,009 w9 0.15832 w9 18.265 w9 1.261 2.265 w9 82.26 70.46 
w10 6,009 w10 0.09535 w10 29.215 w10 2.265 3.266 w10 24.15 54.87 
delta 
P low [ps i ] T cycle [days ] 60 C 2 C 2 
rec 
1 2 
w1 5,880 w1 0.28742 w1 0.28742 w1 71.75 76.53 
w2 5,880 w2 0.23786 w2 0.23786 w2 95.66 102.84 
w3 5,880 w3 0.25035 w3 0.25035 w3 84.64 70.25 
w4 5,880 w4 0.33265 w4 0.33265 w4 24.26 45.26 
w5 5,880 w5 0.28351 w5 0.28351 w5 42.32 42.24 
w6 5,880 w6 0.24862 w6 0.24862 w6 15.73 34.89 
w7 5,880 w7 0.35542 w7 0.35542 w7 56.25 46.65 
w8 5,880 w8 0.35156 w8 0.35156 w8 51.25 75.25 
w9 5,880 w9 0.29556 w9 0.29556 w9 65.82 61.25 
w10 5,880 w10 0.21518 w10 0.21518 w10 49.25 27.13 
Gorrini, Federico Alberto__________________________________________________________________________________________________________________________________________20
UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 
.xlsx .gdx GAMS .gdx .xlsx 
ANEXO 2. MS EXCEL - GAMS INTERFAZ 
MS Excel ofrece una interfaz para la carga y 
procesamiento de datos más cómoda y con mayor 
potencialidad que GAMS, sobre todo cuando deben 
cargarse gran cantidad de datos o procesarse 
demasiados resultados -o incluso graficarlos-. Además, 
ofrece una interfaz mucho más familiar e interactiva al 
usuario. 
MS Excel permite la carga de sets y parámetros, los 
cuales serán tomados más tarde por GAMS. Sin 
embargo, éstos deben primero definirse en GAMS. Una 
vez definidos en GAMS, debe programarse la conexión 
GAMS-MS Excel. Dicha conexión puede realizarse a 
través de un archivo .gdx. La estructura básica de 
comandos para ejecutar la importación de datos desde 
un archivo .gdx es la siguiente: 
$ 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. 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 resolución. 
Cuando GAMS intercambia datos con otros 
programas, se puede utilizar dos esquemas de 
operación. 
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. 
Figura A.2.1. Diagrama de flujo de datos/resultados a través 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 cálculo 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 Data_file.xlsx Index = Index! A1 
En cambio, para impulsar a los resultados desde un 
archivo .gdx hacia un archivo de MS Excel se debe 
emplear de la siguiente manera: 
$ CALL GDXXRW.EXE Results_file.xlsx Index = Index! A1 
Así, la estructura total de la conexión finalmente 
será: 
$ CALL GDXXRW.EXE Data_file.xlsx Index = Index! A1 
$ gdxin Data_file.gdx 
$ load Sets 
$ load Parameters 
$ gdxin 
MODEL + SOLVE command 
Execute_unload `Results_file.gdx` itemslist; 
$ CALL GDXXRW.EXE Results_file.xlsx Index = Index! A1 
Gorrini, Federico Alberto____________________________________________________________________________________21
UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 
En itemslist debe especificarse las variables de las cuales se pretende exportar sus valores finales. 
Todo esto es la programación que se realiza en el archivo de GAMS. Por su parte, debe también 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 cálculo debe declararse los sets involucrados y sus respectivos elementos en forma de columnas. 
- Data: aquí se incorporan los datos en forma de tablas. Pueden también incluirse parámetros. 
- Index: es la última de las hojas de cálculo a construir. Proporciona la programación que ejecuta la conexión final para la interfaz MS Excel - GAMS. En esta hoja de cálculo se nombran los sets y parámetros, declarando su ubicación y el rango que ocupan en la tabla correspondiente. 
set set_name Sets!N#:N# 
par par_name Sets!N#:N# 
También, dentro de esta misma solapa se indica la disposición de las dimensiones de las variables. 
- rdim: los datos se expresan verticalmente en columnas. si existe una columna con datos del parámetro, si no se expresan los datos del parámetro en disposición de columna. 
- cdim: los datos se expresan horizontalmente en filas. si existe una fila con datos del parámetro, si no se expresan los datos del parámetro en disposición de fila. 
- dim: número de dimensiones en las que se expresa un parámetro; 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 versión del archivo de MS Excel, sin importar si éste se encuentra abierto o no. 
Tabla A.2.1. Especificación de Sets y Parámetros en el archivo Data.xlsx, solapa “Index” de MS Excel 
Tabla A.2.2. Especificación de Sets en la solapa “Sets” del archivo Data.xlsx en MS Excel rdim cdim dim 
wells periods subcycles 
set 
i 
Sets!A2:A11 
1 
1 
w1 
1 
1 
set 
j 
Sets!B2:B3 
1 
1 
w2 
2 
2 
set 
k 
Sets!C2:C5 
1 
1 
w3 
3 
par 
Tperiod 
Data!F16 
0 
w4 
4 
par 
C1 
Data!H4:I13 
1 
1 
w5 
par 
C2 
Data!H17:I26 
1 
1 
w6 
par 
C1rec 
Data!K4:L13 
1 
1 
w7 
par 
C2rec 
Data!K17:L26 
1 
1 
w8 
par 
Demand 
Data!E4:F5 
1 
1 
w9 
par 
 
Data!N3:P13 
1 
1 
2 
w10 
par 
 
Data!N16:P26 
1 
1 
2 
par 
 
Data!R3:T13 
1 
1 
2 
par 
Pup 
Data!B4:C13 
1 
1 
par 
Plow 
Data!B17:C26 
1 
1 
Gorrini, Federico Alberto____________________________________________________________________________________22
UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 
.xlsx .gdx GAMS .gdx .xlsx 
ANEXO 3. GAMS - MS EXCEL INTERFAZ 
Así como se realizó para la carga de datos, para la 
exportación 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 
parámetros resultantes deben primero definirse en 
GAMS. Una vez definidos en GAMS, debe programarse 
la conexión GAMS-MS Excel. Dicha conexión puede 
realizarse a través de un archivo .gdx. Para exportar los 
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 resolución. 
Figura A.3.1. Diagrama de flujo de datos/resultados a través 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 cálculo 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: 
$ CALL GDXXRW.EXE Data_file.xlsx Index = Index! A1 
La estructura total de la conexión finalmente será: 
$ CALL GDXXRW.EXE Data_file.xlsx Index = Index! A1 
$ gdxin Data_file.gdx 
$ load Sets 
$ load Parameters 
$ gdxin 
MODEL + SOLVE command 
Execute_unload `Results_file.gdx` itemslist; 
$ CALL GDXXRW.EXE Results_file.xlsx Index = Index! A1 
En itemslist debe especificarse las variables de las 
cuales se pretende exportar sus valores finales. Todo 
esto es la programación que se realiza en el archivo de 
GAMS. Por su parte, debe también 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”. 
- Results: aquí se incorporan los datos en forma de 
tablas. Pueden también incluirse parámetros. 
- Index: Proporciona la programación que ejecuta la 
conexión final para la interfaz GAMS - MS Excel. En 
esta hoja de cálculo se nombran los variables a 
importar, declarando su ubicación y el rango que 
ocupan en la tabla correspondiente. 
var set_name Sets!N#:N# 
También, dentro de esta misma solapa se indica la 
disposición de las dimensiones de las variables. 
- rdim: los datos se expresan verticalmente en 
columnas. si existe una columna con 
datos del parámetro, si no se expresan los 
datos del parámetro en disposición de columna. 
- cdim: los datos se expresan horizontalmente en filas. 
si existe una fila con datos del parámetro, 
si no se expresan los datos del parámetro 
en disposición de fila. 
- dim: número de dimensiones en las que se expresa 
un parámetro; igual a la suma . 
Gorrini, Federico Alberto____________________________________________________________________________________23
UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 
Tabla A.3.1. Especificación de Variables en el archivo Results.xlsx, solapa “Index” de MS Excel rdim cdim dim 
var 
Q.L 
Results!C3:E13 
1 
1 
2 
var 
P.L 
Results!H3:J13 
1 
1 
2 
var 
tto 
Results!C17:E27 
1 
1 
2 
var 
ttc 
Results!H17:J27 
1 
1 
2 
var 
N 
Results!M17:O27 
1 
1 
2 
Una vez realizada esta programación las variables resultantes aparecerán actualizadas luego de cada ejecución de GAMS. Después, la manipulación de estos resultados para su análisis es muy sencillo. En este caso, resulta de interés el análisis de las curvas de declinación/recuperación de la presión en cada pozo, así como la evolución de la producción 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 automáticamente luego de cada ejecución 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 
2 
1 
2 
w1 
w1 
423.4 
423.4 
w1 
w1 
5,955 
5,955 
w2 
w2 
247.4 
409.8 
w2 
w2 
5,953 
6,000 
w3 
w3 
400.1 
448.2 
w3 
w3 
5,948 
5,955 
w4 
w4 
23.4 
38.8 
w4 
w4 
5,956 
6,006 
w5 
w5 
219.6 
264.2 
w5 
w5 
5,953 
5,949 
w6 
w6 
265.5 
348.3 
w6 
w6 
5,945 
6,001 
w7 
w7 
40.6 
40.6 
w7 
w7 
6,006 
6,006 
w8 
w8 
78.6 
127.3 
w8 
w8 
5,958 
6,006 
w9 
w9 
140.8 
140.8 
w9 
w9 
5,955 
5,955 
w10 
w10 
306.4 
306.4 
w10 
w10 
5,948 
5,948 
tto [days] 
ttc [days] 
N 
1 
2 
1 
2 
1 
2 
w1 
w1 
19.22 
19.22 
w1 
w1 
10.78 
10.78 
w1 
w1 
2.00 
2.00 
w2 
w2 
20.76 
0.00 
w2 
w2 
9.24 
60.00 
w2 
w2 
2.00 
1.00 
w3 
w3 
30.00 
11.66 
w3 
w3 
30.00 
18.34 
w3 
w3 
1.00 
2.00 
w4 
w4 
20.64 
0.00 
w4 
w4 
9.36 
60.00 
w4 
w4 
2.00 
1.00 
w5 
w5 
21.25 
14.17 
w5 
w5 
8.75 
5.83 
w5 
w5 
2.00 
3.00 
w6 
w6 
14.17 
0.00 
w6 
w6 
5.83 
60.00 
w6 
w6 
3.00 
1.00 
w7 
w7 
0.00 
0.00 
w7 
w7 
60.00 
60.00 
w7 
w7 
1.00 
1.00 
w8 
w8 
17.95 
0.00 
w8 
w8 
12.05 
60.00 
w8 
w8 
2.00 
1.00 
w9 
w9 
20.26 
20.26 
w9 
w9 
39.74 
39.74 
w9 
w9 
1.00 
1.00 
w10 
w10 
30.00 
30.00 
w10 
w10 
30.00 
30.00 
w10 
w10 
1.00 
1.00 
Gorrini, Federico Alberto____________________________________________________________________________________24
UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 
ANEXO 4. PROGRAMACIÓN GRÁFICA 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 período de tiempo. 
Tabla A.4.1. Resumen de resultados y parámetros de cada pozo Results 
Q.L 
423.4 
423.4 
P.L [psi] 
5,955 
5,955 
tto [days] 
19.2 
19.2 
ttc [days] 
10.8 
10.8 
N 
2 
2 
Tcycle [days] 
60 
60 
data well 1 
C1 
0.05457 
C2 
0.28742 
C1rec 
27.285 
C2rec 
0.28742 
pressure boundaries 
0 
Pup [psi] 
6,009 
6,009 
Plow [psi] 
5,880 
5,880 
Para lograr esto, se importan los datos hacia hojas de cálculo individuales donde se expresan mediante las siguientes tablas como la Tabla A.4.1. 
Es importante que el archivo Results.xlsx permanezca cerrado mientras se ejecuta GAMS, de lo contrario, los datos no serán importados por MS Excel. 
Como un pozo puede tener 1, 2 o 3 subciclos en cada período, esto supone una dificultad a la hora de intentar que MS Excel grafique en forma automática 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 presión en diversos puntos en el tiempo para luego graficarlos y obtener las curvas. Sin embargo, es difícil que MS Excel sepa si debe usar la ecuación de decrecimiento o recuperación de la presión en el pozo o cuántos subciclos se presentan. Por tanto, se recurre al cálculo de un número NP de puntos dentro del período de tiempo T -en este caso particular, se toman 120 puntos de cálculo por período-. Para lograr esto se recurre a la función condicional de MS Excel: 
SI (prueba_lógica, [valor_si_verdadero], [valor_si_falso]) 
A continuación se expresan las fórmulas a aplicar en cada segmento de tiempo en función del número de subciclos. 
Con las consideraciones expresadas a continuación, es posible programar las respectivas fórmulas en MS Excel a fin de representar el comportamiento de la presión y producción de cada pozo en función del tiempo y obtener los gráficos correspondientes. 
Tómese en consideración las siguientes ecuaciones aplicadas para representar cada segmento de las curvas según el número de subciclos que se presenten. En los casos en que , para el tiempo basta con dividir el tiempo del período en NP partes y multiplicarlo por el contador respectivo al punto en cuestión, mientras que para la presión sólo se debe imponer el valor . 
Gorrini, Federico Alberto____________________________________________________________________________________25
UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 
0 t o 60 
1 2 
0 30 30 + t 60 o t o 
1 2 3 4 
0 t o 20 20 + t o 40 40 + t 60 o 
1 2 3 4 5 6 
Time [days] 
Gorrini, Federico Alberto____________________________________________________________________________________26
UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Optimization 
0 t o 60 
1 2 
0 30 30 + t 60 o t o 
1 2 3 4 
0 t o 20 20 + t o 40 40 + t 60 o 
1 2 3 4 5 6 
Pressure [psi] 
En ocasiones puede que la recuperación de la 
presión del último subciclo correspondiente a un dado 
período se concrete antes que el período termine. Es 
términos matemáticos esto puede expresarse como 
. En estos casos es necesario realizar 
una corrección sobre las fórmulas introducidas para 
calcular la presión del pozo en tales instancias; de lo 
contrario, la presión graficada superará a , lo cual es 
técnicamente imposible. En los subciclos que se 
presente ésta situación deberá insertarse un condicional 
adicional en la fórmula de cálculo de la presión que 
indique que cuándo la presión calculada sea superior a 
, a ésta se le deberá imponer el valor 
Gorrini, Federico Alberto____________________________________________________________________________________27
UNIVERSIDAD NACIONAL DEL SUR 
OILFIELD PRODUCTION PLANNING 
Mixed-Integer Multiperiod Model for the Planning of Oilfield Production 
Documento de Trabajo. Septiembre 2014 
Bahía Blanca - Argentina
UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Optimization 
0 t o 60 
1 2 
0 30 30 + t 60 o t o 
1 2 3 4 
0 t o 20 20 + t o 40 40 + t 60 o 
1 2 3 4 5 6 
Production [bbl] 
Gorrini, Federico Alberto____________________________________________________________________________________28

Más contenido relacionado

La actualidad más candente

Algunas no Linealidades y Variantes del Análisis de Datos de Presión-Gasto
Algunas no Linealidades y Variantes del Análisis de Datos de Presión-GastoAlgunas no Linealidades y Variantes del Análisis de Datos de Presión-Gasto
Algunas no Linealidades y Variantes del Análisis de Datos de Presión-GastoAcademia de Ingeniería de México
 
Potencial de produccion
Potencial de produccionPotencial de produccion
Potencial de produccionOscar Soto
 
Metodologia para mantenimiento y análisis de la producción base en campos mad...
Metodologia para mantenimiento y análisis de la producción base en campos mad...Metodologia para mantenimiento y análisis de la producción base en campos mad...
Metodologia para mantenimiento y análisis de la producción base en campos mad...Academia de Ingeniería de México
 
Principios De Produccion Caida De Presion Ipr
Principios De Produccion Caida De Presion IprPrincipios De Produccion Caida De Presion Ipr
Principios De Produccion Caida De Presion IprDavid Guzman
 
Produccion 2 material de clase 1
Produccion 2 material de clase 1Produccion 2 material de clase 1
Produccion 2 material de clase 1None
 
Analisis nodal hirschfeldt
Analisis nodal hirschfeldtAnalisis nodal hirschfeldt
Analisis nodal hirschfeldtDavid Domínguez
 
Optimización integrada del sistema de producción utilizando análisis nodal
Optimización integrada del sistema de producción utilizando análisis nodalOptimización integrada del sistema de producción utilizando análisis nodal
Optimización integrada del sistema de producción utilizando análisis nodalAquiles Labra Fernandez
 
Compendio de Produccion de Hidrocarburos (Tomo I; Flujo Natural)
Compendio de Produccion de Hidrocarburos (Tomo I; Flujo Natural)Compendio de Produccion de Hidrocarburos (Tomo I; Flujo Natural)
Compendio de Produccion de Hidrocarburos (Tomo I; Flujo Natural)paola nuñez
 
Presion fondo fluyente-07_08_2011
Presion fondo fluyente-07_08_2011Presion fondo fluyente-07_08_2011
Presion fondo fluyente-07_08_2011Santiago Llanos
 
Potencial de produccion
Potencial de produccionPotencial de produccion
Potencial de produccionsergio ramos
 
UN MÉTODO PRÁCTICO PARA EVALUAR YACIMIENTOS PETROLÍFEROS INICIALMENTE BAJOSAT...
UN MÉTODO PRÁCTICO PARA EVALUAR YACIMIENTOS PETROLÍFEROS INICIALMENTE BAJOSAT...UN MÉTODO PRÁCTICO PARA EVALUAR YACIMIENTOS PETROLÍFEROS INICIALMENTE BAJOSAT...
UN MÉTODO PRÁCTICO PARA EVALUAR YACIMIENTOS PETROLÍFEROS INICIALMENTE BAJOSAT...Academia de Ingeniería de México
 
Procesos de campo. Maria reverol
Procesos de campo. Maria reverolProcesos de campo. Maria reverol
Procesos de campo. Maria reverolMaria Reverol
 
Procesos de campo. maria reverol converted
Procesos de campo. maria reverol convertedProcesos de campo. maria reverol converted
Procesos de campo. maria reverol convertedMaria Reverol
 
Producción 1 (clase 4)
Producción 1 (clase 4)Producción 1 (clase 4)
Producción 1 (clase 4)None
 

La actualidad más candente (20)

Algunas no Linealidades y Variantes del Análisis de Datos de Presión-Gasto
Algunas no Linealidades y Variantes del Análisis de Datos de Presión-GastoAlgunas no Linealidades y Variantes del Análisis de Datos de Presión-Gasto
Algunas no Linealidades y Variantes del Análisis de Datos de Presión-Gasto
 
Potencial de produccion
Potencial de produccionPotencial de produccion
Potencial de produccion
 
Metodologia para mantenimiento y análisis de la producción base en campos mad...
Metodologia para mantenimiento y análisis de la producción base en campos mad...Metodologia para mantenimiento y análisis de la producción base en campos mad...
Metodologia para mantenimiento y análisis de la producción base en campos mad...
 
Analisis nodal
Analisis nodalAnalisis nodal
Analisis nodal
 
Principios De Produccion Caida De Presion Ipr
Principios De Produccion Caida De Presion IprPrincipios De Produccion Caida De Presion Ipr
Principios De Produccion Caida De Presion Ipr
 
Produccion 2 material de clase 1
Produccion 2 material de clase 1Produccion 2 material de clase 1
Produccion 2 material de clase 1
 
Analisis nodal hirschfeldt
Analisis nodal hirschfeldtAnalisis nodal hirschfeldt
Analisis nodal hirschfeldt
 
Optimización integrada del sistema de producción utilizando análisis nodal
Optimización integrada del sistema de producción utilizando análisis nodalOptimización integrada del sistema de producción utilizando análisis nodal
Optimización integrada del sistema de producción utilizando análisis nodal
 
Compendio de Produccion de Hidrocarburos (Tomo I; Flujo Natural)
Compendio de Produccion de Hidrocarburos (Tomo I; Flujo Natural)Compendio de Produccion de Hidrocarburos (Tomo I; Flujo Natural)
Compendio de Produccion de Hidrocarburos (Tomo I; Flujo Natural)
 
Presion fondo fluyente-07_08_2011
Presion fondo fluyente-07_08_2011Presion fondo fluyente-07_08_2011
Presion fondo fluyente-07_08_2011
 
02 la ipr
02 la   ipr02 la   ipr
02 la ipr
 
Analisis de productividad formulas
Analisis de productividad formulasAnalisis de productividad formulas
Analisis de productividad formulas
 
Potencial de produccion
Potencial de produccionPotencial de produccion
Potencial de produccion
 
Potencial de produccion
Potencial de produccionPotencial de produccion
Potencial de produccion
 
UN MÉTODO PRÁCTICO PARA EVALUAR YACIMIENTOS PETROLÍFEROS INICIALMENTE BAJOSAT...
UN MÉTODO PRÁCTICO PARA EVALUAR YACIMIENTOS PETROLÍFEROS INICIALMENTE BAJOSAT...UN MÉTODO PRÁCTICO PARA EVALUAR YACIMIENTOS PETROLÍFEROS INICIALMENTE BAJOSAT...
UN MÉTODO PRÁCTICO PARA EVALUAR YACIMIENTOS PETROLÍFEROS INICIALMENTE BAJOSAT...
 
Analisis nodal
Analisis nodalAnalisis nodal
Analisis nodal
 
Analisis nodal
Analisis nodalAnalisis nodal
Analisis nodal
 
Procesos de campo. Maria reverol
Procesos de campo. Maria reverolProcesos de campo. Maria reverol
Procesos de campo. Maria reverol
 
Procesos de campo. maria reverol converted
Procesos de campo. maria reverol convertedProcesos de campo. maria reverol converted
Procesos de campo. maria reverol converted
 
Producción 1 (clase 4)
Producción 1 (clase 4)Producción 1 (clase 4)
Producción 1 (clase 4)
 

Destacado

Gestión de tic. uda 4 actividad 1 power point
Gestión de tic. uda 4   actividad 1 power pointGestión de tic. uda 4   actividad 1 power point
Gestión de tic. uda 4 actividad 1 power pointmyrianmm
 
Presentacion sistema nervioso_leon_elena_13882828
Presentacion sistema nervioso_leon_elena_13882828Presentacion sistema nervioso_leon_elena_13882828
Presentacion sistema nervioso_leon_elena_13882828Elena León
 
Programa Rumo Autêntico 2015
Programa Rumo Autêntico 2015Programa Rumo Autêntico 2015
Programa Rumo Autêntico 2015PotencialProve
 
Reglamento code game cup i division leet counter
Reglamento code game cup i division leet counterReglamento code game cup i division leet counter
Reglamento code game cup i division leet counterPaw Us
 
E portafolio de aprendizaje
E portafolio de aprendizajeE portafolio de aprendizaje
E portafolio de aprendizajejohnycastano
 
The Holography Times, April 2009, Volume 3, Issue No 6
The Holography Times, April 2009, Volume 3, Issue No 6The Holography Times, April 2009, Volume 3, Issue No 6
The Holography Times, April 2009, Volume 3, Issue No 6The Authentication Times
 

Destacado (17)

Historia del internet
Historia del internetHistoria del internet
Historia del internet
 
WINDOS 98 :D
WINDOS 98 :DWINDOS 98 :D
WINDOS 98 :D
 
Untitled Presentation
Untitled PresentationUntitled Presentation
Untitled Presentation
 
Terminaux iOS
Terminaux iOSTerminaux iOS
Terminaux iOS
 
Gestión de tic. uda 4 actividad 1 power point
Gestión de tic. uda 4   actividad 1 power pointGestión de tic. uda 4   actividad 1 power point
Gestión de tic. uda 4 actividad 1 power point
 
Presentacion sistema nervioso_leon_elena_13882828
Presentacion sistema nervioso_leon_elena_13882828Presentacion sistema nervioso_leon_elena_13882828
Presentacion sistema nervioso_leon_elena_13882828
 
Programa Rumo Autêntico 2015
Programa Rumo Autêntico 2015Programa Rumo Autêntico 2015
Programa Rumo Autêntico 2015
 
Reglamento code game cup i division leet counter
Reglamento code game cup i division leet counterReglamento code game cup i division leet counter
Reglamento code game cup i division leet counter
 
La paradoja
La paradojaLa paradoja
La paradoja
 
Paradoja niurka
Paradoja niurkaParadoja niurka
Paradoja niurka
 
E portafolio de aprendizaje
E portafolio de aprendizajeE portafolio de aprendizaje
E portafolio de aprendizaje
 
Browser stack
Browser stackBrowser stack
Browser stack
 
Talleres de matematicas. Espol
Talleres de matematicas. EspolTalleres de matematicas. Espol
Talleres de matematicas. Espol
 
The Holography Times, April 2009, Volume 3, Issue No 6
The Holography Times, April 2009, Volume 3, Issue No 6The Holography Times, April 2009, Volume 3, Issue No 6
The Holography Times, April 2009, Volume 3, Issue No 6
 
Arqitectura barroca
Arqitectura barrocaArqitectura barroca
Arqitectura barroca
 
2015 comentario artículo marc jamoulle
2015 comentario artículo marc jamoulle2015 comentario artículo marc jamoulle
2015 comentario artículo marc jamoulle
 
Power point
Power pointPower point
Power point
 

Similar a Oilfield Production Planning

METODOLOGÍA DE "ENVOLVENTE OPERA TIVA" PARA EL DISEÑO DE POZOS DE GAS
METODOLOGÍA DE "ENVOLVENTE OPERA TIVA" PARA EL DISEÑO DE POZOS DE GASMETODOLOGÍA DE "ENVOLVENTE OPERA TIVA" PARA EL DISEÑO DE POZOS DE GAS
METODOLOGÍA DE "ENVOLVENTE OPERA TIVA" PARA EL DISEÑO DE POZOS DE GASAcademia de Ingeniería de México
 
metodo-volum
metodo-volummetodo-volum
metodo-volumLuLopez7
 
Unidad 6 costos de perforacion
Unidad 6 costos de perforacionUnidad 6 costos de perforacion
Unidad 6 costos de perforacionRonald Chavarria
 
UNIVERSIDAD_VERACRUZANA_FACULTAD_DE_INGE.pdf
UNIVERSIDAD_VERACRUZANA_FACULTAD_DE_INGE.pdfUNIVERSIDAD_VERACRUZANA_FACULTAD_DE_INGE.pdf
UNIVERSIDAD_VERACRUZANA_FACULTAD_DE_INGE.pdfluis gonzalez
 
DEFENSA MGR 7 ST.pptx
DEFENSA MGR 7 ST.pptxDEFENSA MGR 7 ST.pptx
DEFENSA MGR 7 ST.pptxDiegoInclan2
 
Explotación de yacimientos de gas, gas condensado y aceite volátil
Explotación de yacimientos de gas, gas condensado y aceite volátilExplotación de yacimientos de gas, gas condensado y aceite volátil
Explotación de yacimientos de gas, gas condensado y aceite volátilAcademia de Ingeniería de México
 
Reaco 20% primer corte aazuaje
Reaco 20% primer corte aazuajeReaco 20% primer corte aazuaje
Reaco 20% primer corte aazuajeJuanCAzuaje
 
planificación y control de la producción
planificación y control de la producciónplanificación y control de la producción
planificación y control de la producciónMarce QR
 
20% PRIMER CORTE REACO REGINO FERRER CI 24483765
20% PRIMER CORTE REACO REGINO FERRER CI 2448376520% PRIMER CORTE REACO REGINO FERRER CI 24483765
20% PRIMER CORTE REACO REGINO FERRER CI 24483765AdrianaJimenez53
 
123863598 curvas-ipr-produccion
123863598 curvas-ipr-produccion123863598 curvas-ipr-produccion
123863598 curvas-ipr-produccionAndrea Galvis
 
GISILETH LOPEZ CI 26105053 20% REACO
GISILETH LOPEZ CI 26105053 20% REACOGISILETH LOPEZ CI 26105053 20% REACO
GISILETH LOPEZ CI 26105053 20% REACOGisilethLopez
 
Ritmo optimo de produccion
Ritmo optimo de produccionRitmo optimo de produccion
Ritmo optimo de produccionFrancisco Yañez
 
10% Planificación y Control de la Producción
10% Planificación y Control de la Producción 10% Planificación y Control de la Producción
10% Planificación y Control de la Producción NoheliaPetitGonzalez
 

Similar a Oilfield Production Planning (20)

Tasa de declinacion
Tasa de declinacionTasa de declinacion
Tasa de declinacion
 
Taller yacimientos 2
Taller yacimientos 2Taller yacimientos 2
Taller yacimientos 2
 
METODOLOGÍA DE "ENVOLVENTE OPERA TIVA" PARA EL DISEÑO DE POZOS DE GAS
METODOLOGÍA DE "ENVOLVENTE OPERA TIVA" PARA EL DISEÑO DE POZOS DE GASMETODOLOGÍA DE "ENVOLVENTE OPERA TIVA" PARA EL DISEÑO DE POZOS DE GAS
METODOLOGÍA DE "ENVOLVENTE OPERA TIVA" PARA EL DISEÑO DE POZOS DE GAS
 
COMPORTAMIENTO_DE_POZOS.pdf
COMPORTAMIENTO_DE_POZOS.pdfCOMPORTAMIENTO_DE_POZOS.pdf
COMPORTAMIENTO_DE_POZOS.pdf
 
metodo-volum
metodo-volummetodo-volum
metodo-volum
 
Unidad 6 costos de perforacion
Unidad 6 costos de perforacionUnidad 6 costos de perforacion
Unidad 6 costos de perforacion
 
TEMA 3 PRUEBAS DE PRODUCCION DE POZOS.pptx
TEMA 3  PRUEBAS DE PRODUCCION DE POZOS.pptxTEMA 3  PRUEBAS DE PRODUCCION DE POZOS.pptx
TEMA 3 PRUEBAS DE PRODUCCION DE POZOS.pptx
 
UNIVERSIDAD_VERACRUZANA_FACULTAD_DE_INGE.pdf
UNIVERSIDAD_VERACRUZANA_FACULTAD_DE_INGE.pdfUNIVERSIDAD_VERACRUZANA_FACULTAD_DE_INGE.pdf
UNIVERSIDAD_VERACRUZANA_FACULTAD_DE_INGE.pdf
 
titu 1 presemtacion.docx
titu 1 presemtacion.docxtitu 1 presemtacion.docx
titu 1 presemtacion.docx
 
DEFENSA MGR 7 ST.pptx
DEFENSA MGR 7 ST.pptxDEFENSA MGR 7 ST.pptx
DEFENSA MGR 7 ST.pptx
 
Explotación de yacimientos de gas, gas condensado y aceite volátil
Explotación de yacimientos de gas, gas condensado y aceite volátilExplotación de yacimientos de gas, gas condensado y aceite volátil
Explotación de yacimientos de gas, gas condensado y aceite volátil
 
Reaco 20% primer corte aazuaje
Reaco 20% primer corte aazuajeReaco 20% primer corte aazuaje
Reaco 20% primer corte aazuaje
 
planificación y control de la producción
planificación y control de la producciónplanificación y control de la producción
planificación y control de la producción
 
20% PRIMER CORTE REACO REGINO FERRER CI 24483765
20% PRIMER CORTE REACO REGINO FERRER CI 2448376520% PRIMER CORTE REACO REGINO FERRER CI 24483765
20% PRIMER CORTE REACO REGINO FERRER CI 24483765
 
123863598 curvas-ipr-produccion
123863598 curvas-ipr-produccion123863598 curvas-ipr-produccion
123863598 curvas-ipr-produccion
 
GISILETH LOPEZ CI 26105053 20% REACO
GISILETH LOPEZ CI 26105053 20% REACOGISILETH LOPEZ CI 26105053 20% REACO
GISILETH LOPEZ CI 26105053 20% REACO
 
Ritmo optimo de produccion
Ritmo optimo de produccionRitmo optimo de produccion
Ritmo optimo de produccion
 
crudos pesados
crudos pesadoscrudos pesados
crudos pesados
 
Plungerlift pae
Plungerlift paePlungerlift pae
Plungerlift pae
 
10% Planificación y Control de la Producción
10% Planificación y Control de la Producción 10% Planificación y Control de la Producción
10% Planificación y Control de la Producción
 

Último

Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfannavarrom
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVSebastianPaez47
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptMarianoSanchez70
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxJuanPablo452634
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilDissneredwinPaivahua
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptxguillermosantana15
 
nom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdfnom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdfDiegoMadrigal21
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxbingoscarlet
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAJAMESDIAZ55
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxEverardoRuiz8
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
Presentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxPresentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxYajairaMartinez30
 
presentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricopresentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricoalexcala5
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdfCristhianZetaNima
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaXjoseantonio01jossed
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 

Último (20)

Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civil
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
 
nom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdfnom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdf
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptx
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptx
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
Presentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxPresentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptx
 
presentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricopresentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctrico
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 

Oilfield Production Planning

  • 1. UNIVERSIDAD NACIONAL DEL SUR OILFIELD PRODUCTION PLANNING Mixed-Integer Multiperiod Model for the Planning of Oilfield Production Modelo matemático de optimización MINLP implementado en GAMS a través de interfaces con MS Excel Ing. Federico Alberto Gorrini - Dr. José Alberto Bandoni DEPARTAMENTO DE INGENIERÍA QUÍMICA DOCUMENTO DE TRABAJO | Septiembre 2014
  • 2. UNIVERSIDAD NACIONAL DEL SUR OILFIELD PRODUCTION PLANNING Mixed-Integer Multiperiod Model for the Planning of Oilfield Production Departamento de Ingeniería Química. 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) Bahía Blanca. Buenos Aires, Argentina.
  • 3. UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. Ing. GORRINI, Federico Alberto - Dr. BANDONI, J. Alberto ABSTRACT Durante el desarrollo del presente trabajo, se implementó un modelo de optimización multiperíodo mixto-entero para la planificación de la producción petrolera en los pozos de un mismo reservorio. El problema considera las variaciones topológicas e involucra los perfiles de producción y los tiempos de operación/parada de los pozos en cada período de tiempo. Se asume comportamiento no-lineal de la presión de flujo (respecto al tiempo) mientras se calcula la producción de petróleo y se consideran períodos de tiempo de duración uniforme. Finalmente, el modelo es implementado a través del sistema de modelamiento GAMS (General Algebraic Modeling System), mostrando un ejemplo numérico de resolución. Se generan interfaces a través de MS Excel que permite la importación de datos y exportación de resultados involucrados en GAMS. Además, esto posibilita el procesamiento de los resultados y su graficado para un mejor análisis de los mismos. El resultado del proceso es la determinación de los caudales y tiempos de operación óptimos para los pozos de un mismo reservorio petrolero. Los archivos correspondientes a la programación se encuentran en la carpeta del siguiente enlace. Seguir las instrucciones para una correcta descarga: https://onedrive.live.com/redir?resid=57D9ABABD9D55D8B%21107 1. Ingresar el link y acceder a los archives en Outlook. 2. Seleccionar la carpeta Optimization Oilfield Planning y clickear el botón Descargar. 3. Una vez descargada la carpeta, abrir el archivo Optimization_10_wells.gpr. 4. Seleccionar File -> Project -> Open Project. Una vez allí, abrir el archivo Oil_Explotation_10_wells.gms ubicado en la misma carpeta. 5. Por otra parte, abrir el archivo DS - Pressure_Curve_Analysis.xlsx situado en la carpeta Curve Analysis. 6. Seleccionar Datos -> Editar Vínculos. Seleccionar Data.xlsx de la lista de orígenes y clickear el botón Cambiar origen... Seleccionar el archivo Data.xlsx. 7. Ahora hacer lo propio con el origen Results.xlsx. Seleccionar el archivo Results.xlsx. 8. 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 también podrá encontrar al informe Shale Gas & Shale Oil - Gas y Petróleo Convencional y no-Convencional en Argentina. Oilfield Production Planning Mixed-Integer Multiperiod Model for the Planning of Oilfield Production Modelo matemático de optimización MINLP implementado en GAMS a través de interfaces con MS Excel Gorrini, Federico Alberto_____________________________________________________________________________________1
  • 4.
  • 5. UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. BACKGROUND Recientemente la optimización multiperíodo en la industria química ha recibido considerable atención. Este tipo de problemas involucran instalaciones donde los costos y demandas varían de período en período debido al comportamiento del mercado o a cambios estacionales. En un modelo de planificación multiperíodo, el problema considera la topología e involucra a las decisiones de puesta en marcha/paro de la operación de los procesos en cada período de tiempo. La operación de un campo de petróleo es un problema multiperíodo debido a que los costos y las demandas de la producción de petróleo cambian de un período a otro a lo largo del horizonte de tiempo considerado. La infraestructura petrolera consiste en plataformas de producción con un número de reservorios incluyendo los pozos de petróleo. En los modelos de campos petroleros multiperíodo, las decisiones de diseño involucran las capacidades de producción de las plataformas así como también decisiones sobre cuáles plataformas de producción y pozos serán instalados a lo largo del horizonte de tiempo en cuestión. Las decisiones de planificación involucran la producción de petróleo en cada período de tiempo. En el pasado, las decisiones acerca de las capacidades de las plataformas, la programación de perforación y los perfiles de producción 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 operación durante varias décadas. Por tanto, a pesar de que los cambios en la presión del reservorio con respecto al tiempo no son significativos en el corto plazo, éstos no pueden ser ignorados para la simulación que involucre planificación futura y decisiones de inversión. Es sabido que el comportamiento de un reservorio representa una restricción no-lineal, pero muchas veces el comportamiento del reservorio ha sido aproximado por restricciones lineales como una función de la producción acumulada de petróleo. Por tanto, el índice de productividad, , es asumido como constante para un dado período de tiempo. El coeficiente de productividad depende de la conductividad del pozo y permite el cálculo del flujo de petróleo como una función de la pérdida de presión entre el reservorio y el pozo. donde es el caudal de flujo de petróleo en el período j, es la presión del reservorio y la presión del pozo. El análisis del pozo revela, de cualquier forma, que la presión de flujo del pozo presenta una dependencia temporal no-lineal y, como consecuencia, la suposición de condiciones operativas constantes no aplica. La Figura 1 ilustra la extracción de petróleo desde un reservorio. Figura 1. Diagrama conceptual de un pozo de petróleo en un reservorio Tal como indica la Ecuación 1, la fuerza impulsora para la producción de petróleo desde el pozo es la diferencia de presión manifestada entre el reservorio y las paredes del pozo. También, nótese que cuando el pozo acaba de ser perforado -o cuando ha sido cerrado durante un período de tiempo significativo-, es posible asumir que la presión del pozo es la misma que la del reservorio. Por tanto, al comienzo de la operación, cuando el pozo es abierto al flujo, el petróleo puede ser extraído debido a la diferencia de presión entre el fondo del pozo y el tope del mismo -en el caso de extracción ecuación 1 reservoir well head well bore oil flow well bore storage Gorrini, Federico Alberto_____________________________________________________________________________________2
  • 6. UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. ecuación 3 Pup Plow tshut in t Oil Flow Rate [bbl/d] 0 Well Bore Pressure [psi] t t shut in natural-. Según el tiempo de operación se incremente, la presión en las paredes del pozo decrece y esto causa el flujo de petróleo desde el reservorio hacia el pozo. De todos modos, el caudal del flujo de petróleo desde el reservorio hacia el pozo depende también de las propiedades geológicas de los alrededores del mismo; como son la permeabilidad, el espesor, la porosidad, etc., las cuales determinan la capacidad de producción del pozo. Así, debido a la resistencia al flujo de petróleo entre el reservorio y las paredes del pozo, la producción de petróleo causa que la presión en la expresión que ha sido utilizada frecuentemente (Horne, 1998) para representar dicho comportamiento es: donde , , , , y son propiedades geológicas determinadas experimentalmente que caracterizan al pozo. es la presión en las paredes del pozo al inicio de la operación (presión del reservorio) y es la presión (final) en las paredes del pozo en el tiempo de operación . En este trabajo se asume que el valor de las propiedades geológicas es conocido. Es así como la ecuación puede ser reformulada como: donde y son constantes que resultan de la combinación de las propiedades geológicas. Por otra parte, si el pozo se encuentra cerrado, su presión se incrementará debido al efecto del flujo de petróleo desde el reservorio hacia el pozo. La Figura 2 muestra el comportamiento de la presión del pozo cuando el petróleo se encuentra fluyendo y más tarde cuando el pozo se encuentra cerrado. Figura 2.Perfil típico del la performance de la presión del pozo de petróleo y su caudal de flujo Este trabajo maneja planificación a corto plazo para la producción de petróleo en los pozos de un reservorio petrolero, siempre atendiendo a la reducción de costos de explotación. Las decisiones de planificación consisten en determinar el caudal de los flujos de petróleo y los tiempos de operación/cierre para cada pozo del reservorio en cada período. Tales decisiones son basadas en consideraciones prácticas, las cuales evitan que la presión del pozo decaiga más allá de un mínimo valor admisible. También, debe recordarse que el caudal de producción de petróleo debe satisfacer la demanda de petróleo para cada período de tiempo. Como se está focalizado en las decisiones a corto plazo, se considera que la presión del reservorio -no del pozo-permanece constante sobre el horizonte de tiempo en cuestión. Por otro lado, se asume comportamiento no-lineal de la presión del pozo para el cálculo de la producción de petróleo tal como lo describe la Ecuación 3, y también es asumido que el valor de las constantes geológicas del pozo es conocido. El modelo matemático implementado en este trabajo para representar y optimizar al problema es de tipo MINLP (Mixed-Integer Non-Linear Programming). ecuación 2 Gorrini, Federico Alberto_____________________________________________________________________________________3
  • 7. UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. INTRODUCCIÓN TEÓRICA El trabajo considera la planificación a corto plazo de la producción petrolera de los pozos de un reservorio sobre un horizonte temporal H dividido en NP períodos de duración T. Así es como, dada la demanda de petróleo para un dado período de tiempo, las decisiones de planificación involucran conocer el caudal de flujo de petróleo y los tiempos de operación/cierre de los pozos. La principal restricción impuesta al problema es evitar que la presión del pozo decaiga más allá de una presión mínima admisible, debajo de la cual la producción se considera económica y/o técnicamente inviable; además de lograr satisfacer la demanda de petróleo existente. Las suposiciones realizadas en este documento para realizar el modelamiento incluyen: 1. Pozos múltiples de un reservorio común producen de manera completamente independiente unos de otros. 2. Comportamiento no-lineal de la presión del pozo como función del caudal de petróleo y del tiempo. 3. La función objetivo es calculada en términos de coeficientes de costos, los cuales cambian para cada período de tiempo debido a cambios estacionales. MODELO MATEMÁTICO El modelo considera la operación cíclica de cada pozo i en cada período de tiempo j. Se asume, para todos los pozos, que la presión del pozo al comienzo y al final de cada período de tiempo -y, en consecuencia, al final y al principio de cada ciclo- será la misma e igual a la máxima presión admisible por el pozo. En cada período de tiempo, habrá un máximo 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 operación serán los mismos para cada ciclo de un dado período de tiempo. El número real de ciclos para cada pozo dentro de un período de tiempo ( ) será determinado por el esquema de optimización. Finalmente, en lugar de utilizar la Ecuación 3, la expresión en el pozo será aproximada por una expresión no-lineal que involucra un término el cual contiene una potencia constante positiva del tiempo de operación. Esta expresión constituye el núcleo del modelo matemático ya que es la representación de su comportamiento durante los ciclos de operación/cierre de los pozos. Sets & Índices Set de períodos de tiempo (1 ... NP) Set de pozos (1 ... NW) Set de valores admisibles para el número de ciclos en un período de tiempo (1 ... NC) Índices correspondientes al pozo, el período de tiempo y el ciclo, respectivamente ( , , ) Gorrini, Federico Alberto_____________________________________________________________________________________4
  • 8. UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. Variables Continuas Producción total de petróleo del pozo i en el período j Caudal de flujo de petróleo en el pozo i en el período j Tiempo de operación para cada ciclo del pozo i en el período j Tiempo de cierre para cada ciclo del pozo i en el período j Tiempo de operación total del pozo i en el período j Tiempo de cierre total del pozo i en el período j Presión del pozo i en el período j al final de un ciclo de operación Variables Binarias 1 si existen k ciclos en la operación del pozo i en el período j Variables Enteras Número de ciclos en la operación del pozo i en el período j Parámetros Parámetros para calcular el decaimiento de la presión en el pozo i cuando se encuentra produciendo Parámetros para calcular el incremento de la presión en el pozo i cuando se encuentra cerrado El modelo resultante es un Mixed Integer Non- Linear Problem (MINLP). La función objetivo que se plantea para minimizar los costos en la explotación del campo petrolero es: ecuación 1 ecuación 5 ecuación 6 ecuación 4 ecuación 3 ecuación 2 Gorrini, Federico Alberto_____________________________________________________________________________________5
  • 9. UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. La producción de petróleo de cada pozo -el caudal de flujo de petróleo multiplicado por el tiempo total de operación del pozo en el período j- es calculada a través de la Ecuación 2. La Ecuación 3 atiende a satisfacer la demanda de petróleo en cada período de tiempo j. El número de ciclos para cada período de tiempo es dado por la Ecuación 4 y la Ecuación 5. Nótese que si el número de ciclos en un dado período de tiempo es k´, ; mientras que . El tiempo total de operación/cierre para un pozo i en un período j es dado por el producto entre el número de ciclos y los tiempos de operación/cierre de cada pozo, tal como lo indica la Ecuación 6 y la Ecuación 7. Nótese que si un pozo permanece cerrado durante un dado período de tiempo, el número de ciclos ( ) es cero y el tiempo de operación para el pozo dentro de este período es nulo. En tal caso, el lado derecho de la Ecuación 6 consiste en un término bilineal que incluye dos variables, las cuáles son ambas iguales a cero. Para evitar esta dificultad cuando el número de ciclos es igual a cero, en la práctica se asigna a el valor de en lugar del número 0 ( ). Para el caso de la Ecuación 7, el problema es resuelto utilizando la variable . Nótese que mientras el pozo i permanece cerrado en un período j, , y si se encuentra abierto al flujo mientras que alguno de los otros será igual a 1. La Ecuación 8 establece que la suma de tiempos que el pozo i permanece en operación/cerrado dentro de un período j es igual a la extensión del período de tiempo. El tiempo de operación de cada ciclo del pozo i, , debe ser menor al tiempo que permite la caída de presión del pozo por debajo del valor de la mínima presión admisible, condición dictada por la Ecuación 9. Tal máximo de tiempo de operación es dado por la Ecuación 10. El tiempo de cierre para cada pozo i, debe ser al menos igual al tiempo mínimo que permita a la presión del pozo incrementarse hasta el valor máximo ecuación 10 ecuación 11 ecuación 9 ecuación 8 ecuación 7 ecuación 12 ecuación 13 ecuación 14 ecuación 15 ecuación 16 ecuación 17 Gorrini, Federico Alberto_____________________________________________________________________________________6
  • 10. UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. admisible, según lo expresa la Ecuación 11. Tal tiempo mínimo es dado por la Ecuación 12. La Ecuación 13 permite el cálculo de la presión de flujo del pozo después de la operación del mismo y justo antes de cerrarlo durante un ciclo de operación. Finalmente, las restricciones de la Ecuación 14 y la Ecuación 15 representan el comportamiento de las principales variables del problema en términos de la variable binaria . Estas dictaminan que el tiempo total de operación de un pozo i no puede superar al tiempo total del período T; y que el caudal de operación no puede ser superior al caudal máximo impuesto, con excepción de los casos donde el pozo permanece cerrado durante todo el período de tiempo, donde se exige a éste que sea nulo. De esta forma, la producción del reservorio queda modelada matemáticamente y, las condiciones para optimizarla se encuentran declaradas. EJEMPLOS NUMÉRICOS Y RESULTADOS El modelo propuesto es resuelto a través del sistema de modelamiento GAMS. Se implementó el solver DICOPT (CPLEX + CONOPT), el cual utiliza por defecto las subrutinas CPLEX y CONOPT para la resolución de los subproblemas MIP y NLP, respectivamente. En todas las ejecuciones realizadas, las propiedades geológicas (comportamiento de la presión de flujo del pozo) son diferentes para cada pozo del reservorio. Más aún, los coeficientes de costos varían no sólo para cada pozo, sino que también lo hacen en cada período de tiempo. En el ejemplo en estudio se trabaja con un reservorio explotado a través de un número total de 10 pozos petroleros. El Anexo 1 (GAMS Oilfield Production Optimization Programming) contiene la programación ejecutada en el software GAMS. Allí se detalla el propósito de los distintos segmentos de la programación. Para facilitar el ingreso de datos a GAMS así como también su egreso y posterior visualización se recurre a un software con una interface más interactiva y asequible a cualquier tipo de usuario tal como lo es MS Excel. Este software permite cargar los datos de ingreso en cómodas tablas. Una vez ejecutada la programación en GAMS también posibilita el acceso a los resultados a través de tablas, así como también la construcción de gráficos para su interpretación. 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 construcción de la interfaz GAMS - MS Excel para la extracción de resultados y su visualización 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 ejecución y que MS Excel sólo atiende a las órdenes de éste. CONCLUSIÓN Es posible resolver el modelo satisfactoriamente utilizando el solver DICOPT. Para el caso particular mostrado, éste halla el punto óptimo de operación en tan sólo 4 iteraciones y 0.015 s de tiempo de resolución. Sin embargo, si bien el modelo pudo ser resuelto bajo los valores de prueba propuestos, éste es altamente no- lineal, por lo que la modificación de estos valores ha llevado en la mayoría de los casos a la incapacidad del solver DICOPT para dar con la solución. Es por ello que en el futuro, deberán implementarse métodos capaces de lidiar con estas no-linealidades, lo cual seguramente mejorará mucho el desempeño de la programación. Además, la aplicación del solver BARON ha resultado inútil dado los extensos tiempos de resolución. A continuación se presenta las gráficas obtenidas de los resultados del ejemplo numérico propuesto. Gorrini, Federico Alberto_____________________________________________________________________________________7
  • 11. UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 5,860 5,880 5,900 5,920 5,940 5,960 5,980 6,000 6,020 0 15 30 45 60 75 90 105 120 Well Bore Pressure [psi] 5,860 5,880 5,900 5,920 5,940 5,960 5,980 6,000 6,020 0 15 30 45 60 75 90 105 120 Well Bore Pressure [psi] 5,860 5,880 5,900 5,920 5,940 5,960 5,980 6,000 6,020 0 15 30 45 60 75 90 105 120 Well Bore Pressure [psi] 5,860 5,880 5,900 5,920 5,940 5,960 5,980 6,000 6,020 0 15 30 45 60 75 90 105 120 Well Bore Pressure [psi] RESULTADOS. PERFORMANCE DE LA PRESIÓN EN CADA POZO Estos gráficos contienen la evolución de la presión de cada pozo del reservorio en el tiempo. En todos los casos ésta ha prevalecido por encima de la mínima presión admisible, además de haberse recuperado al final de cada ciclo hasta alcanzar la misma presión del reservorio. En el caso del pozo 5 en el período 1 se observa que la presión del pozo logra recuperarse antes de la culminación de cada ciclo. En los casos en que el pozo permaneció cerrado y fuera de operación durante todo un período, su presión ha sido constante e igual a la presión del reservorio. Figura 1. Evolución de la presión del pozo 1 en función del tiempo Figura 3. Evolución de la presión del pozo 3 en función del tiempo Figura 2. Evolución de la presión del pozo 2 en función del tiempo Figura 4. Evolución de la presión del pozo 4 en función del tiempo Gorrini, Federico Alberto_____________________________________________________________________________________8
  • 12. UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 5,860 5,880 5,900 5,920 5,940 5,960 5,980 6,000 6,020 0 15 30 45 60 75 90 105 120 Well Bore Pressure [psi] 5,860 5,880 5,900 5,920 5,940 5,960 5,980 6,000 6,020 0 15 30 45 60 75 90 105 120 Well Bore Pressure [psi] 5,860 5,880 5,900 5,920 5,940 5,960 5,980 6,000 6,020 0 15 30 45 60 75 90 105 120 Well Bore Pressure [psi] 5,860 5,880 5,900 5,920 5,940 5,960 5,980 6,000 6,020 0 15 30 45 60 75 90 105 120 Well Bore Pressure [psi] 5,860 5,880 5,900 5,920 5,940 5,960 5,980 6,000 6,020 0 15 30 45 60 75 90 105 120 Well Bore Pressure [psi] 5,860 5,880 5,900 5,920 5,940 5,960 5,980 6,000 6,020 0 15 30 45 60 75 90 105 120 Well Bore Pressure [psi] Figura 5. Evolución de la presión del pozo 5 en función del tiempo Figura 7. Evolución de la presión del pozo 7 en función del tiempo Figura 9. Evolución de la presión del pozo 9 en función del tiempo Figura 6. Evolución de la presión del pozo 6 en función del tiempo Figura 8. Evolución de la presión del pozo 8 en función del tiempo Figura 10. Evolución de la presión del pozo 10 en función del tiempo Gorrini, Federico Alberto_____________________________________________________________________________________9
  • 13. UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 0 5,000 10,000 15,000 20,000 25,000 30,000 35,000 0 15 30 45 60 75 90 105 120 Production [bbl] 0 2,000 4,000 6,000 8,000 10,000 12,000 0 15 30 45 60 75 90 105 120 Production [bbl] 0 5,000 10,000 15,000 20,000 25,000 0 15 30 45 60 75 90 105 120 Production [bbl] 0 200 400 600 800 1,000 1,200 0 15 30 45 60 75 90 105 120 Production [bbl] RESULTADOS. PRODUCCIÓN ACUMULADA DE CADA POZO EN FUNCIÓN DEL TIEMPO La evolución de la producción acumulada de cada pozo se encuentra en éstos gráficos. Aquí puede verse que la producción de cada pozo aumenta de manera lineal mientras éste se mantiene en operación, producto de que su caudal de flujo sea constante; mientras que se estanca cuando el pozo permanece cerrado y recuperando presión. Sin embargo, que el caudal de producción de cada pozo sea constante no implica que este comportamiento se replique para la completitud del reservorio, de hecho, el caudal de petróleo brindado por el reservorio completo es variable en el tiempo y hasta llega a ser nulo hacia el final de cada período de tiempo -todos los pozos se encuentran en recuperación-. Figura 1. Evolución de la presión del pozo 1 en función del tiempo Figura 3. Evolución de la presión del pozo 3 en función del tiempo Figura 2. Evolución de la presión del pozo 2 en función del tiempo Figura 4. Evolución de la presión del pozo 4 en función del tiempo Gorrini, Federico Alberto____________________________________________________________________________________10
  • 14. UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 0 5,000 10,000 15,000 20,000 25,000 0 15 30 45 60 75 90 105 120 Production [bbl] 0 2,000 4,000 6,000 8,000 10,000 12,000 0 15 30 45 60 75 90 105 120 Production [bbl] 0 500 1,000 1,500 2,000 2,500 3,000 0 15 30 45 60 75 90 105 120 Production [bbl] 0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 0 15 30 45 60 75 90 105 120 Production [bbl] 0 2,000 4,000 6,000 8,000 10,000 12,000 14,000 16,000 18,000 20,000 0 15 30 45 60 75 90 105 120 Production [bbl] 0 100 200 300 400 500 600 700 800 900 1,000 0 15 30 45 60 75 90 105 120 Production [bbl] Figura 5. Evolución de la presión del pozo 5 en función del tiempo Figura 7. Evolución de la presión del pozo 7 en función del tiempo Figura 9. Evolución de la presión del pozo 9 en función del tiempo Figura 6. Evolución de la presión del pozo 6 en función del tiempo Figura 8. Evolución de la presión del pozo 8 en función del tiempo Figura 10. Evolución de la presión del pozo 10 en función del tiempo Gorrini, Federico Alberto____________________________________________________________________________________11
  • 15. UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. ANEXO 1. GAMS OILFIELD PRODUCTION OPTIMIZATION PROGRAMMING La programación realizada en GAMS para ejecutar el modelo matemático y poder obtener el punto óptimo consta de nueve partes, en cada una de las cuales se definen: - Sets - Parámetros (MS Excel - GAMS interfaz) - Variables - Ecuaciones - Función Objetivo - Rango válido de las variables - Valores iniciales - Condiciones de resolución y métodos a utilizar - Resultados (GAMS - MS Excel interfaz) Sets, Parámetros (MS Excel - GAMS interfaz) y Variables Tanto los Sets, Parámetros así como las Variables son cargadas en MS Excel y más tarde tomadas por GAMS. Sin embargo, las mismas deben primero definirse en GAMS. En este caso, tal como puede verse más adelante, dicha definición se produce entre las líneas de programación 3 a 14. Una vez definidos en GAMS, debe programarse la conexión GAMS - MS Excel. Dicha conexión puede realizarse a través de un archivo .gdx. La estructura básica de comandos para ejecutar la conexión 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 líneas de programación 17 a 25 es donde se produce esta serie de comandos. Allí se especifican los sets (i, j, k), el tiempo de cada período j ( ), los coeficientes que determinan el comportamiento de la presión del pozo en producción así como también cuando se encuentra cerrado ( ), la demanda correspondiente a cada período j ( ( )), los coeficientes de ganancias/costos para cada pozo i sea que éste se encuentre operativo como cuando se encuentra cerrado ( ), así como también las presiones límite definidas para la operación ( ). Por último se define al parámetro ( ), aunque éste -por conveniencia- es definido directamente en GAMS (líneas 28 a 32). Este parámetro representa el número de subciclos k existentes dentro de un dado período j. Las variables también deben definirse dentro de la estructura de GAMS. Entre las líneas 37 a 47 se definen las variables que sólo pueden adquirir valores positivos ( ( ), ( ), ( ), ( ), ( ), ( ), ( ), ( ), ( ), ( )). También debe definirse a la variable , la cual en este caso será el resultado de la función objetivo a minimizar y, como tal, se define como una variable libre (línea 35). En la línea 50 se define a la variable binaria ( ), la cual es una herramienta que permite indicar dentro del modelo cuál es el número de subciclos presentes dentro de un dado período k. La variable ( ) no es más 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 período, ( ) = 1, mientras que si presenta al menos un subciclo ( ) . Ecuaciones y Función Objetivo Primero debe declararse la existencia de las ecuaciones, tal como se lista entre las líneas 53 y 69. Luego, es posible desarrollar cada una de ellas tal como se encuentra en las líneas 72 a 105. Finalizado esto, se declara a todas estas bajo el nombre del modelo matemático “oilfield” (línea 107). Rango válido de las variables y valores iniciales Una vez definidas las ecuaciones, inecuaciones y variables del modelo matemático, es necesario determinar en qué rango podrán encontrarse los valores Gorrini, Federico Alberto____________________________________________________________________________________12
  • 16. UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. de las variables. Esto reduce el tiempo de cómputo y aumenta las probabilidades de que un solver logre hallar el punto óptimo. Más aún, 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 más cerca se halle el valor inicial del valor óptimo menor será el tiempo de cómputo. Condiciones de resolución y métodos a utilizar Además de desarrollar la descripción matemática del modelo, es necesario especificar el solver de resolución a emplear así como también los métodos de resolución 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 resolución de problemas MINLP (Mixed Integer Non- Linear Programming) que involucran variables lineales binarias o variables enteras y variables continuas no- lineales y lineales. El programa se basa en extensiones del algoritmo de aproximación 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 sólo problemas MINLP, y es asignado por defecto en GAMS. También son asignados por defecto CONOPT como solver de los subproblemas NLP, y CPLEX como solver de los subproblemas MIP. Los NLP solvers posibles son: MINOS5, MINOS, CONOPT, CONOPT3 y SNOPT. Los MIP solvers disponibles son: CPLEX, GUROBI, XPRESS y XA. Las líneas 217 a 221 expresan en forma explícita los solvers y programas utilizados para la resolver el problema de optimización. DICOPT es un programa basado en aproximación externa (Outer Approximation), por lo que aproxima las funciones convexas por líneas tangentes internas. Esto no garantiza que la solución 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 optimización 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 más fácil solución- para luego utilizar la solución óptima relajada existente como punto de inicio. Entre las líneas 206 y 234 se encuentran declarados todos los comandos de resolución. 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____________________________________________________________________________________13
  • 17. UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 1 $TITLE Oilfield Explotation Process Optimization 2 3 SETS 4 * 10 wells - 2 periods of time - 4 subcycle 5 6 i wells 7 j periods 8 k subcycles; 9 10 PARAMETERS C1(i),C2(i),C1rec(i),C2rec(i); 11 PARAMETER Demand(j); 12 PARAMETERS gamma(i,j),delta(i,j),alfa(i,j); 13 PARAMETERS Pup(i),Plow(i); 14 SCALAR Tperiod 15 16 17 $CALL GDXXRW.EXE Data.xlsx Index=Index!A1 18 $gdxin Data.gdx 19 $load i j k 20 $load Tperiod 21 $load C1 C2 C1rec C2rec 22 $load Demand 23 $load gamma delta alfa 24 $load Pup Plow 25 $gdxin 26 27 28 PARAMETER Kcycle(k) 29 /1 0.0001 30 2 1 31 3 2 32 4 3/; 33 34 35 FREE VARIABLE z minimize production cost; 36 37 POSITIVE VARIABLE 38 y0(i,j) 39 Q(i,j) 40 P(i,j) 41 Tauo(i,j) 42 Tauc(i,j) 43 tto(i,j) 44 ttc(i,j) 45 N(i,j) Gorrini, Federico Alberto____________________________________________________________________________________14
  • 18. UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 46 ttmin(i,j) 47 ttmax(i,j); 48 49 BINARY VARIABLE 50 y(i,j,k); 51 52 53 EQUATIONS 54 55 EQ1(j) 56 EQ4(i,j) 57 EQ5(i,j) 58 EQ6(i,j) 59 EQ6a(i,j) 60 EQ6b(i,j) 61 EQ7(i,j) 62 EQ8(i,j) 63 EQ9(i,j) 64 EQ8a(i,j) 65 EQ9a(i,j) 66 EQ10(i,j) 67 EQ11(i,j) 68 EQ12(i,j) 69 obj; 70 71 72 EQ1(j).. SUM(i, Q(i,j)*Tauo(i,j)) =G= Demand(j); 73 74 EQ4(i,j).. N(i,t) =E= SUM (k,y(i,j,k)*Kcycle(k)); 75 76 EQ5(i,j).. SUM(k,Y(i,j,k)) =E= 1; 77 78 EQ6(i,j).. Tauo(i,j) =E= N(i,j)*tto(i,j); 79 80 EQ6a(i,j).. Tauc(i,j) =E= (N(i,j)+y0(i,j))*ttc(i,j); 81 82 EQ6b(i,j).. y0(i,j) =E= y(i,j,"1"); 83 84 EQ7(i,j).. Tauo(i,j)+Tauc(i,j) =E= Tperiod; 85 86 * EQ8(i,j).. tto(i,j) =L= ((P(i,j)-Plow(i))/C1(i)*Q(i,j))**(1/C2(i)); 87 EQ8(i,j).. ttmax(i,j)**C2(i) =E= ((P(i,j)-Plow(i)))/(C1(i)*Q(i,j)); 88 EQ8a(i,j).. tto(i,j) =L= ttmax(i,j); 89 90 * EQ9(i,j).. ttc(i,j) =L= ((Pup(i)-P(i,j))/C3(i))**(1/C4(i)); Gorrini, Federico Alberto____________________________________________________________________________________15
  • 19. UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 91 EQ9(i,j).. (ttmin(i,j)**C2rec(i))*(C1rec(i)) =E= (Pup(i)-P(i,j)); 92 EQ9a(i,j).. ttc(i,j) =G= ttmin(i,j); 93 94 EQ10(i,j).. P(i,j) =E= Pup(i)-C1(i)*Q(i,j)*tto(i,j)**C2(i); 95 96 EQ11(i,j).. Tauo(i,j)-Tperiod*(1-y(i,j,"1")) =L= 0; 97 98 EQ12(i,j).. Q(i,j)-Q.up(i,j)*(1-y(i,j,"1")) =L= 0; 99 100 *option reslim = 100000; 101 *option sysout = ON; 102 *option domlim = 1000000; 103 104 obj.. z =E= sum((i,j),gamma(i,j)*Q(i,j)*Tauo(i,j)+ 105 delta(i,j)*Tauo(i,j)+alfa(i,j)*Tauc(i,j)); 106 107 MODEL oilfield /ALL/; 108 109 110 N.up (i,j) = 3; 111 N.l (i,j) = 1; 112 N.lo (i,j) = 0.0001; 113 114 Tauo.up (i,j) = 42.5 ; 114 Tauo.lo (i,j) = 0.00001; 115 116 Tauc.up (i,j) = 60; 117 Tauc.lo (i,j) = 0.00001; 118 119 tto.up (i,j) = 30; 120 tto.l (i,j) = 10; 121 tto.lo (i,j) = 0.001; 122 123 ttc.up (i,j) = 60; 124 ttc.l (i,j) = 20; 125 ttc.lo (i,j) = 0.0001; 126 127 ttmin.up (i,j) = 60; 128 ttmin.lo (i,j) = 2; 129 130 ttmax.up (i,j) = 60; 131 ttmax.lo (i,j) = 0.001; 132 133 Q.lo (i,j) = 0.0001; 134 Q.l (i,j) = 500; Gorrini, Federico Alberto____________________________________________________________________________________16
  • 20. UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 135 Q.up (i,j) = 900; 136 137 P.lo (i,j) = 5880; 138 P.up (i,j) = 6009; 139 140 141 * OPTION Statements 142 143 * option domlim = n 144 * This option sets a limit on the total accumulated number of non-linear 145 * funtion evaluation errors that are allowed while solving the NLP subproblems 146 * or inside DICOPT. 147 * option domlim = 1000000; 148 149 * option reslim = x 150 * This option sets a limit on the total accumulated time [s] spent inside 151 * DICOPT and the subsolvers. The default is 1000. 152 * option reslim = 1000; 153 154 * m.iterlim = n 155 * Sets the total accumulated (minor) iteration limit. This option overrides the 156 * global iteration limit set by an option statement. 157 * oilfield.iterlim = 1000; 158 159 * option iterlim = n 160 * This option sets a limit on the total accumulated (minor) iterations 161 * performed in the MIP and NLO subproblems. The default is 1000. 162 * option iterlim = 2000; 163 164 * option sysout = on 165 * This option will print extra information to the listing file. 166 * option sysout = on; 167 168 169 170 * DICOPT Options 171 172 * m.optfile = n 173 * This option instructs DICOPT to read an option file dicopt.opn. This file 174 * should be located in the current directory. 175 * In the oilfield.optfile could be more than one DICOPT Options. 176 177 * maxcycles n 178 * This option specify the maximum number of cycles or major iterations 179 * performed. The default value is n = 20. 180 Gorrini, Federico Alberto____________________________________________________________________________________17
  • 21. UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 181 * epsx x 182 * This tolerance is used to distinguish integer variables that are set to an 183 * integer value by the user, or integer variables that are fractional. 184 * The default value is x = 1.0e-3. 185 186 * Infeasder n 187 * This option is to determine whether linearizations of infeasible NLP 188 * subproblems are added or not to the MIP master problem. 189 * The default option is N = 0, in which no linearizations are added in the 190 * infeasible NLP subproblems. 191 * When n = 1, linearizations derived from infeasible NLP subproblems are added 192 * to the master problem. This option is recommended to speed up convergence 193 * when the MINLP is known to be convex. If used for nonconvex MINLP possibility 194 * of cutting-off the global optimum is increased. 195 196 *$ontext 197 $onecho > dicopt.op2 198 maxcycles = 100 199 epsx = 1.0e-3 200 infeasder 0 201 $offecho 202 203 oilfield.optfile = 2; 204 *$offtext 205 206 207 * DICOPT MODELING METHODS 208 209 * Before solving a model with DICOPT, it is strongly advised to experiment with 210 * the relaxed model where the integer restrictions are ignored. 211 * This is the RMINLP model. 212 * In the following fragment, the second SOLVE statement will only be executed if 213 * the first SOLVE was successful. 214 215 * In some cases the relaxed problem is the most difficult model. If you have 216 * more than one NLP solver available, you may want to try a sequence of them. 217 218 option NLP = conopt; 219 option MIP = cplex; 220 option rMINLP = conopt; 221 option MINLP = dicopt; 222 *option MINLP = BARON; 223 224 *SOLVE oilfield USING rMINLP MINIMIZING z; 225 Gorrini, Federico Alberto____________________________________________________________________________________18
  • 22. UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 226 *if (oilfield.modelstat > 2.5, option rMINLP=MINOS; 227 *SOLVE oilfield USING rMINLP MINIMIZING z;) 228 *if (oilfield.modelstat > 2.5, option rMINLP=SNOPT; 229 *SOLVE oilfield USING rMINLP MINIMIZING z;) 230 231 * When the next statement is activated, it allows GAMS to solve the model with 232 * discrete variables after try to do it with relaxed ones. 233 234 *abort$(oilfield.modelstat > 2.5) "Relaxed model could not be solved"; 235 SOLVE oilfield using MINLP MINIMIZING z; 236 237 238 239 Execute_unload "Results.gdx" Q.L P.L tto ttc N 240 241 $onecho > taskoutput.txt 242 var=Q.L rng=Results!C3:E13 rdim=1 cdim=1 243 var=P.L rng=Results!H3:J13 rdim=1 cdim=1 244 var=tto rng=Results!C17:E27 rdim=1 cdim=1 245 var=ttc rng=Results!H17:J27 rdim=1 cdim=1 246 var=N rng=Results!M17:O27 rdim=1 247 $offecho 248 249 $CALL GDXXRW.EXE Results.gdx Index=Index!A1 250 Gorrini, Federico Alberto____________________________________________________________________________________19
  • 23. UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. Tabla A.2.3. Especificación de datos en el archivo Data.xlsx de MS Excel, solapa “Data”. gamma alfa P up [ps i ] Demand C 1 C 1 rec 1 2 1 2 w1 6,009 1 75,000 w1 0.05457 w1 27.285 w1 2.916 3.500 w1 50.05 22.75 w2 6,009 2 50,000 w2 0.11079 w2 33.237 w2 5.833 6.708 w2 75.83 85.93 w3 6,009 w3 0.06512 w3 26.056 w3 3.215 4.256 w3 60.26 20.32 w4 6,009 w4 0.83125 w4 25.265 w4 5.219 4.566 w4 42.23 30.86 w5 6,009 w5 0.10658 w5 36.215 w5 6.226 3.265 w5 96.26 50.64 w6 6,009 w6 0.12569 w6 42.259 w6 5.232 7.626 w6 21.26 45.26 w7 6,009 w7 0.72652 w7 26.266 w7 9.265 8.265 w7 35.47 52.14 w8 6,009 w8 0.23523 w8 21.265 w8 4.226 5.265 w8 65.26 50.82 w9 6,009 w9 0.15832 w9 18.265 w9 1.261 2.265 w9 82.26 70.46 w10 6,009 w10 0.09535 w10 29.215 w10 2.265 3.266 w10 24.15 54.87 delta P low [ps i ] T cycle [days ] 60 C 2 C 2 rec 1 2 w1 5,880 w1 0.28742 w1 0.28742 w1 71.75 76.53 w2 5,880 w2 0.23786 w2 0.23786 w2 95.66 102.84 w3 5,880 w3 0.25035 w3 0.25035 w3 84.64 70.25 w4 5,880 w4 0.33265 w4 0.33265 w4 24.26 45.26 w5 5,880 w5 0.28351 w5 0.28351 w5 42.32 42.24 w6 5,880 w6 0.24862 w6 0.24862 w6 15.73 34.89 w7 5,880 w7 0.35542 w7 0.35542 w7 56.25 46.65 w8 5,880 w8 0.35156 w8 0.35156 w8 51.25 75.25 w9 5,880 w9 0.29556 w9 0.29556 w9 65.82 61.25 w10 5,880 w10 0.21518 w10 0.21518 w10 49.25 27.13 Gorrini, Federico Alberto__________________________________________________________________________________________________________________________________________20
  • 24.
  • 25. UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. .xlsx .gdx GAMS .gdx .xlsx ANEXO 2. MS EXCEL - GAMS INTERFAZ MS Excel ofrece una interfaz para la carga y procesamiento de datos más cómoda y con mayor potencialidad que GAMS, sobre todo cuando deben cargarse gran cantidad de datos o procesarse demasiados resultados -o incluso graficarlos-. Además, ofrece una interfaz mucho más familiar e interactiva al usuario. MS Excel permite la carga de sets y parámetros, los cuales serán tomados más tarde por GAMS. Sin embargo, éstos deben primero definirse en GAMS. Una vez definidos en GAMS, debe programarse la conexión GAMS-MS Excel. Dicha conexión puede realizarse a través de un archivo .gdx. La estructura básica de comandos para ejecutar la importación de datos desde un archivo .gdx es la siguiente: $ 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. 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 resolución. Cuando GAMS intercambia datos con otros programas, se puede utilizar dos esquemas de operación. 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. Figura A.2.1. Diagrama de flujo de datos/resultados a través 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 cálculo 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 Data_file.xlsx Index = Index! A1 En cambio, para impulsar a los resultados desde un archivo .gdx hacia un archivo de MS Excel se debe emplear de la siguiente manera: $ CALL GDXXRW.EXE Results_file.xlsx Index = Index! A1 Así, la estructura total de la conexión finalmente será: $ CALL GDXXRW.EXE Data_file.xlsx Index = Index! A1 $ gdxin Data_file.gdx $ load Sets $ load Parameters $ gdxin MODEL + SOLVE command Execute_unload `Results_file.gdx` itemslist; $ CALL GDXXRW.EXE Results_file.xlsx Index = Index! A1 Gorrini, Federico Alberto____________________________________________________________________________________21
  • 26. UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. En itemslist debe especificarse las variables de las cuales se pretende exportar sus valores finales. Todo esto es la programación que se realiza en el archivo de GAMS. Por su parte, debe también 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 cálculo debe declararse los sets involucrados y sus respectivos elementos en forma de columnas. - Data: aquí se incorporan los datos en forma de tablas. Pueden también incluirse parámetros. - Index: es la última de las hojas de cálculo a construir. Proporciona la programación que ejecuta la conexión final para la interfaz MS Excel - GAMS. En esta hoja de cálculo se nombran los sets y parámetros, declarando su ubicación y el rango que ocupan en la tabla correspondiente. set set_name Sets!N#:N# par par_name Sets!N#:N# También, dentro de esta misma solapa se indica la disposición de las dimensiones de las variables. - rdim: los datos se expresan verticalmente en columnas. si existe una columna con datos del parámetro, si no se expresan los datos del parámetro en disposición de columna. - cdim: los datos se expresan horizontalmente en filas. si existe una fila con datos del parámetro, si no se expresan los datos del parámetro en disposición de fila. - dim: número de dimensiones en las que se expresa un parámetro; 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 versión del archivo de MS Excel, sin importar si éste se encuentra abierto o no. Tabla A.2.1. Especificación de Sets y Parámetros en el archivo Data.xlsx, solapa “Index” de MS Excel Tabla A.2.2. Especificación de Sets en la solapa “Sets” del archivo Data.xlsx en MS Excel rdim cdim dim wells periods subcycles set i Sets!A2:A11 1 1 w1 1 1 set j Sets!B2:B3 1 1 w2 2 2 set k Sets!C2:C5 1 1 w3 3 par Tperiod Data!F16 0 w4 4 par C1 Data!H4:I13 1 1 w5 par C2 Data!H17:I26 1 1 w6 par C1rec Data!K4:L13 1 1 w7 par C2rec Data!K17:L26 1 1 w8 par Demand Data!E4:F5 1 1 w9 par  Data!N3:P13 1 1 2 w10 par  Data!N16:P26 1 1 2 par  Data!R3:T13 1 1 2 par Pup Data!B4:C13 1 1 par Plow Data!B17:C26 1 1 Gorrini, Federico Alberto____________________________________________________________________________________22
  • 27. UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. .xlsx .gdx GAMS .gdx .xlsx ANEXO 3. GAMS - MS EXCEL INTERFAZ Así como se realizó para la carga de datos, para la exportación 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 parámetros resultantes deben primero definirse en GAMS. Una vez definidos en GAMS, debe programarse la conexión GAMS-MS Excel. Dicha conexión puede realizarse a través de un archivo .gdx. Para exportar los 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 resolución. Figura A.3.1. Diagrama de flujo de datos/resultados a través 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 cálculo 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: $ CALL GDXXRW.EXE Data_file.xlsx Index = Index! A1 La estructura total de la conexión finalmente será: $ CALL GDXXRW.EXE Data_file.xlsx Index = Index! A1 $ gdxin Data_file.gdx $ load Sets $ load Parameters $ gdxin MODEL + SOLVE command Execute_unload `Results_file.gdx` itemslist; $ CALL GDXXRW.EXE Results_file.xlsx Index = Index! A1 En itemslist debe especificarse las variables de las cuales se pretende exportar sus valores finales. Todo esto es la programación que se realiza en el archivo de GAMS. Por su parte, debe también 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”. - Results: aquí se incorporan los datos en forma de tablas. Pueden también incluirse parámetros. - Index: Proporciona la programación que ejecuta la conexión final para la interfaz GAMS - MS Excel. En esta hoja de cálculo se nombran los variables a importar, declarando su ubicación y el rango que ocupan en la tabla correspondiente. var set_name Sets!N#:N# También, dentro de esta misma solapa se indica la disposición de las dimensiones de las variables. - rdim: los datos se expresan verticalmente en columnas. si existe una columna con datos del parámetro, si no se expresan los datos del parámetro en disposición de columna. - cdim: los datos se expresan horizontalmente en filas. si existe una fila con datos del parámetro, si no se expresan los datos del parámetro en disposición de fila. - dim: número de dimensiones en las que se expresa un parámetro; igual a la suma . Gorrini, Federico Alberto____________________________________________________________________________________23
  • 28. UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. Tabla A.3.1. Especificación de Variables en el archivo Results.xlsx, solapa “Index” de MS Excel rdim cdim dim var Q.L Results!C3:E13 1 1 2 var P.L Results!H3:J13 1 1 2 var tto Results!C17:E27 1 1 2 var ttc Results!H17:J27 1 1 2 var N Results!M17:O27 1 1 2 Una vez realizada esta programación las variables resultantes aparecerán actualizadas luego de cada ejecución de GAMS. Después, la manipulación de estos resultados para su análisis es muy sencillo. En este caso, resulta de interés el análisis de las curvas de declinación/recuperación de la presión en cada pozo, así como la evolución de la producción 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 automáticamente luego de cada ejecución 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 2 1 2 w1 w1 423.4 423.4 w1 w1 5,955 5,955 w2 w2 247.4 409.8 w2 w2 5,953 6,000 w3 w3 400.1 448.2 w3 w3 5,948 5,955 w4 w4 23.4 38.8 w4 w4 5,956 6,006 w5 w5 219.6 264.2 w5 w5 5,953 5,949 w6 w6 265.5 348.3 w6 w6 5,945 6,001 w7 w7 40.6 40.6 w7 w7 6,006 6,006 w8 w8 78.6 127.3 w8 w8 5,958 6,006 w9 w9 140.8 140.8 w9 w9 5,955 5,955 w10 w10 306.4 306.4 w10 w10 5,948 5,948 tto [days] ttc [days] N 1 2 1 2 1 2 w1 w1 19.22 19.22 w1 w1 10.78 10.78 w1 w1 2.00 2.00 w2 w2 20.76 0.00 w2 w2 9.24 60.00 w2 w2 2.00 1.00 w3 w3 30.00 11.66 w3 w3 30.00 18.34 w3 w3 1.00 2.00 w4 w4 20.64 0.00 w4 w4 9.36 60.00 w4 w4 2.00 1.00 w5 w5 21.25 14.17 w5 w5 8.75 5.83 w5 w5 2.00 3.00 w6 w6 14.17 0.00 w6 w6 5.83 60.00 w6 w6 3.00 1.00 w7 w7 0.00 0.00 w7 w7 60.00 60.00 w7 w7 1.00 1.00 w8 w8 17.95 0.00 w8 w8 12.05 60.00 w8 w8 2.00 1.00 w9 w9 20.26 20.26 w9 w9 39.74 39.74 w9 w9 1.00 1.00 w10 w10 30.00 30.00 w10 w10 30.00 30.00 w10 w10 1.00 1.00 Gorrini, Federico Alberto____________________________________________________________________________________24
  • 29. UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. ANEXO 4. PROGRAMACIÓN GRÁFICA 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 período de tiempo. Tabla A.4.1. Resumen de resultados y parámetros de cada pozo Results Q.L 423.4 423.4 P.L [psi] 5,955 5,955 tto [days] 19.2 19.2 ttc [days] 10.8 10.8 N 2 2 Tcycle [days] 60 60 data well 1 C1 0.05457 C2 0.28742 C1rec 27.285 C2rec 0.28742 pressure boundaries 0 Pup [psi] 6,009 6,009 Plow [psi] 5,880 5,880 Para lograr esto, se importan los datos hacia hojas de cálculo individuales donde se expresan mediante las siguientes tablas como la Tabla A.4.1. Es importante que el archivo Results.xlsx permanezca cerrado mientras se ejecuta GAMS, de lo contrario, los datos no serán importados por MS Excel. Como un pozo puede tener 1, 2 o 3 subciclos en cada período, esto supone una dificultad a la hora de intentar que MS Excel grafique en forma automática 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 presión en diversos puntos en el tiempo para luego graficarlos y obtener las curvas. Sin embargo, es difícil que MS Excel sepa si debe usar la ecuación de decrecimiento o recuperación de la presión en el pozo o cuántos subciclos se presentan. Por tanto, se recurre al cálculo de un número NP de puntos dentro del período de tiempo T -en este caso particular, se toman 120 puntos de cálculo por período-. Para lograr esto se recurre a la función condicional de MS Excel: SI (prueba_lógica, [valor_si_verdadero], [valor_si_falso]) A continuación se expresan las fórmulas a aplicar en cada segmento de tiempo en función del número de subciclos. Con las consideraciones expresadas a continuación, es posible programar las respectivas fórmulas en MS Excel a fin de representar el comportamiento de la presión y producción de cada pozo en función del tiempo y obtener los gráficos correspondientes. Tómese en consideración las siguientes ecuaciones aplicadas para representar cada segmento de las curvas según el número de subciclos que se presenten. En los casos en que , para el tiempo basta con dividir el tiempo del período en NP partes y multiplicarlo por el contador respectivo al punto en cuestión, mientras que para la presión sólo se debe imponer el valor . Gorrini, Federico Alberto____________________________________________________________________________________25
  • 30. UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Planning. 0 t o 60 1 2 0 30 30 + t 60 o t o 1 2 3 4 0 t o 20 20 + t o 40 40 + t 60 o 1 2 3 4 5 6 Time [days] Gorrini, Federico Alberto____________________________________________________________________________________26
  • 31. UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Optimization 0 t o 60 1 2 0 30 30 + t 60 o t o 1 2 3 4 0 t o 20 20 + t o 40 40 + t 60 o 1 2 3 4 5 6 Pressure [psi] En ocasiones puede que la recuperación de la presión del último subciclo correspondiente a un dado período se concrete antes que el período termine. Es términos matemáticos esto puede expresarse como . En estos casos es necesario realizar una corrección sobre las fórmulas introducidas para calcular la presión del pozo en tales instancias; de lo contrario, la presión graficada superará a , lo cual es técnicamente imposible. En los subciclos que se presente ésta situación deberá insertarse un condicional adicional en la fórmula de cálculo de la presión que indique que cuándo la presión calculada sea superior a , a ésta se le deberá imponer el valor Gorrini, Federico Alberto____________________________________________________________________________________27
  • 32. UNIVERSIDAD NACIONAL DEL SUR OILFIELD PRODUCTION PLANNING Mixed-Integer Multiperiod Model for the Planning of Oilfield Production Documento de Trabajo. Septiembre 2014 Bahía Blanca - Argentina
  • 33. UNIVERSIDAD NACIONAL DEL SUR Oilfield Production Optimization 0 t o 60 1 2 0 30 30 + t 60 o t o 1 2 3 4 0 t o 20 20 + t o 40 40 + t 60 o 1 2 3 4 5 6 Production [bbl] Gorrini, Federico Alberto____________________________________________________________________________________28