Modelación unidimensional y bidimensional del transporte ...
MODELACIÓN PARA LA PROGRAMACIÓN DEL TRANSPORTE DE ...
Transcript of MODELACIÓN PARA LA PROGRAMACIÓN DEL TRANSPORTE DE ...
1
MODELACIÓN PARA LA PROGRAMACIÓN DEL
TRANSPORTE DE PRODUCTOS REFINADOS EN LA RED NACIONAL DE POLIDUCTOS DE ECOPETROL S.A
DANIEL MAURICIO MACÍAS ARCINIEGAS
JORGE EDUARDO MARTINEZ GALLEGO
PONTIFICIA UNIVERSIDAD JAVERIANA
FACULTAD DE INGENIERÍA
CARRERA DE INGENIERÍA INDUSTRIAL
BOGOTÁ D.C.
ABRIL DE 2012
2
MODELACIÓN PARA LA PROGRAMACIÓN DEL TRANSPORTE DE PRODUCTOS REFINADOS EN LA RED
NACIONAL DE POLIDUCTOS DE ECOPETROL S.A
DANIEL MAURICIO MACÍAS ARCINIEGAS
JORGE EDUARDO MARTINEZ GALLEGO
Director:
JUAN CARLOS GARCÍA
Ingeniero de Petróleos, Ph.D.
PONTIFICIA UNIVERSIDAD JAVERIANA
FACULTAD DE INGENIERÍA
CARRERA DE INGENIERÍA INDUSTRIAL
BOGOTÁ D.C.
ABRIL DE 2012
4
AGRADECIMIENTOS
Son muchas las personas que, de una u otra forma, contribuyeron en el desarrollo del presente trabajo de
investigación. En primera instancia, queremos agradecer muy especialmente a nuestros padres, que por
medio de su esfuerzo, dedicación, apoyo y ante todo un ejemplo admirable, hicieron posible nuestra
formación personal y académica.
A todos nuestros hermanos y amigos, quienes desde el comienzo creyeron en el proyecto, les queremos
agradecer por su incondicional apoyo y motivación, en los momentos críticos del proceso.
A la PONTIFICIA UNIVERSIDAD JAVERIANA y en especial a la FACULTAD DE INGENIERÍA, le agradecemos por
brindarnos educación integral a lo largo del periodo académico.
A nuestro director, Ingeniero Juan Carlos García PhD, le agradecemos su permanente apoyo y dirección,
pues sus aportes y experiencia permitieron la consecución del proyecto.
En la Universidad de EXETER, en el Reino Unido, queremos agradecer el apoyo del Profesor Josef Bicik PhD,
quien desde el comienzo, mostró interés en el desarrollo del proyecto y suministró herramientas e
información de gran utilidad para el desarrollo de la investigación.
5
ABSTRACT
There are different means of transportation for oil derivate products. Among these various types,
delivery through multiproduct pipelines is the one that consumes the least quantity of resources
and, at the same time, offers a reliable alternative regarding to travel time and transported
volume. Nevertheless, programming a delivery is a task that, if determined manually, demands
time and years of experience. Instead, if determined computationally by exact methods, studies
raised in the present project had shown that the solution may not be found at all depending on
how complex the network is due to the combinatorial nature of the problem. Still, the approach
via non-exact methods offers an interesting study that deserves to be investigated and developed
in order to transform actual procedures for more efficient and computer based methods. The
present work propose a Genetic Algorithm based program that intends to help programmer’s task
in order to reduce both, time and costs consumption, to fulfill the programming of delivery of oil
derivate products.
6
Tabla de Contenido 1. INTRODUCCIÓN ..................................................................................................... 11
2. OBJETIVOS ............................................................................................................ 13
2.1 General ............................................................................................................ 13
2.2 Específicos ..................................................................................................... 13
3. CONTEXTUALIZACIÓN Y FORMULACIÓN DEL PROBLEMA ......................... 14
3.1 Generalidades de ECOPETROL S.A ............................................................... 14
3.1.1 Marco Estratégico 2009-2015 de ECOPETROL S.A ............................ 14
3.1.2 La logística del transporte en Ecopetrol S.A ...................................... 15
3.2 Antecedentes de la Programación de Refinados En ECOPETROL S.A . 16
3.2.1 Descripción del proceso actual de programación de refinados en
Ecopetrol ............................................................................................................... 16
3.2.2 Análisis de eficiencia de la programación de refinados actual . 17
3.3. Formulación del problema ........................................................................... 18
4. JUSTIFICACIÓN DEL PROYECTO ........................................................................ 20
4.1 Justificación operativa ................................................................................ 20
4.2 Justificación social ....................................................................................... 20
4.3 Justificación Académica ............................................................................. 21
5. MARCO TEÓRICO ................................................................................................... 22
5.1 Modelación según los métodos de la investigación de operaciones ... 22
5.1.1 Métodos de solución ................................................................................ 22
5.1.1.5.5 Modelación computacional para Algortimos Genéticos ........... 30
5.2 Estado del arte .................................................................................................. 32
5.2.1 Scheduling de un poliducto usando formulación MILP no discreta
................................................................................................................................. 32
5.2.2 Modelo Computacional de Optimización de la Programación
(Scheduling) del sistema de poliducto Galán-Puerto Salgar basado en
técnicas de programación matemática. ......................................................... 33
5.2.3 Programación híbrida Matemática y Metaheurística........................ 33
5.2.4 Algoritmo Evolutivo para la Distribución de Productos de Petróleo
por Redes de Poliductos ................................................................................... 34
7
5.2.5 Modelo de optimización como apoyo en la gestión logística de
programación de carrotanques en ECOPETROL S.A. .................................. 35
5.2.6 Programación del transporte de hidrocarburos por oleoductos
mediante la combinación de técnicas metaheurísticas y simulación .... 36
5.2.7 Modelo Matemático de Planeación del Transporte para Múltiples
Productos a través de un Sistema de Poliductos ........................................ 37
5.2.8 Aproximación Eficiente para el Scheduling Operacional de una
Red Real de Poliductos ...................................................................................... 39
5.2.9 Secuenciamiento de Batchs en una Red Real de Poliductos Usando
Programación por Restricciones ..................................................................... 40
5.2.10 Modelo Operacional de Scheduling para Distribuir Productos a
Través de una Red de Poliductos .................................................................... 41
5.2.11 Optimización de Poliductos con Algoritmos Genéticos ............... 42
5.2.12 Scheduling de Oleoductos Multi-Producto Líquidos Fungibles
Usando Algoritmos Genéticos ......................................................................... 43
5.2.13 Programación de Transferencia de Derivados del Petróleo en
Redes de Poliductos Usando Algoritmos Genéticos .................................. 44
5.3 Análisis de las referencias encontradas ..................................................... 45
5.4 Justificación del empleo de Algoritmos Genéticos como metodología
de solución ............................................................................................................... 47
5.5 Herramientas computacionales ................................................................... 47
6. CARACTERIZACIÓN DEL SISTEMA .................................................................... 49
6.1 Requerimientos de un programa de transporte ....................................... 49
6.1.1 Identificación de Requerimientos......................................................... 49
6.1.2 Identificación de requerimientos críticos........................................... 50
6.2 Caracterización del Sistema .......................................................................... 51
6.2.1 Aspectos técnicos ..................................................................................... 51
6.2.1.1 Características de los Poliductos ................................................... 54
6.2.1.2 Productos a Transportar ..................................................................... 55
6.2.2. Aspectos Logísticos ................................................................................ 57
6.3 Definición de la Función Objetivo, Parámetros y Restricciones........... 61
6.3.1 Definición Función Objetivo .................................................................. 61
6.3.2 Definición de los Parámetros ............................................................. 61
8
6.3.3 Definición de Restricciones ................................................................... 62
7. DISEÑO Y VALIDACIÓN DEL MÉTODO METAHEURÍSTICO .......................... 63
7.1 Parámetros y función fitness del modelo ................................................... 63
7.1.1 Representación de los cromosomas .................................................... 64
7.1.2 Generación de población inicial de cromosomas ............................. 66
7.1.3 Selección de cromosomas candidatos a ser reproducidos ............. 66
7.1.4 Reproducción y mutación de los cromosomas ................................ 66
7.1.5 Terminación de iteraciones .................................................................... 66
7.2 Diseño y validación ......................................................................................... 67
7.2.1 Datos de entrada ...................................................................................... 67
7.2.2 Programación del algoritmo .................................................................. 67
7.2.3 Algoritmo de ajuste ................................................................................. 70
7.2.4 Módulo de simulación determinística ................................................. 72
7.2.4 Flujograma del Proceso ........................................................................... 73
8. SOLUCIÓN DEL MODELO ................................................................................... 75
8.1. Tiempos de Procesamiento ........................................................................ 75
8.2 Resultados ......................................................................................................... 75
8.2.1 Interpretación de los Resultados .......................................................... 76
8.3 Análisis de los Resultados ............................................................................. 90
8.3.1 Niveles de Inventarios ............................................................................. 90
8.3.2 Análisis de Tiempos de Procesamiento .............................................. 91
9. ANÁLISIS FINANCIERO ...................................................................................... 92
9.1 Costo de implementación .............................................................................. 92
9.2 Costos Operativos ........................................................................................... 93
9.3 Costo de personal ............................................................................................ 94
9.4 Indicadores Financieros ................................................................................. 94
10. RESUMEN COMPARATIVO ................................................................................. 96
10.1 Tasas de Mejoramiento ................................................................................ 96
10.2 Discusión de Resultados ............................................................................. 96
11. CONCLUSIONES Y RECOMENDACIONES ................................................................. 98
9
11.1. Conclusiones ...................................................................................................... 98
11.2. Recomendaciones .............................................................................................. 99
11.3 Aporte Personal ............................................................................................. 99
12. BIBLIOGRAFÍA .................................................................................................... 100
13. ANEXOS ............................................................................................................... 104
10
TABLA DE CONTENIDO DE FIGURAS
Figura 3.1. Esquema de suministro a clientes ................................................................................................. 15
Figura 3.2. Proceso de generación del programa envíos ................................................................................ 16
Figura 3.3: Herramienta HAP ........................................................................................................................... 17
Figura 5.1: Búsqueda tabú ............................................................................................................................... 24
Figura 5.10. Representación solución poliducto bidireccional ....................................................................... 31
Figura 5.11. Línea de Cafaro y Cerdá ............................................................................................................... 32
Figura 5.12: Extracto del mapa de poliductos y oleoductos de Colombia ..................................................... 32
Figura 5.13: Esquema de Red .......................................................................................................................... 34
Figura 5.14: Procedimiento de técnicas metaheurísticas y simulación para la programación de oleoductos
..................................................................................................................................................................... 37
Figura 5.15: Secuencia de Bombeo para Productos........................................................................................ 38
Figura 5.16: Red de poliductos ........................................................................................................................ 40
Figura 5.17: Red de transporte de hidrocarburos del Brasil ........................................................................... 41
Figura 5.18. Red de transporte de hidrocarburos del Brasil ........................................................................... 43
Figura 5.19: Red de transporte de hidrocarburos del Brasil ........................................................................... 44
Figura 5.2: Método de la Ruleta por Ranqueo ................................................................................................ 26
Figura 5.20: Red de Oscuros simplificada ....................................................................................................... 45
Figura 5.3: Crossover uniforme ....................................................................................................................... 27
Figura 5.4: Mutación por intercambio ............................................................................................................ 27
Figura 5.5: Mutación por intercambio ............................................................................................................ 28
Figura 5.6: Mutación por vecindad ................................................................................................................. 28
Figura 5.7. Pseudocódigo de programa de Algoritmo Genético .................................................................... 30
Figura 5.8. Caracterización del sistema ........................................................................................................... 31
Figura 5.9. Representación solución poliducto unidireccional ....................................................................... 31
Figura 6.1. Red Poliductos a Nivel Nacional .................................................................................................... 52
Figura 6.2 Agrupación de Nodos ..................................................................................................................... 52
Figura 6.3. Red Simplificada ............................................................................................................................ 53
Figura 6.4. Secuencia de Productos ................................................................................................................. 57
Figura 6.5. Secuencia de batches a programar ............................................................................................... 57
Figura 6.6. Proceso de Suministro ................................................................................................................... 61
Figura 7.1 Representación del Cromosoma .................................................................................................... 65
Figura 7.2. Representación de los cromosomas ............................................................................................. 65
Figura 7.3. Penalización de contigüidad .......................................................................................................... 68
Figura 7.4: Matriz reducida .............................................................................................................................. 69
Figura 7.5: Identificación de la violación ......................................................................................................... 71
Figura 7.6: Determinación y almacenamiento ................................................................................................ 71
Figura 7.7: Generación aleatoria ..................................................................................................................... 71
Figura 7.8 : Flujograma del procedimiento ..................................................................................................... 74
Figura 8.1.Esquema de Resultados .................................................................................................................. 77
Figura 8.2. Interpretación de Resultados ........................................................................................................ 78
11
1. INTRODUCCIÓN
La Industria petrolera es considerada como una de las principales actividades económicas en Colombia.
Según la Unidad de Planeación Minero Energética (UPME) diversos sectores industriales, como el transporte,
el agrícola, y el residencial, entre otros, dependen directamente de los productos derivados del petróleo (Subdirección de Planeación Energética, Grupo de Demanda Energética, 2010). Adicionalmente, para el
primer trimestre del año 2012, “…la participación del petróleo y actividad minera en el PIB llegó al 10,3%, y
fue la de mayor crecimiento.” (Sardi, 2012). En términos internacionales y según la Revista Businessweek,
actualmente Colombia se posiciona como el tercer país productor de petróleo en Suramérica, después de
Venezuela y Brasil (CARACOL RADIO, 2012), siendo una nación potencialmente exportadora.
En general, uno de los objetivos de las empresas del sector petrolero se fundamenta en generar valor
agregado en los procesos de exploración, producción, refinación, transporte, investigación y desarrollo. El
grado de competitividad no solo de las empresas, sino de la nación entera, dependen de la capacidad de
ejecutar este tipo de actividades de forma eficaz, eficiente y bajo los requerimientos de calidad inherentes a
la industria. En relación a los procesos de transporte de productos derivados del petróleo, la industria
generalmente utiliza buques, camiones, ductos (oleoductos para el petróleo y poliductos para los productos
refinados) y ferrocarriles. Sin embargo, el medio más eficaz y económico para transportar este tipo de
productos en grandes cantidades y a través largas distancias son los ductos (de Souza, Algoritmo
Evolucionário para a Distribuição de Produtos de Petróleo por Redes de Polidutos, 2010). Adicionalmente, se
considera que este método resulta más confiable y es aquel que acarrea menos pérdidas en comparación a
las demás opciones (de Souza, Algoritmo Evolucionário para a Distribuição de Produtos de Petróleo por
Redes de Polidutos, 2010). No obstante, esta alternativa requiere una adecuada planeación estratégica,
como el trazado de la línea (ducto) o la ubicación de los centros de almacenamiento; táctica, como las
tarifas y las políticas de mantenimiento; y finalmente operativa, como la elaboración de los programas de
envío semanales.
Esta programación del transporte a través de poliductos, consiste en definir las cantidades, tiempos,
secuencias y tipos de productos a enviar, con el objetivo de satisfacer la demanda nacional de refinados,
respetando las reglas de operación definidas. A nivel internacional, la optimización y en general el
mejoramiento de este tipo de procesos son materia de constante estudio. Sin embargo, cabe resaltar que el
problema de la programación de poliductos ha recibido mucha menos atención que otros problemas
referentes al tema del petróleo y sus derivados (Sánchez, 2007).
El objetivo central del presente proyecto de investigación consiste en desarrollar un procedimiento
heurístico, basado en algoritmos genéticos, para la generación de los programas de envío de ECOPETROL
S.A., con el fin de proponer una opción más económica y eficiente de realizar el proceso mencionado. Es de
aclarar, que el alcance del proyecto no supone la automatización del proceso de búsqueda de los programas
de envío. En esencia, es una herramienta diseñada para soportar las actividades de la Vicepresidencia de
Transportes de ECOPETROL S.A en relación a la programación del transporte a través de la red de poliductos
de Colombia.
El proyecto de investigación se desarrolla en once (11) capítulos que se suman a la presente introducción. El
capítulo dos (2) define tanto el objetivo general como los objetivos específicos del proyecto, los cuales
constituyen el punto de partida para el desarrollo del mismo.
12
El capítulo tres (3) presenta la contextualización del proyecto de investigación, donde se incluye las
generalidades de ECOPETROL S.A. como empresa, su marco estratégico y en general una breve descripción
de su actividad económica. Adicionalmente se analizan los antecedentes de la programación del transporte
de refinados. Posteriormente, se procede a plantear el problema describiendo cada una de las dificultades
que en la actualidad debe afrontar la empresa.
La justificación del proyecto se realiza en el capítulo cuatro (4), donde se argumentan los motivos por los
cuales se decide desarrollar el proyecto alrededor del proceso de programación del transporte de refinados.
Estos argumentos se desarrollan a partir de tres (3) perspectivas: desde el punto de vista operativo, social y
académico.
Con el fin de contextualizar al lector desde una perspectiva teórica, en el capítulo cinco (5) se exponen los
principales métodos de solución empleados en temas de programación del transporte a través de
poliductos. De igual forma, se efectúa un recuento general de proyectos realizados en las últimas tres (3)
décadas. Finalmente se realiza un análisis de los elementos encontrados en la literatura y se justifica el
método de solución elegido para el desarrollo del proyecto.
El capítulo seis (6) contiene la caracterización general del sistema en donde se efectúa un análisis detallado
de los requerimientos necesarios para realizar el proceso de programación de transporte. Finalmente, se
definen las funciones objetivo a satisfacer y adicionalmente las restricciones propias del sistema, que deben
ser contempladas en la programación definitiva.
El diseño del método heurístico propuesto se aborda en el capítulo siete (7), el cual expone la
representación de los cromosomas y los parámetros empleados para la solución de la problemática
planteada, entre otros. Posteriormente, se expone la validación del procedimiento heurístico mediante la
generación del programa de transporte y la realización de una simulación determinística.
La solución final del modelo se registra en el capítulo ocho (8) donde se analizan los resultados obtenidos
que posteriormente, en el capítulo (9), serán evaluados desde una perspectiva financiera. Para este análisis
se tendrán como referencia los costos de implementación de la metodología propuesta en relación a la
inversión necesaria para implementar el proyecto.
El capítulo diez (10) ilustra las tasas de mejoramiento obtenidas a partir de la metodología desarrollada y la
discusión sobre los resultados obtenidos. Finalmente, el capítulo once (11) presenta las conclusiones finales
y las recomendaciones que los autores del presente proyecto de investigación realizan sobre los resultados
obtenidos.
Al finalizar el proyecto, se concluye que la investigación y el desarrollo de alternativas que contribuyan a
mejorar los niveles de competitividad empresarial, deben ser prioritarios en la planeación estratégica,
táctica y operativa de las industrias colombianas en general. Este tipo de iniciativas tienen incidencia directa
en los indicadores sociales y económicos de las naciones, tales como el nivel de empleo, la calidad de vida de
las personas, el ingreso per cápita, el incremento de recursos públicos destinados a salud y educación, entre
otros. Por lo tanto, de esta manera se recomienda continuar apoyando los esfuerzos encaminados a lograr
un mejoramiento de los procesos productivos de las industrias.
13
2. OBJETIVOS
2.1 General
Proponer y desarrollar un procedimiento heurístico basado en algoritmos genéticos para generar la
secuencia y tamaño de órdenes de los productos refinados de mayor demanda a nivel nacional, con el fin de
establecer una opción económica y eficiente para realizar el proceso de programación del transporte.
2.2 Específicos
Caracterizar el sistema con el fin de identificar elementos clave (variables, restricciones y reglas)
que permitan el diseño del procedimiento heurístico de solución a través de un análisis detallado
de los requerimientos operacionales.
Diseñar un algoritmo genético con base en la caracterización del sistema, con el fin de generar
soluciones que establezcan una opción más económica de realizar el proceso de programación del
transporte y su desempeño sea validado mediante una simulación determinística.
Realizar un análisis costo-beneficio del modelo propuesto, que evidencie los resultados económicos
que genera la implementación del nuevo método de programación del trasporte, con el fin de
justificar financiera y operativamente su utilización
14
3. CONTEXTUALIZACIÓN Y FORMULACIÓN DEL PROBLEMA
3.1 Generalidades de ECOPETROL S.A
El 25 de agosto de 1951, nace la Empresa Colombiana de Hidrocarburos. Desde sus inicios emprendió
labores relacionadas con la administración de los recursos hidrocarburíferos de la nación. En 1961 empieza a
administrar de forma independiente la refinería de Barrancabermeja y en 1974 realiza la adquisición de la
refinería de Cartagena.
Ecopetrol, a partir de los años 70, es vigilada por la contraloría General de la República de Colombia, al
constituirse como una empresa industrial y comercial propiedad del estado. Sin embargo, con la aparición
de los procesos de globalización, el Gobierno Nacional vio necesario tomar medidas que lograran proyectar
la empresa hacia una perspectiva más competitiva a nivel internacional. “Con la expedición del Decreto 1760
del 26 de Junio de 2003 modificó la estructura orgánica de la Empresa Colombiana de Petróleos y la convirtió
en Ecopetrol S.A., una sociedad pública por acciones, ciento por ciento estatal, vinculada al Ministerio de
Minas y Energía y regida por sus estatutos protocolizados en la Escritura Pública número 4832 del 31 de
octubre de 2005, otorgada en la Notaría Segunda del Circuito Notarial de Bogotá D.C., y aclarada por la
Escritura Pública número 5773 del 23 de diciembre de 2005.” (Ecopetrol S.A.)
3.1.1 Marco Estratégico 2009-2015 de ECOPETROL S.A
3.1.1.1 Misión
“Encontramos y convertimos fuentes de energía en valor para nuestros clientes y accionistas, asegurando la
integridad de las personas, la seguridad de los procesos y el cuidado del medio ambiente, contribuyendo al
bienestar de las áreas donde operamos, con personal comprometido que busca la excelencia, su desarrollo
integral y la construcción de relaciones de largo plazo con nuestros grupos de interés.” (Ecopetrol S.A.)
3.1.1.2 Visión
“Ecopetrol, Grupo Empresarial enfocado en petróleo, gas, petroquímica y combustibles alternativos, será una
de las 30 principales compañías de la industria petrolera, reconocida por su posicionamiento internacional,
su innovación y compromiso con el desarrollo sostenible.” (Ecopetrol S.A.)
3.1.1.3 Actividad económica
Actualmente ECOPETROL S.A. es la empresa más grande del país (Revista Dinero, 2011). A nivel internacional
se ubica entre las primeras 40 empresas petroleras más grandes del mundo (Ecopetrol S.A.), enmarcando su
razón social dentro de las siguientes actividades:
Exploración: Busca mantener e incrementar el volumen de reserva de hidrocarburos, con el fin de
satisfacer la demanda nacional e internacional.
15
Refinación: Cuenta con su propia infraestructura para generar productos tales como, Gasolina
Motor, Bencina, Jet-A, Azufre, Lubricantes, entre otros. La capacidad diaria es de aproximadamente
295.000 barriles.
Transporte: Suministro de productos refinados para satisfacer la demanda nacional e internacional,
mediante, poliductos, oleoductos y/o flota de camiones terrestre, fluvial y marítima.
Investigación y Desarrollo: Investigación e implementación de avances tecnológicos tales como,
automatización y control, transporte, optimización de procesos en general, tecnologías limpias
entre otros.
3.1.2 La logística del transporte en Ecopetrol S.A
En ECOPETROL S.A. el transporte de los productos está a cargo de la Vicepresidencia de Transporte (VIT).
Ésta a su vez se divide en gerencias definidas por regiones las cuales abarcan, los campos de extracción en el
norte, sur, centro y oriente de Colombia, dos refinerías, puertos para exportación e importación y una red
de transporte de compuesta por poliductos y oleoductos.
La VIT busca interconectar la totalidad de su infraestructura para garantizar el flujo de productos a través del
territorio nacional. Dicho de otra manera, esta vicepresidencia debe coordinar el manejo de sus ocho mil
quinientos (8500) kilómetros de ductos (buscando ser siempre preciso y confiable) para realizar las entregas
de producto a las diversas flotas de transporte. Esto incluye: flotas terrestres, fluviales y marítimas, como se
ilustra en la figura 3.1.
Figura 3.1. Esquema de Suministro a Clientes
Fuente: Elaboración de los autores
16
3.2 Antecedentes de la Programación de Refinados En ECOPETROL S.A
3.2.1 Descripción del proceso actual de programación de refinados en Ecopetrol
La programación de los envíos a través del poliducto de ECOPETROL S.A. es una labor que se realiza
semanalmente. Básicamente esta tarea consiste en recibir la información asociada a la demanda de los
productos en diferentes lugares del territorio nacional, programar la distribución y garantizar su
disponibilidad en el lugar y tiempo esperado. Como se puede apreciar en la figura 3.2, el proceso se divide
en dos (2) sub procesos: el proceso de planeación y el proceso de programación.
3.2.1.1 Proceso de Planeación
El proceso de planeación es de carácter no operativo donde el programador debe reunir y analizar los datos
que afectan al programa de envíos; esta información debe incluir las restricciones variables - demanda
proyectada, cantidad de producto solicitado, niveles de inventario -, restricciones fijas - cantidad mínima y
máxima de los batchs - y la infraestructura de la red.
Figura 3.2. Proceso de generación del programa envíos
Fuente: Elaboración de los autores
3.2.1.2 Proceso de Programación
La fase de programación es un proceso operativo que consiste en generar la secuencia de transporte a partir
de la información reunida y analizada en el proceso de planeación. El programador debe definir la cantidad
de cada producto a transportar a través de la red nacional de poliductos, respetando los niveles de
inventario, reglas de secuencia de productos y el grado de cumplimiento de la demanda. Actualmente, dicha
programación se realiza de forma manual. Por lo general el proceso se convierte en una tarea altamente
17
repetitiva pues, como se ilustra en la figura 3.2, el programador debe iterar hasta que el resultado satisfaga
las condiciones de la simulación. Una vez concretado el proceso, la solución obtenida es validada a través de
un simulador de escenarios que verifica el nivel de cumplimiento de las reglas de operación definidas por
ECOPETROL S.A.
3.2.1.1 Simulador de escenarios
En general, las redes de poliductos son sistemas dinámicos. La causa de esto son las fluctuaciones
mencionadas anteriormente como la variación constante de los niveles de inventario y las paradas
programadas y no programadas, entre otros. Con el fin de minimizar el impacto de dichas fluctuaciones, la
tarea de programación se apoya en tecnologías que, en este caso, simulan los escenarios que ocurren al
implementar un determinado programa de envíos.
ECOPETROL S.A. utiliza la Herramienta para Administración de Oleoductos y Poliductos (HAP) como apoyo
para programar los envíos de refinados. Mediante esta herramienta es posible realizar simulaciones previas
al envío de productos. El objetivo de HAP es reducir la probabilidad de incurrir en interrupciones del
suministro de refinados debido programaciones deficientes. Los datos de entrada del simulador se ilustran
en la figura 3.3. Sin embargo, HAP simplemente recrea el escenario y evidencia si las restricciones variables y
fijas se violan en algún momento del proceso. En caso de enviar producto y no contar con el espacio
suficiente para su almacenamiento, es necesario suspender por completo la línea de bombeo, incurriendo
en costos operativos.
Figura 3.3. Herramienta HAP
Inventarios- Centros- Líneas
Nominaciones
Mantenimiento
Infraestructura de red(capacidades)
Min y Max de batches
PROGRAMA DE TRANSPORTES
Restricciones fijas
Restricciones variables
SINOPER
Resultado
Fuente: Elaboración de los autores
3.2.2 Análisis de eficiencia de la programación de refinados actual
Debido a que la única herramienta computacional empleada por el programador es un simulador de
escenarios basado en una programación manual, es preciso afirmar que en definitiva el método actual se
convierte en una sucesión de ensayos y errores cuyo resultado generalmente es una solución aceptable pero
incompleta. Este aspecto repercute negativamente en la logística de envíos de ECOPETROL S.A en dos (2)
18
aspectos: el primero consiste en la calidad de los programas, y el segundo consiste en la velocidad de
respuesta frente a cambios por contingencias. En relación al primer aspecto, en promedio se incurre en
ciento sesenta y dos (162) horas de suspensión del suministro al mes para la totalidad de las líneas. La
ecuación 3.1 se emplea para calcular el costo asociado a dichas suspensiones, que en la actualidad se
encuentra alrededor de $542.163.774 pesos al mes.
Ecuación 3.1
Donde
TP = Tiempo de paro
CO = Capacidad operativa del poliducto
FU = Factor de utilización del poliducto
CT = Costo de transporte
El segundo aspecto está relacionado con la flexibilidad del proceso de programación desde el punto de vista
de fluctuaciones imprevistas. Frente a estas situaciones, es necesario generar nuevamente los programas de
transporte, lo cual implica recomenzar el proceso de programación de doce (12) horas. Sin embargo, debido
a que en ocasiones las contingencias se deben a emergencias que requieran acciones inmediatas,
generalmente no se dispone del tiempo para realizar el nuevo programa. Frente a esta imposibilidad,
ECOPETROL S.A. debe tomar decisiones que generen el menor impacto posible sin ninguna base
procedimental.
3.3. Formulación del problema
El proceso de transporte de productos derivados del petróleo a través del poliducto de ECOPETROL S.A.
presenta, en esencia, dos problemáticas. Éstas pretenden ser solucionadas simultáneamente mediante la
generación de un modelo computacional aplicado al proceso de programación de bombeo. A continuación
se registran aquellos aspectos críticos que mediante el presente proyecto de investigación son abordados de
forma simultánea:
1. La realización manual de la programación del transporte de productos derivados del petróleo,
genera combinaciones que en ocasiones involucran paros de bombeo por altos o bajos
inventarios. Esto se debe a que el programador se concentra en lograr los balances
volumétricos y no dispone del tiempo para buscar la optimización del proceso con base en
criterios económicos. Adicionalmente si un producto llega a su nodo final y en dicho punto no
se cuenta con la capacidad necesaria para su almacenamiento, es necesario que permanezca
reposando en el ducto hasta que se consuman las existencias.
2. En segunda instancia, y según expertos de la Vicepresidencia de Transporte, existe la necesidad
de reducir los tiempos de programación de las secuencias de bombeo. El problema radica en
que resultan diversas combinaciones posibles que pueden ser generadas por el programador
debido a la cantidad de nominaciones que maneja ECOPETROL S.A. Por lo mismo, el tiempo
necesario para programar el poliducto no es constante; éste depende del número de intentos
realizados antes de encontrar aquella combinación que no viole las restricciones de la red.
Con la implementación de HAP es posible realizar la simulación previa al envío del producto y en cierta
medida reducir la probabilidad de incurrir en una interrupción del suministro de los productos. Sin embargo,
esta herramienta es enteramente manual; el programador debe proponer diferentes combinaciones de
19
cantidades y secuencias lógicas de transporte. Como se menciona en la sección, 3.2.2, la función de HAP
consiste en recrear un escenario que valide si las restricciones propias del sistema se violan en algún
momento del proceso utilizando una simulación hidráulica simplificada (basada en reglas).
Como se mencionó anteriormente, se estima que el programador tarda alrededor de doce (12) horas en
generar la programación de la red y por esto es una tarea que se realiza una (1) vez a la semana.
Adicionalmente la programación depende de la experiencia del programador, quien, según los resultados de
cada simulación, realiza variaciones con el fin de encontrar la secuencia más apropiada. La figura 3.2, que
ilustra el proceso de programación, evidencia que en la medida en que se violen las restricciones de la red,
la programación tendrá que realizarse nuevamente hasta lograr la opción más adecuada.
Mediante la formulación que propone el trabajo de investigación, se busca solucionar simultáneamente las
problemáticas encontradas. En primera medida se busca reducir los tiempos necesarios para realizar la
programación del transporte de los productos mediante una herramienta computacional. Esta herramienta
busca iterar las posibles combinaciones de transporte que maximice el cumpliendo de las restricciones de
inventario, balance volumétrico, secuencia, conservación de la materia y capacidades de transporte. Por
otra parte, se busca la reducción de paros de bombeo ocasionados por errores en la programación del
transporte. En general se intenta lograr que dicha programación se realice diariamente, con el objetivo de
tener una mayor capacidad de reacción ante posibles variaciones en los requerimientos de los productos.
20
4. JUSTIFICACIÓN DEL PROYECTO A medida que la complejidad de los procesos productivos al interior de las industrias aumenta, resulta cada
vez más complicado tomar decisiones acertadas que encaminen a maximizar sus utilidades y cumplir con sus
objetivos. Los sistemas se tornan más complejos y la cantidad de variables que intervienen en los mismos no
siempre son identificables, medibles y controlables mediante los procedimientos convencionales. Es
precisamente el caso de ECOPETROL S.A., en donde hace una década, era suficiente contar con una hoja de
cálculo convencional para la programación del poliducto. A medida que se fue incrementando la capacidad
de la red, el número de parámetros a considerar también se incrementó y fue necesario desarrollar
tecnologías con una mayor capacidad de procesamiento.
4.1 Justificación operativa
En la medida en que se logre aumentar la utilidad generada por cada peso invertido en un proceso
productivo, las organizaciones se vuelven más eficientes y mejoran su escenario de atracción al
inversionista. El presente proyecto de investigación tiene como finalidad establecer una opción más
económica de realizar el proceso de transporte de productos refinados. De esta manera se genera una
reducción de los costos totales de operación pues se requieren menos recursos económicos por barril
transportado.
Tabla 4.3. Indicadores de transporte
Indicador Medida del Indicador 2005 2006 2007 2008 2009
Volumen de crudo transportados Miles de barriles por
día calendario 443,8 471,1 516,6 542,3 576,2
Volúmenes de refinados transportados Miles de barriles por día calendario 159,4 180,7 193,8 209,5 223,3
Hurto de hidrocarburos Barriles por día calendario 1.601 942 561 389 196
Fuente: Documentos Corporativos ECOPETROL S.A.
Como se evidencia en la tabla 4.3, los indicadores de transporte evidencian que en entre 2005 y 2009 se
presentó un incremento equivalente al 40% del número total de barriles, de refinados, transportados por
día calendario. Las cifras evidencian que la industria presenta un crecimiento positivo y se debe garantizar
que los procesos operativos tengan la capacidad de responder al fenómeno del mercado.
4.2 Justificación social
A medida que los indicadores de productividad de una nación se incrementan, también lo hacen los niveles
de inversión extranjera, los niveles de empleo, las condiciones sociales y la expectativa de vida, entre otros
(García, 2003). Toda actividad que contribuya a reducir el consumo de recursos, para un proceso productivo
específico, genera la posibilidad de aumentar la rentabilidad sobre el capital invertido, lo cual abre la
posibilidad para las empresas de expandir sus mercados y aumentar la oferta laboral.
La reducción de costos del proyecto tiene como objetivo implícito impactar positivamente el estado de
resultados de la empresa; automáticamente el rubro asociado a los impuestos sobre la renta tendrá una
variación a favor de la sociedad. Es decir, a medida que la empresa aumenta su capacidad de generar
21
ingresos, genera un impacto representativo para la sociedad, en términos de aportes fiscales por concepto
de su operación en el territorio nacional.
4.3 Justificación Académica
La justificación académica del presente trabajo puede abordarse desde dos perspectivas diferentes:
Primero, brinda la posibilidad de reunir todos aquellos conocimientos adquiridos a lo largo de la carrera,
filtrarlos según su utilidad, ponerlos en práctica en un escenario real y evaluar la calidad de los resultados
obtenidos. Esto quiere decir que se pondrá a prueba la formación académica que se ha tenido para abordar
un tema, desarrollarlo y obtener un resultado del mismo. En segunda instancia, el desarrollo del presente
trabajo investigativo ayuda a la comunidad educativa a avanzar hacia una mejor comprensión sobre la
utilización de métodos de optimización aplicados a la industria petrolera. Más precisamente, se está
colaborando en el desarrollo de programas que ayuden al transporte de refinados a través de poliductos.
La segunda perspectiva es de suma importancia ya que el método escogido tiene gran potencial de
desarrollo. De hecho, la realización del presente proyecto hace parte de avances a los que se referían
autores como Goldberg cuando decían: “En un futuro cercano, estas cualidades (refiriéndose al algoritmo
genético) deberían permitir la extensión de este método a escenarios de mayor extensión y más complejos.”
(Goldberg & Kuo, 1985) en su investigación sobre Algoritmos Genéticos para la Optimización de Oleoductos.
También, el proyecto es significativo debido a que, según D. Scott Crane, autor de Scheduling of Multi-
Product Fungible Liquid Pipelines Using Genetic Algorithms (1999) “Este problema no se ha resuelto antes
utilizando métodos de computación evolucionaria o ningún otro método aparte de la fuerza bruta o
aplicando la previa experiencia” (Crane, Wainwright, & Schoenefeld, 1999), lo cual sigue siendo verdad trece
(13) años después, según el Ingeniero Petrolero Juan Carlos García, Líder de Optimización de la
Vicepresidencia de Transporte de Ecopetrol S.A.
22
5. MARCO TEÓRICO
5.1 Modelación según los métodos de la investigación de operaciones
Antes de comenzar a describir los diferentes métodos con los cuales se puede resolver el problema
planteado, conviene decir que es relativamente escasa la cantidad de literatura que se encuentra sobre la
programación de poliductos (Sánchez, 2007). Por otro lado, también cabe notar que las empresas raramente
publican las técnicas empleadas para este tipo de prácticas (Bodington & Baker, 1990).
5.1.1 Métodos de solución
5.1.1.1 MILP
El método MILP (Mixed Integer Linear Programmingfor Control), es un marco general que resuelve
problemas de una manera lineal utilizando variables continuas y discretas. Ésta, entre otras aplicaciones,
generalmente se aplica en problemas de asignación (Campos, 2009) y aparece como una respuesta a la falta
de información suministrada por los modelos de Programación Lineal en cuanto a costos (Ospina &
González, 2010).
Autores como Rejowski y Pinto (2001, 2003) utilizan MILP de tiempo discreto dividiendo la línea en los
productos que los contenía para generar programaciones mensuales. También se utiliza este método en el
trabajo de Magatão, Arruda y Neves (2004), donde se discretiza el tiempo para generar un buen resultado,
mas no el óptimo. Estos últimos trabajos se convirtieron en la base del trabajo de Diego C. Cafaro y Jaime
Cerdá (2003) y David Alejandro Ospina y Andrés Felipe González (2010), autores que utilizan MILP de tiempo
continuo para hacer la programación de refinados en líneas con características similares pero provenientes
de países distintos. Se profundizará sobre estos últimos trabajos en la sección 5.2.1
El método cuenta con la gran desventaja de simular escenarios de tamaño reducido, como aquellos donde
varios nodos se abastecen de una (1) sola línea. Esto difiere del escenario el cual se ha abordado en el
presente proyecto ya que se trabajará una red con varios nodos de interconexión. El nuevo escenario
supone un aumento en las combinaciones posibles para transportar los productos, aumentando de igual
manera los requerimientos computacionales haciendo el modelo matemático ineficiente ( Rennó Frota
Moraes Alves & Martins Ferreira Filho, Programação de Transferência de Derivados de Petróleo em Rede
Dutoviária Usando Algoritmo Genético, 2007).
5.1.1.2 Programación por restricciones
Es un método utilizado para resolver efectivamente problemas grandes que generalmente son
combinatorios y se enfocan en los procesos de planificación y programación. La idea principal de la
programación por restricciones (CP por sus siglas en inglés, “Constraint Programming”) es “resolver
problemas mediante la declaración de restricciones sobre el área del problema y consecuentemente
encontrar soluciones que satisfagan todas las restricciones, y en su caso optimicen unos criterios
determinados” (Barber & Salido, 2002). Este modelo se puede dividir en dos (2) ramas:
23
Satisfacción de restricciones: Trata con problemas de dominio finito
Resolución de restricciones: Trata con problemas de dominio infinito o de dominio más complejo
Sólo se explicará sobre la satisfacción de restricciones ya que ésta básicamente opera con problemas que
contienen: un número definido de variables, un dominio para cada variable y un conjunto de restricciones
que acotan el alcance de cada combinación de valores que pueden tener las variables (Barber & Salido,
2002). De esta manera, el objetivo del CP, al igual que el de la programación lineal, es encontrar un valor
para cada variable de decisión que satisfaga todas las restricciones del problema.
Una de las ventajas del C.P. consiste en hacer el procedimiento de scheduling una representación más
compacta debido a que utiliza conectores lógicos (OR, AND, IMPLICATION y EQUIVALENCE), e incluye una
serie de restricciones que permiten un acercamiento más acertado del modelo al escenario real.
5.1.1.3 Metaheurísticas
“Algunos modelos matemáticos pueden ser tan complicados que es imposible resolverlos con cualesquiera
de los algoritmos disponibles de optimización” (Taha, 2004). En estos casos, la mejor opción es no buscar
una solución óptima sino una solución sub-óptima, y para ello existen las metaheurísticas.
Una metaheurística es un procedimiento no matemático aplicado a un problema mediante un algoritmo1
que intenta llegar una solución factible mediante la búsqueda de soluciones en la región factible. Esta
solución no necesariamente es la mejor solución pero puede ser lo más cercano a éste. El procedimiento
para hallar la solución debe ser lo más eficiente posible para manejar un problema que sea complejo. Sin
embargo, aunque existen modelos generales, “no hay un algoritmo perfecto, que resuelva bien todos los
problemas” (Will, 2009) debido al teorema “no-free-lunch”. Este teoría dice que “por cada par de algoritmos
de búsqueda, hay tantos problemas en el que el primer algoritmo es mejor que el segundo como problemas
en el que el segundo algoritmo es mejor que el primero” (Baños, 2008). Lo anterior quiere decir que si no se
introduce ninguna información adicional del problema en el algoritmo, “es tan probable que trabaje peor
que la búsqueda aleatoria, como que trabaje mejor” (Baños, 2008). Sin embargo existen dos (2)
metaheurísticas que son utilizadas con mayor frecuencia (Hillier & Lieberman, 2006) debido a su versatilidad
para adaptarse a los escenarios que representan. Estas son: la Búsqueda Tabú y los Algoritmos Genéticos.
Los métodos surgen de la necesidad de resolver problemas de orden combinatorio donde un pequeño
aumento en el tamaño del escenario aumenta considerablemente los requerimientos computacionales. Por
ejemplo, un refinado más aumenta significativamente las posibles soluciones que se puedan encontrar. Por
tal razón, al haber un aumento de la región factible, también se aumentan los requerimientos
computacionales ( Rennó Frota Moraes Alves & Martins Ferreira Filho, 2007) y por eso puede haber
problemas tan complejos, que tome años en ser resueltos con las actuales capacidades computacionales. A
estos problemas se les ha denominado NP-Complete.
1 Conjunto ordenado y finito de operaciones que permite hallar la solución de un problema
24
5.1.1.4 Búsqueda Tabú
La búsqueda Tabú es una metaheurística que funciona como un procedimiento de búsqueda local
combinado con el procedimiento de mejora local. Su principal característica es el uso de una memoria
adaptativa para encontrar la mejor solución posible, mas no la óptima.
El procedimiento de la mejora local comienza con una solución inicial de prueba y, después de algunas
iteraciones, busca alrededor de la solución de prueba (vecindad) con el fin de encontrar una solución
mejorada. No obstante, la nueva solución no necesariamente tiene que ser mejorada y por tal motivo, cada
iteración puede, en ocasiones, alejarse del óptimo. Esto sucede porque estas peores soluciones dan la
posibilidad de realizar la nueva búsqueda en vecindades cuyo óptimo local sea mejor que el que se podría
haber encontrado en la anterior vecindad. De esta manera, se vuelve a realizar el procedimiento de mejora
local para encontrar ese nuevo óptimo local. En la figura 5.1 se muestra una representación de la calidad de
las soluciones de un problema cualquiera. Inicialmente, la Búsqueda Tabú pudo haber encontrado una
mejora local (iteración 4). Sin embargo, existe una mejor solución en otra vecindad (iteración 8) la cual se
encontrará si se considera primero una peor solución (iteración 6). Hay que aclarar que la Búsqueda Tabú
utiliza listas que contienen un conjunto de atributos de las soluciones recientemente encontradas. De esta
forma, las nuevas soluciones no pueden presentar dichos rasgos con el fin de evitar movimientos cíclicos en
el espacio solución.
Figura 5.1. Búsqueda tabú
Fuente: “Introducción a la Investigación de Operaciones” Octava Edición. Hillier Lieberman. Página 621
Este método fue utilizado en el trabajo de Álvaro García Sánchez llamado Programación del transporte de
hidrocarburos por oleoductos mediante la combinación de técnicas metaheurísticas y simulación (2007)
donde el autor buscaba nuevas formas de organizar los batchs de producto para generar una nueva
secuencia que se acercara al óptimo. En el apartado 5.2.6 se mencionará brevemente cómo funciona el
proyecto mencionado.
25
5.1.1.5 Algoritmos Genéticos
Los algoritmos genéticos son particularmente efectivos ya que parten de una solución base y evolucionan
mediante iteraciones hacia una mejor solución. Este procedimiento es una analogía a la teoría descrita por
Charles Darwin la cual dictaba una evolución en las especies que las hacía adaptarse mejor a su ambiente.
Así, selectivamente, los individuos más fuertes o con mejores características sobrevivían mientras que las
demás iban quedando atrás y finalmente desaparecían.
Similarmente funciona con los problemas de optimización en donde cada concepto biológico representa una
característica del problema:
a) Generación = Iteración
b) Población = Conjunto de soluciones factibles
c) Padres = Selección de soluciones factibles
d) Hijos = Nuevas soluciones
e) Genes = Características de los hijos proveniente de los padres
f) Mutaciones = Cambios aleatorios en el orden de los genes
g) Cromosomas = Representación de la solución
Además, en este contexto la evolución de la “especie” se mide según la función objetivo o lo que se ha
llamado como función de fitness (Goldberg & Kuo, 1985)
El método primero debe contar con una población factible, es decir una conjunto de soluciones iniciales
factibles -generalmente entre 50 y 100 (Goldberg & Kuo, 1985). Estas soluciones iniciales pueden realizarse
de manera aleatoria, con la ayuda de otros métodos de búsqueda sencillos o mediante la experiencia y el
conocimiento del programador (Goldberg & Kuo, 1985). De esta población, se seleccionarán padres para que
sean aparejados, y una vez aparejados, las características de los padres generan otras soluciones más para
continuar la iteración. Hay que tener en cuenta que durante el procedimiento se pueden presentar
mutaciones que cambien las características de una solución. A continuación se explicarán los diferentes
métodos de selección y los operadores genéticos que actúan en el algoritmo.
5.1.1.5.1 Métodos de selección:
Los métodos de selección seleccionan los individuos (soluciones) a los que se les aplicarán las operaciones
de reproducción y mutación. Este procedimiento se puede hacer mediante: Torneo, ruleta o elitismo.
La selección mediante el método de torneo depende de la naturaleza del problema. Para los problemas de
una sola función objetivo, existe el torneo binario. Éste es un procedimiento en el cual se escogen
aleatoriamente un par de individuos y aquel que tenga la mejor función de fitness es copiado en la siguiente
generación. El proceso se repite hasta que el tamaño de la siguiente generación sea igual a la primera. Por
otro lado, también existe un método de torneo para los problemas con funciones multiobjetivo llamado
Crowded Tournament (Exeter, 2011). El Crowded Tournament tiene el mismo principio del torneo binario ya
que se escogen dos individuos y el mejor se replica en la generación siguiente. Sin embargo, si llega a haber
un empate entre ambos, se analiza el denominado “crowding distance”. Este concepto representa la
distancia que tiene el individuo con respecto a otro en el espacio de búsqueda. Es decir, “el crowding
distance de una solución i es la medida del espacio de búsqueda alrededor de i el cual no puede ser ocupado
26
por ninguna otra solución j” (Deb, Multi-Objective Optimization using Evolutionary Algorithms, 2001). En el
método se busca una solución que tenga una mayor distancia con respecto a la otra y por lo tanto, si dos
individuos tienen la misma calidad de solución pero el primero tiene un mayor crowding distance que el
segundo, se escogerá el primer individuo para ser replicado. Esto se da porque es mejor una solución en un
espacio de búsqueda menos densa (Deb, Multi-Objective Optimization using Evolutionary Algorithms, 2001).
El método de la ruleta consiste en “relacionar los todos los individuos de la población (S) con cada segmento
contiguo de la recta real [0,S) tal que cada segmento individual sea igual en su tamaño” (Valencia, 97).
Después, se genera un número aleatorio entre 0 y S y se selecciona el individuo que tiene asignado tal
número. El proceso se continúa hasta que se halla alcanzado el número deseado de individuos en la
población. Este método también tiene una variante llamada “Ruleta por ranqueo”. Esta variante consiste en
organizar cada segmento no en tamaños iguales, sino en tamaños correspondientes al fitness del individuo.
A continuación se ilustra un ejemplo del concepto.
Figura 5.2. Método de la Ruleta por Ranqueo
Fuente: Realización del autor
Para el caso de la figura 5.2, existen doce (12) individuos organizados según el fitness, el cual a su vez
también asignará una probabilidad proporcional. La aplicación de este tipo de selección dará prioridad a
mejores individuos (en este caso, el individuo número uno), y los peores individuos (números once o doce
por ejemplo) tendrán menos probabilidad de transferirse a la siguiente generación.
El elitismo, un método comúnmente utilizado (de Arruda, Neves-Jr, & Yamamoto, 2007), funciona
seleccionando los mejores individuos de una generación. Se puede guardar la mejor solución encontrada en
la evolución con el fin de designarlo como un individuo óptimo encontrado o para que sea transferido a la
próxima generación. Es decir, dada una población cualquiera actual P(t), en caso de que el mejor individuo
de la población anterior P(t-1) sea más apto que el mejor individuo de la población actual P(t), el primero
substituye el peor individuo de la población actual P(t). Esto se hace con el fin de realizar un proceso
evolutivo de mejoramiento de los individuos.
5.1.1.5.2 Operadores Genéticos
Existen dos operadores genéticos: la reproducción y la mutación. La función de reproducción tiene como
objetivo introducir nuevas soluciones con base en las soluciones anteriores. Funciona con una tasa de
reproducción, el cual es un parámetro que ya ha sido establecido: cada individuo seleccionado tiene una
27
probabilidad (tasa de reproducción) de participar en la reproducción la cual determina si el individuo
participará de la operación o no. Si es seleccionado, se aplica un método de reproducción y el resultado será
una nueva solución hijo que remplazará al padre en la siguiente generación. Sin embargo, el remplazo del
hijo por el padre no sucede antes de la mutación.
Uno de los métodos de reproducción del algoritmo genético se llama “crossover uniforme”. Consiste en
crear una máscara de ceros y unos de forma aleatoria, y cruzar los números entre los padres seleccionados
cuya máscara tenga el valor de uno. A continuación se ilustra un ejemplo de un par de cromosomas, cada
una con 15 genes los cuales se cruzan mediante este método
Figura 5.3. Crossover uniforme
Fuente: Realización del Autor
Por otro lado, así como existe una probabilidad de reproducción, también existe una probabilidad de
mutación (tasa de mutación). Si a un hijo resultante se le aplica un método de mutación, el resultado
remplaza al padre en la siguiente generación. Las mutaciones fueron diseñadas para incluir nuevo material
genético durante la optimización. Sin este método, el algoritmo podría converger prematuramente hacia un
óptimo local sin haber buscado una mejor solución global. Existen diversos métodos de mutación que
pueden ir desde operaciones simples hasta métodos más avanzados, como se muestra a continuación:
El método más simple, y de ahí su nombre “mutación simple”, consiste en escoger aleatoriamente un gen y
cambiar aleatoriamente su valor por otro que esté dentro del rango del mismo. Podría pensarse que se trata
del método más común a utilizar. Sin embargo, el método que se encontró ser el más común para la
solución del transporte de refinados se llama “mutación por intercambio”. Consiste en escoger dos genes
aleatoriamente e intercambiar sus posiciones, como se ilustra en la figura 5.4
Figura 5.4. Mutación por intercambio
Fuente: Yaohua He, C.-W. H. (03 de 03 de 2007). Genetic algorithm based on heuristic rules for high-
constrained large-size. Hong Kong, PR China
Otro método consiste en no cambiar un solo gen, sino un grupo de genes. A este método se le llama
“mutación por reversión” y se ilustra en la figura 5.5
PADRE 1 1 0 3 1 1 3 0 1 2 1 1 1 2 2 1
PADRE 2 2 2 1 3 0 1 2 2 1 0 2 1 3 3 0
MÁSCARA 1 1 0 1 0 1 0 0 0 1 0 1 0 0 1
HIJO 1 2 2 3 3 1 1 0 1 2 0 1 1 2 2 0
HIJO 2 1 0 1 1 0 3 2 2 1 1 2 1 3 3 1
28
Figura 5.5. Mutación por intercambio
Fuente: Yaohua He, C.-W. H. (03 de 03 de 2007). Genetic algorithm based on heuristic rules for high-
constrained large-size. Hong Kong, PR China
Existen métodos más elaborados como la “mutación por vecindad”. Este tiene como objetivo formar batchs
mayores minimizando de esta manera el número de interfaces de producto en la programación de envío de
refinados. Consiste en seleccionar un gen aleatoriamente y buscar un gen igual a cada lado del mismo. Las
posiciones de los genes de ambos lados se cambian por las posiciones de los genes contiguos al gen
seleccionado formando así un batch de producto más grande. La siguiente figura ilustra un ejemplo de la
mutación por vecindad
Figura 5.6. Mutación por vecindad
Fuente: Realización del Autor
5.1.1.5.3 Parámetros de control
A continuación se enuncian los parámetros de control de un algoritmo genético
A) Tamaño de la población: Grandes poblaciones ayudan al algoritmo a tener mayor diversidad en las
soluciones. Sin embargo requieren mayor esfuerzo computacional. No obstante, pequeñas
poblaciones restringen el espacio de búsqueda y pueden encaminar al algoritmo a converger
prematuramente. Por tal motivo, los autores sugieren una población de tamaño moderado. Es decir
entre cincuenta (50) y cien (100) individuos (Goldberg & Kuo, 1985).
B) Tasa de reproducción: Representa la tasa a la que se cruzan los cromosomas para incluir nuevas
soluciones a la población. Cuanto mayor sea la tasa de reproducción, más rápidamente se
generarán nuevas soluciones. Sin embargo, si es demasiado alta, buena parte de la población será
sustituida y podría incurrirse en pérdidas de estructuras de buena adaptación ( Rennó Frota Moraes
Alves & Martins Ferreira Filho, Programação de Transferência de Derivados de Petróleo em Rede
Dutoviária Usando Algoritmo Genético, 2007). No obstante, se la tasa es muy baja, el algoritmo
puede tornarse muy lento o no llegar a la mejor solución. Por tal motivo, los autores representan
una tasa de reproducción alta, es decir 0,7 (Goldberg & Kuo, 1985).
C) Tasa de mutación: Una tasa muy alta de mutación podría tornar el algoritmo en una búsqueda
esencialmente aleatoria, por lo que los autores recomiendan una tasa de mutación baja. Es decir
0,1 (Crane, Wainwright, & Schoenefeld, 1999), 0,01 (Goldberg & Kuo, 1985), o hasta 0,08 (de la
Cruz, Herran-Glonzález, Risco-Martin, & Andrés-Toro, 2004).
D) Criterios de parada: Como los algoritmos genéticos no son métodos exactos de optimización, debe
existir un criterio que haga detener las iteraciones. Lo ideal sería detener el algoritmo una vez se
encuentre el valor óptimo, pero esto no puede suceder. Normalmente, se usa un número máximo
de generaciones o un tiempo mínimo de procesamiento ( Rennó Frota Moraes Alves & Martins
29
Ferreira Filho, 2007), aunque también existen otras opciones como la detención una vez no se
encuentren mejorías después de un número determinado de iteraciones consecutivas. No
obstante, el criterio de parada depende de la complejidad del problema y debe ser determinada
experimentalmente ( Rennó Frota Moraes Alves & Martins Ferreira Filho, 2007).
Todas estas características descritas anteriormente, han posicionado a los algoritmos genéticos como un
método que tiene una orientación más global que muchos otros métodos encontrados en las prácticas de
optimización industrial (Goldberg & Kuo, 1985). Además, los algoritmos genéticos han probado ser una
buena opción para resolver problemas de scheduling en la industria (de Arruda, Neves-Jr, & Yamamoto,
2007) y por tal motivo se ha utilizado en diversos problemas de transporte de refinados. Entre estos
problemas se encuentran algoritmos enfocados en disminuir la cantidad de interfaces (de la Cruz, Herran-
Glonzález, Risco-Martin, & Andrés-Toro, 2004), solucionar problemas de inventarios ( Rennó Frota Moraes
Alves & Martins Ferreira Filho, 2007) y para problemas de tiempos de entrega (de Arruda, Neves-Jr, &
Yamamoto, 2007), entre otros. Su adaptación a estos problemas consiste básicamente en reordenar los
batchs de producto o actividades según las restricciones que cada incluye en su trabajo. De esta forma las
soluciones se mejoran hasta satisfacer el criterio de parada. No obstante, las restricciones empleadas no son
ecuaciones como las que se encuentran en los métodos exactos. Consisten en penalizaciones incluidas en la
función de evaluación del individuo para hacerlo menos apto de ser reproducido que otras soluciones con
penalizaciones más bajas o con la ausencia de las mismas. De esta forma, se obliga al algoritmo a
evolucionar hacia resultados más aptos sin tratar de representar la realidad matemáticamente.
5.1.1.5.4 NSGA-II
El NSGA-II (Elitist Non-Dominated Sorting Genetic Algorithm) es un tipo de Algoritmo Genético desarrollado
por el profesor Kalyanmoy Deb y sus colegas del Laboratorio de Algoritmos Genéticos del Instituto
Tecnológico Kanpur, India, en el año 2000 (Kampur Genetic Algorithms Laboratory, 2008). Se usa para
evaluar problemas desde un enfoque multiobjetivo y funciona de la siguiente manera:
1. Empieza creando una nueva población a partir de la población de padres siendo la primera del
mismo tamaño (X) que de la segunda.
2. Las dos poblaciones se unen para crear una nueva población (2X) conformada por los hijos y los
padres
3. Esta nueva población se clasifica mediante un ordenamiento no dominado en lo que se ha
denominado “Frente Pareto”. Es decir, la totalidad de los individuos se ordena de tal manera que
una solución antecede a otra solución debido a que la segunda no puede satisfacer mejor un
objetivo sin empeorar otro. Esto sucede porque los individuos están siendo evaluados por una
función multiobjetivo. Se profundizará en el tema en el capítulo 7.
4. La nueva generación surge de los X primeros individuos del nuevo ordenamiento
El NSGA-II es un método elitista debido a que se escogen los mejores individuos para ser transmitidos a la
siguiente generación, aunque es un método que requiere mayor esfuerzo debido a su complejidad. Sin
embargo, esto “se justifica por el hecho de permitir una verificación global de dominancia entre la población
de padres y descendientes” (Correa Flórez, Bolaños, & Molina Cabrera, 2008).
El uso de un algoritmo multiobjetivo se hace necesario debido a que “muchos objetivos deben ser
satisfechos (en los problemas de scheduling de refinados)…” (de Souza, 2010). Por esto, su funcionamiento
30
supone una gran ventaja para estos escenarios gracias a su procedimiento de solución y tratamiento
simultáneo de todos los objetivos.
5.1.1.5.5 Modelación computacional para Algortimos Genéticos
Existen varias maneras de modelar un programa de transferencia de productos mediante los algoritmos
genéticos ( Rennó Frota Moraes Alves & Martins Ferreira Filho, 2007). Sin embargo, a continuación se
presentan las generalidades en cuanto al funcionamiento de los programas que usan este método de
solución.
Figura 5.7. Pseudocódigo de programa de Algoritmo Genético
Fuente: Rennó Frota Moraes Alves, V., & Martins Ferreira Filho, V. J. (24 de Octubre de 2007).
Este tipo de generalidades no solo existe para el procedimiento de solución de los modelos computacionales
mediante A.G. También existen para la representación de la solución, aunque su significado dependa de la
forma en que se abordan los problemas.
Existen dos versiones para representar las soluciones del programa computacional de algoritmos genéticos (
Rennó Frota Moraes Alves & Martins Ferreira Filho, 2007). Estas son: la representación para líneas
unidireccionales y la representación para poliductos bidireccionales. Sin embargo, para ambas se tienen tres
generalidades: es necesario traducir las características del sistema en un conjunto de números, la
representación de un gen significará un periodo del horizonte de tiempo, y la codificación natural para una
programación de transporte se realiza a través de un vector de número enteros, donde cada elemento
representa una característica del sistema.
Para los poliductos unidireccionales, el vector solución sólo representará la característica que se ha definido
representar en el horizonte de tiempo que se ha definido. Por ejemplo, si se están programando actividades
de un poliducto (Crane, Wainwright, & Schoenefeld, 1999) para dos (2) días representados en seis (6) horas,
la caracterización del sistema de líneas y las actividades será como se ilustra en la figura 5.8
31
Figura 5.8. Caracterización del sistema
Fuente. Realización de los autores
Y por lo tanto, la solución representará un vector donde cada elemento signifique la realización de una
actividad durante seis (6) horas y para una línea específica, como se ilustra en la figura 5.9.
Figura 5.9. Representación solución poliducto unidireccional
Fuente: Realización de los autores
Por otro lado, la representación de líneas bidireccionales se realiza de tal forma que sea posible escoger el
sentido de operación de los ductos. Es decir, este tipo de representación es una extensión de la realizada
para una línea unidireccional ya que solo se incluye información sobre la dirección en el vector. Se debe
tener en cuenta que también es necesario caracterizar el sentido de los ductos; por ejemplo, uno (1) para el
sentido normal y cero (0) para el sentido inverso. Así, una posible solución se representa como se ilustra en
la figura 5.10
Figura 5.10. Representación solución poliducto bidireccional
Fuente: Realización del Autor
32
5.2 Estado del arte
En la presente sección se presentan algunos trabajos ya realizados sobre cómo algunos autores han
abordado el tema del scheduling en la industria petrolera. Existen enfoques de programación lineal mixta,
métodos metaheurísticos y simulación y programación por restricciones.
5.2.1 Scheduling de un poliducto usando formulación MILP no discreta
El trabajo de Cafaro y Cerdá se basa en modelar un escenario que sólo cuenta con un poliducto de una
fuente (refinería) y múltiples destinos (centros de distribución), tal como se ilustra en la figura 5.11.
Figura 5.11. Línea de Cafaro y Cerdá
Fuente: “Optimalscheduling of multiproduct pipeline systemsusing a non-discrete MILP formulation” de
Diego C. Cafaro y Jaime Cerdá
Esta propuesta tiene como objetivo minimizar el bombeo, inventario y costos satisfaciendo todas las
restricciones y resuelve discrepancias entre las medidas reales de la línea y los valores de capacidad que
generaban los modelos discretos anteriormente mencionados. Además, reduce los requerimientos
computacionales y modela escenarios más amplios de tiempo.
Por otro lado, la solución del modelo permite determinar óptimamente tanto el set de bombeos de los
batchs como sus volúmenes como la secuencia de ellos. Sin embargo, esta formulación sólo sirve para líneas
directas. Es decir, poliductos donde no existan bifurcaciones que direccionen el producto a otros destinos, al
contrario de las redes que usa actualmente Colombia como se ilustra en la siguiente figura.
Figura 5.12: Extracto del mapa de poliductos y oleoductos de Colombia
Fuente: Documentos Corporativos de ECOPETROL S.A.
33
Esto se debe a que el modelo no considera nodos que deban abastecer más centros de distribución y es por
lo mismo que el modelo planteado no funciona con toda una red como se plantea en el presente trabajo.
Sin embargo de la teoría planteada existen temas de interés que ayudan a desarrollar el propósito del
trabajo de ECOPETROL S.A. ya que el modelo utilizado para resolver este problema considera más
profundamente diversos costos de nuestra consideración. Tal es el caso de los costos de transporte, de
reprocesamiento de productos, de material desperdiciado y en especial, el costo del transporte de refinados
en horas pico.
5.2.2 Modelo Computacional de Optimización de la Programación (Scheduling)
del sistema de poliducto Galán-Puerto Salgar basado en técnicas de
programación matemática.
Este trabajo de grado de la Pontificia Universidad Javeriana se enfocó en la optimización de la programación
de dos (2) poliductos (Galán – Puerto Salgar de 12’’ y 16’’) “respetando las restricciones operacionales y
técnicas del sistema, y satisfaciendo los compromisos de demanda adquiridos” (Ospina & González, 2010). El
modelo de Ospina y Gonzales (2010) se ayuda de la misma base matemática propuesta por Cafaro y Cerdá
(2004) para su realización ya que ambos trabajos constan de la programación de una (1) sola línea.
No obstante, como se dijo anteriormente, manejar la programación de un (1) sólo poliducto no representa
mayores beneficios porque ésta no puede expandir su utilización a la red completa que forma. Esto se debe
a que la formulación matemática que se realizó, como en el caso de Cafaro y Cerdá (2004), no fue creada
para representar escenarios que consideraran desviaciones de producto con nodos intermedios que
implican más inventario para redistribuir los refinados a distintos centros en distintas ubicaciones.
5.2.3 Programación híbrida Matemática y Metaheurística
El procedimiento empleado para solucionar los problemas de distribución a través de las redes, se aborda
desde dos puntos de vista; el primero mediante un método metaheurístico y el segundo mediante modelo
matemático basado en programación lineal; ambos a partir de un algoritmo multiobjetivo. El valor agregado,
que presenta este método de solución radica en tener presente la secuencia necesaria que se debe respetar
al momento de realizar el transporte. La movilización de los refinados se debe hacer de acuerdo al tipo de
producto con el fin de evitar la contaminación de los mismos. Este tipo de restricciones aumenta la
complejidad el algoritmo. Sin embargo, de no tenerlas presente, las soluciones óptimas podrían no ser
viables en la aplicación real del modelo.
Las restricciones de movilización de refinados son aspectos muy importantes para tener en cuenta en el
presente proyecto ya que, como se ha dicho, la programación de poliductos incluye una secuenciación de los
productos que debe seguir unas determinadas reglas. Lo anterior, debido a que la base de la programación
híbrida es de gran interés para resolver el problema que se ha planteado en el trabajo de grado.
34
Modelo de la Red:
Los productos que se transportan a través del poliducto se considera que se despachan en paquetes discretos, uno por cada tipo de refinado existente. Un paquete es considerado como la mínima cantidad de volumen de fluido que puede ser enviado por unidad de tiempo. Así mismo, se estipula que en cada nodo existe el número de tanques necesarios para almacenar todas las referencias existentes. En relación al transporte, se establecen nodos de origen, N1 y N2; nodos intermedios, N3 y N4; finalmente los nodos destino N5, N6, N7. La red transporta cuatro (4) productos.
Figura 5.13. Esquema de Red
Fuente: Hybrid heuristic and mathematical programming in oil
pipelines networks, Pág 10.
Restricciones:
Para el desarrollo del presente modelo híbrido se tienen en cuenta las siguientes restricciones:
Demanda Mínima a Satisfacer
Capacidad de los Tanques
En cada destinación se deben recibir el número de paquetes que fueron demandadas por la misma
Los pedidos llegan a tiempo
Función Multiobjetivo:
El interés central del modelo radica en solucionar simultáneamente dos objetivos:
Disminuir la fragmentación de los productos (interfaces)
Minimizar los tiempos de satisfacción de la demanda
El objetivo final es lograr una solución conjunta entre ambos métodos, lo cual es logrado por el autor ya que
registra mejoras en la convergencia de la solución en comparación de las soluciones de cada método por
separado en un menor tiempo.
5.2.4 Algoritmo Evolutivo para la Distribución de Productos de Petróleo por
Redes de Poliductos
El presente trabajo adopta el modelo de De la Cruz (2004) (referencia anterior) cuya red se muestra en la
figura 5.13. La autora, Thatiana Cunha Navarro de Souza, aborda el problema mediante un enfoque de
tiempo discreto ya que realiza una caracterización del sistema medida en cantidades de batchs. Esto
significa que la demanda y las capacidades se representan en cantidades de batchs. También, la longitud de
35
los poliductos se estandariza con el fin de que cada batch se demore lo mismo en ser transportado a través
de cualquier conexión de nodos. Esto se realiza con el fin de simplificar la red y sus características.
El objetivo de la presente referencia consiste también en definir el producto que se enviará desde la fuente
o nodo intermedio durante el horizonte de tiempo. Es decir, se realizará el programa de envío a través de
toda la red. Este programa de envío debe cumplir con restricciones de demanda, mínimo de entrega a los
nodos con el fin de no parar la línea, restricciones de almacenamiento y restricciones de dirección de flujo
(para la conexión bidireccional). Para alcanzar el objetivo del programa, la autora, al igual que De la Cruz
(2004), incluye una función multiobjetivo la cual se enfoca en minimizar la fragmentación de los productos
(interfaces) y los tiempos de satisfacción de la demanda. La diferencia con De la Cruz (2004), es que De
Souza resuelve el problema mediante algoritmos genéticos NSGA-II.
De Souza aplica NSGA-II debido a que es uno de los algoritmos evolutivos más eficientes (de Souza, 2010) y
está basado en un ordenamiento elitista. Los beneficios de haber utilizado este método se observan al
comparar los tiempos y los valores de la solución encontrada por De la Cruz y De Souza. Estos beneficios se
traducen en una reducción de aproximadamente 98% en el tiempo de solución y un 40% en el valor de la
función multiobjetivo. La importancia del aporte realizado por la autora radica en que “siendo un mercado
dinámico en que la toma de decisiones debe ser precisa y rápida, buenas soluciones deben ser encontradas
en un corto periodo de tiempo” (de Souza, 2010).
5.2.5 Modelo de optimización como apoyo en la gestión logística de
programación de carrotanques en ECOPETROL S.A.
Una modalidad alterna de transporte de refinados se realiza mediante carrotanques; el proceso de
programación se traduce en un problema de asignación de cantidades, debiendo respetar las restricciones
de capacidad, secuencia, tiempos de transporte, disponibilidad de vehículos, entre otros. En 2010, se
desarrolla un trabajo de investigación académica, relacionado con la optimización de los procesos de
programación de carrotanques de ECOPETROL S.A.
El objetivo principal de la investigación, consistió en diseñar un modelo de optimización que permitiera
realizar una programación más eficiente en términos de tiempo y recursos. Se busca minimizar los costos
por uso de recursos (carrotanques), ya que es un servicio contratado por ECOPETROL S.A., y se debe
garantizar un aprovechamiento óptimo del mismo.
Los métodos de solución empleados fueron una combinación entre métodos de solución exacta y aquellos
de solución no exacta, con un soporte adicional en software de simulación. En el grupo de los métodos
exactos la problemática es abordada a partir de funciones multiobjetivo; los no exactos son por su parte,
aproximaciones a las soluciones óptimas usando heurísticas y metaheurísticas.
Una vez identificada la solución óptima del problema, Saira Yuliana Sánchez, autor de la investigación,
procede a realizar un análisis de sensibilidad del modelo. Es decir, busca determinar hasta qué punto es
posible realizar variaciones sin necesidad de calcular nuevamente una solución óptima. Este procedimiento
es necesario realizarlo mediante software de programación, donde sea posible desarrollar análisis de
sensibilidad de modelos multiobjetivos. Este tipo de estudios permiten establecer la holgura del modelo y en
qué medida las condiciones en la realidad pueden variar conservando la calidad de la solución propuesta.
36
Los aportes de la investigación del transporte por medio de carrotanques, contribuye en dar una noción de
los métodos de solución que se deben tener presentes para llegar a una solución óptima. No obstante, en el
caso particular de la programación de poliductos, estas técnicas no tienen mayor aplicación, pues el sistema
que se pretende modelar está conformado en red y cada nodo tiene capacidades unitarias diferentes, lo cual
cambia por completo el sentido del modelamiento matemático.
5.2.6 Programación del transporte de hidrocarburos por oleoductos mediante
la combinación de técnicas metaheurísticas y simulación
El presente trabajo realizado por Álvaro García Sánchez en el 2007 en la ciudad de Madrid, se realizó para
los “oleoductos multiproducto” de España con fines investigativos. Ésta pretende ayudar a resolver el
problema de programación de oleoductos para satisfacer lo mejor posible el problema de falta de
inventarios.
El proyecto utiliza una técnica metaheurística llamada búsqueda Tabú la cual, a partir de una programación
inicial, el autor busca nuevas formas de organizar los batchs de producto para generar una nueva secuencia
que se acerque a la óptima. Se realizó este método debido a que el autor requería un procedimiento que
combinara los batchs de producto en el ciclo de bombeo de manera que se encontrara un ordenamiento
suficientemente bueno para resolver el problema de inventarios. Este requerimiento supone un problema
de orden combinatorio, el cual como se ha dicho anteriormente, en la actualidad no es posible realizarse
mediante métodos exactos (la combinación de posibilidades es tan grande que supera las características
computacionales para ser resuelto con la ayuda de software). Por tal motivo García Sánchez recurrió a
técnicas metaheurísticas como la presente.
El procedimiento de búsqueda mediante la Búsqueda Tabú de la presente referencia combina
indiscriminadamente un producto que puede ir al final del ciclo de bombeo a otro lugar en la secuencia. El
procedimiento se repite haciendo que cada iteración cambie el orden como se organizan los productos en el
oleoducto teniendo siempre nuevas posibilidades de satisfacción de inventarios.
Al final, para determinar si la secuencia es aceptable, se realiza una simulación que representa el nivel de
satisfacción de inventarios hasta que se encuentre una combinación que supla las demandas
satisfactoriamente. La figura 5.14 muestra el procedimiento realizado por el autor de forma gráfica
37
Figura 5.14. Procedimiento de técnicas metaheurísticas y simulación para la programación de
oleoductos
Tomado de “Programación del transporte de hidrocarburos por oleoductos mediante la combinación de
técnicas metaheurísticas y simulación” de Álvaro García Sánchez
Este procedimiento funciona bastante bien con el transporte de varios productos a través de un (1) ducto
pero sólo si no existen restricciones de contigüidad. Es decir, restricciones que obliguen al producto a
transportarse próximo otro, como es el caso de los poliductos de ECOPETROL S.A.
Como se explicó anteriormente, los ciclos de bombeo deben tener un orden o una restricción de proximidad
para que el producto no se contamine y cumpla con las políticas de calidad que exige la ley. Es por tal razón
que el método de la búsqueda tabú con su ordenamiento sin restricciones no puede ser aplicado en el
presente proyecto. Se deberían crear restricciones de contigüidad para poder utilizar esta metaheurística.
5.2.7 Modelo Matemático de Planeación del Transporte para Múltiples
Productos a través de un Sistema de Poliductos
El objetivo del artículo consiste en realizar una aproximación al problema mediante el uso de programación
discreta para poliductos múltiples, a través de la división del horizonte de tiempo, en lapsos de duración
equivalentes.
La figura 5.15, muestra una secuencia de bombeo donde se define una unidad estándar de volumen para
todos los productos refinados que serán transportados a través del poliducto. Como se mencionó
anteriormente los veinte intervalos de tiempo son de igual magnitud
38
Figura 5.15. Secuencia de Bombeo para Productos
Fuente: “A mathematical model for planning transportation of multiple petroleum products in a multi-
pipeline system”. A. Herrán, J.M. de la Cruz, B. de Andrés
Se busca determinar aquella secuencia óptima, que minimice los costos de la operación y a su vez cumpla
con las restricciones del sistema real, por lo tanto mediante la función objetivo se buscará reducir:
Los costos de bombeo para cada conexión y para cada producto.
Los costos asociados a detenciones y reactivaciones del flujo de productos
Los costos de las interfaces necesarias entre los batchs
Los costos de almacenamiento en los nodos del sistema.
Las restricciones se dividen en cinco subgrupos de acuerdo a su naturaleza, de la siguiente manera:
1. Restricciones relacionadas con el bombeo de batchs, específicamente:
Evitan la contaminación entre productos, por contacto directo. Ej. Gasolina Motor y Diesel.
Evitan determinadas secuencias que no se consideran posibles, en un escenario real.
Evitan el uso bidireccional del poliducto, simultáneamente.
2. Restricciones relacionadas con la ubicación de cada unidad de bombeo, en el poliducto para el proceso de transporte, específicamente:
Garantizan que los productos sean incompresibles, lo cual genera el movimiento al interior de los poliductos.
Garantizan que si en un instante de tiempo, no se ingresa ningún producto, el poliducto permanecerá inmóvil.
3. Restricciones para garantizar los niveles de inventario, específicamente:
Garantizan existencias mínimas en todos los nodos (Origen, Intermedios y Destino).
Garantizan existencias máximas en todos los nodos (Origen, Intermedios y Destino).
39
Garantizan una evolución lógica del inventario, en todos los nodos.
4. Liberalización de Términos, específicamente:
Aquellos valores absolutos presentes en la función objetivo, que representan los costos asociados a las detenciones y reactivaciones del poliducto.
5. Restricciones para garantizar la satisfacción de la demanda, específicamente
Garantizando las existencias en los nodos destino.
Estableciendo un flujo máximo permisible para cada poliducto.
Una vez definidos los parámetros y variables propias del escenario real, se utiliza CPLEX como solver, para
encontrar la solución óptima del sistema de programación. El valor agregado que presenta la metodología
radica en que el autor propone un método simplificado, aplicable a sistemas con alta demanda donde los
costos de bombeo son muy bajos en comparación a los asociados a detenciones y reactivaciones del
sistema. Esta metodología disminuye la complejidad del modelo, pues reduce sustancialmente el número de
variables y restricciones necesarias para modelar el sistema.
5.2.8 Aproximación Eficiente para el Scheduling Operacional de una Red Real de
Poliductos El artículo presenta un modelo de programación de poliductos en el corto plazo, argumenta que este tipo de transporte es una excelente alternativa, dados sus bajos costos de operación en comparación con otras alternativas utilizadas para movilizar los productos refinados. Establece que los detalles de programación necesarios para desarrollar el proceso de optimización son:
Volumen de los batches
Restricciones de Inventario
Restricciones de Tiempo Como valor agregado contempla la necesidad de involucrar como variable de decisión, el horario para realizar los procesos de bombeo, dadas las horas pico de demanda de energía eléctrica, que establece se encuentran entre las 5:30 p.m. y las 8:30 p.m. La metodología empleada se traduce en tres elementos principales:
1. Asignación de Recursos 2. Secuencia de Actividades 3. Determinar el tiempo necesario en realizar los elementos 1 y 2.
Para determinar la secuencia más adecuada se realiza un procedimiento heurístico, donde se determina el
tamaño de los batchs y las ventanas de tiempo que se establecerán como patrón para los procesos de
transporte, de esta manera se busca solución óptima ó cercana a la óptima.
Este procedimiento es adecuado para aquellos sistemas en los cuales los poliductos tienen una operación
constante y donde además se puede garantizar su uso continuo. No obstante, esta restricción no es
aplicable para el presente trabajo de investigación, pues para el caso específico de ECOPETROL S.A., los
poliductos no transportan productos refinados durante todo el tiempo
40
5.2.9 Secuenciamiento de Batchs en una Red Real de Poliductos Usando
Programación por Restricciones
El trabajo realizado por los autores Carlos Felizari, Lúcia V. R. de Arruda, Ricardo Lüders y Sérgio L. Stebel,
replanteaba un scheduling realizado por Neves-Jr de una red de poliductos que contaba con:
- Tres (3) refinerías,
- Un (1) puerto,
- Cinco (5) centros de distribución, y
- Quince (15) líneas las cuales algunas eran bidireccionales
Figura 5.16. Red de poliductos
Tomado de “Sequencing Batches in a Real-World Pipeline Network UsingConstraintProgramming” de
Carlos Felizari, Lúcia V. R. de Arruda, Ricardo Lüders y Sérgio L. Stebel
Neves-Jr originalmente dividió el problema en tres (3) sub-problemas que comprendían
A. Asignación de recursos
B. Secuenciación de batchs
C. Asignación de tiempos
Los primeros dos sub-problemas son resueltos mediante una método metaheurístico basado en un
profundo conocimiento del funcionamiento y operación de las líneas, mientras que el tercero es resuelto
usando una programación MILP de tiempo continuo.
Este último sub-problema tiene en cuenta la información de producción, demanda e inventarios para
calcular los tiempos de envío y recepción de cada batch de producto en cada área. De esta forma, al
satisfacer los tiempos, se deberían satisfacer los niveles operativos de los inventarios.
Sin embargo, cuando se calcula la asignación de recursos, los tiempos de entrega del producto no siempre
se cumplen debido a que la meraheurística no considera las demoras en la red de poliductos. Por tal motivo,
se realiza un acercamiento al escenario mediante la programación por restricciones.
Como se menciona en el apartado 5.1.1.2, este método consiste en hacer el scheduling una representación
más compacta ya que utiliza conectores lógicos (OR, AND, IMPLICATION y EQUIVALENCE), los cuales fueron
utilizados para organizar los batchs, y una serie de restricciones que permiten un acercamiento más
acertado del modelo al escenario real. En el esquema de los autores de la presente sección se plantea una
función objetivo que minimiza las ventanas de tiempo en la entrega del producto tanto en la fuente (punto
41
donde se bombea el producto) como en el punto de destino. Sin embargo, su utilización está ligada a la
forma de operación del transporte de refinados, y es por esta razón que en Colombia no aplicaría el modelo
como se presenta en el trabajo liderado por Carlos Felizari.
No obstante, un componente clave del trabajo es la realización y definición de las restricciones que se deben
considerar a la hora de realizar una programación de refinados. Éstas son de vital importancia para el
desarrollo del modelo que se pretende realizar para ECOPETROL S.A. ya que considera las restricciones
inherentes al funcionamiento de las mismas (volumen transportado, recepción y emisión de producto,
secuencia de producto, etc.). Es por esta razón que se deben tener en cuenta las mismas consideraciones.
5.2.10 Modelo Operacional de Scheduling para Distribuir Productos a Través de
una Red de Poliductos
Este trabajo realizado por Suelen N. Boschetto, Leandro Magatao, William M. Brondani, Flávio Neves-Jr,
Lucia V. R. Arruda, Ana P. F. D. Barbosa-Póvoa, y Susana Relvas, es otro acercamiento al tema de la
programación de diversos productos a través de oleoductos o poliductos. En el trabajo, los autores intentan
resolver la mejor forma para el transporte en la red de tubería del Brasil. Su método utiliza un modelo de
programación lineal entera (que incluye variables binarias) MILP y métodos metaheurísticos y modela un
escenario donde se transportan más de catorce (14) productos desde la fuente hasta el sumidero.
La red se compone de 14 nodos distribuidos de la siguiente manera:
Cuatro (4) refinerías
Dos (2) puertos
Dos (2) clientes finales, y
Seis (6) depósitos que reciben o mandan productos
Además, la red está constituida por 30 líneas bidireccionales la cual cada una tiene un volumen particular.
En la figura 5.17 se muestra gráficamente la composición de la red
Figura 5.17. Red de transporte de hidrocarburos del Brasil
Fuente:Suelen N. Boschetto, Leandro Magatao, William M. Brondani, Flávio Neves-Jr, Lucia V. R. Arruda,
Ana P. F. D. Barbosa-Póvoa, y Susana Relvas
42
El modelo trabajado por los autores se basa con base en predicciones de producción y demanda para un
periodo de un (1) mes. Sin embargo también contiene información de entrada como la configuración de
rutas o áreas de transporte, información de inventario, costos de energía eléctrica, y otros datos
operacionales. Este modelo se componía de cuatro (4) bloques:
1. Asignación: Básicamente es el primer paso del proceso de solución del problema. Recibe la
información anteriormente mencionada para determinar, mediante un procedimiento
metaheurístico, el volumen de los batches, la ruta para cada uno, y la secuencia inicial de
bombeo.
2. Secuenciación: Este paso reorganiza la secuencia inicial de bombeo mediante algoritmos
genéticos de tal forma que se optimice la secuencia de batches.
3. Simulación: Ésta realiza un examen evaluando la información anterior y además calcula los
límites de volumen y caudal. También permite que el próximo bloque identifique las
condiciones en las cuales un batch puede permanecer parado.
4. Sincronización: Los tres (3) pasos anteriores cumplen la función de identificar y establecer
parámetros para este último bloque. En este bloque se determinan los tiempos de envío y
recepción de productos mediante MILP para realizar un scheduling de corto plazo
Este último opera bajo restricciones de secuenciación, dirección del flujo (por ser bidireccional), capacidad
del tanque, algunos costos, y ventanas de tiempo con el fin de minimizar las violaciones y las ventanas de
tiempo de arribo del producto
.
No obstante, el trabajo de los autores se alejada del presente proyecto ya que no se trabajan ventanas de
tiempo, el algoritmo genético no se consideró muy eficiente para armar una secuencia de batches de
producto debido a la restricción de secuenciación, y además se desea evitar los paros en la línea, siendo
éste, más que una característica del problema, parte de la función objetivo.
5.2.11 Optimización de Poliductos con Algoritmos Genéticos
David E. Goldberg, autor de la presente referencia, es el precursor de un nuevo procedimiento de
ordenamiento que apalancó el tratamiento de los problemas de optimización multiobjetivo (de Souza,
2010). Junto con su estudiante Chie Hsiung Kuo, realizaron en 1985 el trabajo que llamaron “Genetic
Algorithm in Pipeline Optimization” en donde desarrollaron el programa de envíos de 10 estaciones de
bombeo a través de una línea con base en algoritmos genéticos. A continuación se presenta
esquemáticamente el escenario que desarrollan los autores
43
Figura 5.18. Red de transporte de hidrocarburos del Brasil
Fuente: Goldberg, D., & Kuo, C. (24 de 10 de 1985). The University of Alabama.
Para abordar el problema, Goldberg y Kuo utilizaron el sistema de restricciones por penalización e
incluyeron variables como el consumo de energía, la presión de la línea y la eficiencia con la que se está
enviando el producto. Su resultado, sería un vector binario que indicaba las acciones que debían realizarse
en cada estación de bombeo, donde uno (1) significaba bombear producto y cero (0) significaba parar el
bombeo.
El programa fue realizado en Pascal y se hicieron tres (3) corridas con diferentes poblaciones iniciales con el
fin de verificar la robustez del programa. Evidentemente el algoritmo genético de Goldberg organizó las
actividades de tal forma que se obtuvieran los menores costos satisfaciendo las restricciones. Esta reducción
de costos alcanzaba su mejor solución después de cincuenta (50) generaciones y según el autor “… el
algoritmo genético (aplicado al problema) encuentra operaciones casi óptimas” (Goldberg & Kuo, 1985).
Para poner en perspectiva la calidad de programación realizada, el Goldberg decía que “si se quisiera
encontrar la mejor persona entre una población de 4,5 billones de personas tan rápido como el algoritmo
genético, tan sólo sería necesario hablar con 15 personas antes de tomar la decisión” (Goldberg & Kuo,
1985).
5.2.12 Scheduling de Oleoductos Multi-Producto Líquidos Fungibles Usando
Algoritmos Genéticos
El desarrollo de la presente referencia se realiza en un escenario que cuenta con ocho (8) nodos, siete (7)
ductos y que transporta dos (2) productos, los cuales son representados con las letras A y B. Cada nodo tiene
tanques de almacenamiento para cada producto, tal como se puede apreciar en la figura 5.19.
El objetivo del trabajo investigativo consiste en maximizar una serie de recompensas por el cumplimiento de
inventarios y demandas mediante la programación de acciones o reglas para representar los envíos a través
del escenario de estudio. Sin embargo, el algoritmo arroja soluciones no factibles como la realización de una
acción en lugares donde no era posible realizarlos. Por ejemplo, algunos nodos no podían realizar una acción
distinta a la de almacenar productos. Sin embargo, la solución dictaba que en ese nodo se hiciera una acción
distinta a la de almacenamiento. Para resolver tales inconsistencias, los autores incluyen una función de
reparación el cual consiste en cambiar estas actividades por unas aceptables. Esto acarrea la posibilidad de
dañar toda la solución inicial, pues las acciones estaban encadenadas y un cambio afectaría acciones más
adelante en el tiempo. La solución a este impase consiste en aumentar el cromosoma para incluir más genes
que tuvieran en cuenta estos cambios.
44
Figura 5.19. Red de transporte de hidrocarburos del Brasil
Fuente: Crane, D.S., Wainwright, R., & Schoenefeld, D. (1999). Scheduling of Multi-Producto Algorithms. En
S.o. Computing. New York: ACM New York
El funcionamiento del algoritmo genético presentado por Crane, Wainwright y Schoenefeld para la solución
del escenario planteado, toma tan sólo 59,06 segundos de procesamiento. Sin embargo, los autores
reconocen que su complejidad no es muy avanzada ya que no consideran, entre otras cosas, el tiempo de
envío, las restricciones de secuenciación y líneas múltiples entre los nodos. No obstante, aseguran que “El
concepto básico del Algoritmo Genético presentado en este artículo puede - en teoría – ser extendido para
cubrir la mayoría, sino todas, la complejidades… con un poco más de esfuerzo” (Crane, Wainwright, &
Schoenefeld, 1999).
5.2.13 Programación de Transferencia de Derivados del Petróleo en Redes de
Poliductos Usando Algoritmos Genéticos
El presente trabajo desarrollado por Vanessa Rennó Frota Moraes Alves en el 2007 utiliza algoritmos
genéticos en una red de poliductos de Brasil. Esta red de poliductos, llamada Red de Oscuros, cuenta con
nueve (9) nodos los cuales cuatro (4) son refinerías y cinco (5) son terminales, interconectados por ocho (8)
poliductos. Estos poliductos transportan seis (6) productos los cuales pueden viajar en ambos sentidos. Es
decir, cada poliducto de la red trabajada de forma bidireccional. Sin embargo, con el fin de simplificar el
problema original, la autora trabaja sobre una red de poliductos reducida que cuenta con ocho (8) nodos y
siete (7) poliductos unidireccionales, como lo ilustra la figura 5.20, transportando cinco (5) productos.
45
Figura 5.20. Red de Oscuros simplificada
Fuente: Rennó Frota Moraes Alves, & Martins Ferreira Filho (2007). Programação de Transferência de
Derivados de Petróleo em Rede Dutoviária Usando Algoritmo Genético. Brasil
Además de la simplificación de la red, Rennó Frota cuenta con consideraciones iniciales y discretizaciones de
volúmenes y tiempos que facilitan el manejo del escenario debido a la dificultad para implementar todas las
restricciones y detalles de la red ( Rennó Frota Moraes Alves & Martins Ferreira Filho, 2007). No obstante, el
modelo determina la secuencia de productos que deben ser bombeados para solucionar los problemas de
inventario y demanda mediante una (1) función objetivo en un horizonte de tiempo de catorce (14) días.
Los resultados del modelo, aunque no fueron comparados con datos reales, resultan ser satisfactorios
mostrando que los algoritmos genéticos tienen potencial para resolver el problema mediante la
incorporación de otras restricciones al problema original ( Rennó Frota Moraes Alves & Martins Ferreira
Filho, 2007). Por tal motivo Rennó Frota sugiere continuar el trabajo incluyendo restricciones de
compatibilidad de productos, caracterización de los flujos bidireccionales, y la reducción de los intervalos del
tiempo discretizado.
5.3 Análisis de las referencias encontradas
Como resultado de la revisión bibliográfica, se encuentran elementos que contribuyen en el desarrollo del
presente proyecto2. Entre las ventajas dominantes se encuentran ecuaciones y modelaciones que optimizan
costos (Boschetto, y otros, 2010), exigen pocos requerimientos computacionales ( Rennó Frota Moraes Alves
& Martins Ferreira Filho, 2007), incluyen reglas de operación tanto en métodos exactos (de la Cruz, Herran-
Glonzález, Risco-Martin, & Andrés-Toro, 2004) como en metaheurísticos (Yaohua He, 2007) y (Goldberg &
Kuo, 1985) y adicionalmente las restricciones de inventario (Sánchez, 2007) y (de Arruda, Neves-Jr, &
Yamamoto, 2007). Estas formulaciones son de vital importancia pues sirven de guía para realizar el modelo
que se ajuste al escenario de ECOPETROL S.A. Además, la bibliografía encontrada permite establecer las
bondades de cada método empleado en términos de la calidad de la solución, su aplicación en escenarios
reales, su eficiencia computacional, el manejo de restricciones operativas complejas, las aplicaciones de
cada metodología según las características de la red, y el manejo de las secuencias entre otros.
En general, la realización del presente proyecto se enfoca en llenar los vacíos dejados por el estado del arte,
cuando de representar la operación de la red de poliductos de ECOPETROL S.A. se trata. Se enfatiza en
aspectos como: la representación de la red de poliductos de Colombia, la representación del
2 Estos aportes fueron escogidos, como soporte teórico para la realización del trabajo investigativo según su aplicabilidad y su alineación con los objetivos planteados
46
funcionamiento del poliducto, la inclusión de una restricción que tenga en cuenta los volúmenes
transportados y la restricción de secuencias permitidas de envío.
Como se puede observar, existen dos grandes métodos entre los cuales se pueden clasificar las diversas
formas en que se pueden abordar los problemas de programación del transporte de refinados. Estos son:
Los métodos exactos y los métodos no exactos.
Usualmente los métodos exactos están basados en Programación Lineal Entera Mixta (Ospina & González,
2010) (de la Cruz, Herran-Glonzález, Risco-Martin, & Andrés-Toro, 2004) (Cafaro & cerdá, 2004) y
Programación por Restricciones (Arnaldo V. Moura, 2008). El propósito es siempre buscar la solución
óptima. Los tiempos computacionales asociados son usualmente altos debido a la gran cantidad de variables
involucradas (muchas de ellas binarias). Adicionalmente, la aplicación de estos métodos, en ocasiones,
dificulta la representación de las condiciones operacionales particulares mediante ecuaciones matemáticas
(Herrán, de la Cruz, & de Andrés , 2008). Sin embargo, usando la programación por restricciones, la mayoría
de estas condiciones particulares pueden ser representadas mediante ecuaciones lógicas.
La integración de Programación Lineal y Programación por Restricciones (Felizari, Arruda, Lüders, & Stebel,
2009) ha mostrado ser una disciplina eficiente para lograr lo mejor que ambos campos pueden contribuir a
la solución de problemas de Scheduling. Sobretodo en la representación real del tiempo (Neves-Jr, y otros,
2007). Se ha evidenciado que esta estructura ha contribuido a la programación de actividades en un
escenario de transporte por poliductos del mundo real (Magatão, Arruda, & Neves-Jr., 2005) como se
encuentra en el trabajo realizado por Luiz Carlos Felizari, Lúcia V. R. de Arruda, Ricardo Lüders, Sérgio L.
Stebel titulado “Secuenciamiento de Batchs en una Red Real de Poliductos Usando Programación por
Restricciones” (Sequencing Batches in a Real-World Pipeline Network Using Constraint Programming). Su
modelo, financiado por la petrolera brasilera Petrobras, programó el transporte de 80 batchs de 10
productos diferentes en un horizonte de tiempo de 30 días en tan sólo 17,03 segundos con un computador
Intel-Core2Duo con 2.13GHz con 2GB de RAM. Sin embargo, son formulaciones para un caso específico que
posiblemente no pueda ser generalizado, y requieren de software comercial especializado y costoso, lo cual
se encuentra fuera del alcance de la presente investigación.
En contra parte, los métodos no exactos surgen como una alternativa para los altos tiempos
computacionales y a la dificultad de representar condiciones operacionales involucradas en los métodos
exactos para resolver complejos problemas reales. Usualmente están basados en técnicas metaheurísticas
como los algoritmos genéticos y la búsqueda tabú. Estos métodos no garantizan el hallazgo de una solución
óptima; la calidad de la solución estará dada por la capacidad de representar el escenario real y su
comportamiento a lo largo del tiempo ( Rennó Frota Moraes Alves & Martins Ferreira Filho, 2007). El
propósito es buscar una solución factible, cercana a la óptima.
Aparece también la integración de procedimientos heurísticos o metaheurísticos, con Programación Lineal
(Felizari, Arruda, Lüders, & Stebel, 2009) (Arnaldo V. Moura, 2008) o con Programación por Restricciones (de
la Cruz, Herran-Glonzález, Risco-Martin, & Andrés-Toro, 2004) (Boschetto, y otros, 2010) (Neves-Jr, y otros,
2007), las cuales ayudan a buscar soluciones que se acerquen aún más a la óptima, pero nuevamente, sin
garantizarlo. El tratamiento de estos métodos se hace complejo, teniendo que relajar varias restricciones del
mundo real, con el fin de hallar una solución adecuada.
47
5.4 Justificación del empleo de Algoritmos Genéticos como metodología de
solución
Como metodología propuesta para el presente proyecto de investigación, se emplearán procedimientos
basados en técnicas metaheurísticas, teniendo en cuenta la necesidad de agilizar el proceso de
programación del transporte de productos refinados y hallar una solución, que aunque no sea la óptima, sea
lo suficientemente buena como para apoyar de forma eficiente la tarea del programador de realizar la
programación de envío de refinados a través de los poliductos de ECOPETROL S.A.
Según las referencias consultadas para definición del método a emplear, los procedimientos metaheurísticos
de mayor utilidad para resolver este tipo de problemáticas son la Búsqueda Tabú (Sánchez, 2007) y Los
Algoritmos Genéticos (de la Cruz, Herran-Glonzález, Risco-Martin, & Andrés-Toro, 2004) (Yaohua He, 2007) (
Rennó Frota Moraes Alves & Martins Ferreira Filho, 2007) (de Arruda, Neves-Jr, & Yamamoto, 2007)
(Goldberg & Kuo, 1985) (de Souza, 2010). Ésta primera alternativa, en años anteriores, fue desarrollada en
ECOPETROL S.A. Sin embargo, según expertos de ECOPETROL S.A., no se obtuvieron los resultados
esperados y por tal motivo la compañía pretende explorar nuevos métodos de solución.
En definitiva se ha seleccionado como metodología de solución, para el presente proyecto de investigación,
la implementación de algoritmos genéticos debido a que:
1. Brindan la posibilidad de explorar el espacio solución de forma más global gracias a sus parámetros
de intensificación y diversificación de las soluciones. La eficiencia y eficacia de esta técnica radican
en su forma de lograr el equilibrio entre la explotación de las soluciones encontradas y la
exploración de nuevas soluciones (Sánchez, 2007).
2. Su aplicación tiene amplios beneficios ya que es un método que no sigue una línea continua de
búsqueda, sino que tiene una perspectiva de búsqueda global a diferencia de muchos otros
procedimientos de optimización (Goldberg & Kuo, 1985). Por lo general, algunos otros algoritmos
funcionan en serie, los algoritmos genéticos por su parte operaran de forma paralela lo cual
permite explorar el espacio solución en múltiples direcciones.
3. No supone una compleja representación de la red mediante ecuaciones debido a que,
simplemente, utiliza un sistema de compensación y/o penalización, volviéndolo un método versátil
para representar escenarios de carácter real (de la Cruz, Herran-Glonzález, Risco-Martin, & Andrés-
Toro, 2004).
4. Utilizan operadores probabilísticos, a diferencia de otros métodos de optimización basados en
criterios determinísticos (Goldberg & Kuo, 1985), lo cual representa el comportamiento real de las
especies, en su búsqueda de individuos con mayor capacidad de supervivencia, para el posterior
mejoramiento de la especie.
5. La aplicación de este tipo de metodologías en escenarios reales que involucran un número
considerable de variables de decisión, específicamente en el ámbito de programación de
poliductos, ha demostrado que la relación Tiempo de Ejecución vs. Calidad de Resultados
constituye una clara ventaja con respecto a otros métodos de solución.
5.5 Herramientas computacionales
Existen diversas herramientas de uso libre disponibles para resolver problemas de optimización de
operaciones. Sin embargo, la gran mayoría son de uso académico y por lo tanto la cantidad de variables de
48
decisión admisibles son reducidas. La Universidad de Exeter, en el Reino Unido, ofrece una versión de
prueba denominada GANetXL (Exeter, 2011) para proyectos de tipo académico. Sin embargo la complejidad
del presente proyecto superó la capacidad de la versión libre debido a la cantidad de variables de decisión
que demanda su programación
El algoritmo genético empleado para el desarrollo del modelo de programación de poliductos de
ECOPETROL S.A. consta de mil quinientas sesenta (1560) variables de decisión y dos (2) funciones objetivo.
De esta manera se decide contactar directamente al desarrollador de la herramienta, Profesor Josef Bicik
PhD, quien luego de conocer el proyecto, decide suministrar una versión más avanzada que permite resolver
problemas de optimización de gran tamaño. La tabla 5.1 ofrece una comparación, en términos de capacidad,
entre la versión de uso libre y la empleada en el presente proyecto de investigación.
Tabla 5.1. Comparación
Característica Versión de Uso Libre Versión Avanzada
Variables de Decisión 30 16.378
Funciones Objetivo 2 3
Población 100 1000
Número Máximo de Generaciones 10.000 100.000
Fuente: Elaboración de los Autores
49
6. CARACTERIZACIÓN DEL SISTEMA
El presente capítulo aborda el proceso de caracterización del sistema donde se definen los objetivos,
variables, reglas y restricciones bajo las cuales se debe formular el programa de transporte. La finalidad de
este procedimiento es establecer los requerimientos operacionales que anteceden al proceso de generación
de un programa de transporte a través de poliductos. La metodología consiste en realizar una revisión
bibliográfica, entrevistas con usuarios y expertos con el fin de establecer los requerimientos que en general
se han contemplado para la solución de este tipo de problemas. Debido a que la caracterización del sistema
depende de la naturaleza del mismo es necesario realizar un proceso de clasificación, en el cual se
identifiquen aquellos requerimientos críticos que aplican a las necesidades particulares de ECOPETROL S.A.
Basados en la información suministrada se procede a definir los objetivos, condiciones y restricciones
necesarios para desarrollar la programación del suministro a través de la red de poliductos.
6.1 Requerimientos de un programa de transporte
6.1.1 Identificación de Requerimientos
En la elaboración de un programa de envío de refinados, a través de redes de poliductos, las características
del sistema que se debe tener como referencia son ( Rennó Frota Moraes Alves & Martins Ferreira Filho,
2007), (Crane, Wainwright, & Schoenefeld, 1999) y (Sánchez, 2007):
Producto disponible: La programación no cuenta con una cantidad ilimitada de productos para
satisfacer las demandas, cada una de las refinerías presentan una capacidad de producción
determinada.
Satisfacer la demanda: Los productos deben estar disponibles en los tanques de almacenamiento
de cada estación con el fin de satisfacer la demanda de refinados.
Respetar la capacidad de almacenamiento: Los tanques de almacenamiento de los productos
tienen una capacidad máxima de llenado y también una capacidad mínima, la cual debe ser
respetada durante el horizonte de programación.
Consideración de múltiples líneas para un mismo nodo: Existen nodos alimentados por más de
una línea. Estas líneas pueden ser de diferentes diámetros, como ocurre con el caso de Sebastopol
en Colombia, el cual es alimentado por dos (2) ductos de doce (12) y de diez y seis (16) pulgadas de
diámetro cada uno. Secuenciamiento de Batchs en una Red Real de
Poliductos Usando Programación por Restricciones
Respetar la secuencia de envío: Debido a que los productos refinados se envían todos a través de
un mismo ducto, se ha definido una secuencia aceptable entre productos para que las interfaces
entre cada refinado no representen una contaminación por contacto directo. Por tal motivo, el
programa de envío debe realizarse teniendo en cuenta que existen secuencias prohibidas de
transporte.
Tamaño del lote: La cantidad de producto distribuida por unidad de tiempo depende de la
capacidad de transporte de los ductos que componen la red, así como de la potencia de las
unidades de bombeo.
Mantenimientos programados: Los poliductos cuentan con un programa de mantenimiento como
medida de seguridad con el fin de asegurar la estabilidad de la operación y evitar accidentes o
catástrofes relacionadas con el estado del ducto. Estos mantenimientos implican una parada en el
sistema que debe ser considerada a la hora de programar la secuencia de envío.
50
Restricciones locales: Son restricciones propias de cada área en específico. Por ejemplo “algunas
áreas pueden tener restricciones en el número de bombeo simultáneo y / o la recepción de ciertos
productos” ( Rennó Frota Moraes Alves & Martins Ferreira Filho, 2007).
Especificaciones técnicas de los poliductos: Los poliductos tienen unas condiciones técnicas que no
pueden violarse. Se refiere a aspectos como la capacidad máxima admitida de producto o el caudal
máximo de bombeo de transporte de refinados.
Dirección de transporte: Los poliductos pueden funcionar unidireccional o bidireccionalmente.
Emergencias ocasionales: Situaciones imprevistas como el daño de una bomba o de un poliducto.
Existencia de fuentes múltiples: Se refiere al número de refinerías existentes y abastecen la
cantidad de producto necesario para cumplir la demanda de toda la red.
6.1.2 Identificación de requerimientos críticos
Una vez definidos los requerimientos generales para la realización de un programa de transporte, es
necesario identificar aquellos que aplican a las necesidades técnicas y logísticas de ECOPETROL S.A. De esta
manera se definen los requerimientos críticos del sistema que más adelante, en la sección 6.2, serán
caracterizados. Este procedimiento se realiza conforme a las necesidades de ECOPETROL S.A. y con la ayuda
del experto en transporte Ingeniero Juan Carlos García. La Tabla 6.1 resume los criterios de clasificación de
los requerimientos considerados como críticos y aquellos que no lo son.
Tabla 6.1. Definición de Requerimientos Críticos
REQUERIMIENTO
¿Es crítico para ECOPETROL S.A. en la generación de programas de
transporte de poliductos?
JUSTIFICACIÓN
SI NO
PRODUCTO DISPONIBLE X
La planeación estratégica realizada por la Vicepresidencia de Transporte de ECOPETROL S.A., es la encargada de garantizar que la capacidad de producción de las refinerías sea superior a la cantidad demandada de productos a nivel nacional. El proceso de programación del transporte se enmarca dentro de la planeación operativa, por lo tanto, se asume que la disponibilidad de productos refinados ha sido establecida con anterioridad.
SATISFACCIÓN DE LA DEMANDA X
El objetivo del transporte de productos a través del poliducto, radica en la necesidad de cumplir con los niveles exigidos de demanda en todos los nodos de la red.
CAPACIDAD DE ALMACENAMIENTO X
Cada uno de los nodos de la red de poliductos, cuenta con tanques de almacenamiento para cada uno de los productos transportados. ECOPETROL S.A. ha definido niveles mínimos y máximos de contenido, que deben ser respetados a lo largo del horizonte de transporte.
CONSIDERACIÓN DE MÚLTIPLES
LÍNEAS PARA UN MISMO NODO X
Existen nodos que reciben y/o distribuyen productos a través de múltiples líneas del poliducto. Se deben tener en cuenta las consideraciones asociadas a la conservación de la materia, y distribución de productos a través de las líneas.
RESPETAR SECUENCIA DE
ENVÍO X
Debido a la composición química de cada uno de los productos transportados, ECOPETROL S.A., ha definido reglas de secuencias de envío, con el fin de evitar contaminación por contacto directo entre los mismos, al interior del ducto.
51
TAMAÑO DEL LOTE X
Dependiendo la cantidad de producto que se deba transportar y el nivel de inventarios, se debe establecer la cantidad a movilizar a través del ducto. El estado inicial de los niveles de inventario depende directamente de este tipo de variables de decisión.
RESTRICCIONES LOCALES X
Para la red de ECOPETROL S.A. las restricciones de red aplican, de igual forma, para todos los nodos y líneas de poliductos, indistintamente. No obstante, existen nodos en los cuales no se suministra determinado tipo de producto.
ESPECIFICACIONES TÉCNICAS DE LOS
POLIDUCTOS X
Dependiendo de la cantidad de producto a transportar, los niveles demandados y los niveles admisibles de inventario, cada una de las líneas presenta una capacidad admisible de transporte.
DIRECCIÓN DE TRANSPORTE X
La totalidad de líneas que contempla el presente proyecto de investigación son de carácter unidireccional.
EMERGENCIAS LOCALES X
Este tipo de consideraciones se contemplan en una etapa superior de planeación. Para el caso de ECOPETROL S.A., se definen en la etapa de configuración estratégica.
EXISTENCIAS DE FUENTES
MÚLTIPLES X El presente proyecto de investigación establece que el suministro del producto se realiza desde una única refinería.
Fuente: Ingeniero Juan Carlos García, Líder de Optimización
6.2 Caracterización del Sistema
Teniendo como punto de partida la definición de los requerimientos críticos del sistema, en esta sección se
procede a efectuar la caracterización de la red de poliductos de ECOPETROL S.A. Este procedimiento
constituye la base programática para la implementación de la metodología que el presente proyecto
plantea.
6.2.1 Aspectos técnicos
6.2.1.1 Configuración de la red de poliductos
La red de poliductos de Colombia está compuesta por 19 nodos (estaciones de consumo y almacenamiento
de producto) y un total de 22 ductos, articulados en red como la que se muestra en la figura 6.1. Sin
embargo, debido a que la naturaleza del problema es NP-Completo ( Rennó Frota Moraes Alves & Martins
Ferreira Filho, 2007), se decidió realizar una serie de simplificaciones de carácter topológico asistidas por el
Líder de Optimización de procesos de la Vicepresidencia de Transporte de Ecopetrol S.A., Ingeniero Juan
Carlos García. Los criterios de simplificación se basaron en la aceptación de Ecopetrol S.A. de la semejanza
entre la actual red de poliductos y la red resultante después de la simplificación.
52
Figura 6.1. Red Poliductos a Nivel Nacional
Fuente: Documentación Vicepresidencia de Transporte
El reto principal al efectuar la reducción de la red de poliductos se fundamenta en la necesidad de articular
un sistema que logre representar el comportamiento de la red original. El procedimiento efectuado se
expone a continuación. Cada uno de los recuadros de la figura 6.2 evidencia el procedimiento llevado a cabo
para efectuar la simplificación de red. El proceso de reducción de la red implica agregar los inventarios y las
demandas de los nodos que dejan de ser incluidos en la red. Más adelante este procedimiento será
abordado en la sección de 6.2.2.1.
Figura 6.2. Agrupación de Nodos
Fuente: Realización delos autores
53
De esta manera, la red de poliductos queda simplificada como se ilustra en la figura 6.3. Ésta se compone
de 10 nodos listados a en la tabla 6.2.
Tabla 6.2. Nodos de la red simplificada
Fuente: Proceso de Simplificación de la Red
Figura 6.3. Red Simplificada
Fuente: Elaboración de los autores
El proceso mencionado reduce la cantidad de líneas, la Tabla 6.3, registra cada una de los ductos
resultantes, que además se ilustran en la figura 6.3.
Tabla 6.3. Nodos de la red simplificada
Fuente: Elaboración de los Autores
54
Es preciso aclarar que el motivo de efectuar reducciones en la red, se debe a que estaciones como Lizama,
Bucaramanga, La Pintada, entre otras, son consideradas por ECOPETROL S.A. como extensiones de la red,
las cuales pueden ser representadas por un solo nodo. El beneficio obtenido como consecuencia de la
reducción se traduce en una simplificación del problema en términos de su complejidad.
6.2.1.1 Características de los Poliductos
6.2.1.1.1 Capacidad de Transporte de las Líneas
Las líneas del poliducto de ECOPETROL S.A. presentan diferentes capacidades de transporte, en general,
aquellas adyacentes a las refinerías tienen una mayor capacidad de transporte por unidad de tiempo, debido
que a través de las mismas, circula el de producto requerido para abastecer la demanda de todos los nodos
de la red. Para el caso de ECOPETROL S.A. La tabla 6.4 registra el mínimo y máximo número de barriles que
cada una de las líneas puede transportar diariamente.
Tabla 6.4. Capacidad de Transporte
LÍNEA
MIN (BARRILES /
DÍA)
MÁX (BARRILES /
DÍA)
1 GALÁN SEBASTOPOL
(12") 36.000 132.000
2 GALÁN SEBASTOPOL
(16") 36.000 132.000
3 SEBASTOPOL
(12") SALGAR 24.000 90.000
4 SEBASTOPOL
(16") SALGAR 24.000 90.000
5 SEBASTOPOL MEDELLÍN 24.000 96.000
6 MEDELLÍN CARTAGO 6.000 24.000
7 CARTAGO BUGA 6.000 24.000
8 BUGA YUMBO 6.000 24.000
9 SALGAR NEIVA 12.000 30.000
10 SALGAR MANSILLA 72.000 120.000
11 MANIZALES YUMBO 6.000 24.000
12 SALGAR MANIZALES 18.000 42.000
13 MANIZALES CARTAGO 6.000 30.000
Fuente: Documentación Vicepresidencia de Transporte
El hecho de transportar diferentes cantidades a través de un mismo ducto se debe a la posibilidad de variar
la potencia de suministro de las unidades de bombeo3, de esta manera es posible controlar el volumen de
producto a transportar por unidad de tiempo.
3 Las unidades de bombeo son un mecanismo diseñado para generar movimiento, en el caso de los poliductos se
emplea para movilizar los productos refinados a través de los ductos.
55
6.2.1.1.2 Tiempos de Transporte
El tiempo de transporte se refiere a la cantidad de tiempo que toma transportar un producto desde un nodo
de origen hasta un nodo contiguo. Este parámetro es de especial importancia en el proceso de actualización
diaria de los niveles de inventarios; se debe conocer con precisión el día de arribo de cada producto en cada
nodo específico. Adicionalmente, el parámetro del tiempo de transporte define el tiempo necesario que
conlleva transportar un producto a través de la red, pasando por una cierta cantidad de nodos.
En los procesos de programación, de esta naturaleza, algunos autores han empleado un criterio de
unificación de tiempos; este procedimiento consiste en establecer tiempos de transporte constantes para
todas las líneas de la red ( Rennó Frota Moraes Alves & Martins Ferreira Filho, 2007). Para la programación
del método metaheurístico se emplea este mismo procedimiento, aceptado por la Vicepresidencia de
Transporte de ECOPETROL S.A. En general se ha definido que el tiempo necesario para transportar un (1)
barril de refinado entre dos nodos interconectados, es de veinticuatro horas (24) horas. Este valor se calcula
promediando los tiempos de viaje entre nodos. Es de aclarar que los tiempos de transporte son
completamente independientes de la cantidad transportada, simplemente son función de la distancia entre
nodos y la capacidad de transporte de las líneas.
6.2.1.2 Productos a Transportar
Debido a la cantidad de referencias de productos derivados del petróleo que maneja ECOPETROL S.A., se ha
decidido considerar los productos más representativos, en términos de volúmenes demandados. Aquellos
productos han sido seleccionados mediante un procedimiento que garantiza que se maximice el impacto
que la formulación del modelo del presente proyecto. Las nominaciones de la demanda de Noviembre de
2010 constituyen la fuente de información primaria para la realización de dicho procedimiento. La tabla 6.5
ilustra el procedimiento efectuado, donde se listan la totalidad de referencias con su respectiva demanda a
nivel nacional, las columnas denominadas F.RELATIVA y F.ACUMLADA ilustran la participación porcentual y
acumulada de cada producto, respectivamente. La F.CAUSAL se refiere a la frecuencia acumulada de cada
producto, que se obtiene dividiendo el ciento por ciento (100%), entre la cantidad de productos existentes;
en este caso al haber nueve (9) productos la F.CAUSAL es igual al once punto uno por ciento (11,1%) para
cada nominación.
Tabla 6.5. Resumen de Niveles de Demanda de Productos Refinados
Fuente: Documentación Vicepresidencia de Transporte
56
El parámetro denominado CORTE en la tabla 6.5., se calcula a partir de la suma de la frecuencia
acumulada y la frecuencia causal; aquel valor que se encuentre más cercano al cien por ciento (100%)
será el producto que delimitará el grupo de los individuos más representativos (Navarrete, 2010). Es de
aclarar que este valor es un parámetro de referencia para delimitar las nominaciones y por lo tanto su
rango
Gráfica 6.1. Diagrama de Pareto
Fuente: Documentación Vicepresidencia de Transporte
Tres productos, en su orden: Gasolina Regular, Biodiesel B2 y Biodiesel B2 Extra, que representan el 33,2%
de las nominaciones, generan el 72,5% de la demanda nacional y por lo tanto son los productos
seleccionados para efectuar la programación del transporte.
6.2.1.2.1 Secuencia de productos admisible
Debido a las diferencias en las composiciones químicas de los líquidos a transportar, existen restricciones
relacionadas con el orden de envío de los productos. A saber, se debe evitar el contacto directo entre
GASOLINA MOTOR Y BIODIESEL B2 EXTRA al interior del ducto con el objetivo de reducir la contaminación
de ambos productos.
La figura 6.4. ilustra una secuencia convencional de tres tipos de productos distintos, transportados a través
de un mismo ducto. Para el caso particular de la secuencia: GASOLINA MOTOR- BIODIESEL B2 EXTRA–
GASOLINA MOTOR, se presenta una violación en el orden de envío. En caso que esto ocurra, los productos
podría mezclarse entre sí al interior del ducto y reducir así su calidad, en general, la gasolina motor se debe
suministrar contigua al BIODIESEL B2. Debido a lo anterior, el presente proyecto de investigación tiene como
objetivo programar la secuencia de bombeo donde se cumplan los requerimientos de demanda y a su vez se
disminuya la posibilidad de contaminación entre los productos.
57
Figura 6.4. Secuencia de Productos
Fuente: Elaboración de los autores
La Figura 6.5 ilustra la secuencia ideal de suministro de productos, donde la franja verde representa una
sustancia denominada Virgin Oil (VOIL), que funciona como un agente separador de sustancias. Este
producto se ingresa manualmente una vez completado el programa de transporte y por lo tanto para el
presente proyecto de investigación no se contempla dentro de la programación computacional.
Figura 6.5. Secuencia de batchs a programar
Fuente: Elaboración de los autores
6.2.2. Aspectos Logísticos
6.2.2.1. Satisfacción de la demanda
Para el presente proyecto de investigación, la demanda se refiere al consumo de productos refinados en
cada uno de los nodos pertenecientes a la red de poliductos. El suministro de las cantidades adecuadas de
producto, en el momento oportuno, es un aspecto prioritario al momento de realizar el proceso de
programación del transporte a través de los ductos.
Los acuerdos comerciales de ECOPETROL S.A. y sus clientes definen reglas de operación en cuanto al lugar y
momento en el cual se debe cumplir con un requerimiento de producto. Para el caso particular del
suministro a través del poliducto, se establece que la demanda se satisface una vez la cantidad de producto
solicitada, se encuentra disponible en el nodo y el en día definido por el cliente. De esta manera, como
parámetro de entrada para la programación del transporte, se debe contar con la información de la cantidad
total de producto solicitada por los clientes, discriminada por nodos.
58
Debido a las características de cada uno de los nodos que componen la red, cada uno requiere una cantidad
específica de GASOLINA MOTOR, BIODIESEL EXTRA Y BIODIESEL B2, llamada “nominación”. Dicha
nominación se mantiene constante a través del tiempo, lo cual implica que para un horizonte de
programación de n días, existe un valor constante de demanda. Hay que aclarar que la información de la
demanda fue obtenida a partir de reportes de programación reales de ECOPETROL S.A., lo cual permite una
caracterización real del proceso de programación del transporte.
6.2.2.2 Agrupación de la demanda
En la sección 6.2.1.1 se justifica la reducción de red realizada para el presente proyecto de investigación. Al
realizar este tipo de reducciones es indispensable garantizar que la demanda de aquellos nodos que no
fueron incluidos en la red definitiva, sea asumida por el nodo más cercano que haya sido incluido en el
esquema definitivo. La tabla 6.6 evidencia la agrupación realizada, por ejemplo, para el caso de Galán se
asume que en este mismo nodo se deben cumplir las demandas de Galán, Lizama y Bucaramanga.
Tabla 6.6 Agrupación de la Demanda
NODOS INCLUIDOS NODOS AGREGADOS
1 GALÁN LIZAMA BUCARAMANGA
2 SEBASTOPOL - -
3 SALGAR - -
4 MEDELLÍN LA PINTADA GIRARDOTA
5 CARTAGO - -
6 MANIZALES PEREIRA BELMONTE
7 BUGA - -
8 YUMBO - -
9 NEIVA MARIQUITA GUALANDAY
10 MANSILLA PUENTE ARANADA
Fuente: Documentación Vicepresidencia de Transporte
Tabla 6.7. Demanda diaria a Nivel Nacional
PRODUCTO*
GASOLINA MOTOR BIODIESEL B2
BIODIESEL B2 EXTRA
NO
DO
GALÁN 5 12 1
SEBASTOPOL 0 0 0
SALGAR 0 0 0
MEDELLÍN 10 11 11
CARTAGO 3 3 1
MANIZALES 3 3 3
BUGA 1 2 0
YUMBO 7 6 0
NEIVA 6 9 0
MANSILLA 25 15 30
*Cifras Expresadas en miles de barriles por día
Fuente: Documentación Vicepresidencia de Transporte
La tabla 6.7 resume los niveles demandados de cada producto para cada uno de los nodos de la red,
expresadas en miles de barriles por día. Como se puede apreciar existen nodos como SALGAR Y
SEBASTOPOL, que son considerados nodos intermedio y por lo tanto no registran demanda alguna.
59
6.2.2.3 Proceso de Almacenamiento de Productos Refinados
Para cada uno de los nodos de la red se cuenta con tres (3) tanques de almacenamiento, uno para cada
producto transportado, a excepción de BUGA, YUMBO Y NEIVA, donde no existe tanque disponible para
BIODIESEL B2 EXTRA. Es de aclarar que la capacidad de los tanques, en cada nodo, es una cantidad agregada
ya que en los nodos puede haber más de (1) un tanque para (1) un mismo producto. Teniendo en cuenta
que la demanda de los productos varía según los nodos, se debe considerar que las capacidades de
almacenamiento de los tanques también varían. La tabla 6.8 registra la información suministrada por
ECOPETROL S.A. en relación a la capacidad de cada uno de los tanques.
Tabla 6.8. Niveles de Inventarios Admisibles
NIVELES DE INVENTARIO OPERATIVO
MIN MAX
PRODUCTO PRODUCTO
NODO Gasolina
Motor Biodiesel
Extra Biodiesel
B2 Gasolina
Motor Biodiesel
Extra Biodiesel
B2
GALÁN 55 21 30 445 294 419
SEBASTOPOL 30 14 16 317 167 129
SALGAR 35 35 15 264 294 115
MEDELLÍN 12 8 8 129 120 180
CARTAGO 3 1 4 33 12 36
MANIZALES 4 4 4 67 42 42
BUGA 1 0 1 15 0 12
YUMBO 20 0 8 216 0 91
NEIVA 10 0 6 66 0 50
MANSILLA 26 30 14 323 343 193
*Unidades en miles de barriles
Fuente: Documentación Vicepresidencia de Transporte
Existen dos (2) tipos de violaciones de inventario, el primero hace referencia a las violaciones de los niveles
operativos de almacenamiento y el segundo se refiere a las violaciones de los niveles físicos de los tanques.
Los límites operativos son definidos por ECOPETROL S.A. y son diseñados para lograr que el sistema tenga
un margen de seguridad durante el horizonte de programación. Por ejemplo, la tabla 6.8 registra que el
nivel operativo máximo en Mansilla, para GASOLINA MOTOR, es de trecientos veintitrés mil (323.000)
barriles. Si al finalizar un día de suministro se registra en dicho nodo, un inventario final de trecientos
treinta mil (330.000) barriles, no necesariamente se debe suspender el suministro, pues el tanque en
realidad tiene una capacidad física de trecientos cincuenta y cinco mil (355.000) barriles.
Los inventarios operativos son la base para la programación, del algoritmo genético que el presente
proyecto de investigación plantea; se busca siempre minimizar el incumplimiento de dichos valores. Sin
embargo, debido a la complejidad del proceso existen momentos en los cuales se presentan violaciones,
bien sea por exceso ó por escases. El problema realmente se encuentra cuando las violaciones superan los
inventarios físicos. En general los inventarios físicos de los tanques varían entre cero (0) y diez por ciento
(10%) adicional a su capacidad máxima operativa.
60
6.2.2.4 Proceso de suministro y recepción de productos
La Vicepresidencia de Transportes de ECOPETROL S.A. establece que para la modelación del proceso en
cuestión, es pertinente establecer los horizontes de tiempo en los cuales se espera suministrar y recibir el
conjunto de productos, día a día. Por lo cual, el presente proyecto de investigación establece que para todos
los nodos de la red el proceso de recepción de productos debe iniciar a las cero (0:00) horas de cada día y
debe terminar a las once y cincuenta y nueve (11:59) horas del mismo periodo. El proceso de suministro, por
su parte debe iniciar a las doce (12:00) horas y finalizar a las veintitrés y cincuenta y nueve (23:00) horas.
6.2.2.5 Proceso de Transporte de Productos Refinados a través de Poliductos
En todo proceso de transporte aéreo, marítimo, terrestre, etc., se deben definir pautas de operación, en
términos de las cantidades, condiciones, tiempos, entre otros. En el caso del transporte a través de
poliductos se deben definir tanto los tamaños de las órdenes a distribuir, como las condiciones operativas
en las cuales se debe realizar el transporte.
6.2.2.5.1 Tamaño de Orden y Horizonte de Programación
Con el fin de disminuir la complejidad del problema, es aconsejable dividir tanto el periodo de tiempo de la
programación como los tamaños de las órdenes de envío en intervalos discretos (Floudas & Lin, 2004). Este
procedimiento consiste en definir espacios de tiempos constantes en los cuales se debe transportar una
cierta cantidad de producto.
Los volúmenes de envío se definen en paquetes o “batchs” con el fin de programar las restricciones de una
forma relativamente más simple y directa (Floudas & Lin, 2004). El tamaño de los batchs depende
directamente del nivel de demanda, las existencias en los tanques y la capacidad de transporte de cada una
de las líneas, sección 6.2.1.2. En definitiva, el volumen de producto a transportar constituye una variable de
decisión, que mediante el algoritmo genético, se busca encontrar la combinación que mejor se acople a los
objetivos operativos de ECOPETROL S.A. Es de aclarar que la sumatoria de los tamaños de ordenes
programados a través de un ducto, en ningún momento pueden superar la capacidad de transporte definida
en la sección 6.2.1.2.
En cuanto al tiempo, el presente proyecto contempla la división del horizonte de programación en espacios
de dos (2) horas, de esta manera en las primeras seis (6) divisiones temporales del día se emplean para
concretar el proceso de suministro; las restantes doce (12) horas se utilizan para llevar a cabo el proceso de
despacho.
6.2.2.5.2 Condiciones Operativas
Para poder realizar el suministro entre dos nodos es necesario enviar cualquier volumen de producto que se
encuentre dentro de los límites establecidos en la sección 6.2.1.2. Esta condición se conoce como transporte
a través de ductos en condición de “lleno de línea”. Si el transporte viola los niveles mínimos ó máximos
admisibles se considera imposible realizar el suministro.
61
6.3 Definición de la Función Objetivo, Parámetros y Restricciones
6.3.1 Definición Función Objetivo
La generación de un programa de transporte mediante el modelo propuesto en el presente proyecto está
definida por dos (2) funciones objetivo: por un lado, se busca minimizar las violaciones de inventario. Por
otro lado, se busca minimizar la contaminación entre productos, como consecuencia de interfaces no
permitidas en la secuencia de envío. Es decir, el problema consta de una función multiobjetivo definida por
las siguientes ecuaciones:
∑ ∑ ∑
∑ ∑ ∑
Donde, para la F.O Z, d es el día de programación, n el número de nodo, p es el tipo de producto y v se
refiere a las violaciones de inventario del producto p en el nodo n y en el día d. Para la función objetivo Z d
también es el día de programación, b el batch, l el número de línea, y Cobdl es la variable binaria que indica el
cumplimiento (0) o no cumplimiento (1) de la contigüidad del batch b, del día d y en la línea
6.3.2 Definición de los Parámetros
Demanda de cada nodo: se debe incluir en la programación la cantidad de producto requerida en cada uno
de los nodos que componen la red de poliductos. Como se mencionó en la sección 6.2.2.1 estos valores son
constantes para todo el horizonte de programación.
Recepción de Productos: Como se mencionó en la sección 6.2.1.2 el tiempo de viaje entre nodos es de
veinticuatro (24) horas, se espera que el suministro programado para el día n arribe en el día n+1. Siguiendo
este orden de ideas, al inicializar la programación del transporte, es indispensable conocer la cantidad de
producto suministrada el último día del periodo anterior. La figura 6.6 ilustra el proceso de suministro de
dos programaciones sucesivas, como se puede apreciar, para la inicialización de la segunda secuencia es
necesario conocer la cantidad de producto despachada en el día diez (10) de la programación anterior. De
esta manera es posible establecer que dicha información corresponde a un parámetro de inicialización del
modelo.
Figura 6.6. Proceso de Suministro
Fuente: Elaboración de los Autores
Tiempo de viaje: Desde un nodo al siguiente que le corresponde. Se obtiene a partir del flujo promedio por
línea, y el volumen total de la línea en barriles.
DÍA 1 DÍA 2 … DÍA 9 DÍA 10 DÍA 1 DÍA 2 … DÍA 9 DÍA 10
62
Nivel de Inventarios: El usuario debe ingresar el nivel de inventarios finales del periodo anterior, esta
información corresponde a los inventarios iniciales de la siguiente programación del transporte.
6.3.3 Definición de Restricciones
Restricción de cumplimiento de inventarios: No se puede exceder la cantidad de producto máximo
permitido en los tanques de almacenamiento ni dejarlos por debajo del mínimo requerido.
Hay que considerar que el atendimiento a la demanda se hace retirando producto de los tanques de
almacenamiento. Por lo tanto, si no se violan las restricciones de los límites inferiores de la capacidad de los
tanques, se garantiza que todas las demandas sean atendidas ( Rennó Frota Moraes Alves & Martins Ferreira
Filho, 2007). Es decir, las dos restricciones anteriores pueden combinarse en una sola; satisfacción de la
capacidad de almacenamiento. Al tratarse de un Algoritmo Genético, la restricción no se hace mediante una
ecuación como se haría con un método exacto. En cambio, se penalizan las violaciones de inventario con el
fin de volver la solución factible en una solución con poca probabilidad de reproducción.
Restricción de contigüidad: los productos no pueden ser adyacentes a un producto incompatible, entonces
la restricción penaliza, de manera binaria, un batch de producto que no es compatible con el siguiente. Es
decir, la formulación genera un 0 si la condición se cumple o un 1 si no.
Restricción Capacidad de Transporte: Como se menciona en la sección 6.2.1.2 cada una de las líneas de
transporte presenta una capacidad mínima y máxima de transporte. El número de barriles transportados
diariamente debe ser definido dentro de los rangos establecidos, de lo contario sería imposible efectuar la
movilización de los refinados. Como se menciona en el apartado 6.2.4.3 el volumen de transporte constituye
una variable de decisión, con rangos que oscilan entre la capacidad mínima y máxima de cada de línea. De
esta manera se restringe aquellas soluciones que no se encuentren dentro de los límites admisibles.
6.2.4.3 Variables de Decisión
La metodología propuesta contempla un total de mil quinientas sesenta (1560) variables de decisión
discriminadas de la siguiente manera:
1. Como se menciona en la sección 6.2.1.1, la red de poliductos esta conformada por trece (13) líneas
de bombeo y el horizonte de programación es de diez (10) días calendario. Según el proceso de
división del tiempo en periodos discretos, cada día esta divido en intervalos constantes, en los
cuales se debe distribuir alguno de los productos. De esta manera por cada línea existen seis (6)
variables que indican el tipo de producto a distribuir y por lo tanto para la totalidad del horizonte
de programación existen sesenta (60) variables por línea. Haciendo la sumatoria del número de
líneas existentes en total existen setecientas ochenta (780) variables que intervienen en el proceso
de selección del producto.
2. Para cada uno de los productos definidos en el numeral anterior es necesario definir el volumen a
transportar. A saber, por cada producto transportado existe una variable que determina la
cantidad de producto a movilizar. De esta manera al sistema se le deben adicionar setecientas
ochenta (780) variables que determinen dicho volumen.
63
7. DISEÑO Y VALIDACIÓN DEL MÉTODO METAHEURÍSTICO El algoritmo genético empleado para el desarrollo del modelo de programación de poliductos de
ECOPETROL S.A. consta de mil quinientas sesenta (1560) variables de decisión y dos (2) funciones objetivo.
Como se mencionó en el apartado 5.4, se decidió contactar directamente al desarrollador de la herramienta,
el Profesor Josef Bicik PhD., quien luego de conocer el proyecto, decide suministrar una versión más
avanzada que permite resolver problemas de optimización de gran tamaño mediante algoritmos genéticos.
Es de aclarar que dicha herramienta realiza exclusivamente el proceso de iteración sucesiva bajo los
parámetros establecidos. Por lo tanto, el proceso de programación de todos aquellos aspectos considerados
en el capítulo seis (6), debe ser realizado por los autores del presente proyecto de investigación.
7.1 Parámetros y función fitness del modelo
Para el presente proyecto, y con el fin de determinar los valores de los operadores genéticos a emplear, se
realiza una serie de corridas combinando posibles alternativas aptas para el algoritmo genético. Estos
valores previamente escogidos fueron seleccionados con base en las recomendaciones de diversos autores y
el desempeño de sus respectivos trabajos cuya recopilación se muestra en el Anexo A. Las recomendaciones
de los autores incluyen bajas tasas de mutación, un tamaño de población entre cincuenta (50) y cien (100)
individuos, y altas tasas de crossover (Goldberg & Kuo, 1985). La Tabla 7.1 documenta el resultado de
efectuar veintiocho (28) ejecuciones con el fin de encontrar la combinación más adecuada.
Tabla 7.1. Parámetros
Fuente: Elaboración de los autores
Debido a que el objetivo del proyecto consiste en minimizar tanto el número de secuencias prohibidas en la
programación (contigüidad) como las violaciones en los niveles de inventario, se ha escogido la combinación
de parámetros cuya solución representa el conjunto de mejor resultado. A manera de ejemplo, la Tabla 7.1
evidencia que la utilización de un tamaño de población igual a 75 individuos, una tasa de mutación de 0,05 y
una tasa de reproducción de 0,95, genera una solución que no presenta ninguna violación de contigüidad.
Sin embargo el resultado conjunto no es el más adecuado debido a que tiene la mayor violación de
inventarios con respecto al resto de opciones.
Como se mencionó en el apartado 5.1.1.5.3, al trabajar con problemas de carácter multiobjetivo se genera
un conjunto de soluciones denominado “Frente Pareto”. Estas soluciones se convierten en individuos aptos
para ser reproducidos siempre y cuando no existan otras soluciones en el espacio de búsqueda mejores a
ellas una vez todos los objetivos sean simultáneamente considerados (de Souza, 2010). Sin embargo, el
manejo de múltiples soluciones acarrea el problema de decidir cuál de ellas será considerada como una
única solución.
64
La decisión de elegir cuál de las soluciones halladas debe ser escogida, en ocasiones depende de la
perspectiva del decisor y puede tornarse en un proceso subjetivo (Felipe Baesler, 2008). La Tabla 7.2 resume
tres (3) soluciones halladas, que no hacen parte de la solución final del proyecto, pero sirven para explicar el
proceso de selección de la misma.
Tabla 7.2. Comparación de Soluciones
Fuente: Elaboración de los Autores
Suponiendo que de las soluciones presentadas en la Tabla 7.2 se quisiera seleccionar aquella que maximiza
los intereses de ECOPETROL S.A., es necesario establecer a cuál de las dos funciones objetivo se le dará
mayor importancia; bien sea al cumplimiento de los niveles de inventario ó por el contario a la minimización
de secuencias de productos no permitidas. Como se explicará en el apartado 7.2.3 el presente proyecto
contempla una fase de ajuste de las soluciones. Esta función busca reordenar las secuencias prohibidas
presentes en un programa de transporte y por eso se busca eliminar las violaciones de contigüidad debido a
que ECOPETROL S.A. no permite este tipo de violaciones. Por lo tanto, sabiendo que la contigüidad puede
ser corregida más adelante el criterio de selección de la respuesta se fundamenta en elegir aquella que
presente un mejor comportamiento en la violación de los niveles de inventario.
Por tal motivo, se escogió la combinación que se mostrará más adelante a partir de la Tabla 7.1. Se evidencia
que es la solución con la menor violación de los niveles de inventarios:
Tamaño de población: 75 individuos
Tasa de mutación: 0,1
Tasa de reproducción: 0,95
7.1.1 Representación de los cromosomas
En el capítulo 5 se presentan las dos (2) formas existentes para representar el cromosoma del algoritmo
genético; una para redes con líneas unilaterales y la otra para líneas bilaterales. Como se menciona en el
capítulo 6, la red de poliductos a representar no contiene ductos bilaterales y por lo tanto se emplea la
metodología propuesta para líneas de una sola dirección.
El cromosoma planteado en la presente investigación se compone de mil quinientos sesenta (1560) genes.
Adicionalmente, dicho cromosoma se encuentra dividido en dos (2) secciones. La primera sección; desde el
gen uno (1) hasta el gen setecientos ochenta (780), indica el tipo de producto a transportar, bajo la
convención que ilustra la tabla 7.3. La segunda sección, desde el gen setecientos ochenta y uno (781) hasta
el gen al mil quinientos sesenta (1560), indica la cantidad de producto a transportar, expresado en miles de
barriles.
65
Tabla 7.3. Caracterización de productos
Fuente: Elaboración de los autores
De esta manera, cada uno de los batchs transportados, a través de la red de poliductos, se encuentra
definido por dos variables:
El tipo de producto a movilizar (primera sección)
El número de barriles de producto (segunda sección)
La Figura 7.1 ilustra el proceso de representación del cromosoma. Como se puede apreciar, el gen número
uno (1) indica el tipo de producto, y el gen setecientos ochenta y uno (781) indica la cantidad, en miles de
barriles, a transportar de dicho refinado. En general, el gen define la cantidad de producto del gen
; donde [ ] .
Figura 7.1 Representación del Cromosoma
Fuente: Elaboración de los Autores
Cada sección representa trece (13) líneas de transporte compuestas por sesenta (60) genes cada una. Estos
sesenta (60) genes constituyen el horizonte de programación que se ha definido para el presente proyecto,
es decir, diez (10) días. Por lo tanto, un (1) día de programación está compuesto por seis (6) genes, como se
aprecia en la figura 7,2 para el caso de la línea GALÁN y SEBASTOPOL.
Figura 7.2. Representación de los cromosomas
Fuente: Elaboración de los autores
MANIZALES - CARTAGO
NÚMERO DE GEN x1 x2 x3 x4 x5 x6 x777 x778 x779 x780 x781 x782 x783 x784 x785 x786 x1557 x1558 x1559 x1560
VARIABLE 3 2 2 2 1 1 1 1 2 2 17 11 15 10 12 16 1 1 1 1
…GALÁN-SEBASTOPOL 12"
TIPO DE PRODUCTO
Se transportan 17 mil barriles de
Gasolina Motor
VOLUMEN DE PRODUCTO
GALÁN-SEBASTOPOL 12"
…
66
7.1.2 Generación de población inicial de cromosomas
El conjunto de soluciones iniciales ó piscina de soluciones, es generado mediante el programa GANetXL. Este
programa no requiere información complementaria para realizar este procedimiento pues su generación es
totalmente aleatoria. Sin embargo, el programador debe definir la cantidad de soluciones iniciales, ya que
de esto dependen dos aspectos: la diversidad de la población para generar nuevas soluciones y la velocidad
con la que se cumple el criterio de terminación del algoritmo. Como se explica en el apartado 7.1, se ha
escogido una población inicial de setenta y cinco (75) individuos debido a los resultados obtenidos en las
ejecuciones realizadas.
7.1.3 Selección de cromosomas candidatos a ser reproducidos
En el resumen de los parámetros utilizados por los autores consultados, expuestos en el Anexo A, se puede
apreciar que la mayoría de ellos (5 de 7) utilizaron el método de Elitismo, que consiste en seleccionar los
mejores individuos de cada generación para ser candidatos a ser reproducidos. GANetXL propone un
método de selección denominado Crowded Tournament, donde, de la población de soluciones iniciales, son
elegidos dos cromosomas de forma aleatoria y comparados entre sí, con respecto al desempeño de la
función de fitness. En caso de empate, se emplea el criterio de Crowding Distance, que en español traduce
“distancia de hacinamiento”. El objetivo es estimar la densidad de soluciones cercanas a cada uno de los
cromosomas el cual consiste en determinar el perímetro de un cuboide, utilizando como vértices la
ubicación de los vecinos más cercanos (Deb, 2001). De esta manera aquella solución que presente la mayor
distancia de hacinamiento, es la ganadora.
7.1.4 Reproducción y mutación de los cromosomas
El programa GANetXL ofrece tres (3) opciones de reproducción: reproducción simple de un (1) punto,
reproducción simple multipunto y crossover uniforme. El método más utilizado entre las referencias
consultadas que utilizan algoritmos genéticos para intentar resolver el problema, cinco (5) autores de siete
(7), fue el Crossover Uniforme (Anexo A). Esto se puede deber a que la distribución del material genético no
depende de la posición del gen en el cromosoma (Exeter, University of, 2011). Es decir, los genes de los hijos
resultantes están distribuidos en el cromosoma de forma aleatoria. Debido a los resultados satisfactorios de
los demás autores, se ha decidido utilizar el método mencionado.
7.1.5 Terminación de iteraciones
En la sección 5.1.1.5.3 se menciona que como criterio de parada se emplea un número máximo de
generaciones o un tiempo mínimo de procesamiento ( Rennó Frota Moraes Alves & Martins Ferreira Filho,
2007). Para el presente proyecto, y debido a que el programa GANetXL exige un número de iteraciones
como criterio de parada, se ha definido un total de mil quinientas (1500) iteraciones. Básicamente esto se
debe a limitaciones de tiempo. Sin embargo, la razón de la cantidad de iteraciones se explicará con mayor
detalle en la sección 8.1
67
7.2 Diseño y validación
El proceso de iteración del algoritmo genético se realiza mediante GANetXL. Esta herramienta al estar
programada en Visual Basic de Excel, permite referenciar las celdas de las hojas de cálculo. Este aspecto
facilita la representación de las actualizaciones de inventarios, niveles de demanda de cada producto,
violaciones de las capacidades operativas, secuencias de productos incompatibles, entre otros. El anexo
digital registra el documento empleado para la programación del presente proyecto de investigación.
El proceso de generación del programa de transporte se realiza en tres (3) etapas; la primera consiste en
ejecutar el programa usando el algoritmo genético, explicado en el capítulo siete 7.2.2. Sin embargo, como
no necesariamente las soluciones encontradas en esta fase son factibles, se debe contar con una función de
ajuste para arreglar este tipo de situaciones. Esto conlleva a la ejecución de la segunda fase, en donde se
emplea un algoritmo de reparación que tiene como objetivo reorganizar las secuencias calculadas en la fase
anterior, buscando mantener el cumplimiento de la demanda y los niveles de inventario. Finalmente, se
realiza un procedimiento manual que contempla el ajuste de las soluciones calculadas en las etapas
anteriores, con el objetivo de maximizar la calidad de los resultados obtenidos.
7.2.1 Datos de entrada
Para iniciar el proceso de generación del programa de transporte, es necesario contar con tres (3) conjuntos
de datos, cada uno discriminado por tipo de producto y nodo, que se especifican a continuación:
Cantidad de producto enviado en el último día de la programación anterior.
Inventario final del último día de programación.
Demanda de refinados para todo el horizonte de programación.
La necesidad de contar con información del inventario final del periodo anterior se debe a que cada día está
ligado al día anterior por el inventario inicial. Es decir, el inventario final del día i se convierte el inventario
inicial del día i+1. De la misma manera ocurre con la cantidad de producto suministrada el último día de una
programación, pues debido a los tiempos de transporte definidos en el capítulo 6, dicha cantidad se espera
ser recibida durante el día (1) de la programación subsiguiente.
La demanda por su parte, como se menciona en el capítulo 6, hace referencia a un conjunto de valores que
permanecen constantes durante los diez (10) días de programación. Esto se debe a que Ecopetrol S.A. exige
a sus consumidores hacer un pronóstico de los requerimientos de productos para los próximos tres (3)
meses de suministro. Según expertos en transporte de ECOPETROL S.A., generalmente estos valores no
sufren cambios representativos, sin embargo, el programa propuesto admite variaciones y considera la
demanda como un dato de entrada debido a que esta información es susceptible a cambios gracias a su
componente de incertidumbre.
7.2.2 Programación del algoritmo
Como se menciona en el apartado 7.1.1, el cromosoma representa tanto la secuencia de envío de los
productos como el volumen de cada batch. El proceso de iteración y búsqueda de soluciones se realiza
conforme a dos (2) aspectos relacionados con el desempeño de las funciones de fitness para cada una de las
soluciones halladas: el nivel de cumplimiento de los inventarios y el número de violaciones de contigüidad.
68
Los algoritmos genéticos, al no ser un método exacto, deben ser restringidos no mediante fórmulas, sino por
medio de métodos de penalización. En el presente proyecto y para el caso de las contigüidades, se cuenta
con una función binaria que evidencia, con un uno (1), si hay una violación entre un producto y el siguiente,
o cero (0) en caso contario. A continuación en la figura 7.3 se ilustra un ejemplo del caso para la línea de
GALÁN - SEBASTOPOL de doce (12) pulgadas. En este caso, el cromosoma muestra dos (2) violaciones debido
a que el producto 1 (GASOLINA MOTOR) no es compatible con el producto 3 (BIODIESEL B2 EXTRA).
Figura 7.3. Penalización de contigüidad
Fuente: Elaboración de los autores
Para penalizar las violaciones de inventarios, se requiere una serie de cinco (5) formatos que ayudan, no sólo
a detectar dichas violaciones, sino también a validar el modelo, pues constituyen la simulación
determinística de la programación que será abordada con mayor detalle en el apartado 7.2.4. Estos cinco (5)
tableros recopilan información relacionada con la cantidad de productos entrantes, productos salientes,
demanda, inventario inicial y final en cada uno de los nodos, como se muestra en la tabla 7.4.
Tabla 7.4: Formatos de recopilación de información
Fuente: Elaboración de los autores
1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
GALÁN
SEBASTOPOL
SALGAR
MEDELLÍN
CARTAGO
MANIZALES
BUGA
YUMBONEIVA
MANSILLA
9 103 4 5 6 7
DÍA
PRODUCTO PRODUCTO PRODUCTO PRODUCTO PRODUCTO PRODUCTO PRODUCTO PRODUCTO PRODUCTO PRODUCTO
SALE / DEMANDA / INVENTARIO INICIAL / INVENTARIO FINAL
1 2 8
69
Tabla 7.5. Formato de Productos Entrantes
Fuente: Elaboración de los autores
Como se puede apreciar en la tabla 7.5, se registra un (1) día adicional en comparación al formato
presentado en la tabla 7.4, los datos de la franja amarilla corresponden al producto enviado durante el día
diez (10) y que se espera recibir al siguiente día; en definitiva dicha información constituye los datos de
entrada de la programación subsecuente.
La organización de los datos en las tablas 7.4 y 7.5 está definida por tres (3) parámetros: El nodo, el día y el
tipo de producto. La figura 7.4 ilustra una matriz reducida de información como la ilustrada en la tabla 7.4
para explicar de forma más detallada su manejo: La primera casilla contiene el valor de 35 (en círculo rojo),
lo cual indica que en la matriz de “Entrada”, el nodo 1 (GALÁN) se reciben treinta y cinco (35) batchs del
producto 1 (GASOLINA MOTOR) durante el día 1 de la programación. Así mismo, en el nodo 10 (Mansilla) se
reciben cinco (5) batchs de producto 2 (Biodiesel Extra) en el día 1 de la programación.
Figura 7.4. Matriz reducida
Fuente: Elaboración de los autores
Una vez reunida la información de inventarios, producto entrante y saliente y demanda, es posible
determinar si habrá una violación de inventarios mediante la siguiente fórmula
Ecuación 7.1
Donde
1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
GALÁN
SEBASTOPOL
SALGAR
MEDELLÍN
CARTAGO
MANIZALES
BUGA
YUMBO
NEIVAMANSILLA
11
PRODUCTO PRODUCTO PRODUCTO PRODUCTO PRODUCTO PRODUCTO PRODUCTO PRODUCTO PRODUCTO PRODUCTO PRODUCTO
6 7 8 9 101 2 3 4 5
ENTRADÍA
70
IFdnp: Inventario final del día d, nodo n y producto p
IIdnp: Inventario inicial del día d, nodo n y producto p
PEdnp: Producto entrante del día d, nodo n y producto p
PSdnp: Producto saliente del día d, nodo n y producto p
Dij: Demanda del día d, nodo n y producto p
Al final, se utiliza una función de evaluación que valora si el resultado es una violación o no. Esta función
compara el inventario final de cada día con el inventario mínimo y máximo por estación y, si
Ecuación 7.2
Donde Imdno es el inventario mínimo del día d, nodo n y producto p, e IMdnp es el inventario máximo del día
d, nodo n y producto p, entonces se estaría faltando con las especificaciones operacionales de Ecopetrol S.A.
Si esto ocurre, se penaliza la función objetivo y el algoritmo debe buscar una mejor solución.
7.2.3 Algoritmo de ajuste
En ocasiones, es posible que los algoritmos genéticos tengan soluciones no factibles. Esto sucede cuando
hay violaciones que no son admisibles; ya sea por incoherencias en el funcionamiento, como la recepción de
productos que no han sido enviados (de Arruda, Neves-Jr, & Yamamoto, 2007), o por situaciones
inaceptables, como la contigüidad en el presente proyecto. En estas situaciones se pueden considerar dos
opciones con respecto a la respuesta: una alternativa sería desechar todas aquellas soluciones no factibles,
mientras que la otra solución común es aplicar un algoritmo de reparación (de Arruda, Neves-Jr, &
Yamamoto, 2007).
La opción escogida en el presente proyecto consiste en reparar las violaciones existentes mediante un
algoritmo de reordenamiento. Éste funciona con la generación de un módulo realizado en un lenguaje
utilizado para programar aplicaciones llamado Visual Basic for Applications (VBA) de Excel. La utilización de
VBA permite ampliar la funcionalidad de programas de Microsoft Office mediante la automatización de
tareas repetitivas como el ordenamiento de datos, la generación de comandos, administración de bases de
datos, entre otros. El algoritmo desarrollado que ajusta la solución inicial consiste de 3 pasos:
1) Identificación: El programa recorre la fila que identifica si un par de productos cumplen con la
restricción de contigüidad para así identificar una violación, como lo ilustra la figura 7.5 el cual
muestra una violación el día dos (2) en la línea GALÁN – SEBASTOPOL de doce (12) pulgadas.
71
Figura 7.5. Identificación de la violación
Fuente: Elaboración de los autores
2) Determinación y almacenamiento: Después de encontrada la violación de contigüidad, el
programa identifica el día en que se incurrió para guardar los productos enviados junto con el valor
de su volumen en un vector secundario. De esta manera se facilita la siguiente operación ya que le
vector sufrirá cambios que, si son realizados directamente sobre el formato original, la velocidad
del algoritmo de programación se vería afectado.
Figura 7.6. Determinación y almacenamiento
Fuente: Elaboración de los autores
3) Generación aleatoria: Una vez almacenados los datos en el vector, se genera aleatoriamente un
nuevo arreglo y se imprime en el formato con el fin de evaluar si este nuevo ordenamiento tiene
alguna violación de contigüidad. Si se encuentra una nueva violación, el proceso se repite hasta
encontrar una secuencia válida.
Figura 7.7. Generación aleatoria
Fuente: Elaboración de los autores
A pesar de contar con el presente algoritmo de reparación, puede suceder que existan secuencias donde no
sea posible arreglar la contigüidad. En dado caso, la función de reparación introduce el producto compatible
sacrificando de esta manera el inventario pero cumpliendo con la restricción de contigüidad. El código de
programación se encuentra consignado en el Anexo B.
72
7.2.4 Módulo de simulación determinística
La simulación determinística, para el presente caso, se compone básicamente de dos (2) formatos como los
presentadas en el apartado 7.2 debido a que sintetizan y organizan la información de manera que el
programador pueda interpretarla fácilmente. Sin embargo, estas dos tablas complementan su información
con las tablas de “Entra”, “Sale”, “Inventario Inicial” e “Inventario Final”, también explicadas en el apartado
7.2. El primer formato evidencia si existen o no violaciones de inventario. Si se incurre en una violación, la
casilla indicando el día, el nodo y el producto evidenciará las unidades en las que se ha incurrido la violación,
como lo muestra el ejemplo de la tabla 7.5.
Tabla 7.5. Reporte de envíos
Fuente: Elaboración de los autores
En este caso, se ha incurrido en tres (3) violaciones de inventario el primer día de programación, las cuales
corresponden a siete (7) batchs de producto tres (3) en MEDELLÍN, un (1) batch de producto tres (3) en
CARTAGO y un (1) batch de producto uno (1) en el nodo YUMBO. El programador, en este caso, debe
remitirse al formato de “Inventario Final” con el fin de validar el tipo de violación; es decir si es por exceso o
por faltante. La programación señala el texto “OK” en el resto de casillas evidenciando que no se han violado
más inventarios en ningún otro nodo de los días restantes.
Hay que considerar que, si bien el cumplimiento de inventarios significa un cumplimiento de la demanda, el
incumplimiento de inventarios no necesariamente implica un incumplimiento en la demanda. Esto se da
cuando
…
1 2 3 1 2 3 1 2 3
GALÁN OK OK OK OK OK OK OK OK OK
SEBASTOPOL OK OK OK OK OK OK OK OK OK
SALGAR OK OK OK OK OK OK OK OK OK
MEDELLÍN OK OK 7 OK OK OK OK OK OK
CARTAGO OK OK 1 OK OK OK … OK OK OK
MANIZALES OK OK OK OK OK OK OK OK OK
BUGA OK OK OK OK OK OK OK OK OK
YUMBO 1 OK OK OK OK OK OK OK OK
NEIVA OK OK OK OK OK OK OK OK OK
MANSILLA OK OK OK OK OK OK OK OK OK
PRODUCTO
10
PRODUCTO PRODUCTO
VIOLACIÓN DE INVENTARIOS
DÍA
1 2
73
Ecuación 7.3
Donde, d indica el día, n el nodo y p el tipo de producto que se analiza de las siguientes variables: el
inventario inicial (II), el producto entrante (PE), el producto saliente (PS) y la demanda (D). Esto se debe a
que una violación de inventario se reporta cuando el inventario final es menor al límite inferior. Por tal
motivo cuando el inventario final resulta ser un valor entre cero (0) y el límite inferior, se viola el inventario
pero los demás requerimientos se satisfacen. Por esta razón también se reportan las violaciones de
demanda mediante un formato como el de la tabla 7.5 según la siguiente función condicional:
Donde es la violación de la demanda del día d, en el nodo n del producto p.
Programación 7.1
De esta manera, el programador puede observar que aunque se haya incurrido en una violación de
inventario, la demanda puede haberse suplido.
7.2.4 Flujograma del Proceso
El procedimiento propuesto para generar los programas de envío de refinados difiere del procedimiento
actual, ilustrado en la figura 3.3 del capítulo 3, básicamente en dos (2) aspectos: la automatización de
74
programas de envío iniciales y la eliminación del ciclo de verificación de los resultados. A continuación en la
figura 7.8 se ilustra el procedimiento propuesto para realizar la programación de envíos de refinados.
Figura 7.8. Flujograma del procedimiento
Fuente: Elaboración de los autores
Como se puede observar, no se elimina la labor del programador pues el proceso aun cuenta con un
componente manual donde la persona debe arreglar falencias en la solución. Esto se debe a que el
programa minimiza las violaciones de inventarios, mas no asegura que estas sean eliminadas.
Esto quiere decir que el proceso propuesto para realizar el programa de envíos está compuesto por tres (3)
fases: La primera fase consiste en la importación y ejecución del programa basado en algoritmos genéticos.
Como este programa puede brindar resultados con violaciones de contigüidad y dado que estas violaciones
son inaceptables para ECOPETROL S.A., se cuenta con una segunda fase llamada “Fase de Ajuste”. Esta
consiste en una macro creada en Excel® que permite encontrar un ordenamiento lo cual no genere
violaciones de contigüidad. Sin embargo, esta fase no siempre es necesaria debido a que la solución inicial
puede no contener estas violaciones. Por último, la fase manual, como ya se explicó, consiste en la
intervención del programador para mejorar la solución que ha brindado el programa basado en algoritmos
genéticos. De esta forma, se obtienen los reportes de envío significativamente más rápido que de la forma
actual, hecho que se verá en el próximo capítulo.
75
8. SOLUCIÓN DEL MODELO
Una vez validado el modelo, en el capítulo 7, se procede a comparar los resultados obtenidos con
programaciones reales, efectuadas bajo el procedimiento que actualmente maneja ECOPETROL S.A. De esta
manera es posible identificar si en realidad la metodología propuesta representa un mejoramiento
significativo del proceso. Este análisis constituye la base para realizar la evaluación financiera del proyecto,
con el fin de cuantificar la relación entre el costo y el beneficio de su implementación, que será desarrollado
en el capítulo 9.
8.1. Tiempos de Procesamiento
Como se mencionó en la sección 3.3, el proceso de programación del transporte de productos, a través de la
red de poliductos de ECOPETROL S.A., tarda en promedio doce (12) horas, para lograr la configuración del
suministro semanal. Los algoritmos genéticos, al contar con un criterio de parada definido por el decisor,
brindan la posibilidad de controlar el tiempo de procesamiento total. Esta característica permite realizar la
programación del transporte en el tiempo establecido por el área encargada. Uno de los principales retos es
encontrar una solución que cumpla los objetivos y reglas establecidos en el capítulo 6, cumpliendo
adicionalmente con en el tiempo máximo establecido.
El tiempo de procesamiento, para la solución de modelos basados en algoritmos genéticos, es directamente
proporcional al tamaño de población inicial; a medida que se incrementa el conjunto inicial de soluciones, el
tiempo necesario para concretar el programa de transporte también aumenta. Esto se debe a que estas dos
variables presentan una correlación directa positiva ( Rennó Frota Moraes Alves & Martins Ferreira Filho,
2007). Por tal motivo, y como se mencionó en el apartado 4.1.1.5.3, es aconsejable emplear una población
de tamaño moderado, es decir entre cincuenta (50) y cien (100) individuos (Goldberg & Kuo, 1985), para no
incurrir en largos tiempos de procesamiento.
Otro factor que influye en el tiempo de ejecución del algoritmo genético, es la intervención de la capacidad
de procesamiento del equipo de cómputo utilizado. Para el presente proyecto se emplea un procesador
Intel ® Core ™ i5-2410 CPU @ 2.3 GHz y Memoria RAM de 6 GB. En la tabla 8.1 se evidencian los tiempos
marginales y totales de procesamiento para tres (3) valores de población inicial.
Tabla 8.1. Tiempos de Procesamiento
TAMAÑO DE
POBLACIÓN INICIAL
TIEMPO
MARGINAL DE
ITERACIÓN (S)
NÚMERO DE
ITERACIONES (EN 50
MINUTOS)
50 1,2 2500
75 1,8 1700
100 2,4 1250
Fuente: Elaboración de los Autores
8.2 Resultados
La tabla 8.2 resume la comparación entre el proceso de programación actual del transporte y el propuesto a
través de la implementación del procedimiento metaheurístico. Las alternativas se comparan en términos
76
de horas de paro de bombeo como consecuencia de violaciones de inventario. Los datos incluidos en la
columna “Paros de Bombeo” de la Metodología Actual fueron obtenidos del análisis de los reportes de envío
provistos por ECOPETROL S.A. para el periodo comprendido entre el 10 de Febrero y el 31 de Marzo de
2012. Más específicamente, cada valor de la columna corresponde a la suma del tiempo que estuvieron
paradas las líneas de la red considerada en el presente proyecto. Estos datos se encuentran discriminados
en el Anexo C. Por otro lado, como se dispone de los datos de programación de cincuenta (50) días
calendario y para documentar los datos de la metodología propuesta, se debe ejecutar el procedimiento
metaheurístico cinco (5) veces consecutivas debido al horizonte de tiempo considerado (10 días calendario).
Hay que considerar que para realizar este procedimiento, se establece que el inventario final de una
programación i representa las existencias iniciales del periodo i+1.
Tabla 8.2. Comparación entre metodología actual y propuesta
METODOLOGÍA ACTUAL METODOLOGÍA PROPUESTA
PERIODO PROGRAMADO (DÍA)
PAROS DE BOMBEO (HORAS)*
PAROS DE BOMBEO (HORAS)*
1 AL 10 368,83 0 11 AL 20 236,16 0 21 AL 30 149,58 0 31 AL 40 250,18 0
41 AL 50 78,13 0 *Cifras correspondientes a la sumatoria de los paros de bombeos de todas las líneas consideradas en el proyecto
Fuente: Documentos de ECOPETROL S.A., Resumen de las violaciones de inventario
Los resultados detallados de la metodología propuesta se encuentran consignados en el Anexo D. Allí se
incluyen las secuencias de envío y recepción de productos discriminado por nodos, acompañado de la
correspondiente validación del modelo. De esta manera se garantiza que las soluciones cumplen con las
condiciones de conservación de materia, secuencias permitidas y, en general, que las soluciones son
factibles y cumplen con los requerimientos especificados en el apartado 6.1.2
8.2.1 Interpretación de los Resultados
Los resultados presentados en el Anexo D presentan por cada periodo de diez (10) días la siguiente
información:
A. Secuencias de envío y recepción, discriminado por tipo de producto, día y hora de suministro y línea
por la cual se transporta el mismo, y
B. La validación para cada uno de los horizontes de programación, como se especifica en el capítulo 7.
Esta herramienta tiene la función de garantizar la viabilidad de cada una de las soluciones.
Con respecto a las secuencias de envío y recepción, en la figura 8.1 se muestra un ejemplo que ilustra la
documentación de los reportes de envío
77
Figura 8.1.Esquema de Resultados
Fuente: Elaboración de los Autores
Cada una de las celdas en la figura 8.1 representan un volumen de producto, y la información se interpreta
como muestra la figura 8.2.
12:00 14:00 16:00 18:00 20:00 22:00
1 2 3 4 5 6
17 B2E 11 B2E 15 B2E 10 B2E 12 B2E 16 B2E
7 8 9 10 11 12
15 B2E 9 B2E 18 B2E 19 B2E 15 B2E 18 B2E
13 14 15 16 17 18
14 B2E 17 B2E 13 B2E 14 B2E 9 B2E 8 B2E
19 20 21 22 23 24
16 B2E 10 B2E 13 B2E 19 B2 17 GM 19 B2
25 26 27 28 29 30
15 B2 9 B2 17 GM 8 B2 15 B2E 8 B2
31 32 33 34 35 36
15 B2 14 B2 16 GM 19 GM 19 GM 14 B2
37 38 39 40 41 42
10 B2E 10 B2E 14 B2 17 GM 16 GM 17 GM
43 44 45 46 47 48
17 GM 17 GM 15 B2 13 B2 12 B2E 9 B2
49 50 51 52 53 54
19 GM 10 B2 8 B2 9 B2 8 B2 15 B2E
55 56 57 58 59 60
8 B2 10 GM 8 B2 9 GM 8 B2 18 B2E10
9
8
7
6
5
4
3
2
1
GA
LÁ
N-S
EB
AS
TO
PO
L 1
2"
DÍA
HORA INICIO DE ENVÍO
00:00 02:00 04:00 06:00 08:00 10:00
1 2 3 4 5 6
17 B2E 11 B2E 15 B2E 10 B2E 12 B2E 16 B2E
7 8 9 10 11 12
15 B2E 9 B2E 18 B2E 19 B2E 15 B2E 18 B2E
13 14 15 16 17 18
14 B2E 17 B2E 13 B2E 14 B2E 9 B2E 8 B2E
19 20 21 22 23 24
16 B2E 10 B2E 13 B2E 19 B2 17 GM 19 B2
25 26 27 28 29 30
15 B2 9 B2 17 GM 8 B2 15 B2E 8 B2
31 32 33 34 35 36
15 B2 14 B2 16 GM 19 GM 19 GM 14 B2
37 38 39 40 41 42
10 B2E 10 B2E 14 B2 17 GM 16 GM 17 GM
43 44 45 46 47 48
17 GM 17 GM 15 B2 13 B2 12 B2E 9 B2
49 50 51 52 53 54
19 GM 10 B2 8 B2 9 B2 8 B2 15 B2E10
8
9
7
5
3
2
1PROGRAMACIÓN ANTERIOR
4
6
GA
LÁ
N-S
EB
AS
TO
PO
L 1
2"
DÍA
HORA INICIO DE RECEPCIÓN
78
Figura 8.2. Interpretación de Resultados
Fuente: Elaboración de los Autores
El código de orden es un valor que identifica cada orden de envío. De esta manera es posible rastrear su
movimiento (entrada y salida) a lo largo del horizonte de programación; el tipo de producto se codifica como
lo muestra la tabla 8.3 y la cantidad de producto es un valor expresado en unidades de miles (1000) de
barriles.
Tabla 8.3. Tipo de Producto
GM GASOLINA MOTOR
B2 BIODIESEL B2
B2E BIODIESEL B2E EXTRA
Fuente: Elaboración de los Autores
90
A manera de ejemplo y basados en la información de la figura 8.1 es posible interpretar la información del
día uno (1) de la siguiente manera:
A las (12) doce horas del primer (1) día inicia el suministro desde GALÁN hacia SEBASTOPOL.
Se envía una secuencia de seis (6) productos, cada uno durante un periodo de dos (2) horas.
Inicialmente se envía diez y siete mil (17000) barriles de BIODIESEL EXTRA B2.
A Continuación se envía once mil (11000) barriles de BIODIESEL EXTRA B2.
A Continuación se envía quince siete mil (15000) barriles de BIODIESEL EXTRA B2.
A Continuación se envía diez mil (10000) barriles de BIODIESEL EXTRA B2.
A Continuación se envía doce mil (12000) barriles de BIODIESEL EXTRA B2.
A Continuación se envía diez y seis mil (16000) barriles de BIODIESEL EXTRA B2.
El arribo de la secuencia de productos se espera que inicie el día dos (2), a partir de las cero (0)
horas, cada producto durante un periodo de (2) horas
Hay que aclarar que no se registra el primer día de recepción de productos en ninguno de los nodos, debido
a que dicha programación corresponde al periodo inmediatamente anterior, como se menciona en el
capítulo 6.
8.3 Análisis de los Resultados
El análisis de los resultados se debe realizar con base en el nivel de mejoramiento de las problemáticas
expuestas en el capítulo 3:
1. Nivel de Cumplimiento de los inventarios mínimos y máximos que ocasionan interrupción del
suministro generando paradas en la línea, un aspecto causante de importantes costos operativos.
2. Tiempos de procesamientos requeridos para generar los programas de transporte.
8.3.1 Niveles de Inventarios
A partir de los resultados obtenidos se puede observar que una de las principales ventajas que ofrece la
metodología propuesta radica en la disminución de las violaciones de los niveles admisibles de inventarios.
Esto es porque el procedimiento metaheurístico por sí mismo genera soluciones que se encuentran cercanas
a la eliminación de las violaciones de inventario. Sin embargo para lograr soluciones que satisfagan
completamente el cumplimiento de dichos niveles, se requiere la intervención del programador el cual ya
cuenta con un escenario que ha sido resuelto en buena medida
Este recurso permite minimizar no solo las suspensiones de bombeo sino también maximizar el
cumplimiento de la demanda durante el horizonte de programación. Además, al satisfacer los niveles de
inventario, de manera paralela se reduce la cantidad de paradas en la línea causadas por una programación
ineficiente. Hay que tener en cuenta que este aspecto genera importantes sobrecostos en las operaciones
de envío de refinados de Ecopetrol, por lo que esta reducción representa una ventaja adicional frente al
método actual de programación.
91
8.3.2 Análisis de Tiempos de Procesamiento
Como se mencionó en el apartado 8.1, el proceso de programación del transporte en la actualidad tarda en
promedio (12) horas en ser efectuado para un periodo de siete (7) días. En términos marginales, el tiempo
requerido para programar un día de suministro es de aproximadamente una hora y cuarenta minutos (100
minutos). Como se mencionó en el capítulo siete (7), el proceso de generación de programas de transporte
se divide en tres (3) fases; el procedimiento metaheurístico basado en algoritmos genéticos, la fase de
reparación de soluciones no factibles y la fase de adecuaciones de tipo manual. El presente proyecto
establece que la primera fase se efectúa en cincuenta (50) minutos, la función de reparación tarda cuanto
mucho diez (10) minutos y el procedimiento manual por su parte toma en promedio una (1) hora. De este
modo, el modelo propuesto tiene la capacidad de realizar en dos (2) horas, la programación del transporte
de diez (10) días. Es decir, en términos marginales, el tiempo necesario para programar un día de suministro
es inferior a doce (12) minutos.
Siguiendo este orden de ideas, es posible establecer que, en términos de tiempos de procesamiento, la
programación del transporte empleando métodos metaheurísticos consume tan solo el doce por ciento
(12%) del tiempo que en promedio tarda el proceso actual. Este tipo de reducciones contribuye a
incrementar la productividad del sistema, pues menos cantidad de recursos (tiempo) se requieren para
realizar un mismo proceso.
92
9. ANÁLISIS FINANCIERO
El presente análisis financiero se ha enfocado en dos (2) aspectos: el costo de implementación del proyecto
y la comparación entre los resultados obtenidos y presentados en el capitulo anterior, frente a los datos
actuales de la programación para los meses de Febrero y Marzo de 2012. A su vez, esta última comparación
ha sido evaluada en dos (2) aspectos: el tiempo de programación representada en unidades de Hora-
Hombre, y las paradas en la línea en que se incurrieron. Estos paros de línea suponen un aspecto importante
para ECOPETROL S.A. ya que en la actualidad el tiempo de las paradas contribuye en sobrecostos operativos
los cuales, el 25% del valor son debido a una programación inadecuada (Ecopetrol S.A.).
Hay que considerar que los costos operativos no son los únicos costos en los que se incurre al presentarse
suspensiones en los flujos de línea. Estas violaciones también significan costos de oportunidad por
productos no movilizados, aunque el análisis no ha sido abordado en el proyecto debido a que la
información sobre las tarifas de envío es reservada. Por lo tanto, se debe tener en cuenta que la información
presentada es una porción de lo que realmente puede contribuir un método de programación como el
desarrollado en el presente proyecto.
9.1 Costo de implementación
A continuación se muestra la inversión que se debería realizar para implementar el programa desarrollado
en el proyecto.
Tabla 9.1. Comparación programación actual y programa A.G
CONCEPTO VALOR VALOR ESTÁNDAR
Costo GANetXL $ 2.000 USD $ 3.584.000 COP
Capacitaciones 6 Horas $ 5.000.000 COP $ 5.000.000 COP
Consultoría $ 600.000 COP $ 600.000 COP
Licencia Windows 309 EU $ 733.875 COP
Licencia Office $ 140 USD $ 250.880 COP
Programa de A.G. $ 35.000.000 COP $ 35.000.000 COP
Computador Intel ® Core ™ i5-2410 CPU @ 2.3 GHz y Memoria RAM de 6 GB (recomendado) o superior
$ 506 USD $ 906.752 COP
TOTAL $ 46.075.507 COP
Fuente: Elaboración de los Autores
Notas:
1. La tasa de con la que se hizo la conversión de dólares a pesos fue USD $ 1 = COP $ 1.792 según la
TRM del 2 de Abril de 2012
2. La tasa de con la que se hizo la conversión de dólares a pesos fue EUR 1€ = COP $ 2.375 según la
TRM del 2 de Abril de 2012
93
La consultoría incluida en el costo de implementación de la metodología propuesta consiste en la instalación
del programa en un nuevo equipo junto con la inclusión del complemento de Microsoft Excel®. Una vez
instalada la herramienta, el programador puede empezar a desarrollar la labor con la ayuda de la
capacitación que le permitirá manejar y entender el funcionamiento de la herramienta de ayuda. En cuanto
al costo del programa realizado, éste incluye el tiempo y los recursos dedicados en la realización del mismo;
aspectos que considera costo de Hora – Hombre, inversión de energía medida en KW – H y otros gastos.
9.2 Costos Operativos
Como se ha visto en los resultados de la ejecución del programa, los envíos programados no simularon paros
de transporte en la línea. En contraste, los programas que se realizaron para los meses de febrero y marzo
de 2012 significaron alrededor de mil ochenta y tres (1.083) horas. Sin embargo solo doscientos setenta
(270) horas son debido a una programación ineficiente. Esto es debido a que, según expertos en
programación de envíos de ECOPETROL S.A., de la totalidad del tiempo que se incurre en una parada en la
línea, el veinticinco por ciento (25%) son causados por problemas en la programación de envío. Según
ECOPETROL S.A. este tipo de alternativas por lo general ocasionan entre un 5% y un 10%de ahorros, aun
planeando una distribución que ahorre la totalidad de los costos, en el valor teórico total debido a
contingencias a la hora de implementar el programa planeado. A continuación, en la tabla 9.2, se muestran
los resultados del análisis realizado. Los datos detallados sobre las paradas en la línea se encuentran en el
Anexo C.
Tabla 9.2. Comparación programación actual y programa A.G
TEÓRICO ESTIMADO
PROGRAMACIÓN ACTUAL PROGRAMA A.G PROGRAMA A.G
CONCEPTO TIEMPO
(H) SOBRECOSTO
TIEMPO (H)
SOBRECOSTO TIEMPO
(H) SOBRECOSTO
Paros por altos inventarios (50
días) 1082,9 $3.614.425.157 0 $ - 1028,7 $3.433.703.899
Paros por altos inventarios debido
a mala programación
(25%)
270,7 $903.606.289 0 $ - 257,2 $858.425.975
Paros anuales por altos inventarios
debido a mala programación
1949,2 $6.505.965.282 0 $ - 1851,7 $6.180.667.018
Fuente: Elaboración de los Autores
Como se puede apreciar, de la cantidad de tiempo que estuvieron paradas las líneas, doscientas setenta
(270,72) horas para los cincuenta (50) días, correspondieron a una programación deficiente. Esto significa
que en los cincuenta (50) días analizados se incurrieron en aproximadamente novecientos millones de pesos
($900’000.000) de sobrecostos. De continuar con estos inconvenientes, en el año ECOPETROL S.A. incurriría
en casi seis mil y medio millones de pesos ($6.500’000.000) de sobrecostos, los cuales se esperan reducir en
un cinco por ciento (5%) con el uso de programas eficientes lo cual se traduce en aproximadamente
trescientos veinticinco millones de pesos ($ 325.000.000).
94
Como se ha demostrado, la programación mediante algoritmos tiene la capacidad de lograr este porcentaje
de reducción debido a que ha realizado una programación de envíos en donde no se ha incurrido en paros
de línea.
9.3 Costo de personal
El tiempo invertido en la elaboración del programa de envío de refinados es un factor que también le cuesta
a la empresa. Este costo de Hora – Hombre en la actualidad se encuentra alrededor de $4.600 pesos según
la siguiente ecuación (Navarrete, 2010).
Ecuación 9.1
Donde SM corresponde el salario mensual de la persona que realiza el trabajo, FP es el factor prestacional,
que según el código sustantivo del trabajo es mínimo treinta por ciento (30%) del salario devengado, y H.
Mes corresponde a las horas de trabajo al mes. En la siguiente tabla se encuentra una comparación entre los
costos incurridos con el actual método de programación y la propuesta presentada en el presente proyecto.
Tabla 9.3. Comparación programación actual y programa A.G
PROGRAMACIÓN ACTUAL PROGRAMA A.G.
TIEMPO (H) COSTO (COP) TIEMPO (H) COSTO (COP) AHORRO (COP)
Realización del programa para diez (10) días
12 $ 682.500 2 $ 113.750 $ 568.750
Realización del programa para cincuenta (50) días
60 $ 3.412.500 10 $ 568.750 $ 2.843.750
Variación 83%
Fuente: Elaboración de los Autores
Como se puede observar, la eficiencia de la programación permite reducir en un ochenta y tres por ciento
(83%) tanto el tiempo invertido en realizar como el costo de realización de la programación. Es importante
aclarar que la reducción de costos expresados en la Tabla 9.3 hace referencia al costo de oportunidad en
que incurre ECOPETROL S.A., como consecuencia de los elevados tiempos de programación. En definitiva
este tipo de impactos financieros no se pretenden ser eliminados, pues sería necesario contratar al
programador sólo por el tiempo necesario para la generación de los programas de transporte, lo cual no
está contemplado dentro de las políticas de la Vicepresidencia de ECOPETROL S.A. Es un valor que identifica
desde el punto de vista financiero la cantidad de recursos que podrían ser destinados en otro tipo de
actividades como consecuencia de los resultados que expone la presente metodología.
9.4 Indicadores Financieros
Computando la reducción de costos operativos y los de mano de obra, la propuesta del presente proyecto
ha demostrado ser una opción que reduce los costos en aproximadamente trescientos veinticinco millones
de pesos ($ 325.000.000) al año. Ante una inversión de COP $ 46.075.507, se puede decir que es una opción
95
considerablemente rentable. En la tabla 9.5 se muestran algunos indicadores financieros que evalúan el
proyecto financieramente.
Tabla 9.4. Comparación programación actual y programa A.G
CONCEPTO VALOR
BENEFICIO - COSTO 6,7 VECES
VPN $ 260.917.218 ESOS
TIR 59%
TRI 1,7 MESES
Fuente: Elaboración de los autores
Nota: El interés con que se calculó el valor presente fue el WACC de ECOPETROL S.A. que para julio de 2011
era de 10,8% (Global Securities Colombia, 2011)
La principal razón que hace el proyecto rentable se debe a que el programa está enfocado en reducir los
sobrecostos incurridos por los paros en la línea. Estos sobrecostos resultan ser tan elevados que la inversión
para implementar la metodología propuesta se recupera en menos de dos (2) meses (casi cincuenta y un
(51) días) y cada diez (10) pesos que se invierten generan sesenta y siete pesos (67) de ganancias. Estas
ganancias son consecuencia de la tasa interna de retorno la cual supera por cuarenta (40) puntos
porcentuales a la WACC de ECOPETROL S.A. el cual para el mes de Julio de 2011, se encontraba en casi once
por ciento (11%).
96
10. RESUMEN COMPARATIVO
10.1 Tasas de Mejoramiento
Como se menciona en el capítulo siete (7), la presente metodología no pretende automatizar el proceso de
generación del programa de transporte; en realidad constituye una herramienta de apoyo para efectuar
dicho proceso. Esto implica que después de ejecutar el procedimiento metaheurístico, el programador debe
adecuar algunas de las variables de decisión para lograr soluciones que maximicen los objetivos estratégicos
de ECOPETROL S.A. Sin embargo, uno de los valores agregados del presente proyecto radica en que las
soluciones generadas por el algoritmo genético, incluso antes de ser modificadas por el programador, son de
mejor calidad en términos de paros de bombeo y violaciones de inventario que las secuencias que
actualmente se realizan de forma manual.
La metodología propuesta genera beneficios para ECOPETROL S.A. en tres (3) aspectos como lo muestra la
tabla 10.1, donde se compara cuantitativamente el proceso actual y el propuesto para generar los reportes
de envíos de refinados. Adicionalmente, se registra la variación porcentual donde se calcula el porcentaje
que disminuyen dichos aspectos.
Tabla 10.1. Tabla comparativa
Fuente: Elaboración de los autores
Como se puede observar, tres (3) de los cinco (5) aspectos comparados experimentan cambios significativos,
es decir, de más de ochenta por ciento (80%). Sin embargo, el aspecto que representa una considerable
mejora con respecto al procedimiento actual, es el hecho de que el procedimiento propuesto no incurre en
paradas de línea por altos ni bajos inventarios.
10.2 Discusión de Resultados
Después de cuantificar el grado de mejoramiento de la metodología propuesta, en relación al método que
actualmente maneja ECOPETROL S.A., es preciso analizar la importancia de las variaciones que muestra la
tabla 10.1: Actualmente el proceso de programación del transporte consume el veinticinco por ciento (25%)
de la jornada semanal del programador. El presente proyecto propone una disminución de veinte (20)
puntos porcentuales en cuanto al consumo semanal. Es decir, consumir menos del cinco por ciento (5%) de
la jornada semanal para realizar esta tarea. En definitiva, la reducción del tiempo necesario para programar
el suministro contribuye a que el programador destine una mayor cantidad de tiempo en la ejecución de
labores menos operativas; ahora el programador podría dedicarse a la búsqueda e investigación de métodos
más eficientes que contribuyan a generar valor agregado en el proceso. Es de aclarar que el programador se
97
encuentra en plenas condiciones de realizar este tipo de labores, pues el perfil del cargo requiere personal
de nivel profesional. La reducción del tiempo además incide en los costos de mano de obra necesarios para
efectuar la programación, pues en la medida en que el proceso sea concretado en menos tiempo el número
de horas hombre también disminuirá.
Por otra parte, la disminución de los paros de bombeo, ocasionados por violaciones de inventarios, en
definitiva, es uno de los valores agregados más representativos que genera la metodología propuesta
debido a su impacto económico, como se menciona en el capítulo nueve (9). Adicionalmente, existen
beneficios indirectos como consecuencia de la reducción de suspensiones del suministro:
1. Mejoramiento de los márgenes productividad, pues la cantidad de recursos necesarios para
efectuar un proceso se disminuye.
2. Incremento de los porcentajes de utilización de la capacidad instalada.
3. Mayor capacidad de reacción ante posibles fluctuaciones del mercado, como variaciones no
previstas en la demanda.
4. La rentabilidad del proceso se incrementa, pues el retorno por cada peso invertido incrementa, lo
que ocasiona que el interés de inversionistas y clientes potenciales se aumente.
En conclusión, la metodología propuesta propone un método de programación del transporte, que genera
soluciones en menor tiempo y que adicionalmente la calidad de los resultados es visiblemente superior.
98
11. CONCLUSIONES Y RECOMENDACIONES
11.1. Conclusiones
A medida que la demanda de productos derivados del petróleo ha incrementado en las últimas décadas, los
procesos de transporte y en particular la planeación del suministro se han convertido en procesos cada vez
más complejos. Esto se debe al número de variables de decisión y la cantidad de reglas y restricciones de
operación existentes. Una vez completado el presente proyecto de investigación, es posible concluir que:
1. Para ECOPETROL S.A. es necesario proponer metodologías de planeación estratégica, táctica y
operativa que logren maximizar los intereses de la compañía. En el ámbito operativo, es
fundamental apoyarse en herramientas computacionales que permitan soportar los procesos de
forma eficiente garantizando la calidad de los procesos. Lo anterior debido a que se ha demostrado
cómo un procedimiento manual puede disminuir los sobrecostos operativos en más trecientos
millones de pesos $300.000.000 anuales.
2. La generación de los programas de transporte, al ser realizados mayoritariamente por
procedimientos metaheurísticos, permiten gestionar el conocimiento de forma más eficiente pues
el proceso deja de fundamentarse exclusivamente en la experiencia del programador.
3. Los métodos metaheurísticos desarrollados en herramientas computacionales permiten disminuir
considerablemente los tiempos de procesamiento, como lo demostró el presente proyecto el cual
disminuyó en un ochenta y tres por ciento (83%). Esto permite realizar procesos operativos con
menor requerimiento de recursos y a su vez incrementa la productividad del proceso, lo cual pudo
verificarse con los resultados obtenidos. Adicionalmente estos mismos beneficios permiten que el
método propuesto pueda anticiparse a posibles variaciones del mercado ya que puede ser
ejecutado varias veces al día.
4. Los resultados obtenidos a partir de la metodología propuesta mejoran la calidad de los resultados.
En particular, la minimización de las violaciones de inventarios, disminuye el número de horas de
suspensión del suministro. Esto significa que una planeación enfocada en el cumplimiento del
volumen permite satisfacer los requisitos de los clientes.
5. No es posible sustituir la experiencia del programador por un programa de solución con base en
métodos metaheurísticos. Tan solo se puede desarrollar una herramienta que soporte el proceso
de programación del transporte ya que todavía se requiere la intervención del factor humano para
definir los datos de entrada y el análisis de los resultados del proceso.
99
11.2. Recomendaciones
1. ECOPETROL S.A. debe continuar promoviendo los procesos de investigación de alternativas que
contribuyan a desarrollar procesos de generación de valor para la compañía. Se recomienda
consolidar en una base de datos la información histórica de cada uno de los procesos operativos de
la Vicepresidencia de Transporte, con el fin de establecer con mayor claridad dónde se deben
efectuar mejoras.
2. Extender el presente proyecto de investigación para la programación de la totalidad de productos
que transporta ECOPETROL S.A., incluyendo aquellos transportados por medio de oleoductos.
3. Analizar de cerca el progreso investigativo de países con industria petrolera, en latino américa, se
recomienda adquirir las memorias de los proyectos investigativos realizados en Brasil.
11.3 Aporte Personal
Proyectos relacionados con la programación del transporte de productos refinados, a través de redes
interconectadas de ductos, orientan sus objetivos en lograr incrementar el cumplimiento de los niveles de
inventarios, la satisfacción de la demanda, la reducción de los tiempos de transporte y/o la reducción del
consumo energético. Si bien es cierto, este tipo de consideraciones son indispensables para la solución de
problemáticas relacionadas con el proceso logístico, propio de dicho medio de transporte. No obstante, en
la realidad se observa, que se existen otro tipo de objetivos a satisfacer. A saber, en el transporte real de
productos refinados, la contigüidad es un factor clave para lograr soluciones factibles, pues no basta
garantizar la satisfacción de los volúmenes de productos, en el lugar y tiempo deseados, adicionalmente se
debe asegurar que el producto esté disponible en las condiciones deseadas. Como se mencionó en la
sección 6.2.1.3 existen parejas de productos que no deben experimentar contacto directo entre sí, de lo
contario se disminuye su calidad y en el peor de los casos se altera su composición química, siendo
necesario reprocesar ambos refinados.
En general este tipo de consideraciones han sido incluidas en los proyectos de investigación solucionados a
través de métodos exactos y en el ámbito de los métodos metaheurísticos, algunos autores han
contemplado el problema, de forma parcial, pues dicha aplicación se ha efectuado sobre una (1) sola línea
de los poliductos en cuestión. El valor agregado de la presente metodología radica precisamente en la
inclusión del criterio de contigüidad aplicada en la totalidad de la red. Como se menciona en el capítulo 6,
este criterio se aborda como objetivo de la programación buscando minimizar el número de secuencias
prohibidas. Adicionalmente, la metodología propone un módulo que corrige aquellas secuencias restantes
que no fueron abordadas en el algoritmo genético. De esta manera el presente proyecto ofrece la
satisfacción del concepto de logístico en su totalidad: satisfacer los requerimientos del cliente en las mejores
condiciones de calidad, tiempo, servicio y oportunidad.
100
12. BIBLIOGRAFÍA
Rennó Frota Moraes Alves, V., & Martins Ferreira Filho, V. J. (24 de Octubre
de 2007). Programação de Transferência de Derivados de Petróleo em
Rede Dutoviária Usando Algoritmo Genético. Brasil: PDPETRO.
Arnaldo V. Moura, C. C. (2008). Planning and Sheduling the Operation of a
Very Large Oil Pipeline Network. Springer - Verlang Berlin Heidelberg,
36-51.
Avella, P., Boccia, M., & Boctor y Sforza, A. (2004). Solving a fuel delivery
problem by heuristic and exact approaches. European Journal of
operational researchVol. 152, 170-171.
Baños, A. G. (4 de Febrero de 2008). Computación evolutiva (CE). Teorema
de No-Free-Lunch. Cali, Valle del Cauca, Colombia.
Barber, F., & Salido, M. A. (2002). Introducción a la Programación por
Restricciones. Alicante, España. Fonte: Universidad Politécnica de
Valencia.
Bodington, C., & Baker, T. (1990). A History of Mathematical Programming
in the Petroleum Industry (Vol. 20). San Anselmo, California:
Chesapeake Decision Sciences, Inc.
Boschetto, S. N., Magata˜o, L., Brondani, W. M., Neves-Jr , F., Arruda, L. V.,
Barbosa-Póvoa, A. F., et al. (2010). An Operational Scheduling Model
to Product Distribution through a Pipeline Network. In: Industrial &
Engineering Chemistry Research (pp. 5661-5682). Lisboa: I&EC
research.
Cafaro, D. C., & cerdá, J. (2004). Optimal scheduling of multiproduct
pipeline systems using non-discrete MILP formulation. Science Direct,
2053-2068.
Campos, A. (2009). Modelado de Problemas de Optimización Lineales.
Madrid, España: Universidad Pontificia Comillas.
101
CARACOL RADIO. (2012). Businessweek resalta esfuerzo de Colombia por
impulsar bonanza petrolera y atraer inversión extranjera. Caracol
Radio.
Correa Flórez, C. A., Bolaños, R. A., & Molina Cabrera, A. (2008). Algoritmo
Multiobjetivo NSGA-II Aplicado al Problema de la Mochila. In: Scientia
et Technica Año XIV (Vol. 39, pp. 206-211). Pereira: Universidad
Tecnológica de Pereira.
Crane, D. S., Wainwright, R., & Schoenefeld, D. (1999). Scheduling of Multi-
Product Fungible Liquid Pipelines using Genetic Algorithms. In: S. o.
Computing. New York: ACM New York.
de Arruda, L., Neves-Jr, F., & Yamamoto, L. (2007). Using MOGA to order
batches in a real world pipeline network. Universidade Tecnoógica
Federal do Paraná, 546-555.
de la Cruz, J., Herran-Glonzález, A., Risco-Martin, J., & Andrés-Toro, B.
(2004). Hybrid - Heuristic and mathematical programming. Zhejiang
University SCIENCE.
de Souza, T. C. (2010). Algoritmo Evolucionário para a Distribuição de
Produtos de Petróleo por Redes de Polidutos. Rio Grande do Norte:
Universidade Federal do Rio Grande do Norte.
Deb, K. (2001). Multi-Objective Optimization using Evolutionary Algorithms.
Chichister: Wiley.
Ecopetrol S.A. (s.d.). Qué hacemos. Acesso em 14 de Agosto de 2011,
disponível em Quienes Somos: www.ecopetrol.com.co
Exeter, University of. (Agosto de 2011). GANetXL - User Manual. Exeter.
Felipe Baesler, R. M. (2008). Introducción de Elementos de Memoria en el
método Simulated Annealing para resolver problemas de
programación multiobjetivo de máquinas paraleas. Revista Chilena
de Ingeniería, 437.
102
Felizari, L. C., Arruda, L. V., Lüders, R., & Stebel, S. L. (2009). Sequencing
Batches in a Real-World Pipeline Network Using Constraint
Programming. Curitiba: Chalbaud Biscaia Jr.
Floudas, C., & Lin, X. (13 de Julio de 2004). Continuous-time versus discrete-
time approaches for scheduling of chemical processes: a review.
Acesso em 31 de Julio de 2011
García, N. E. (Octubre de 2003). Competitividad, Inversión y Empleo: Un
Enfoque Estratégico.
Global Securities Colombia. (Julio de 2011). ECOPETROL: Segunda Ronda de
Emisión y Colocación de Acciones. Bogotá, Cundinamarca, Colombia.
Goldberg, D., & Kuo, C. (24 de 10 de 1985). Genetic Algorithm in Pipeline
Optimization. Pipeline Simulation Interest Group. Albuquerque,
Alabama, United States: The University of Alabama.
Herrán, A., de la Cruz, J., & de Andrés , B. (2008). A mathematical model for
planning transportation of multiple petroleum products in a
multi−pipeline system. In: Computers and Chemical Engineering.
Hillier, F. S., & Lieberman, G. J. (2006). Introducción a la investigación de
operaciones. Mexica D.F.: McGraw-Hill.
Kampur Genetic Algorithms Laboratory. (17 de Enero de 2008). Kampur
Genetic Algorithms Laboratory. Acesso em 1 de Abril de 2012,
disponível em http://www.iitk.ac.in/
Magatão, L., Arruda, L., & Neves-Jr., F. (2005). Using CLP and MILP for
Scheduling Commodities in a Pipeline. european Symposium
Computer Aided Process Engineering.
Navarrete, C. E. (19 de Agosto de 2010). Ingeniería de Procesos.
Neves-Jr, F., Magatão, L., Stebel, S., Neves Boschetto, S., Felizari, L.,
Czaikowski, D., et al. (2007). An Efficient Approach to the Operational
Scheduling of a Real-World Pipeline Network. Rio de Janeiro: V. Plesu
and P.S. Agachi.
103
Ospina, D. A., & González, A. F. (10 de Mayo de 2010). Modelo
computacional de optimización (scheduling) del sistema de poliducto
Galán-Puerto Salgar basado en técnicas de programación matemática.
Proyecto de grado. Bogotá, Cundinamarca, Colombia: Pontificia
Universidad Javeriana.
Revista Dinero. (2011). 5 mil empresas 2011. Dinero.
Sánchez, Á. G. (2007). Programación del transporte de hidrocarburos por
oleoductos mediante la combinación de técnicas metaheurísticas y
simulación. Madrid: Escuela Técnica Superior de Ingenieros
Industriales.
Sardi, E. (2012). ¡Cambiemos el modelo! Portafolio.
Subdirección de Planeación Energética, Grupo de Demanda Energética.
(2010). Proyección de Demanda de Energía en Colombia. Bogotá D.C.
Taha, H. A. (2004). Investigación de operaciones. Mexico: Pearson Educación.
Valencia, P. E. (97). Optimización Mediante Algoritmos Genéticos. In: Anales
del Instituto de Ingenieros de Chile (pp. 83-92). Santiago de Chile:
Instituto de Ingenieros de Chile.
Will, A. (2009). Algoritmos Genéticos y Programación Heurística. Tucumán,
Argentina.
Yaohua He, C.-W. H. (03 de 03 de 2007). Genetic algorithm based on
heuristic rules for high-constrained large-size. Hong Kong, PR China.
104
13. ANEXOS
ANEXO A. Resumen parámetros de revisiones bibliográficas
Título Autores Descripción del sistema Parámetros de A.G Función Objetivo
1. Algoritmo Evolucionário para a Distribuição de Produtos de Petróleo por Redes de Polidutos
Thatiana Cunha Navarro de Souza
Dos fuentes que suplen a un nodo intermedio cada uno. Los nodos intermedios se comunican a través de un poliducto y cada uno suple a 2 nodos destino. Uno de los nodos destino es suplido por ambos nodos intermedios
Cromosoma con 75 genes Población inicial: 21 soluciones Método de selección: Elitismo (Frente Pareto) Método de reproducción: Crossover Uniforme Tasa de reproducción: 0,8 Tasa de mutación: 0,008 Cantidad de generaciones: 2500
Minimizar las interfaces de los productos y el tiempo de satisfacción de la demanda
2. Scheduling of Multi-Product Fungible Liquid Pipelines using Genetic Algorithms
D. Scott Crane Roger L. Wainwright Dale A. Scjoenefeld
Red que cuenta con una fuente y 7 nodos más; 3 intermedios y 4 terminales. Cada nodo puede almacenar producto. La red está interconectada mediante un total de 7 líneas de igual tamaño y volumen que transportan 2 tipos de producto.
Cromosoma con 4536 genes Población inicial: 100 soluciones Método de selección: Ruleta Método de reproducción: Crossover Binario Tasa de reproducción: 0,7 Tasa de mutación: 0,1 Cantidad de generaciones 31
Maximizar el cumplimiento de inventarios y demandas
3. Genetic algorithms in pipeline optimization
David E. Goldberg Chie Hsiung Kuo
El algoritmo genético programa el suministro a 40 estaciones de servicio
Cromosoma con 40 genes Población inicial: 100 soluciones Método de selección: Elitismo Tasa de reproducción: 0,7 Método de reproducción: Crossover uniforme Tasa de mutación: 0,01 Cantidad de generaciones: 50
Reducción de costos de consumo de energía
4. Hybrid - Heuristic and mathematical programming
J.M. de la Cruz A. Herrán-González J.L. Risco-Martin B Andrés-Toro
Dos fuentes que suplen a un nodo intermedio cada uno. Los nodos intermedios se comunican a través de un poliducto y cada uno suple a 2 nodos destino. Uno de los nodos destino es suplido por ambos nodos intermedios
Cromosoma con 75 genes Población inicial: 21 soluciones Método de selección: Elitismo Método de reproducción: Crossover Uniforme Tasa de reproducción: 0,8 Tasa de mutación: 0,008 Cantidad de generaciones: 12.000
Reducción de interfaces en las líneas y tiempos de entrega
104
Tabla 13.1: Resumen parámetros de revisiones bibliográficas
Título Autores Descripción del sistema Parámetros de A.G Función Objetivo
5. Genetic algorithm based on heuristic rules for high-constrained large-size single-stage multi-product scheduling with parallel units
Yaohua He Chi-Wai Hui
NO MENCIONADO
Cromosoma con 100 genes Método de selección: Torneo Método de reproducción: Partial-mapped crossover (PMX) Tasa de reproducción: [0,5 - 0,9] Tasa de mutación: [0,1 - 0,3] Cantidad de generaciones: 74
Minimizar la tardanza total del transporte de refinados
6. Programación de transferencia en redes de poliductos usando algoritmos genéticos
Vanessa Rennó Frota Moraes Alves Virgílio José Martins Ferreira Filho
Red de ocho líneas con ocho nodos que transporta 5 productos
Cromosoma con 84 genes y 42 genes Población inicial: 150 soluciones Método de selección: Elitismo Método de reproducción: Crossover Uniforme Tasa de reproducción: 0,9 Tasa de mutación: 0,9 Cantidad de generaciones: 2500
Maximizar el cumplimiento de la demanda, minimizar el número de interfaces y maximizar el cumplimiento de los niveles de inventarios
7. Using MOGA to Order Batches in a Real World Pipeline Network
Lucia V.R. de Arruda Flávio Neves-Jr. Lia Yamamoto
Red de poliductos que cuenta con: - Tres (3) refinerías - Un (1) puerto - Cinco (5) centros de distribución - Quince (15) líneas las cuales algunas eran bidireccionales. Se transportan más de 10 productos refinados
Cromosoma con 80 genes Método de selección: Elitismo (Frente Pareto) Método de reproducción: Crossover Uniforme
Minimizar las violaciones de los tiempos de entrega y el número de interfaces en la línea.
105
ANEXO B. Código algoritmo de Ajuste Sub Contigüidad() Dim i As Integer Dim j As Integer Dim x As Integer Dim y As Integer Dim ve(6) As String 'para imprimir el vector resultante de la generación aleatoria Dim ve2(6) As String 'para imprimir el mejor vector si no hay contigüidad =0 Dim ve3(6) As String 'vector de contigüidades Dim tb(6) As String ' vector de tamaño de batch Dim tb2(6) As String 'para imprimir los volúmenes del mejor vector si no hay contigüidad =0 Dim tb3(6) As String Dim cont As Integer x = 1 ' parámetro de contiguidad For j = 3 To 783 If Cells(6, j) = x Then y = Cells(7, j) r = 0 q = 1 While Cells(7, j + r) = y 'Recorre los datos hasta que encuentre celdas en vacio ve(q) = Cells(5, j + r) 'Adiciona los datos al vector tb(q) = Cells(5, j + r + 780) 'Adiciona los volúmenes al vector r = r + 1 q = q + 1 Wend r = 1 Z = 1 While Cells(7, j - Z) = y 'Recorre los datos hasta que encuentre celdas en vacio ve(q) = Cells(5, j - Z) 'Adiciona los datos al vector tb(q) = Cells(5, j - Z + 780) 'Adiciona los volúmenes al vector Z = Z + 1 q = q + 1 Wend t = 1 cont = 0 For h = 1 To 6 ' crea un vector de ayuda por si no hay como solucionar la contigüidad ve2(h) = Cells(5, j - Z + h) tb2(h) = Cells(5, j - Z + h + 780) t2 = t2 + Cells(6, j - Z + h) Next h Do While t <> 0 And cont < 132 For h = 1 To 6 ve3(h) = ve(h) tb3(h) = tb(h) Next h u = Int((6) * Rnd + 1) ve(1) = ve3(u) tb(1) = tb3(u) ve3(u) = 0 tb3(u) = 0 e = 0 For o = 1 To 6 For p = 1 To 6 And p <> o If ve3(o) < ve3(p) Then e = ve3(p)
en = tb3(p) ve3(p) = ve3(o) tb3(p) = tb3(o) ve3(o) = e tb3(o) = en End If Next p Next o s = Int((5) * Rnd + 1) ve(2) = ve3(s + 1) tb(2) = tb3(s + 1) ve3(s + 1) = 0 tb3(s + 1) = 0 e = 0 en = 0 For o = 1 To 6 For p = 1 To 6 And p <> o If ve3(o) < ve3(p) Then e = ve3(p) en = tb3(p) ve3(p) = ve3(o) tb3(p) = tb3(o) ve3(o) = e tb3(o) = en End If Next p Next o t = Int((4) * Rnd + 1) ve(3) = ve3(t + 2) tb(3) = tb3(t + 2) ve3(t + 2) = 0 tb3(t + 2) = 0 e = 0 en = 0 For o = 1 To 6 For p = 1 To 6 And p <> o If ve3(o) <= ve3(p) Then e = ve3(p) en = tb3(p) ve3(p) = ve3(o) tb3(p) = tb3(o) ve3(o) = e tb3(o) = en End If Next p Next o o = Int((3) * Rnd + 1) ve(4) = ve3(o + 3) tb(4) = tb3(o + 3) ve3(o + 3) = 0 tb3(o + 3) = 0 e = 0 en = 0 For o = 1 To 6 For p = 1 To 6 And p <> o If ve3(o) <= ve3(p) Then e = ve3(p) en = tb3(p) ve3(p) = ve3(o) tb3(p) = tb3(o) ve3(o) = e tb3(o) = en End If Next p Next o
k = Int((2) * Rnd + 1) ve(5) = ve3(k + 4) tb(5) = tb3(k + 4) Cells(15, j - Z + 4) = tb3(k + 4) ve3(k + 4) = 0 tb3(k + 4) = 0 e = 0 en = 0 For o = 1 To 6 For p = 1 To 6 And p <> o If ve3(o) <= ve3(p) Then e = ve3(p) en = tb3(p) ve3(p) = ve3(o) tb3(p) = tb3(o) ve3(o) = e tb3(o) = en End If Next p Next o ve(6) = ve3(6) tb(6) = tb3(6) For h = 1 To 6 Cells(5, j - Z + h) = ve(h) Cells(5, j - Z + h + 780) = tb(h) Next h If j <= 8 Then t = Cells(6, j - Z + 1) + Cells(6, j - Z + 2) + Cells(6, j - Z + 3) + Cells(6, j - Z + 4) + Cells(6, j - Z + 5) + Cells(6, j - Z + 6) If t2 > t Then For h = 1 To 6 ve2(h) = ve(h) tb2(h) = tb(h) Next h t2 = t End If Else t = Cells(6, j - Z + 1) + Cells(6, j - Z + 2) + Cells(6, j - Z + 3) + Cells(6, j - Z + 4) + Cells(6, j - Z + 5) + Cells(6, j - Z + 6) + Cells(6, j - Z) If t2 > t Then For h = 1 To 6 ve2(h) = Cells(5, j - Z + h) tb2(h) = Cells(5, j - Z + h + 780) Next h t2 = t End If End If cont = cont + 1 Loop If cont = 132 And t2 <> 0 Then For h = 1 To 6 Cells(5, j - Z + h) = ve2(h) Cells(5, j - Z + h + 780) = tb2(h) Next h For h = 1 To 6 If Cells(6, j - Z + h) = 1 Then Cells(5, j - Z + h) = 2 End If Next h End If End If Next j End Sub
105
Anexo C
Sistema F echa T .H rs
C apacidad
o perat iva
(B P H )
F acto r de
ut ilizació n
C o sto de
transpo rte
($ / Gl)
P érdida T .H rs P érdidaCONCEPTO
GUALANDAY - NEIVA 10/02/2012 15,42 2100 90% 62,60$ 76.284.324$ 0 0 Paros por a l tos inventarios (50 días )
MANSILLA - PUENTE ARANDA 10/02/2012 3,87 2700 68% 18,06$ 5.389.527$ 0 0 Paros por a l tos inventarios debido a mala programación (25%)
SALGAR - GUALANDAY 10/02/2012 15,42 1100 50% 66,21$ 23.725.639$ 0 0 Paros anuales por a l tos inventarios debido a mala programación
MANSILLA - PUENTE ARANDA 10/02/2012 3,87 2700 68% 18,06$ 5.389.527$ 0 0
SALGAR - GUALANDAY 10/02/2012 15,42 1100 50% 66,21$ 23.725.639$ 0 0
GUALANDAY - NEIVA 12/02/2012 2,53 2100 90% 62,60$ 12.516.170$ 0 0
SALGAR - GUALANDAY 12/02/2012 2,75 1100 50% 66,21$ 4.231.226$ 0 0
SEBASTOPOL - SALGAR 12" 12/02/2012 3,42 2100 44% 48,16$ 6.391.957$ 0 0
SALGAR - GUALANDAY 12/02/2012 2,75 1100 50% 66,21$ 4.231.226$ 0 0
SEBASTOPOL - SALGAR 12" 12/02/2012 3,42 2100 44% 48,16$ 6.391.957$ 0 0
GUALANDAY - NEIVA 13/02/2012 24 2100 90% 62,60$ 118.730.465$ 0 0
SALGAR - GUALANDAY 13/02/2012 24 1100 50% 66,21$ 36.927.065$ 0 0
SEBASTOPOL - SALGAR 12" 13/02/2012 5 2100 44% 48,16$ 9.344.966$ 0 0
GUALANDAY - NEIVA 13/02/2012 24 2100 90% 62,60$ 118.730.465$ 0 0
SALGAR - GUALANDAY 13/02/2012 24 1100 50% 66,21$ 36.927.065$ 0 0
SEBASTOPOL - SALGAR 12" 13/02/2012 5 2100 44% 48,16$ 9.344.966$ 0 0
GUALANDAY - NEIVA 14/02/2012 16 2100 90% 62,60$ 79.153.644$ 0 0
SALGAR - GUALANDAY 14/02/2012 17,25 1100 50% 66,21$ 26.541.328$ 0 0
GUALANDAY - NEIVA 14/02/2012 16 2100 90% 62,60$ 79.153.644$ 0 0
SALGAR - GUALANDAY 14/02/2012 17,25 1100 50% 66,21$ 26.541.328$ 0 0
SALGAR - MANSILLA 10" 15/02/2012 0,53 3300 76% 89,09$ 4.960.635$ 0 0
SALGAR - MANSILLA 10" 15/02/2012 0,53 3300 76% 89,09$ 4.960.635$ 0 0
GUALANDAY - NEIVA 16/02/2012 1,17 2100 90% 62,60$ 5.788.110$ 0 0
SALGAR - GUALANDAY 16/02/2012 1,3 1100 50% 66,21$ 2.000.216$ 0 0
GUALANDAY - NEIVA 16/02/2012 1,17 2100 90% 62,60$ 5.788.110$ 0 0
SALGAR - GUALANDAY 16/02/2012 1,3 1100 50% 66,21$ 2.000.216$ 0 0
GUALANDAY - NEIVA 17/02/2012 24 2100 90% 62,60$ 118.730.465$ 0 0
SALGAR - GUALANDAY 17/02/2012 24 1100 50% 66,21$ 36.927.065$ 0 0
GUALANDAY - NEIVA 17/02/2012 24 2100 90% 62,60$ 118.730.465$ 0 0
SALGAR - GUALANDAY 17/02/2012 24 1100 50% 66,21$ 36.927.065$ 0 0
SEBASTOPOL - SALGAR 12" 17/02/2012 7,68 2100 44% 48,16$ 14.353.868$ 0 0
SEBASTOPOL - SALGAR 12" 17/02/2012 0,68 2100 44% 48,16$ 1.270.915$ 0 0
GUALANDAY - NEIVA 18/02/2012 0,7 2100 90% 62,60$ 3.462.972$ 0 0
SALGAR - GUALANDAY 18/02/2012 0,67 1100 50% 66,21$ 1.030.881$ 0 0
SALGAR - MANSILLA 10" 18/02/2012 7,18 3300 76% 89,09$ 67.202.563$ 0 0
GUALANDAY - NEIVA 18/02/2012 0,7 2100 90% 62,60$ 3.462.972$ 0 0
SALGAR - GUALANDAY 18/02/2012 0,67 1100 50% 66,21$ 1.030.881$ 0 0
SALGAR - MANSILLA 10" 18/02/2012 7,18 3300 76% 89,09$ 67.202.563$ 0 0
GUALANDAY - NEIVA 20/02/2012 14,92 2100 90% 62,60$ 73.810.773$ 0 0
SALGAR - GUALANDAY 20/02/2012 13,85 1100 50% 66,21$ 21.309.994$ 0 0
GUALANDAY - NEIVA 20/02/2012 14,92 2100 90% 62,60$ 73.810.773$ 0 0
FEB
RER
O
PROPUESTASITUACIÓN ACTUAL PROGRAMACIÓN ECOPETROL
105
Sistema F echa T .H rs
C apacidad
o perat iva
(B P H )
F acto r de
ut ilizació n
C o sto de
transpo rte
($ / Gl)
P érdida T .H rs P érdida
SALGAR - GUALANDAY 20/02/2012 13,85 1100 50% 66,21$ 21.309.994$ 0 0
GUALANDAY - NEIVA 21/02/2012 24 2100 90% 62,60$ 118.730.465$ 0 0
SALGAR - GUALANDAY 21/02/2012 24 1100 50% 66,21$ 36.927.065$ 0 0
SALGAR - GUALANDAY 21/02/2012 24 1100 50% 66,21$ 36.927.065$ 0 0
SALGAR - GUALANDAY 22/02/2012 0,32 1100 50% 66,21$ 492.361$ 0 0
SEBASTOPOL - SALGAR 12" 22/02/2012 1,37 2100 44% 48,16$ 2.560.521$ 0 0
SEBASTOPOL-MEDELLIN 12" 23/02/2012 6,03 2300 85% 115,57$ 57.221.400$ 0 0
SALGAR - GUALANDAY 25/02/2012 12,23 1100 50% 66,21$ 18.817.417$ 0 0
SEBASTOPOL-MEDELLIN 12" 25/02/2012 0,57 2300 85% 115,57$ 5.408.988$ 0 0
SALGAR - GUALANDAY 26/02/2012 8,78 1100 50% 66,21$ 13.509.151$ 0 0
GUALANDAY - NEIVA 27/02/2012 24 2100 90% 62,60$ 118.730.465$ 0 0
SALGAR - GUALANDAY 27/02/2012 24 1100 50% 66,21$ 36.927.065$ 0 0
GUALANDAY - NEIVA 28/02/2012 14,65 2100 90% 62,60$ 72.475.055$ 0 0
SALGAR - GUALANDAY 28/02/2012 14,67 1100 50% 66,21$ 22.571.668$ 0 0
GUALANDAY - NEIVA 02/03/2012 16,95 2100 90% 62,60$ 83.853.391$ 0 0
SALGAR - GUALANDAY 02/03/2012 17,05 1100 50% 66,21$ 26.233.602$ 0 0
GUALANDAY - NEIVA 03/03/2012 12,05 2100 90% 62,60$ 59.612.588$ 0 0
SALGAR - GUALANDAY 03/03/2012 12,13 1100 50% 66,21$ 18.663.554$ 0 0
GUALANDAY - NEIVA 04/03/2012 4,98 2100 90% 62,60$ 24.636.572$ 0 0
SALGAR - GUALANDAY 04/03/2012 5,1 1100 50% 66,21$ 7.847.001$ 0 0
GALAN - BUCARAMANGA 05/03/2012 1,17 600 100% 113,17$ 3.336.704$ 0 0
SALGAR - GUALANDAY 05/03/2012 6,4 1100 50% 66,21$ 9.847.217$ 0 0
SEBASTOPOL-MEDELLIN 12" 05/03/2012 0,9 2300 85% 115,57$ 8.540.507$ 0 0
MEDELLIN-CARTAGO 06/03/2012 14,1 1400 78% 33,71$ 21.687.871$ 0 0
SEBASTOPOL-MEDELLIN 12" 06/03/2012 14,02 2300 85% 115,57$ 133.042.127$ 0 0
GALAN-SEBASTOPOL 12" 09/03/2012 5,85 2100 90% 128,00$ 59.175.567$ 0 0
SALGAR - CARTAGO 09/03/2012 1,67 900 87% 101,12$ 5.534.322$ 0 0
SEBASTOPOL - SALGAR 12" 09/03/2012 5,85 2100 44% 48,16$ 10.933.611$ 0 0
GALAN-SEBASTOPOL 12" 10/03/2012 3,33 2100 90% 128,00$ 33.684.554$ 0 0
SEBASTOPOL - SALGAR 12" 10/03/2012 3,55 2100 44% 48,16$ 6.634.926$ 0 0
MEDELLIN-CARTAGO 11/03/2012 1,53 1400 78% 33,71$ 2.353.365$ 0 0
SALGAR - GUALANDAY 11/03/2012 22,95 1100 50% 66,21$ 35.311.506$ 0 0
GUALANDAY - NEIVA 12/03/2012 24 2100 90% 62,60$ 118.730.465$ 0 0
MANSILLA - PUENTE ARANDA 12/03/2012 12,65 2700 68% 18,06$ 17.616.930$ 0 0
MEDELLIN-CARTAGO 12/03/2012 21,82 1400 78% 33,71$ 33.562.364$ 0 0
SALGAR - GUALANDAY 12/03/2012 24 1100 50% 66,21$ 36.927.065$ 0 0
SEBASTOPOL-MEDELLIN 12" 12/03/2012 14,13 2300 85% 115,57$ 134.085.967$ 0 0
GUALANDAY - NEIVA 13/03/2012 1,9 2100 90% 62,60$ 9.399.495$ 0 0
SALGAR - GUALANDAY 13/03/2012 1,83 1100 50% 66,21$ 2.815.689$ 0 0
SEBASTOPOL-MEDELLIN 12" 13/03/2012 1,6 2300 85% 115,57$ 15.183.124$ 0 0
GUALANDAY - NEIVA 14/03/2012 1 2100 90% 62,60$ 4.947.103$ 0 0
GUALANDAY - NEIVA 15/03/2012 13,55 2100 90% 62,60$ 67.033.242$ 0 0
MA
RZO
FEB
RER
O
PROPUESTASITUACIÓN ACTUAL PROGRAMACIÓN ECOPETROL
105
Sistema F echa T .H rs
C apacidad
o perat iva
(B P H )
F acto r de
ut ilizació n
C o sto de
transpo rte
($ / Gl)
P érdida T .H rs P érdida
GUALANDAY - NEIVA 16/03/2012 3,65 2100 90% 62,60$ 18.056.925$ 0 0
SALGAR - GUALANDAY 16/03/2012 3,55 1100 50% 66,21$ 5.462.128$ 0 0
GALAN - BUCARAMANGA 17/03/2012 2,15 600 100% 113,17$ 6.131.551$ 0 0
GALAN - SEBASTOPOL 16" 17/03/2012 0,2 6300 60% 128,00$ 4.037.161$ 0 0
GALAN-SEBASTOPOL 12" 17/03/2012 22,83 2100 90% 128,00$ 230.936.445$ 0 0
GUALANDAY - NEIVA 18/03/2012 18,55 2100 90% 62,60$ 91.768.755$ 0 0
SALGAR - GUALANDAY 18/03/2012 18,52 1100 50% 66,21$ 28.495.385$ 0 0
GUALANDAY - NEIVA 19/03/2012 2,77 2100 90% 62,60$ 13.703.475$ 0 0
MEDELLIN-CARTAGO 19/03/2012 8,33 1400 78% 33,71$ 12.812.763$ 0 0
SALGAR - CARTAGO 19/03/2012 0,6 900 87% 101,12$ 1.988.379$ 0 0
SALGAR - GUALANDAY 20/03/2012 2,78 1100 50% 66,21$ 4.277.385$ 0 0
SEBASTOPOL - SALGAR 12" 20/03/2012 2,27 2100 44% 48,16$ 4.242.615$ 0 0
CARTAGO-YUMBO 6" 20/03/2012 12,8 700 47% 33,71$ 5.962.301$ 0 0
MEDELLIN-CARTAGO 20/03/2012 14 1400 78% 33,71$ 21.534.056$ 0 0
SALGAR - CARTAGO 21/03/2012 13,22 900 87% 101,12$ 43.810.621$ 0 0
SALGAR - GUALANDAY 21/03/2012 7,48 1100 50% 66,21$ 11.508.935$ 0 0
SEBASTOPOL-MEDELLIN 12" 24/03/2012 5,7 2300 85% 115,57$ 54.089.880$ 0 0
CARTAGO-YUMBO 6" 26/03/2012 18,98 700 47% 33,71$ 8.840.975$ 0 0
SALGAR - CARTAGO 28/03/2012 20,42 900 87% 101,12$ 67.671.172$ 0 0
SALGAR - GUALANDAY 28/03/2012 24 1100 50% 66,21$ 36.927.065$ 0 0
SALGAR - GUALANDAY 31/03/2012 9,03 1100 50% 66,21$ 13.893.808$ 0 0
-$
-$
-$ Pérdidas anuales por paros por a l tos inventarios debido a mala
programación
3.614.425.157$
903.606.289$
6.505.965.282$
SITUACIÓN ACTUAL PROGRAMACIÓN ECOPETROL PROPUESTA
MA
RZO
Pérdidas por paros por a l tos inventarios (50 días )
Pérdidas por paros por a l tos inventarios debido a mala programación
(50 días )