43
Planificación de terminales portuarias de contenedores 93 Carlos Alberto Arango Pastrana 4. Modelos de simulación y optimización integrados para la asignación de muelles Se vuelve a presentar la figura 13 para mostrar de forma esquemática el problema que es abordado en este apartado. Aunque el modelo de simulación tiene en cuentas como mínimo tres operativas En la figura 23 está en color naranja la que es optimizada según el propósito de este trabajo. Figura 23 Operativa gestionada En éste capítulo se realiza el análisis de la operativa de asignación de muelles en las terminales portuarias de contenedores, presentándose una aplicación al caso de la terminal de contenedores Batan del Puerto de Sevilla (PS). Para gestionar la asignación de este importante recurso se utiliza una metodología que integra simulación y optimización utilizando el software ARENA 11.0. Se propone un modelo matemático y se desarrolla un enfoque de solución basado en un algoritmo genético para resolver el problema de programación entera mixta. El objetivo es minimizar el tiempo total de servicio para cada buque considerando el criterio de asignación primero en llegarprimero en servirse (First come First Served FCFS).

4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Embed Size (px)

Citation preview

Page 1: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

93

Carlos Alberto Arango Pastrana

4. Modelos de simulación y optimización integrados para la asignación de muelles

Se vuelve a presentar la figura 13 para mostrar de forma esquemática el problema

que es abordado en este apartado. Aunque el modelo de simulación tiene en

cuentas como mínimo tres operativas En la figura 23 está en color naranja la que

es optimizada según el propósito de este trabajo.

Figura 23 Operativa gestionada

En éste capítulo se realiza el análisis de la operativa de asignación de muelles en

las terminales portuarias de contenedores, presentándose una aplicación al caso

de la terminal de contenedores Batan del Puerto de Sevilla (PS). Para gestionar la

asignación de este importante recurso se utiliza una metodología que integra

simulación y optimización utilizando el software ARENA 11.0. Se propone un

modelo matemático y se desarrolla un enfoque de solución basado en un algoritmo

genético para resolver el problema de programación entera mixta. El objetivo es

minimizar el tiempo total de servicio para cada buque considerando el criterio de

asignación primero en llegar–primero en servirse (First come – First Served FCFS).

Page 2: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

94

Carlos Alberto Arango Pastrana

Debido a que el Puerto de Sevilla ha remplazado su vieja esclusa para así lograr un

incremento en el tráfico de buques. Se estima un incremento en el tráfico de

buques y contenedores actuales para identificar futuros cuellos de botella en la

terminal. De acuerdo con los resultados obtenidos se analizan las mejoras

obtenidas con el modelo propuesto comparándolas con la actual estrategia de

asignación. Todo lo anterior será expuesto y discutido en los siguientes apartados.

4.1. La optimización por simulación como herramienta de gestión

La simulación de eventos discretos proporciona una excelente herramienta para la

evaluación de diferentes estrategias de asignación de recursos, ubicación de

contenedores, posicionamiento de grúas y ayuda a la toma de decisiones en los

subsistemas involucrados de las TCP, Arango et al (2010b).

Autores como Fu (2002) afirman que hasta mediados de los años noventa la

simulación y optimización eran utilizadas de forma separada, pero en la última

década se han realizado diferentes trabajos que utilizan esta metodología en

sectores de la industria tan diversos como:

Sistemas para la maximización de la producción y minimización de los

ciclos de tiempo.

Cadenas de suministro para reducir los niveles de inventario e incrementar

el nivel de servicio al cliente en tiempos de respuesta.

Call centers para minimizar costes del sistema e incrementar el nivel de

servicio al cliente reduciendo los tiempos de espera.

Finanzas para maximizar los retornos y disminuir el nivel de riesgo.

Control de inventarios para disminuir los costes de almacenaje.

Sistemas de servidores de colas para minimizar los tiempos de espera.

Industria logística para disminuir los costes de operación.

En la mayoría de los casos la utilización de esta metodología ha tenido buenos

resultados, lo que ha generado una gran cantidad de usuarios. Pero lo más

importante es el desarrollo del software de simulación y optimización integrados.

Según Fu (2002) estas herramientas informáticas son la relación más prospera

entre la investigación operativa y la ciencia de la computación.

Page 3: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

95

Carlos Alberto Arango Pastrana

Los softwares son un buen comienzo para gestionar recursos, pero fallan al no

sacar el máximo rendimiento de la metodología. En Fu (2001) se identifican los

principales software de optimización por simulación y sus proveedores los cueles

se relacionan en la tabla 11.

Tabla 11 Softwares de optimización para plataformas de simulación

Como se puede ver en la anterior tabla, todos los paquetes informáticos aplican

heurísticas basadas en algoritmos de búsquedas entre sus estrategias de

simulación. Según Boesel et al (2001) el desarrollo de la optimización por

simulación no hubiese sido posible sin la utilización de estas estrategias. Otros

métodos utilizados son clasificados en Carson y Maria (1997) y Swisher et al

(2000), los cuales son presentados de forma esquemática en la figura 24.

Figura 24 Métodos de optimización por simulación

Metodos de Optimización por Simulación

Metodos basados en Busquedas

Estimacion de diferencias

Estimador de la probabilidad

Analisis de la perturbacion

Frecuencias dominantes en

los experimentos

Optimizacion estocastica

Responce Surface

Methodology

Metodos Heuristicos

Busqueda Tabu

Algotimo Genetico

Recorrido simulado

Estrategias evolutivas

Busqueda simple

Equipos AMetodos Estaticos

Comparaciones Multiples

Ranking and selection

Importancia de la muestra

Page 4: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

96

Carlos Alberto Arango Pastrana

4.2. Caso de estudio

El Puerto de Sevilla está ubicado en la ribera del río Guadalquivir y es el único

puerto interior de España; ha sido a través del tiempo uno de los principales

puertos de cabotaje del sur del país gracias a su alto nivel de conectividad con el

resto de España y Europa por los principales medios de transporte como: fluviales,

terrestres, aéreos y ferroviarios. Esto por su regularidad y alta frecuencia en rutas

como Madrid–Sevilla–Tenerife y también por ser conexión con países como

Portugal, Alemania, Francia, etc., siendo un nodo clave en las redes de transporte

marítimo de corta distancia (TMCD).

El actual cuello de botella del puerto de Sevilla es su esclusa ya que esta solo

permite la llegada de pequeños buques. Por lo tanto se está construyendo una

nueva esclusa de mayores dimensiones que permitirá la entrada al puerto de

buques de mayor tamaño en los próximos años. En la figura 25 se muestra la

futura apariencia del puerto con la nueva esclusa.

Figura 25 Futura apariencia del puerto de Sevilla. Proyecto de desarrollo Fuente: © Autoridad Portuaria de Sevilla

La nueva esclusa es de gran importancia para el puerto de Sevilla, ya que permitirá

que este continúe siendo uno de los principales nodos de las redes de transporte

intermodal del sur de España. La Autoridad Portuaria de Sevilla (APS) calcula que

con la nueva esclusa se mejorara el rendimiento del puerto y se duplicará el tráfico

de buques actuales. Lo que obliga a que otros procesos y recursos sean gestionados

para mantener ese nivel de competitividad deseado.

Para el modelo de simulación propuesto se toman datos de tráfico reales de la APS,

los cuales corresponden al flujo de contenedores y al flujo de buques

portacontenedores que llegan al puerto. Para representar el futuro flujo de buques

Page 5: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

97

Carlos Alberto Arango Pastrana

portacontenedores que llegará al puerto con la nueva esclusa se han considerado

los datos del flujo de los buques que transportan cereal, cemento y chatarra. Esto

es con el objetivo de que todos los datos de entrada sean reales.

Como se explicó en el capítulo 3, una de las formas de medir el rendimiento de los

puertos es por la cantidad de tiempo que pasan los buques atracados en la terminal

realizando las operaciones de carga y descarga. Por lo cual se ha decidido

optimizar la gestión de muelles de la terminal de contenedores del Puerto de

Sevilla ya que ésta cuenta con dos grúas pórtico, por lo cual existe gran

probabilidad que pueda convertirse en un nuevo cuello de botella del puerto.

En el modelo de simulación se contemplan: la llegada de los buques, el paso por la

esclusa, la carga y descarga de contenedores y la salida del puerto. Se propone un

modelo de optimización para gestionar la asignación de los muelles y se desarrolla

una heurística basada en un algoritmo genético (AG) para resolver el problema de

asignación de muelle (BAP).

Anteriores trabajos que gestionan los procesos de las TCP utilizando simulación y

optimización, son los de Cortes et al (2007) donde se propone un modelo de

simulación para analizar el tráfico de buques en el puerto de Sevilla, los autores

consideran todos los tipos de mercancías que son movilizadas en el puerto. Liu et

al (2002) que proponen un modelo de simulación para analizar el rendimiento de

cuatro terminales de contenedores automatizadas y analizar los costes de

funcionamiento. En los trabajos propuestos por Demetro et al (2006) y Legato et

al (2009) son utilizados modelos de optimización por simulación de forma

complementaria para la programación y asignación de diferentes recursos, como

las grúas RTG.

4.2.1. Escenario de simulación

La Autoridad Portuaria de Sevilla entidad encargada de gestionar el Puerto de

Sevilla incorpora varias terminales especializadas en el manejo de diferentes

mercancías como; la terminal UTE Batan para contenedores, TLP Esclusa para

cereales, Holcim para cemento, GPMA para hierro y metales, TLD Grupo Gallardo

para chatarra, etc.

En el modelo de simulación presentado se considera la terminal de contenedores

Batan y las instalaciones necesarias para la operación de contenedores, la figura 25

muestra el escenario de simulación.

Page 6: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

98

Carlos Alberto Arango Pastrana

Figura 26 Escenario de simulación Fuente: Elaboración propia

El terminal de contenedores Batan 1 y Batan 2 son dos terminales de contenedores

localizados en la misma dársena (Centenario). Por lo tanto todos los recursos como

grúas pórtico, carretillas pórtico e instalaciones son usadas por ambas para la

manipulación de contenedores. Por lo tanto se consideran que estas dos terminales

equivalen a una terminal con dos muelles (muelle Batan 1 y muelle Batan 2).

Descripción del modelo:

Al puerto de Sevilla llegan buques portacontenedores para realizar operaciones de

descarga y carga en los muelles cada t_llegada_B días. Los buques llegan hasta la

entrada del puerto y esperan a los barcos remolcadores limitados por Rmax, los

cuales guían a los buques hasta el muelle asignado. A cada buque se le asigna un

muelle existiendo un número limitado para su atraque de Mmax. Si todos los

muelles y/o remolcadores están ocupados, los buques deben esperar en la entrada

del puerto.

El tiempo que estará cada buque en el muelle dependerá de tres puntos clave: 1.)

La cantidad de contenedores a descargar y cargar; 2.) La ubicación en la explanada

de los contenedores a cargar en el buque; y 3.) La cantidad de carretillas

disponibles para realizar el transporte de los contenedores. Cada muelle tendrá

asignado sólo una grúa pórtico manejando igual número de grúas y muelles.

De igual forma al puerto llegan camiones para carga o descarga de contenedores (a

diferencia de los buques cada camión solo puede realizar una de las dos

operaciones) cada t_llegada_C minutos. En cada camión se realiza un control a la

entrada y se asigna una plaza dentro del puerto en donde debe esperar para ser

atendido por la maquinaria de manipulación existiendo un número limitado de

plazas de Pmax, a su vez también existe una cantidad limitada de grúas para

Page 7: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

99

Carlos Alberto Arango Pastrana

realizar todas las operaciones de movilización de contenedores para carga y

descarga tanto a camiones como a buques de Gmax. Cada camión que llega con

contenedores al puerto tarda un tiempo constante de t_descar_Ca minutos para su

descarga, a diferencia del tiempo de carga que viene dado por una distribución

triangular teniendo en cuenta que los contenedores están localizados en diferentes

lugares y también la disponibilidad de las grúas, en la figura 27 se muestra el

diagrama de ciclo de actividades.

Figura 27 Diagrama de ciclo de actividades

4.2.2. Datos de entrada

Los datos de tráfico utilizados están resumidos en la tabla 5, estos fueron

obtenidos del portal web de la APS (www.apsevilla.com) durante febrero del 2009.

Los datos muestran que en promedio llegan al puerto 32 buques

portacontenedores por mes, lo que indica que el PS tiene un bajo nivel de tráfico

comparado con puertos como el de Barcelona o Algeciras, esto es debido a que la

actual esclusas solo permite que al puerto lleguen buques de pequeñas

dimensiones.

Page 8: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

100

Carlos Alberto Arango Pastrana

Tabla 12 Trafico del puerto de Sevilla en febrero de 2009

Origen / Destino

Frecuencia carga Buques Mínimo

Contenedores Máximo

Promedio

España 2/Semana contene 8 64 429 243 Marruecos 1/Semana contene 4 100 157 114 España 1/Semana contene 4 54 86 75 Alemania 1/Semana contene 4 30 43 41 España 1/Semana contene 4 64 86 75 Reino Unido 1/Semana contene 4 43 430 214 Holanda 1/Semana contene 4 86 114 98 Reino Unido 3/Semana Chatarra 12 75 75 75 España 2/Semana Cereal 8 75 75 75 Marruecos 1/Semana cemento 4 75 75 75

La tabla 12 corresponde al mes de febrero de 2009 y resume la información

correspondiente al flujo de buques y contenedores durante este mes. Al Puerto de

Sevilla llegaron 32 buques portacontenedores que transportaron 9954 TEUs, de

los cuales el 57% fueron cargados en el PS (contenedores de salida). La APS estima

que el flujo de buques portacontenedores se duplique con la entrada en

funcionamiento de la nueva esclusas. Para simular este tráfico adicional se ha

considerado los datos de las líneas marítimas que transportan cemento, cereales y

chatarra en el PS. Estas líneas están relacionadas al final de la tabla.

La información correspondiente a la infraestructura disponible con que cuenta el

PS para realizar las diferentes operaciones de manipulación en la terminal Batan

ha sido tomada de la memoria anual del puerto de Sevilla del 2008, y se presenta

en la tabla 13.

Tabla 13 Infraestructura de la terminal de contenedores del Puerto de Sevilla

Remolcadores Carretillas Rampas Ro-Ro

Zona de almacenaje

Capacidad /TEUS

Grúas pórtico

2 17 2 97,310m2 150,000 2

Las dos tablas anteriores resumen de forma general parte de la información más

importante que se tiene en cuenta para el modelo de simulación. También se

consideran aspectos como:

Fechas de llegada y salida de los buques

Tiempo de permanencia de los buques dentro del puerto

Cantidad de contenedores a cargar y descargar

Page 9: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

101

Carlos Alberto Arango Pastrana

Como se explico anteriormente para simular el trafico adicional que representara

el futuro incremento en el flujo de buques que llegan al puerto, se consideraron las

líneas marítimas que transportan cemento, cereales y chatarra ya que estas fueron

las que presentaron mayor frecuencia en el mes de febrero de 2009. El único dato

tomado de la información de estas líneas fue la fecha y hora de llegada de cada

buque, por lo cual para tener información del flujo de contenedores a cargar y

descargar por cada buque, se calculo la cantidad de contenedores promedios a

descargar y cargar por las buques portacontenedores que llegaron al puerto en el

mismo mes y éste le fue asignado a las nuevas líneas. Lo anterior se realizo para

representar tanto los contenedores a cargar como a descargar.

4.3. Modelo matemático

Lai y Shih (1992) consideran los tiempos de llegada de los buques como factor

clave en la estrategia de asignación de muelle. Ellos proponen una heurística para

resolver el BAP teniendo como criterio que el primero en llegar es el primero en

servirse (first-come-first-served strategy FCFS). El objetivo del modelo propuesto

en este capítulo es la minimización del tiempo de servicio total para cada buque,

respetando el orden de llegadas. Nótese que este objetivo no garantiza que la suma

total del tiempo de servicio para todos los buques sea mínima. También es

considerado un BAP discreto, utilizado en Cordeau et al (2005) para muelles con

conjunto de puntos de atraque limitados, que para este caso corresponden a dos

muelles. Se realizan las siguientes consideraciones:

Cada buque portacontenedores debe ser servido en uno y solo un muelle.

El tiempo de operación de para cada buque depende del muelle en que sea

servido. Por ejemplo si un buque esta en el muelle Batan 1 y todos los

contenedores que van a ser cargados y descargados de éste tiene como

localización la ZA 1 el tiempo de transporte será igual para todos, pero si

por el contrario algunos contenedores están en la ZA 1 y otros en la ZA 2, el

tiempo de transporte de cada contendor dependerá de la distancia entre el

muelle y las ZA correspondiente.

El tiempo necesario para atravesar la esclusa no se considera ya que es una

constante.

Page 10: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

102

Carlos Alberto Arango Pastrana

El BAP es formulado de la siguiente forma:

Parámetros:

Número de buques tal que .

Numero de muelles tal que .

Datos:

Es el tiempo de transporte de cada buque de la esclusa al muelle y viceversa,

este transporte es realizado con la ayuda de los remolcadores

Tiempo de manipulaciones del buque en el muelle el cual es pre-calculado

según la cantidad de contenedores a descargar y cargar y la localización de

estos en la terminal.

Tiempo de llegada del buque

Variables:

Instante en que se inician las operaciones del buque .

Variable binaria que toma el valor de 1, si la buque i es servido en el muelle j; 0 de otra forma.

Variable binaria que toma el valor de 1, si la buque i’ que llego al puerto después que el buque inicia operaciones en el muelle j.

Restricciones

Esta restricción garantiza que cada buque esté asignado a un muelle

Esta restricción asegura que cada buque sólo pueda ser servido después de su llegada.

Se puede decir que esta es la restricción más importante del modelo propuesto ya que garantiza que si un buque que llego al puerto después que el buque , y es servido antes que esté en el muelle , es porque el tiempo de servicio del buque en el muelle es mayor que el tiempo de servicio en el muelle . La restricción

Page 11: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

103

Carlos Alberto Arango Pastrana

permite que algunos buques que lleguen a la cola de espera puedan ser servidos antes que los que han llegado primero, sólo si los buques en puerto no incrementan su tiempo total de servicio.

Esta restricción complementa la restricción previa ya que garantiza que el buque que continua en la cola de espera de muelle por ceder el paso tenga otro muelle asignado.

Las restricciones (9.6), (9.7) son definiciones de variables binarias y la (9.8) de una variable continúa que sólo puede tomar valores positivos.

Modelo

Sujeto a

Page 12: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

104

Carlos Alberto Arango Pastrana

El objetivo del modelo es minimizar el tiempo total de servicio para cada buque, el

cual está compuesto por el tiempo que demora en el muelle realizando las

operaciones de carga y descarga de contenedores más el tiempo de espera en el

puerto a que su muelle asignado quede libre. También son considerados los

tiempos de desplazamiento del buque dentro del puerto los cuales son

principalmente el remolque desde la esclusa hasta el muelle y viceversa.

4.4. Modelo de simulación

Los sistemas de modelado visual interactivo (VIMS) se fundamentan en la

existencia de sistemas operativos que presentan una interfaz gráfica de usuario

(GUI) como, por ejemplo, Microsoft Windows.

Los modelos son creados utilizando el ratón para seleccionar objetos de simulación

predefinidos en algún menú y colocarlos en la pantalla en el lugar apropiado. Los

caminos que recorren las entidades de simulación (contenedores, maquinaria, etc.)

son creados en la pantalla dibujando líneas que unen los iconos de los objetos

formando una red lógica.

Arena es un ejemplo de este tipo de sistemas. Este entorno permite que SIMAN, un

lenguaje de bloques, pueda ser tratado como VIMS, con todas las ventajas que

ofrece el modelado visual. Por lo cual el lenguaje Arena es considerado una

herramienta de simulación de ‘alto nivel’ ya que opera a través de interfaces

gráficos muy intuitivos que se usan fácilmente mediante el ratón. Los modelos se

construyen utilizando bloques constructivos básicos que se conectan entre sí.

Además, se puede observar la evolución de la simulación mediante un sistema de

animación gráfica.

Arena proporciona una serie de módulos de simulación gráfica y modelado

intercambiables que se pueden combinar para obtener una amplia variedad de

modelos de simulación. Los módulos de Arena están compuestos de componentes

SIMAN. De hecho, se pueden crear nuevos módulos SIMAN que podrían ser usados

junto a los módulos de alto nivel de Arena. Esto hace de Arena una herramienta de

gran versatilidad y potencia. Además, el usuario puede pulsar en el icono de un

objeto y desplegar una ventana con formularios donde se puede parametrizar el

elemento en cuestión.

Se propone un modelo de simulación para la estrategia de asignación de muelles

actual en el puerto de Sevilla y una variación de este modelo al cual se le incorpora

Page 13: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

105

Carlos Alberto Arango Pastrana

un modulo adicional que integra el modelo matemático al modelo de simulación.

De acuerdo con lo expuesto en el apartado 4.2.1, el modelo de simulación está

compuesto por los siguientes grupos de módulos.

Llegada de camiones

Llegada de buques

Remolque de buques

Sistema para la asignación de muelles

Operación de descarga y carga en los muelles

Nuevo sistema para la asignación de muelles

Estos módulos representan las principales operaciones de manipulación que se

llevan a cabo en la terminal de contenedores del Puerto de Sevilla y son explicados

con más detalle en los siguientes apartados.

4.4.1. Llegada de camiones

La figura 28 muestra los módulos que representan la llegada de los camiones al PS

en el cual se utiliza un modulo Decide para clasificar los camiones que llegan al

puerto dependiendo del tipo de operación que van a realizar ya sea cargar o

descargar contendores. Módulos Process representan estas operaciones y utilizan

grúas como recurso necesario. Por último módulos Asigne actualizan las variables

que almacenan la información de los contenedores de importación y exportación

que hay en la zona de almacenaje.

Figura 28 Módulos de llegada de camiones

Estos módulos son incluidos en el modelo de simulación para representar el flujo

de contenedores que entra y sale del puerto por modos terrestres y para influir en

la disponibilidad de las carretillas pórtico pues son utilizadas para movilizar los

contenedores. Esto afecta directamente la operación de buque ya que disminuye la

cantidad de carretillas disponibles.

Page 14: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

106

Carlos Alberto Arango Pastrana

4.4.2. Llegada de buques

De acuerdo a la información del tráfico de buques de la tabla 12 y teniendo en

cuenta información complementaria como fecha y hora de llegada y salida del

puerto, se muestra en la figura 29 los intervalos de tiempo entre las llegada de un

buque y el siguiente, así como también con que probabilidad ocurre esto.

Figura 29 Intervalos de tiempo entre las llegadas de los buques

Mediante un modulo Create se modela la llegada de los buques al puerto, se crea

una entidad que lo representará según las probabilidades de llegada que se

muestran en la figura 30. Cada buque tiene unas características particulares tales

como; contenedores a descargar, contenedores a cargar, localización de estos, etc.

las cuales se le otorgan con un modulo Assign. El paso por la esclusa es

representado con un modulo Process que sólo permite el paso de un buque a la vez.

Figura 30. Módulo de llegada de buques

Los últimos módulos, modelan con un bucle conformado por módulos Assign y

Choose la ubicación del buque en la cola espera_muelle.

0,0%5,0%

10,0%15,0%20,0%25,0%30,0%

0-5

5-1

0

10

-15

15

-20

20

-25

25

-30

30

-35

35

-40

40

-45

45

-50

Pro

bab

ilid

ad

Horas

Page 15: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

107

Carlos Alberto Arango Pastrana

4.4.3. Sistema para la asignación de muelles

Este grupo de módulos representa la estrategia de asignación actual en el PS la cual

tiene como criterio de asignación el orden de llegada de los buques. Para modelar

esto se utiliza un modulo Seize para solicitar el muelle y tres módulos Choose para

asignar el muelle dependiendo si esta uno o los dos libres. Si es uno el que está

libre se le asigna éste al buque para que inicie operaciones lo más rápido posible y

si son dos los que están libres se evalúa el que más le convenga al buque para

asignarle este. La figura 31 muestra este grupo de módulos.

Figura 31. Módulos de asignación de Muelle

4.4.4. Remolque de buques

Los dos remolcadores son creados cuando inicia la simulación, y son enviados a

dos grupos de módulos que representan la operación de remolque de los buques.

En la figura 32 se muestran los módulos de esta operativa, correspondiente a un

remolcador ya que son exactamente iguales para ambos. Estos módulos conforman

tres subgrupos como se puede ver en la figura.

Page 16: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

108

Carlos Alberto Arango Pastrana

Figura 32 Módulos de remolque de buques

Los primeros módulos de la figura 32 corresponden al subgrupo de módulos de

espera y búsqueda de llamadas. Cuando un buque necesita ser remolcado envía

una señal mediante un modulo Signal a los remolcadores que están en este

subgrupo y así se atiendan la llamada. Los remolcadores esperan esta señal en un

módulo Wait y al salir pasan a estar ocupados por lo cual con un modulo Assign se

modifica este atributo. Mediante bucles conformados por módulos Choose y Assigns

se busca en el sistema el buque que necesita al remolcador y se guarda como

atributo la localización de éste.

El subgrupo a mitad de la figura modela la recogida de los buques, en el cual según

la información que tiene el remolcador de la localización del buque que lo necesita

es enviado a este lugar con un modulo Route. Y por último el tercer subgrupo tiene

como objetivo coordinar la recogida de los buques según el orden de llegada de

estos.

Page 17: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

109

Carlos Alberto Arango Pastrana

4.4.5. Operación de descarga y carga en los muelles

Los módulos de la figura 33 representan las operaciones de manipulación que se

realizan en los muelles y la zona de almacenamiento de la terminal de

contenedores. El tiempo que tarda un buque en el muelle dependerá de las

características asignadas a su llegada tales como la cantidad de contenedores a

cargar y descargar, la localización de estos contenedores en la ZA y la

disponibilidad de carretillas en ese instante de tiempo. Se consideran dos muelles

en el modelo de simulación, pero al ser exactamente iguales solo son mostrados en

la figura los módulos del muelle Batan 1.

Al muelle llega el buque guiado por el remolcador por lo cual con un modulo

Dropoff se separan, de forma que el buque continúe en los módulos del muelle y el

remolcador quede libre. De forma similar son separados del buque los

contenedores que serán descargados con un modulo Separate para así iniciar la

operación de descarga.

Se utiliza un modulo Hold para asegurar que las operaciones de descarga inicien

después de haber terminado con las operaciones de carga.

Con respecto a la programación de las dos grúas pórtico se considera que cada

grúa está asociada a un muelle de manera que al asignar un muelle a un buque se le

ha asignado implícitamente una grúa. También se considera que cuando solo este

un muelle ocupado realizando operaciones de carga y descarga con su respectiva

grúa, la grúa del otro muelle que se encuentra libre puede ser utilizada de manera

que se minimice el tiempo de servicio. Esto se da si y solo si:

No hay buques en cola

No se está remolcando un buque con destino al muelle libre.

Page 18: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

110

Carlos Alberto Arango Pastrana

Figura 33. Módulo de operaciones de descarga y carga en el muelle

4.4.6. Nuevo sistema para la asignación de muelles

Como la simulación se ha llevado a cabo en la herramienta ARENA, se ha podido

desarrollar un algoritmo genético que resuelve el modelo de optimización en un

modulo VBA el cual funcionan como interface entre el modelo de simulación y un

editor de Visual Basic que posee ARENA

El editor de Visual Basic es en donde se inserta el programa o conjunto de rutinas a

ejecutar. ARENA ofrece mucha versatilidad en cuanto a que la ejecución del

programa generado se puede ejecutar en el momento que uno desee. Se puede

ejecutar al comienzo de la simulación, al final de la misma, cuando se pulse una

tecla, etc.

ARENA también permite la posibilidad de que el programa se ejecute cuando una

entidad cualquiera de la simulación entre en un modulo denominado VBA. Esta

opción es la elegida para diseñar el modulo de asignación de muelles que integra el

modelo de simulación con el de optimización. Este es mostrado en la figura 34.

Page 19: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

111

Carlos Alberto Arango Pastrana

Figura 34 Modulo para la asignación de muelles con VBA

Este nuevo modulo remplaza el explicado en el apartado 4.4.3 y es el único cambio

que se realiza en el modelo de simulación mostrado en los apartados anteriores. El

modulo VBA es usado para insertar el modelo de optimización mediante

heurísticas basadas en un algoritmo genético, todo esto es hecho en lenguaje Visual

Basic. Cuando un buque entra en el modulo VBA se ejecuta el algoritmo el cual

toma información del modelo de simulación tal como buques en espera de muelle,

cantidad de contenedores a movilizar por cada uno, etc. la cual utiliza para

gestionar la asignación de muelle según los criterios del modelo de optimización.

Devuelve la información al modelo de simulación la cual tiene la nueva asignación

de muelles.

4.5. Algoritmo genético

Para solucionar el modelo de optimización se diseña un algoritmo genético. Cada

vez que un buque llega al modelo de simulación y entra al modulo VBA, este

integra el modelo de optimización y el modelo de simulación para reasignar los

muelles a los buques en el puerto, incluyendo los recién llegados.

A continuación se describen una serie de conceptos a tener en cuenta en el diseño

del algoritmo genético, además de mostrar el funcionamiento del algoritmo

diseñado para este modelo en cuestión.

Page 20: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

112

Carlos Alberto Arango Pastrana

4.5.1. Individuo

Los individuos o cromosomas, se representan como una cadena a través de un

alfabeto finito, en el que cada elemento se denomina gen. Dichos genes constituyen

los cromosomas. En el ADN humano el alfabeto es AGTC (adenina, guanina, timina

y citosina) y en los algoritmos genéticos generalmente se utiliza el alfabeto binario

(0,1). Por tanto los cromosomas de los individuos de la población serán una cadena

de ceros y unos, siendo éstos, genes de dicho cromosoma. En ocasiones puede

recurrirse a una especificación del cromosoma mediante números reales en vez de

números binarios.

En la codificación del individuo del modelo propuesto se usa una estrategia de

asignación de muelle. De este modo, el individuo está formado por una cadena

binaria de 20 genes o bits. Los genes están agrupados por parejas, formando así 10

parejas. Cada pareja de bits representa un buque, el cual puede tener asignado el

muelle 1 o el muelle 2. Esto se representará con un uno en el primer bit de la

pareja si se trata del muelle 1 o con un uno en el segundo bit si se trata del muelle

2, pudiendo tener por tanto los siguientes casos:

00 --> No existe asignación ni del muelle 1 ni del muelle 2

10 --> Existe asignación en muelle 1

01 --> Existe asignación en muelle 2

Merece la pena señalar que en ningún caso se producirá la opción restante en la

que ambos muelles están asignados a un buque. En la figura 34 se muestra la

estructura de un individuo que representa una solución posible al modelo.

Buque portacontenedores 1 2 3 4 5 6 7 8 9 10

Individuo 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0 1 0 0 0 0

Muelle No. 1 2 1 1 2 1 2 2

Figura 35 Estructura de un individuo

El cromosoma mostrado en la figura 34 muestra la representación de un

cromosoma típico para la reprogramación de los dos muelles, en el cual se tiene

asignados los buques 1, 3, 4 y 6 al muelle 1 y serán atendidos según el orden de

llegada y los buques 2, 5, 7 y 8 al muelle 2. Los buques 9 y 10 tienen los dos genes

con valor cero (0) lo que indica que esos lugares de la cola están vacios. Por lo

tanto los buques en puerto son 8.

Page 21: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

113

Carlos Alberto Arango Pastrana

4.5.2. Población

La población viene determinada por un conjunto de individuos que poseen ciertas

semejanzas. En los algoritmos genéticos serán conjuntos finitos de cadenas de

ceros y unos, es decir de cromosomas. En este modelo será de tamaño variable

hasta un máximo de 20 individuos. Veremos más adelante que dicha población

podrá ser por tanto de tamaño 2, 4, 8, 16 o 20.

Dado que los individuos están formados por una secuencia de 20 enteros que

serán ceros y unos, y dado que la población más amplia en este algoritmo se

constituye con 20 individuos a lo sumo, se llega a la conclusión de que las

dimensiones de la matriz población serán de [20 x 20], como se observa en la

figura 35.

Figura 36 Estructura de población

Cada fila de dicha matriz representa un individuo, pudiéndose tener hasta 20

individuos.

Varios son los índices que se utilizan en esta matriz para su mejor accesibilidad y

manejo. Podemos agrupar los índices que se moverán por filas y aquellos que lo

harán por columnas.

Page 22: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

114

Carlos Alberto Arango Pastrana

Í n d i c e s d e f i l a s

Existen dos índices que se desplazan en la matriz por filas. Son los siguientes:

i_f_pob

i_max_pob

El primero es un índice que indicará en todo momento con que individuo se está

trabajando y constituye una forma sencilla de tenerlo localizado y poder acceder a

él en cualquier momento.

El segundo será por el contrario un índice invariable a lo largo de la ejecución del

algoritmo e indicará la longitud máxima de la población. Dado que es un índice de

filas, su valor podría estar comprendido entre 0 y 19. Y podrá ser 1, 3, 7, 15 o 19.

Esto dependerá del número de buques que están en el puerto a la espera de ser

atendidos en el instante de tiempo que se ejecuta el algoritmo, a continuación es

explicado de forma más detallada.

Valdrá 1 cuando sólo se tengan dos individuos en la población. Esto será cuando en

estado sólo haya un 1, lo cual significará que sólo hay un buque en la cola de

espera. En este caso se podrá tener por tanto sólo dos individuos en la población.

Uno tendrá el buque asignado al muelle 1, es decir con 10 en la pareja de genes

correspondientes, y otro tendrá el buque asignado al muelle 2, es decir con 01 en

dicha pareja de genes.

Valdrá 3 cuando se tengan 4 individuos en la población, provenientes de las

diferentes combinaciones que se pueden dar cuando se tengan dos buques en la

cola de espera.

Valdrá 7 cuando hay 8 individuos en la población, es decir se tengan 3 buques en

estado, y valdrá 15 cuando haya 16 individuos, provenientes de 4 buques.

Como último caso, valdrá 19 siempre que haya 5 o más buques en la cola de espera,

en ese caso se podrían obtener como mínimo 32 individuos diferentes, lo cual

supera el máximo establecido para la población, que es de 20 individuos.

Debe quedar de manifiesto que el índice i_f_pob siempre tendrá un valor

inferior o igual al índice i_max_pob dado que el primero apuntará a un individuo

de la población, y el segundo siempre lo hará al último individuo de la misma.

Page 23: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

115

Carlos Alberto Arango Pastrana

4.5.3. Función de aptitud

La función de aptitud es una función que mide la idoneidad de un individuo. La

naturaleza se encarga de eliminar al menos adaptado y por eso se hace necesaria

una función que determine como de bueno o de malo es un individuo. Esta varía

dependiendo del problema en cuestión, pero en general, suele ser una función que

tiene por entrada un individuo y por salida un número real.

Generalmente en los algoritmos genéticos, el mejor individuo de la población viene

determinado por el valor de fitness mayor de todos, ya que se trata de una función

de aptitud. Sin embargo, en el algoritmo genético que se desarrollado, se considera

la función opuesta, es decir, el individuo de menor aptitud es considerado como el

individuo mejor de la población.

Esto se debe a que la función de aptitud ofrece una medida estimada del tiempo

aproximado que tardarían los dos muelles en servir los buques que tienen

asignados. De esta forma, el individuo mejor de todos será aquel que tarde menos

tiempo en realizar las operaciones de los buques. Es decir aquel que tenga la

aptitud más baja (el menor valor). Con esa asignación de buques, los muelles

tardarán menos tiempo en atenderlos que con otra asignación distinta

correspondiente a otro individuo.

A partir de ahora y para mayor comodidad se hablará de aptitud de un individuo,

refiriéndose al valor obtenido al evaluar a dicho individuo por la función aptitud,

es decir será el valor de salida de la función

Para almacenar los valores correspondientes a la aptitud de cada individuo se

diseña una matriz de dimensiones [20 x 2], cuya funcionalidad se describe a

continuación.

La matriz aptitud dispone de un sólo índice para moverse por la misma. Se trata

del índice i_f_fit que valdrá desde 0 hasta 19 (índice por filas). No se dispone

de ningún índice por columnas. La primera columna vendrá determinada por la

posición del individuo en la población (desde 0 hasta 19 como máximo), como se

verá a continuación, mientras que la segunda vendrá determinada por el valor de

la aptitud de ese individuo. Para hacer referencia a una o a otra columna se

indicará un 0 o un 1 en el segundo campo de la matriz aptitud. La estructura de la

matriz aptitud es mostrada en la figura 37.

Page 24: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

116

Carlos Alberto Arango Pastrana

Figura 37 Estructura de la matriz aptitud

La primera columna vendrá determinada por números del 0 al 19, aumentando

conforme aumentan las filas. Estos números hacen referencia a los individuos que

se encuentran en la población en esa misma posición de fila.

La segunda columna hace referencia al valor de la aptitud que tiene cada individuo

de la población. De este modo, si en la primera fila de la matriz aptitud se tienen los

valores 0, 32, en primera y segunda columna respectivamente, significará que el

primer individuo de la población, el de la fila 0, tendrá una aptitud de 32.

También se diseña una matriz AptitudO la cual tiene las mismas dimensiones

que la matriz aptitud, aunque su propósito es distinto ya que es una matriz en la

que los individuos están ordenados según su valor de aptitud. De este modo, en las

primeras filas de dicha matriz AptitudO, estarán los individuos con el menos

calor de aptitud, es decir los mejores individuos en este caso.

La segunda columna indica la aptitud que el individuo tiene, mientras que la

primera columna indica la posición de dicho individuo en la población.

Supóngase el caso de que se tiene en la primera fila de la matriz AptitudO están

los valores 3 y 84 en su primera y segunda columna respectivamente. En tal caso,

esto indicaría que el mejor individuo, es decir aquel de aptitud más baja (por

encontrarse en la primera fila de AptitudO), tiene un valor de aptitud de 84 y se

trata del individuo que se encuentra en la tercera posición de la población, ya que

el primer individuo de la misma es el cero.

Page 25: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

117

Carlos Alberto Arango Pastrana

4.5.4. Operadores genéticos

En este apartado de explicaran los dos procesos para modificar la población y su

funcionamiento en el algoritmo diseñado.

C r u c e

El cruce constituye uno de los dos procesos de reproducción en una población. En

dicho proceso de reproducción hay que señalar que a la hora de generarse un

nuevo individuo, de la forma que sea, se elimina otro de la población. Con esto se

pretende imitar a la naturaleza en la que unos individuos nacen y otros mueren,

con la salvedad de que en este caso la población no va a variar de tamaño.

En el proceso de cruce, un par de individuos (padre y madre) se cruzan para

formar un nuevo individuo (hijo), el cual entrará a formar parte de la población.

Esto se realiza en primer lugar tomando dos individuos al azar de la población y el

hijo o cromosoma resultante de dicho cruce vendrá caracterizado por ambos.

En aquellas parejas de genes en las que los genes del padre sean igual a los de la

madre, el hijo heredará una réplica exacta de estos. Y en aquellas parejas de genes

en las que el padre tenga 10 y la madre 01 o viceversa, será en donde se producirá

un cruce, heredando el hijo en este caso con una probabilidad de 0.5 los genes del

padre y con una probabilidad de 0.5 los genes de la madre.

Con este cruce se modifica la asignación de ese buque. Es decir, si en dicha pareja

de genes se tiene 01, estará asignado al muelle 2 mientras que si tiene 10, estará

asignado al muelle 1.

Por tanto, se debe señalar que si el padre difiere de la madre en una sola pareja de

genes, el hijo heredará completamente los mismos genes que el padre o que la

madre, produciéndose en este caso la duplicidad del individuo que es conocido

como incesto

Para prevenir la duplicidad de individuos, los dos individuos escogidos al azar de

la población, que serán el padre y la madre, no podrán ser excesivamente

parecidos en cuanto a información genética. Si únicamente se comprobara que

ambos no difirieran en una única pareja de genes, lo que se estaría previendo sería

la duplicidad del individuo, como antes se ha explicado. Por lo cual se establece que

padre y madre deben diferir en al menos tres parejas de genes.

Page 26: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

118

Carlos Alberto Arango Pastrana

M u t a c i ó n

La mutación constituye el otro proceso de reproducción y consiste en la

modificación de uno o varios genes de un individuo. El nuevo individuo mutado

entrará a formar parte de la población. En muchos algoritmos genéticos tras la

mutación, el individuo mutado reemplaza al individuo original en la población, sin

embargo en otros muchos el individuo original se mantiene en la población

saliendo de la misma otro individuo supuestamente peor adaptado que él. En este

trabajo es considerada la segunda opción.

La mutación se realiza sobre un individuo elegido al azar de la población, y

consiste en la modificación de una pareja de genes. O bien dos genes mutan de 01 a

10 o viceversa. Esta mutación se produce sobre una pareja de genes que están por

tanto a 01 o a 10, nunca sobre una pareja de genes que esté a 00, pues significa que

no hay buque en ese lugar de la cola.

Con esto se consigue modificar la asignación de un buque. Si estaba asignado el

muelle 1 pasará ahora a estarlo el muelle 2 o viceversa.

Se puede pensar de antemano que una forma posible de realizar este proceso sería

buscar aleatoriamente una pareja de genes de hijo de entre las 10 posibles.

Posteriormente comprobar si en esa pareja existe muelle asignado, es decir si se

tiene un 10 o 01, y pasar a cambiar su valor en caso afirmativo o buscar otra en

caso negativo.

Sin embargo, en casos en los que se tienen pocos buques, se podrían realizar

muchas búsquedas innecesarias, hasta dar con la pareja de genes que exista muelle

asignado. Por tal motivo se planteo una forma en la que no hubiera que hacer

muchas búsquedas, la cual consiste en una sola elección aleatoria de entre todos

los genes de hijo.

En la nueva forma para realizar el proceso, lo primero que se haría sería

comprobar si esta pareja de genes tiene buque. Si fuera así, se tomaría esta pareja

de genes para su modificación, y si no, se recorrería hijo a partir de ella de derecha

a izquierda, con el fin de que la primera que se encontrara fuera la elegida a mutar.

Sin embargo, este procedimiento presenta un problema ya que no todas las parejas

de genes que constituyen hijo tendrían la misma probabilidad de ser mutadas,

discriminando así a unas frente a otras.

Page 27: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

119

Carlos Alberto Arango Pastrana

Supóngase el caso de que sólo se tienen dos buques que son el buque dos y el

buque tres. En este caso, serían la segunda y la tercera pareja de genes de hijo las

que tendrían buque. Al realizar la elección aleatoria de una pareja de genes, se

mutaría siempre la pareja de genes correspondiente al tercer buque a no ser que la

elección cayera exactamente en la segunda pareja de genes de hijo.

Un número muy pequeño de posibilidades, frente a todas las demás en las que la

pareja a mutar terminaría siendo la pareja de genes del tercer buque. Con el fin de

que no se hicieran muchas elecciones, fuera rápido, eficaz y todas las parejas de

genes fueran equiprobables, se desarrolló este proceso, el cual consta de tres

partes:

Recuento de buques asignados: En este sub-bloque, se cuentan los buques

que hay. Para eso se utiliza un contador y se recorre la matriz estado

incrementando el valor del mismo en aquellos casos en los que sí lo hay.

Colocación en los genes a mutar: De entre el número de buques que hay, se

elige uno aleatoriamente. Si por ejemplo se tienen cinco buques, se elige un

número aleatorio entre 1 y 5. Dicho número dará la pareja a mutar.

Mutación de los genes: Posteriormente lo único que quedaría por hacer

sería ver si la pareja tiene asignado el muelle 1, es decir 10, en cuyo caso se

modificaría y pasaría a estar asignado al muelle 2, es decir 01, o viceversa.

4.5.5. Estructura del algoritmo genético

Para explicar cómo opera el algoritmo genético se ha diseñado un diagrama de

flujo que muestra la estructura de la heurística utilizada para resolver el modelo de

optimización. Cada bloque del diagrama está formado por un conjunto de

sentencias en Visual Basic que se ejecutan cada vez que una entidad entra al

modulo VBA. Este diagrama se muestra en la figura 38.

Page 28: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

120

Carlos Alberto Arango Pastrana

Figura 38 Estructura de la heurística utilizada

Para facilitar la interacción entre el modelo de simulación y el algoritmo, se diseña

un array o matriz unidimensional formado por 10 enteros denominada matriz

estado. En dicho array se tendrá información acerca de cuál es el orden de llegada

de los buques que están esperando en la cola y por ende cuantos hay. Un 0 en

cualquier elemento del array indica que no existe buque en ese lugar de la cola,

mientras que un 1 indica que sí lo hay.

Supóngase por ejemplo que en el segundo elemento de la matriz estado se tiene un

1. Esto indicará que en el segundo lugar de la cola hay un buque. Estado no dará

información acerca de qué muelle está asignado a ese buque, ya que será

posteriormente el algoritmo genético el que decida cuál es el más apropiado.

Por tanto, la matriz estado simplemente se encarga de tener la información

existente en ese momento en la simulación por medio de ceros y unos en sus

elementos.

Población actual es la final

Operadores genéticos

Toma de información actual del Arena

Generación de la población inicial

Calculo de la aptitud de cada individuo

Mutación Cruce

Generación de nuevo Individuo

Calculo de las aptitudes de la nueva población

Envió de la información de

la programación a Arena

Fin

Si

No

Page 29: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

121

Carlos Alberto Arango Pastrana

Se dispone también de un índice denominado i_est que será el encargado de

moverse a lo largo de la matriz estado. Sus valores valdrán desde 0, momento en el

que apuntará al comienzo del array, primer lugar de la cola, hasta 9, momento en el

que apuntará al final del array, último lugar de la cola.

A continuación se describe el funcionamiento de cada uno de los bloques del

diagrama del anterior diagrama

I n f o r m a c i ó n a c t u a l d e l s i s t e m a

En este bloque se realiza una análisis de la programación de muelles para lo cual se

realiza es una exploración de las variables utilizadas en la simulación, AsigM1 y

AsigM2. Esto es con el objetivo de saber cuántos buques están asignados a los

muelles y no están en operación. Es indiferente a que muelle están asignados los

buques pues hay probabilidad que tras la ejecución del algoritmo la asignación

cambie.

Con esta información se van asignando ceros o unos en estado, dependiendo de

que no haya buque o de que sí lo haya, respectivamente.

G e n e r a c i ó n d e l a p o b l a c i ó n

Este bloque se divide en tres partes que son:

Recuento de buques en el puerto

Asignación fija

Asignación aleatoria

Cada una de estas partes agrupa un conjunto de sentencias que son utilizadas o no

dependiendo de la situación actual del sistema

Recuento de buques en el puerto

En este conjunto de sentencias lo que se persigue es saber a cuántos buques se le

tiene que asignar muelle. Para esto, se recorre estado buscando cuantos unos

posee. El número de unos que tenga más el buque que ha llegado serán los buques

que hay en el puerto esperando ser atendidos. Para tal efecto, se utiliza un

contador que irá incrementándose cada vez que se encuentra uno. Al finalizar la

búsqueda y en función de los buques en el puerto, se entra o bien en el bloque de

asignación fija o bien en el de asignación aleatoria, que a continuación se detallan.

Page 30: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

122

Carlos Alberto Arango Pastrana

Asignación fija

En este bloque se entra siempre que el número de buques en el puerto sea menor o

igual que cuatro. Si se produce esto, no se podrá completar la población de veinte

individuos diferentes. Si sólo hay un buque se tendrán dos individuos. Si hay dos

buques se tendrán cuatro. Si son tres los buques, ocho serán los individuos, y si por

el contrario son cuatro, podrá haber dieciséis individuos. En todos los casos, no se

llega a completar la población por lo que la asignación de los individuos ha de ser

fija, conociéndose de antemano los individuos que la formarán.

Al crearse la matriz población al inicio del programa, se incluyen ceros en todos

sus elementos, por lo que la creación de los individuos consiste en asignar los unos

correspondientes en los distintos elementos.

Lo primero que se hace es asignar el valor apropiado al índice i_max_pob en

función de los buques que se tengan. Si se tienen por ejemplo tres buques, el

número de individuos será 8, asignándole de esta forma el valor 7 al índice

i_max_pob.

La creación de la población no se lleva a cabo en este caso por individuos, sino que

se realiza por parejas de genes como se explica a continuación.

Se recorre estado desde el comienzo hasta el final, buscando unos. Conforme se va

recorriendo estado con el índice i_est se recorre también la población

horizontalmente con los índices i_c1_pob e i_c2_pob. Si estado posee cero no

se realiza nada, pero en el momento en el que aparece un 1 en estado, se realiza lo

siguiente:

Por tratarse del primer uno que se encuentra, se introducen unos de forma

alternada en i_c1_pob e i_c2_pob en todos los individuos que forman la

población. De esta forma, siguiendo con el ejemplo anterior se tendrán en la pareja

de genes correspondientes a dicho buque 10,01,10,01,10,01,10,01 en los ocho

individuos que constituyen la población.

Con el segundo 1 encontrado en estado se realiza lo mismo, pero en vez de

alternando cada individuo, será cada dos individuos. Las ocho asignaciones

quedarán de la siguiente forma: 10,10,01,01,10,10,01,01.

Por último en el tercer buque, se asignarán en las parejas de genes

correspondientes lo mismo pero alternando cada cuatro individuos, es decir,

Page 31: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

123

Carlos Alberto Arango Pastrana

10,10,10,10,01,01,01,01. De esta forma se completan los ocho individuos con las

ocho combinaciones posibles. Para esta asignación se utilizan varias variables

denominadas: uno, dos, cuatro y ocho.

Asignación aleatoria

En este bloque se entra siempre que el número de buques que haya que asignar

sea mayor o igual a 5. En este caso, la población podría ser más amplia de 20

individuos, por lo que aquellos que la formen podrán ser cualesquiera,

desconociéndose de antemano. Así, lo primero que se asigna es el índice

i_max_pob con un valor de 19, ya que la población se completará con 20

individuos.

A diferencia de la asignación fija, la asignación de los individuos no se hará por

parejas de genes, sino que será por individuos, es decir se completará un individuo,

luego otro, y así sucesivamente hasta completar los veinte.

El individuo que se esté asignando se irá recorriendo a la vez que se recorre

estado. De esta forma, en el momento en el que aparezca un 1 en estado, se

asignará un 10 o 01 en dicha pareja de genes. Esta asignación se realizará

mediante probabilidades. Con probabilidad 0.5 se asignará 10 y con probabilidad

0.5 se asignará 01.

Tras la creación de un nuevo individuo, y antes de pasar a crear el siguiente

aumentando el índice de filas i_f_pob, se evaluará si este individuo

aleatoriamente creado ya está en la población. Si es así, no se aumentará el índice

i_f_pob y se volverá a crear otro individuo sobre él. Si por el contrario no existe

duplicidad, se aumentará i_f_pob y el individuo habrá pasado a formar parte de

la población inicial. Este proceso se repite hasta completar de este modo toda la

población.

Para finalizar, se realizan un conjunto de secuencias con el fin de visualizar en

variables definidas en ARENA la población formada. Por tanto, se hace una

correspondencia entre variables que pertenecen al algoritmo genético y otras

variables distintas que corresponden a la simulación en ARENA. De esta forma se

puede ver en la zona de animación la población con todos sus individuos.

Page 32: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

124

Carlos Alberto Arango Pastrana

C a l c u l o d e l v a l o r a p t i t u d d e c a d a i n d i v i d u o d e l a

p o b l a c i ó n

Para calcular la aptitud de un individuo se realiza una cuenta simple en la que se

realiza un sumatorio del tiempo total de servicio para cada buque en la cola según

el muelle asignado y la localización de los contenedores en la ZA. La evaluación se

lleva a cabo en dos partes, una primera en la que se evalúa el tiempo que tardará el

muelle 1 en atender los buques según la cantidad de contenedores a cargar y

descargar, la localización de estos en la ZA y en el caso que este en operaciones, el

tiempo que tardara en terminar y una segunda en la que se evalúa el del muelle 2.

Posteriormente se suman dichos tiempos y esa suma se considera el tiempo total,

es decir el valor de aptitud del individuo más el tiempo que falta para que los

buques en muelle finalicen las operaciones.

A continuación se realiza una evaluación de la aptitud de los distintos individuos

que conforman la población inicial. Para ello se utiliza un bucle while que se

ejecuta mientras que el índice de filas de la población i_f_fit sea menor o igual

al índice i_max_pob, que apunta al último individuo de la misma. A continuación

se presenta el seudocódigo que calcula la aptitud de cada individuo.

i_f_pob = individuo analizado i_c1_pob = 0 Mientras i_c1_pob <= 18 Si pob(i_f_pob, i_c1_pob) = 1 entonces Buques asignados a M1 = Buques asignados a M1 + 1 Toma de información de arena de las características del buque Si la localización de los espacios para almacenaje = 1 entonces Tiempo de descarga = contenedores a descargar * tiempo entre M1 y ZA1 Si no Tiempo de descarga = contenedores a descargar * tiempo entre M1 y ZA2 Fin si Si la localización de los contenedores a cargar = 1 Entonces Tiempo de carga = contenedores a cargar * tiempo entre M1 y ZA1 Si no Tiempo de carga = contenedores a cargar * tiempo entre M1 y ZA2 Fin si Tiempo en M1 = Tiempo en M1 + (Tiempo de descarga + Tiempo de carga) Fin si i_c1_pob = i_c1_pob + 2 Fin mientras Si Tiempo en M1 > 0 Entonces d1 = Tiempo en M1 + Tiempo restante de operación actual en M1 Si no d1 = 0

Page 33: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

125

Carlos Alberto Arango Pastrana

El anterior cálculo es realizado para los buques que tienen asignado el muelle 1, para los buques asignados al muelle 2 se utiliza un bucle igual, pero considerando las operaciones en el muelle 2. i_f_pob = individuo analizado i_c2_pob = 1 Mientras i_c2_pob <= 19 Si pob(i_f_pob, i_c2_pob) = 1 entonces Buques asignados a M2 = Buques asignados a M2 + 1 Toma de información de arena de las características del buque Si la localización de los espacios para almacenaje = 1 entonces Tiempo de descarga = contenedores a descargar * tiempo entre M2 y ZA1 Si no Tiempo de descarga = contenedores a descargar * tiempo entre M2 y ZA2 Fin si Si la localización de los contenedores a cargar = 1 Entonces Tiempo de carga = contenedores a cargar * tiempo entre M2 y ZA1 Si no Tiempo de carga = contenedores a cargar * tiempo entre M2 y ZA2 Fin si Tiempo en M2 = Tiempo en M2 + (Tiempo de descarga + Tiempo de carga) Fin si i_c2_pob = i_c2_pob + 2 Fin mientras Si Tiempo en M2 > 0 Entonces d2 = Tiempo en M2 + Tiempo restante de operación actual en M2 Si no d2 = 0

Aptitud del individuo = d1 + d2

Cada vez que se halla la aptitud de un individuo de la población su valor se

almacena en la matriz aptitud. En la primera columna, índice i_f_fit a cero,

se almacena la posición del individuo en la población, que irá desde 0 hasta 19. En

la segunda columna, índice i_f_fit a uno, se almacena su valor de aptitud. Esta

matriz aptitud por tanto no estará ordenada en función de los valores de aptitud

de los individuos, sino que estará ordenada en función de la posición que éstos

ocupan en la población.

Al igual que en el bloque anterior, existen al final un conjunto de sentencias

mediante un bucle while con la finalidad de visualizar los valores de aptitud en la

simulación.

Esta matriz aptitud no se verá modificada a lo largo de la ejecución del algoritmo

genético, puesto que su finalidad es mantener los valores de aptitud de los

individuos originales de la población inicial. En realidad y como se verá

Page 34: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

126

Carlos Alberto Arango Pastrana

posteriormente sí se modificará, pero debido a que no se volverá a visualizar de

nuevo, no se apreciarán sus modificaciones.

En AptitudO sí se modificarán sus valores a lo largo de la ejecución del algoritmo.

De este modo, comparando los valores de aptitud y AptitudO al final de dicha

ejecución, se podrá visualizar la mejora que el algoritmo genético provoca.

Posteriormente a la asignación de los valores de aptitud de los individuos de la

población inicial, se pasa a ordenarlos según su aptitud en la matriz AptitudO

que se encargará desde este momento hasta el final de mantener a los individuos

que forman la población ordenados según su aptitud.

Para ello se lleva a cabo una búsqueda en la matriz aptitud de los individuos con

menor valor de aptitud, con el fin de ir incorporándolos a AptitudO. Conforme se

van incorporando a AptitudO, se modifica su valor en la matriz aptitud

asignando un valor de 1000, lo suficientemente alto como para que no se vuelva a

elegir dicho individuo.

Por lo tanto queda claro que al final de toda la ordenación, la matriz aptitud sí

habrá cambiado aunque debido a que no se volverá a visualizar, ni a utilizar más,

sus modificaciones pasarán inadvertidas.

V e r i f i c a c i ó n d e l t a m a ñ o d e l a p o b l a c i ó n

Una vez se ha ordenado la matriz AptitudO, se mira si la población consta de 20

individuos o si por el contrario son menos los que la forman. En el caso de que sean

menos los que la forman, no tendrá ningún sentido ejecutar las iteraciones del

algoritmo genético, puesto que todas las posibilidades de asignación de buques

estarán representadas en la población.

Por tanto, se pasará a buscar el individuo que tenga mejor aptitud, es decir aquel

que se encuentre en la primera posición de AptitudO. Éste se tomará como mejor

solución y se pasará a ejecutar el bloque de asignación de muelles a buques a

ARENA, último bloque del programa.

Page 35: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

127

Carlos Alberto Arango Pastrana

P r o c e s o s g e n é t i c o s

Si la población es de 20 individuos, eso significará que al menos existen 5 buques,

por lo que habrá posibles individuos que no hayan entrado en la población inicial.

De este modo, las iteraciones del algoritmo genético sí que tendrán sentido. Será

en este caso en el que se ejecutará los bloques de mutación o cruce. El algoritmo se

itera 50 veces y por tanto habrá 50 modificaciones de individuos.

De todas estas iteraciones, en unas se producirá mutación y en otras cruce. Se

producirá cruce en un 80% de las veces y mutación en un 20% ya que el operador

cruce los individuos escogidos difieren de tres parejas de genes lo que proporciona

una menor probabilidad de generar individuos que ya existan en la población.

Merece la pena destacar que realmente la probabilidad de producirse cruce no es

exactamente 0.2 debido a que en numerosas ocasiones se podrá producir la

duplicidad de individuo, en cuyo caso no se habrá producido una iteración del

algoritmo, pues no variará el índice destinado a contar las iteraciones, i. Esto se

debe a que sólo se contabiliza como una iteración correcta del algoritmo el caso en

el que no se produce duplicidad de individuo.

Por esto, se podrá dar el caso en el que se produzca mutación, y que

posteriormente no se complete la iteración por haber duplicidad de individuo. De

esta forma queda reflejado que la probabilidad real de mutación será por tanto

algo menor a 0.2.

Como en el apartado 4.4.4 se explico en funcionamiento del bloque cruce y en el

4.5.5. El del bloque mutación, no serán explicados nuevamente.

G e n e r a c i ó n d e l n u e v o h i j o

Una vez realizado o bien un cruce o bien una mutación, se pasará a ejecutar este

bloque. Se realiza una comparación entre hijo y los 20 individuos que forman la

población. Si hijo coincide exactamente con algún miembro de la población, se

considera que se ha producido duplicidad de individuo.

Dicho bloque dará un valor cero o uno al indicador de duplicidad. Si no se ha

producido duplicidad de individuo valdrá 0 y si sí se ha producido, valdrá 1. Si no

ha habido duplicidad, se pasarán a ejecutar una serie de bloques. Estos bloques se

encargarán de introducir al nuevo individuo en la población y variar la matriz

AptitudO. Si se produce duplicidad no se modifica la población y se itera de

Page 36: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

128

Carlos Alberto Arango Pastrana

nuevo el algoritmo aumentando en cualquiera de los dos casos el valor de i,

contador de las iteraciones del algoritmo que tiene un límite fijado de 50.

C a l c u l o d e l a n u e v a a p t i t u d d e c a d a i n d i v i d u o y

e v a l u a c i ó n d e l i n d i v i d u o a s a l i r

Si no se ha producido duplicidad, lo primero que se hace ahora es evaluar que tan

bueno es este nuevo individuo. Para ello, se evalúa su función de aptitud.

Podría pensarse en un principio que el individuo que debería abandonar la

población para que entrara el nuevo individuo creado, debería de ser aquel que

tiene peor aptitud. En este caso, sería bastante sencilla su realización ya que en

todo momento el individuo de peor aptitud está colocado en la última posición de

la matriz AptitudO, ya que ésta ordenada según la aptitud de los individuos.

Sin embargo, esto provocaría que en la búsqueda del individuo mejor, se pudiera

caer en valles en los que hubiera mínimos locales, perdiendo así la posibilidad de

explorar otros valles distintos, en los cuales se pudiera tener el mínimo absoluto.

Por lo cual se considera que los individuos que se encuentran en la parte baja de

AptitudO tendrán una probabilidad considerable de ser sacados, mientras que

aquellos que se encuentran en la zona alta de AptitudO, tendrán una

probabilidad bastante más pequeña.

Para elegir el individuo a salir se definen una probabilidad según su posición en la

matriz AptitudO. Para el individuo en la última posición de la tabla se

considera una probabilidad del 0,601 (60,1%) ya que al ser el de peor aptitud es el

que debe tener una mayor probabilidad, para los 19 individuos restantes se

considera una probabilidad 0,021 x n en donde n es el puesto del individuo en la

matriz AptitudO. Esta probabilidad obtenida es el tamaño del intervalo que

corresponde a cada individuo, es decir, el individuo 1 tendrá como probabilidad el

0,021 y su intervalo de probabilidad está entre 0,601 y 0,622. En el código se

asigna un número aleatorio entre 0 y 1 a la variable m.

Posteriormente si dicho número es menor que la probabilidad que se asigno al

individuo de peor aptitud (por ejemplo m = 0,482 < 0,601), el individuo de peor

aptitud sería el individuo a salir, terminándose así la búsqueda. Pero si este

número es mayor se buscaría entre los intervalos correspondientes para cada

individuo, por ejemplo sería elegido para salir de la población el individuo 1 si m

toma cualquier valor entre 0,601 y 0,622.

Page 37: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

129

Carlos Alberto Arango Pastrana

Dado que i_f_pob apunta al individuo a sacar de la población, este bloque se

encarga de copiar el individuo nuevo generado, hijo, en la población, sustituyendo

al seleccionado para salir de ella.

Por último se incrementa el contador de iteraciones i en 1 de manera que se pueda

verificar en el siguiente modulo si está en la última iteración. Si es así se vuelve a

repetir todo desde el principio y si no lo es se pasa al bloque explicado en el

siguiente aparatado.

A s i g n a c i ó n d e m u e l l e s a A R E N A

El individuo tomado como solución al problema contiene la información genética

mejor para la asignación de las muelles en ese momento. Este bloque se encarga de

interpretar dicha información genética. Se asignan los buques al muelle 1 o al

muelle 2 en función de los genes de ese individuo.

Por tanto se modificarán las variables de ARENA, AsigM1 y AsigM2, para que

queden asignados los muelles conforme a lo obtenido tras la ejecución del

algoritmo genético.

Con este bloque finaliza el algoritmo genético, retornando la ejecución a la

simulación. Se habrá conseguido modificar la asignación de las muelles mediante

los cambios producidos en AsigM1 y AsigM2 de acuerdo a los objetivos marcados

en el algoritmo genético.

4.6. Resultados

Se han realizado siete simulaciones para verificar la viabilidad del modelo

diseñado y presentado a lo largo de este capítulo 4. De igual forma se comparan los

resultados del actual sistema de asignación de muelles del puerto de Sevilla, con el

sistema propuesto en este trabajo el cual llamaremos BAP (Berth allocation

problem).

En la tabla 14 esta sintetizada la información del tráfico de buques y contenedores

que arrojo cada una de las siete simulaciones para ambos sistemas; podemos ver

que llegaron al puerto 52 buques en promedio durante los 30 días de simulación,

los cuales fueron asignados en proporciones similares a los muelles M1 y M2. En

general todos los datos de tráfico son similares tanto para el modelo basado en el

sistema actual como para el modelo basado en el sistema BAP, debido a que las

probabilidades de: flujo de buques, intervalos entre llegadas, contenedores a

movilizar, etc. son las mismas.

Page 38: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

130

Carlos Alberto Arango Pastrana

La tabla 15 muestra los principales tiempos de duración de las operaciones de

carga y descarga además del tiempo de espera en cada una de las simulaciones

para ambos sistemas. Los tiempos de operación promedio en los dos muelles son

similares ya que ambos tienen grúas pórtico tipo Panamax con capacidad de

gestionar 30 contenedores por hora. Al analizar los tiempos de espera se puede

identificar puntos críticos del puerto ya que en el peor de los casos un buque debe

esperar por un muelle 27,5 horas a lo que se le tiene que sumar el tiempo que

tardará en las operaciones para descargar y cargar los contenedores el cual está

entre 2 y 24 horas en el peor de los casos.

Se puede observar en los resultados obtenidos que el sistema BAP reduce el

promedio de tiempo de manipulación en muelles en 14% y el máximo tiempo de

manipulación en 21%. A diferencia del tiempo mínimo de manipulación que toma

valores similares en ambos sistemas. Esto es porque la probabilidad que un buque

tenga pocos contenedores a descargar y cargar y además estos estén localizados en

el mismo muelle es igual para ambos sistemas.

Tabla 14 Flujo de de buques y contenedores por simulación

Modelo Contadores

Numero de simulación Promedio Desviación

estándar 1 2 3 4 5 6 7

Sistema

actual Buques en simulación 47 48 53 54 54 59 54 52,71 4,07

Buques servidos en M1 27 22 26 25 23 28 27 25,43 2,23

Buques servidos en M2 20 26 27 29 31 31 27 27,29 3,77

Contenedores descargados 5640 4866 7156 5646 6486 7668 6801 6323,29 983,67

Cont. Descargados en M1 3345 1722 2859 2133 2676 2673 3828 2748,00 704,37

Cont. Descargados en M2 2295 3144 4297 3513 3810 4995 2973 3575,29 892,87

Contenedores cargados 6963 6735 8427 7126 8963 8380 6856 7635,71 919,54

Cont. Cargados en M1 4363 3275 4144 2725 4010 3570 2668 3536,43 678,07

Cont. Cargados en M2 2600 3460 4283 4401 4953 4810 4188 4099,29 818,85

Sistema

BAP Buques en simulación 57 52 53 44 42 55 60 51,86 6,62

Buques servidos en M1 28 25 31 32 25 19 31 27,29 4,64

Buques servidos en M2 29 27 22 12 17 36 29 24,57 8,14

Contenedores descargados 7098 6516 5505 5211 5514 7431 7668 6420,43 1013,93

Cont. Descargados en M1 3471 2190 3426 3453 3117 2625 4155 3205,29 640,05

Cont. Descargados en M2 3627 4326 2079 1758 2397 4806 3513 3215,14 1162,37

Contenedores cargados 7439 7405 7174 6203 6042 8922 8010 7313,57 997,15

Cont. Cargados en M1 3972 3345 4369 4893 3763 3097 4559 3999,71 651,60

Cont. Cargados en M2 3467 4060 2535 1310 2279 5825 3451 3275,29 1448,41

Page 39: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

131

Carlos Alberto Arango Pastrana

De igual forma el sistema BAP reduce el promedio de tiempo de espera en 66% y

el máximo tiempo de espera en 52%. La principal razón para esto es una mejor

gestión en la asignación de muelles lograda con el sistema propuesto, el cual evalúa

la asignación de los muelles cada que un buque llega al puerto. En algunos casos

permitir que un buque sea atendido en vez de otros que llegaron antes que él

puede ocasionar que los muelles asignados a cada buque se encuentren más cerca

a la zona de almacenaje donde sus contenedores están localizados.

Tabla 15 Tiempos de operación y espera en horas

Modelo Simulación

Numero

Tiempos de operación por muelle Tiempo de espera Tiempo de operaciones en

M1

Tiempo de operaciones en

M2

Promedio Mín Máx Promedio Mín Máx Promedio Mín Máx

Sistema

actual No. 1 8,31 3,28 20,67

8,24 2,14 22,44 1,28 0,00 12,06

No. 2 6,53 3,26 14,63

7,13 3,34 23,42 0,38 0,00 5,60

No. 3 9,20 3,30 22,24

9,88 3,31 22,38 1,99 0,00 27,36

No. 4 6,76 3,30 21,93

8,10 3,31 22,37 3,74 0,00 24,62

No. 5 8,72 3,25 22,95

7,86 2,63 20,10 0,33 0,00 5,69

No. 6 8,76 2,14 30,06

9,67 3,33 22,47 1,24 0,00 17,60

No. 7 9,74 2,67 24,20

10,86 3,25 33,11 1,89 0,00 20,39

Promedio 8,29 3,03 22,38

8,82 3,04 23,75 1,55 0,00 16,19

Sistema

BAP No. 1 7,83 3,26 20,16

7,23 3,29 20,75 0,46 0,00 7,29

No. 2 6,37 2,19 14,63

8,19 3,29 19,52 0,56 0,00 7,43

No. 3 7,37 2,11 17,95

6,80 3,27 20,06 0,34 0,00 5,40

No. 4 6,55 2,15 20,84

7,06 2,09 18,55 1,16 0,00 16,49

No. 5 6,86 4,03 14,84

7,52 3,32 16,44 0,40 0,00 5,30

No. 6 7,57 2,14 16,34

8,32 3,33 20,17 0,37 0,00 5,60

No. 7 7,01 2,67 15,16

8,17 4,34 18,70 0,35 0,00 6,89

Promedio 7,08 2,65 17,13 7,61 3,28 19,17 0,52 0,00 7,77

La figura 38 y 39 se muestra la reducción en el tiempo de operación de cada

muelle, las cuales fueron obtenidas con el modelo. Observando los gráficos se

puede ver que las reducciones más significativas son en los tiempos máximos de

operación, seguido de los tiempos promedios y por último el tiempo mínimo el cual

presente una leve disminución en el muelle 1 pero por el contrario un leve

incremento en el muelle 2.

Page 40: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

132

Carlos Alberto Arango Pastrana

Figura 39 Tiempos de operación Muelle 1

Figura 40 Tiempos de operación Muelle 2

El tiempo de espera corresponde; al tiempo que pasa un buque dentro del puerto a

la espera de ser atendido en el muelle que le ha sido asignado. Este es uno de los

principales indicadores a tener en cuenta por las líneas de transporte marítimo. En

la figura 40 se comparan los datos obtenidos con los dos sistemas, aunque el

tiempo promedio y máximo de espera es reducido, el logro más relevante es la

reducción de la variabilidad entre el tiempo de espera promedio y el tiempo de

espera máximo con el sistema BAP.

0

5

10

15

20

25

Promedio Mínimo Máximo

Ho

ras

Sistema actual Sistema BAP

0

5

10

15

20

25

Promedio Mínimo Máximo

Ho

ras

Sistema actual Sistema BAP

Page 41: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

133

Carlos Alberto Arango Pastrana

Figura 41 Tiempo de espera

La tabla 16 muestra la cantidad de buques que llegaron al puerto y al analizar sus

características ocasionaron una reasignación de los muelles en la cual se programo

que estos (los buques recién llegados) fuesen atendidos antes que los otros buques

que ya se encontraban en el puerto. Esta posibilidad es muy importante para el

sistema BAP porque permite que los muelles sean reasignados cuando un buque

llega.

Tabla 16 Buques reasignados

Numero de simulación Promedio Desviación

estándar 1 2 3 4 5 6 7

Buques que iniciaron

operaciones antes que otros 2 3 4 1 2 5 3 2,86 1,35

En la tabla 17 se muestra de forma agregada los tiempos de servicio en intervalos

de 5 horas. El objetivo del modelo utilizado en el sistema BAP es reducir este

tiempo y logra una reducción promedio del 13.62% además de disminuir el

máximo tiempo de servicio posible 45 a 30 horas. En la figura 41 son comparados

los dos sistemas.

0

2

4

6

8

10

12

14

16

18

Promedio Máximo

Ho

ras

Sistema actual Sistema BAP

Page 42: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

134

Carlos Alberto Arango Pastrana

Tabla 17 Tiempo de servicio

Modelo

Numero

de

simulación

Tiempo de servicio en Horas Promedio

tiempo de

servicio 0-5 5-10 10-15 15-20 20-25 25-30 30-35 35-40 40-45

Sistema

actual No. 1 10,6% 57,4% 14,9% 2,1% 12,8% 2,1%

10,48

No. 2 10,2% 69,4% 12,2% 4,1% 4,1%

8,61

No. 3 11,3% 45,3% 13,2% 13,2% 7,5% 1,9% 1,9% 3,8% 1,9% 12,53

No. 4 11,1% 46,3% 18,5% 5,6% 5,6% 9,3% 1,9% 1,9%

11,90

No. 5 9,3% 55,6% 14,8% 16,7% 1,9% 1,9%

9,58

No. 6 13,6% 57,6% 13,6% 11,9% 3,4%

9,09

No. 7 11,1% 59,3% 14,8% 9,3% 5,6%

9,23

Promedio 11,0% 55,8% 14,6% 9,0% 5,8% 3,8% 1,9% 2,8% 1,9% 10,20

Desviación

estándar 1,3% 8,2% 2,0% 5,3% 3,6% 3,7% 0,0% 1,4% 0,0% 1,50

Sistema

BAP No. 1 14,0% 61,4% 10,5% 8,8% 5,3%

8,99

No. 2 23,1% 44,2% 19,2% 11,5% 1,9%

8,90

No. 3 15,1% 56,6% 15,1% 11,3% 1,9%

8,51

No. 4 15,9% 54,5% 11,4% 11,4% 6,8%

9,20

No. 5 9,5% 64,3% 14,3% 11,9%

8,47

No. 6 5,5% 50,9% 21,8% 10,9% 9,1% 1,8%

9,22

No. 7 16,7% 56,7% 6,7% 10,0% 6,7% 3,3%

8,36

Promedio 14,3% 55,5% 14,1% 10,8% 5,3% 2,6%

8,81

Desviación

estándar 5,6% 6,6% 5,2% 1,1% 2,9% 1,1% 0,36

Figura 42 Comparación del tiempo de servicio en los sistemas

1 2 3 4 5 6 7

Sistema actual 10,48 8,61 12,53 11,90 9,58 9,09 9,23

Sistema BAP 8,99 8,90 8,51 9,20 8,47 9,22 8,36

0

2

4

6

8

10

12

14

Ho

ras

Page 43: 4. Modelos de simulación y optimización integrados …bibing.us.es/proyectos/abreproy/70181/fichero/Trabajo+Fin+de... · entre la investigación operativa y la ... El Puerto de

Planificación de terminales portuarias de contenedores

135

Carlos Alberto Arango Pastrana

Para tomar el tiempo de servicio se utiliza como punto de referencia el paso por la

esclusa. Este tiempo es considerado como el tiempo de servicio de cada buque y

está conformado por: el tiempo que los buques esperan hasta que el muelle

asignado queda libre, las operaciones de remolque tanto para ida como para

regreso al muelle del centenario y las operaciones de descarga y carga de

contendores.

En la última columna de la tabla 10 se muestra el tiempo de servicio promedio en

cada simulación, analizando esta información podemos concluir que el tiempo que

un buque permanece en el Puerto de Sevilla está entre 8,6 y 12,5 horas. Por lo

general el máximo tiempo de servicio llega a ser de 30 horas, aunque en algunos

casos este puede llegar a un máximo de 45 horas. En la figura 42 se muestra de

manera más clara el porcentaje de buques según el tiempo de permanencia en el

puerto. De igual forma estos son agrupados en intervalos de cinco horas y se pude

ver que más de un 50 % de los buques permanece en el Puerto de Sevilla entre 5 y

10 horas.

Figura 43 Porcentaje de buques según el tiempo de servicio

Para ejecutar el modelo de simulación se utilizo un ordenador equipado con un

procesador Intel Pentium Dual-Core de 2.00 GHz y una memoria RAM de 3,00 GB el

cual tuvo rendimientos en cada uno de los tiempos de computación del algoritmo

genético inferiores a dos minutos. Se debe recordar que el algoritmo genético se

ejecuta tantas veces como buques lleguen al puerto.

0%

10%

20%

30%

40%

50%

60%

0-5 5-10 10-1515-2020-2525-3030-3535-4040-45

Bu

qu

es

Horas