4. Modelos de simulación y optimización integrados...
Transcript of 4. Modelos de simulación y optimización integrados...
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).
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.
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
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
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.
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
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.
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
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.
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
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
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
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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,
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.
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
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á
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.
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
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.
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.
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
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.
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
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
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
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