Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
UNIVERSIDAD NACIONAL DE TRUJILLO FACULTAD DE CIENCIAS FISICAS Y MATEMATICAS
ESCUELA ACADEMICO PROFESIONAL DE INFORMATICA
TESIS PARA OPTAR EL TITULO DE
INGENIERO INFORMATICO
ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO
DE ASIGNACION DE ATRAQUES CON RETRASOS EN LA LLEGADA DE
LOS BARCOS.
AUTOR:
Br. LUJAN SEGURA EDWAR GLORIMER
ASESOR:
Dr. GUTIERREZ GUTIERREZ JORGE LUIS
TRUJILLO – PERU
2014
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
i
AGRADECIMIENTOS
Primeramente agradecer a mis padres, por haberme dado la vida y por su infinito amor. A
mis hermanos por el apoyo incondicional.
En segundo lugar agradecer a mi Asesor Jorge Luis Gutiérrez Gutiérrez y en general a
todos los profesores que conforman el Departamento Académico de Informática, por
brindarme sus conocimientos, consejos y recomendaciones.
En tercer lugar un agradecimiento especial a Flabio A. Gutiérrez Segura, Hermano y
Maestro, que fue el guía para la elección de esta Carrera Universitaria, y para la
elaboración de este trabajo.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
ii
PRESENTACIÓN
Señores Miembros del Jurado:
Dando cumplimiento a las disposiciones contenidas en el reglamento de Grados y Títulos de la
Facultad de Ciencias Físicas y Matemáticas, Escuela Académico Profesional de Informática de la
Universidad Nacional de Trujillo, tengo a bien poner a vuestra consideración y criterio mi Tesis
intitulada: “ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO DE
ASIGNACION DE ATRAQUES CON RETRASOS EN LA LLEGADA DE LOS BARCOS”, con
la finalidad de obtener el Título de INGENIERO INFORMATICO.
El BAP (Berth Allocation Problem) es un conocido problema de Optimización Combinatoria y
tiene diferentes variantes. En este trabajo se planteó agregar una nueva característica, realizar
planificaciones cuando los barcos arriban con retrasos, con la intensión de que el BAP se acerque
más a lo que sucede en la realidad.
Espero señores miembros del Jurado emitir el veredicto que la presente merezca.
Trujillo, Julio del 2014.
EDWAR GLORIMER LUJAN SEGURA
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
iii
RESUMEN
El presente trabajo consiste en la planificación de atraques de barcos (Berth Allocation
Problem, BAP), este trabajo tiene las siguientes variantes con respecto a la asignación de
atraques: se realiza de forma dinámica y continua, además de que los barcos pueden llegar
con un cierto retraso. Lo que se busca es reducir el menor tiempo de espera de los barcos y
la mejor utilización del espacio del muelle. Este problema, se ha solucionado mediante un
Modelo Matemático (MM), el cual esta implementado en OPL de CPLEX, debido que el
problema es de tipo combinatorio, su complejidad es NP duro, con lo cual solo sirve para
instancias de pocos barcos, para un número mayor de barcos se debe buscar otro tipo de
solución como por ejemplo las meta heurísticas, que puedan obtener buenas soluciones en
tiempos razonables, en este trabajo lo que se pretende es diseñar e implementar un
algoritmo genético (AG) que solucione dicho problema y luego realizar la comparación de
resultados con el MM.
Para el diseño del AG se siguió los siguientes pasos: diseñar el cromosoma, generar la
población inicial, crear la función de adaptación, evaluación de la convergencia, elegir un
método de selección, cruzamiento y mutación. El Algoritmo Genético se implementó en el
lenguaje de programación “C”.
Los datos generados para la evaluación de los programas, son aleatorios, y son lo más real
posible. Estos datos (tiempo de posible llegada, tiempo de máxima llegada, tiempo de
servicio y longitud para cada barco) son la entrada para la evaluación de los programas.
Luego, se hacen las planificaciones tanto en el AG como en el MM, obteniendo resultados
que fueron evaluados mediante gráficos comparativos y pruebas estadísticas. La cantidad
de resultados obtenidos fue pequeña, debido a la versión en la que se programó el MM
(solo permitió trabajar hasta con 12 barcos) en cambio para el AG se puedo tomar los
resultados hasta lo planeado (30 barcos), por ello de las pruebas estadísticas se puede
concluir lo siguiente: El AG resuelve el problema pero no mejora los resultados que
obtiene el Modelo Matemático.
Palabras clave: BAP, AG, Cromosoma, función de adaptación, selección, cruce,
mutación, convergencia.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
iv
INDICE PRESENTACION .............................................................................................................................. ii
AGRADECIMIENTOS ...................................................................................................................... i
RESUMEN ........................................................................................................................................ iii
LISTA DE FIGURAS. ...................................................................................................................... vi
LISTA DE TABLAS. ....................................................................................................................... vii
INTRODUCCIÓN. ......................................................................................................................... viii
CAPITULO I. MARCO TEORICO ................................................................................................. 1
1.1. Terminal de Contenedores. ................................................................................................ 1
1.1.1. OPERACIONES EN SEASIDE. ................................................................................ 3
1.1.2. OPERACIONES EN YARDSIDE. ........................................................................... 4
1.1.3. OPERACIONES EN LANDSIDE. ............................................................................ 5
1.2. PROBLEMA DE ASIGNACION DE ATRAQUES. ........................................................ 7
1.3. Problema de Asignación de Atraques con Retrasos en la Llegada de dos Barcos. .......... 11
1.4. Modelo Matemático. ........................................................................................................ 13
1.5. Algoritmos Genéticos (AG). ............................................................................................ 15
1.5.1. Definición. ................................................................................................................ 15
1.5.2. Estructura de un Algoritmo Genético. ..................................................................... 16
Esta es la representación de un AG, se puede apreciar en la figura 13 los componentes y la
manera en que trabaja. .............................................................................................................. 16
1.5.3. Representación de los Individuos. ............................................................................ 17
1.5.4. Generación de la Población. ..................................................................................... 17
1.5.5. Grado de Adaptación de los Individuos. .................................................................. 18
1.5.6. Condición de terminación. ....................................................................................... 18
1.5.7. Proceso de selección. ................................................................................................ 18
1.5.8. Métodos de Cruza. .................................................................................................... 21
1.5.9. Proceso de Mutación. ............................................................................................... 23
1.5.10. Los AGs aplicados a problemas con Restricciones. ................................................. 25
1.5.11. Características de los AGs. ....................................................................................... 26
1.5.12. Limitaciones de los AGs. ......................................................................................... 26
CAPITULO II. MATERIALES Y METODOS ........................................................................... 27
2.1. Población y Muestra. ........................................................................................................ 27
2.2. Variable de Estudio. ......................................................................................................... 27
2.3. Tipo de Investigación. ...................................................................................................... 27
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
v
2.4. Técnicas de Recolección de Datos. .................................................................................. 27
2.5. Instrumento de Recolección de Datos. ............................................................................. 28
2.6. Procedimiento de Investigación. ...................................................................................... 28
2.6.1. Adquisición de conocimiento específico sobre: ............................................................. 28
2.6.2. Análisis de modelos y soluciones existentes. ................................................................ 28
CAPITULO III. RESULTADOS .................................................................................................... 29
3.1. Problema. .............................................................................................................................. 29
3.1.1. Análisis del Problema. .............................................................................................. 29
3.1.2. Modelo Matemático ....................................................................................................... 31
3.2. Cromosoma. .......................................................................................................................... 33
3.3 Población Inicial. .................................................................................................................... 34
3.4. La función de adaptación. ..................................................................................................... 35
3.5. Operadores del algoritmo genético........................................................................................ 37
3.5.1. Selección. ....................................................................................................................... 37
3.5.2. Cruce. ............................................................................................................................. 39
3.5.3. Mutación......................................................................................................................... 40
3.6. Implementación de los Programas. ....................................................................................... 42
3.6.1. Modelo Matemático. ...................................................................................................... 42
.................................................................................................................................................. 43
3.6.2. Algoritmo Genético. ...................................................................................................... 44
3.7. Pruebas. ................................................................................................................................. 48
3.7.1. Colección y Evaluación de Datos. ................................................................................ 48
3.7.2. Resultados. ..................................................................................................................... 52
3.7.3. Análisis Resultados. ....................................................................................................... 55
CAPITULO V. DISCUSION......................................................................................................... 61
5.1 Contrastación con Antecedentes. ..................................................................................... 61
5.2. Demostración de Hipótesis. ............................................................................................. 61
5.3. Trabajos Futuros. .............................................................................................................. 64
CONCLUSIONES. .......................................................................................................................... 65
REFERENCIAS BIBLIOGRAFICAS ............................................................................................. 66
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
vi
LISTA DE FIGURAS
Figura 1. Modelo de un Sistema Terminal de Contenedores. ............................................................ 2
Figura 2. Planificación de Terminales de Contenedores. ................................................................... 2
Figura 3. Representación del Proceso del BAP .................................................................................. 8
Figura 4. Representación Bidimensional del BAP ............................................................................. 9
Figura 5. BAP Discreto, a) Antes de la Planificación y b) Después de la Planificación................... 9
Figura 6. BAP Continuo, a) antes de la planificación y b) Después de la Planificación.................. 10
Figura 7. BAP Estático, a) antes de la Planificación y b) Resultado de la Planificación. ................ 10
Figura 8. BAP Dinámico, a) Antes de la Planificación y b) Resultado de la Planificación. .......... 11
Figura 9. BAP Dinámico y Continuo con Retrasos, antes de realizar la planificación. ................... 12
Figura 10. BAPDC con Retrasos, luego ........................................................................................... 12
Figura 11. Representación de un Barco de acuerdo a su posición y tiempo. ................................... 13
Figura 12. Estructura de un Algoritmo Genético. ............................................................................ 16
Figura 13. Método de la Ruta. .......................................................................................................... 19
Figura 14. Cruce Monopunto. .......................................................................................................... 21
Figura 15. Cruce Multipunto. ........................................................................................................... 22
Figura 16. Plan de Atraque ............................................................................................................... 29
Figura 17. Llegada con retrasos de los barcos, ................................................................................ 32
Figura 18. Llegada con retrasos, donde r es el tiempo ..................................................................... 32
Figura 19. Individuo que pertenece a la población Inicial, sus tiempos de atraque son aleatorios.
.......................................................................................................................................................... 35
Figura 20. Individuo que pertenece a la población Inicial, tiempos de atraque modificados. ......... 35
Figura 21. Representación en forma de torta de la probabilidad ...................................................... 38
Figura 22. Resultado Mostrado por OPL CPLEX. ........................................................................... 50
Figura 23. Resultado en forma Gráfica del Modelo Matemático. ................................................... 50
Figura 24. Resultado mostrado por el AG. ...................................................................................... 51
Figura 25. Resultado en forma Gráfica del AG................................................................................ 52
Figura 26. Gráfica de la Tabla 12, Tiempo de Ejecución. ............................................................... 55
Figura 27. Gráfica de la Tabla 13, Tiempo de Espera. ..................................................................... 56
Figura 28. Gráfica de la Tabla 14, Tiempo de Ejecución del AG. ................................................. 56
Figura 29. Gráfica de la Tabla 15, Tiempo de Espera del AG. ....................................................... 57
Figura 30. Gráfica de la Tabla 16, Adaptación Media de la Población evolucionada. .................... 58
Figura 31. Gráfica de la Tabla 17. Tiempos de Ejecución. ............................................................. 59
Figura 32. Gráfica de la tabla 18. Tiempos de Espera. ................................................................... 60
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
vii
LISTA DE TABLAS
Tabla 1. Representación de una Población inicial. ........................................................................... 34
Tabla 2. Evaluación de los cromosomas, según la función 3.9 ........................................................ 36
Tabla 3. Ordenamiento de cromosomas, según el valor de adaptación, para aplicar la
Selección por ruleta. ......................................................................................................................... 38
Tabla 4. Se muestra los valores de las puntuaciones acumuladas (qi).............................................. 38
Tabla 5. Cromosomas padres y sus valores de adaptación. .............................................................. 39
Tabla 6. Cromosomas hijos y sus valores de adaptación. ................................................................ 40
Tabla 7. Cromosoma antes de mutar. ............................................................................................... 41
Tabla 8. Cromosoma después de aplicar el operador de mutación. ................................................. 41
Tabla 9. Datos de entrada de 5 barcos para los programas. ............................................................ 48
Tabla 10. Resultado que muestra el Modelo Matemático. .............................................................. 49
Tabla 11. Resultado que muestra el AG. .......................................................................................... 51
Tabla 12. Resultado de los tiempos de ejecución para cada número de barcos con sus diferentes
valores de B. ..................................................................................................................................... 52
Tabla 13. Resultado de los tiempos de espera (OBJETIVO) para cada número de barcos y
diferentes Valores de B. ................................................................................................................... 53
Tabla 14. Resultados obtenidos para el Tiempo de Ejecución. ........................................................ 53
Tabla 15. Resultados Obtenidos para el Tiempo de Espera. ............................................................ 54
Tabla 16. Resultados Obtenidos para la Adaptación Media de la Población. .................................. 54
Tabla 17. Promedio general de los tiempos de ................................................................................ 58
Tabla 18. Promedio General de los tiempos de ................................................................... 59
Tabla 19. Tiempos de Ejecución. ..................................................................................................... 62
Tabla 20. Resultado según la Prueba U – Mann Whitney para la Tabla 19. .................................... 62
Tabla 21. Tiempos de Espera. .......................................................................................................... 63
Tabla 22. Resultado según U – Mann Whitney para la Tabla 21. .................................................... 63
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
viii
INTRODUCCIÓN
El tráfico internacional marítimo de mercancías a generado una gran cantidad de puertos
alrededor del mundo, existen más de 2000 puertos, que van desde los que manejan unos pocos
cientos de toneladas de carga por año a instalaciones de usos múltiples de manejo de hasta 300
millones de toneladas por año. En el año 2004 el tráfico portuario mundial se compone del 36% de
productos líquidos, 24% de alimentos secos y el 40% de carga general (UNCTAD, 2004). La
mayor parte del transporte se realiza mediante contendores.
Los terminales de contenedores sirven generalmente como zona de transbordo entre barcos y
vehículos terrestres. En [2], Henesey muestra como este mercado de transbordo está creciendo
rápidamente. Entre 1990 y 2008, el tráfico de contenedores ha crecido de 28.7 millones a 152.0
millones, un incremento alrededor del 430%. Esto corresponde a un crecimiento promedio anual
del 9.5%. En el mismo periodo, el movimiento de contenedores creció de 88 millones a 530
millones de contenedores, un incremento del comercio del 500%, equivalente a un crecimiento
promedio anual de 10.5%. Este gran aumento está relacionado con el crecimiento del comercio
internacional.
Los puertos compiten por ser puntos de intercambio (hubs) o puntos origen-destino de las rutas
empleadas para el transporte. Los gobiernos regionales y nacionales consideran un objetivo
estratégico contar con puertos terminales de contenedores, por ser focos de crecimiento
económico.
La competencia en este campo es feroz. Los principales criterios usados por las grandes
operadoras para escoger un puerto como base de operaciones son la ubicación geográfica, la
estabilidad política y social y los costes de las operaciones. La fuerte competencia entre los puertos
conduce a la necesidad de usar los recursos altamente caros de los terminales como son atraques,
patios de almacenamiento, grúas de muelle, guiado automático de vehículos, grúas de apilamiento,
etc. La competitividad de los puertos marítimos de contenedores es marcado por diferentes
factores, incluyendo el tiempo en el puerto, por barcos, combinados con tarifas bajas por carga y
descarga.
La feroz competencia y la necesidad de maximizar la utilización han llevado a los operadores de
terminales marítimos al desarrollo y aplicación de una rica variedad de políticas de planificación de
atraques o en inglés Berths Scheduling Policies (BSPs). Los operadores de terminal de
contenedores buscan eficientes BSPs que reducirán el tiempo de respuesta, aumentar el
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
ix
rendimiento del puerto, conducir a mayores ingresos e incrementar la competitividad del puerto,
mientras que al mismo tiempo mantener a los clientes satisfechos en los niveles deseados.
Varias cuestiones surgen cuando se define el mejor BSPs para cada operador de puerto y al final
decisión de varios factores que incluye el tipo y función del puerto (terminales dedicados o
multiusuario, puntos de transbordo) el tamaño y localización del puerto, cercana competencia, tipos
de acuerdos con los transportadores. Algunos de estos BSPs y variantes han sido hasta cierto punto
capturados por la investigación académica, pero aun varios atributos necesitan ser investigados e
incluidos por estos modelos para representar el estado de la práctica de las operaciones de
terminales de contenedores.
Nos centraremos principalmente en lo que se refiere al problema de asignación de atraques [3], este
problema consiste en: dado un conjunto de barcos, se desea determinar cómo asignar estos a
localizaciones en el muelle (atraques) de forma que se optimice alguna función de coste. La
función de coste del problema considerado es la suma de los tiempos de espera y de trabajo de cada
barco. En las aplicaciones reales existe un cierto grado de incertidumbre (retrasos) con respecto al
tiempo de llegada de los barcos al puerto. Solo la mitad de los barcos llegan a tiempo. Esto hace
que los modelos planteados hasta ahora sean ineficientes [4].
En la revisión de la literatura se encuentran muchos tipos o variantes del problema del BAP. BAPs
discretos, continuos, estáticos, dinámicos y las combinación de estas, cuyas soluciones son
realizadas de diferentes maneras, entre ellos tenemos: métodos de investigación de operaciones
como programación lineal entera, mixta por mencionar algunos en [5][6][7] y algunas heurísticas
como Relajación Lagrangeana[8], algoritmos genéticos[9][10], búsqueda tabú[13], optimización
difusa [11][12], Simulated annealing[14].
El problema consistió en responder a la siguiente pregunta: ¿Cómo realizar la asignación de
atraques de forma dinámica y continua de los barcos en un muelle cuando estos llegan con
retrasos?
Debido a que el problema del BAP, es un problema combinatorio, su complejidad es NP-duro, al
tratar de resolverlo con las técnicas clásicas de optimización (programación lineal, programación
entera, programación entera mixta) resulta difícil obtener soluciones optimas en tiempos
razonables. Por eso se planteó resolverlo con una meta- heurística como son los algoritmos
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
x
genéticos. Los cuales no encuentran la solución óptima pero si una buena solución en tiempos
razonables.
La Hipótesis es la siguiente: El algoritmo Genético obtiene buenas soluciones en tiempos
razonables para el Problema Dinámico y Continuo de Asignación de Atraques con Retrasos en la
Llegada de los Barcos.
Los algoritmos genéticos son métodos adaptativos que son usados para resolver problemas de
búsqueda y optimización. Están basados en el proceso genético de los organismos vivos. A lo
largo de las generaciones, las poblaciones evolucionan en la naturaleza de acuerdo con los
principios de la selección natural y la supervivencia del más fuerte. Por imitación de este proceso,
los Algoritmos Genéticos son capaces de ir creando soluciones para problemas del mundo real.
El objetivo general de este trabajo es el Desarrollo del Algoritmo Genético para el problema de
asignaciones de atraques con retrasos en la llegada de los barcos.
Los objetivos específicos son:
Recopilar información sobre el problema dinámico y continuo de asignación de atraques
con retrasos en la llegada de los barcos, y la utilización de los Algoritmos Genéticos para
resolver el problema.
Diseñar y desarrollar un Algoritmo Genético para el problema dinámico y continuo de
asignación de atraques con retrasos en la llegada de los barcos.
Construir un prototipo para mostrar los resultados obtenidos.
El esquema de trabajo está dividido en capítulos. El primer capítulo contiene todos los conceptos
teóricos del problema y de los algoritmos genéticos, en el segundo capítulo se describen la
población y muestra así como la metodología a seguir en el desarrollo de este trabajo. En el tercer
capítulo se hizo un análisis del problema, el análisis del modelo matemático y el diseño del
algoritmo genético la implementación y las pruebas. En el capítulo 4 está la discusión de los
resultados obtenidos en el capítulo 3 y por ultimo tenemos las conclusiones las cuales se llegaron a
través de este trabajo.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
1
CAPITULO I. MARCO TEÓRICO
1.1. Terminal de Contenedores.
Los Terminales de Contenedores son sistemas abiertos de flujo de material con dos interfaces
externas: el muelle donde los contenedores llegan o salen a través de los barcos y el sector de
tierra donde los contenedores llegan o salen de la terminal a través de camiones o trenes.
Dentro de la terminal se pueden distinguir tres zonas: la zona de atraque donde los buques están
atracados para el servicio, el área de patio de almacenamiento donde se almacenan los
contenedores a la espera de ser exportados o importados, y la puerta de la terminal que conecta
la terminal de contenedores en el hinterland. De acuerdo con las operaciones en una terminal de
contenedores se pueden dividir a tres categorías: operaciones costeras, las operaciones de la
parte pública y operaciones de patio, todos los cuales interactúan entre sí. Las operaciones en el
mar consisten en: atraque de los buques en el muelle, y la carga y descarga de contenedores en
el buque. Las operaciones costeras interactúan con el patio operaciones a través del equipo de
transporte interno que se utiliza para el transporte de contenedores desde/al recipiente y a/desde
el patio de almacenamiento. Las operaciones en el patio consisten en gestionar los contenedores
durante la transferencia entre el sector de tierra y el mar. Se incluye operaciones tales como el
transporte interno de los contenedores desde o hasta el buque y desde o hacia los camiones o
ferrocarriles y las operaciones de almacenamiento en el patio de almacenamiento. Las
operaciones de la parte pública frente a las actividades de recepción y entrega de entrada y de
salida de contenedores hacia y desde el patio de almacenamiento. Mientras que cada sistema
puede ser visto como una entidad independiente, y sus operaciones suelen estudiarse como tal,
las interacciones entre los sistemas son inevitables y desempeñar un papel crucial en la gestión
eficiente y la operación de un terminal de contenedor. Una descripción esquemática de una
operación de terminales de contenedores y de las interacciones entre la diferentes sistemas es
retratado en la figuras1 y en la figura 2 están todas los sub problemas que está compuesto un
sistema de terminal de contenedores.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
2
Figura 1. Modelo de un Sistema Terminal de Contenedores.
Figura 2. Planificación de Terminales de Contenedores.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
3
1.1.1. OPERACIONES EN SEASIDE.
1.1.1.1. ATRAQUE DE BARCOS.
Las operaciones de buques consumen una gran parte del tiempo de respuesta de los buques
portacontenedores en los puertos. Los diferentes tipos de embarcaciones son atendidas en una
terminal de contenedores que van desde buques de alta mar con una capacidad de carga de hasta
13.000 unidades de contenedores (TEU) para buques de enlace, con una capacidad de hasta
4.000 TEU. Cuando el barco llega a un puerto que tiene que amarrar en el muelle. Por esta
razón, un número de atraques están disponibles por el operador portuario para dar servicio a las
embarcaciones. Un atraque típico puede dar cabida a un número de barcos en función de la
longitud del muelle. Antes de la llegada de los barcos, se debe proporcionar información, sobre
el tipo de la embarcación, el número de recipientes a ser cargado o descargado, y una propuesta
de llegada y hora de salida, a los operadores de terminales. Al planificar la asignación de
atraque y uso, el tiempo de atraque y la posición exacta de cada barco en el muelle, así como se
determinan diversos recursos de muelle. Se consideran varias variables, incluyendo la longitud,
el tiempo de llegada de cada barco, el número de contenedores para de descarga y carga, y la
ubicación de almacenamiento de los contenedores entrantes/salientes de ser cargados o
descargados desde el barco correspondiente.
1.1.1.2. QUAY CRANES.
Después de que un buque está atracado un número de grúas de muelle, un subconjunto de las
grúas, son asignados al atraque específico, se utilizan para la carga y descarga del buque
basándose en el plan de estiba de los buques. En función del tamaño del buque habitualmente
de dos a cinco operan sobre barcos de mar profundo, y de uno a tres grúas en buques auxiliares.
Dos tipos de uso común de las grúas en el muelle terminal de contenedores, para medianos y
grandes son las grúas de un solo carro y grúas de doble carro. Los carros viajan a lo largo del
brazo de una grúa y están equipadas con separadores, que son dispositivos específicos para
recoger los contenedores
El rendimiento máximo de las grúas de muelle depende del tipo de grúa. El rendimiento técnico
de grúas está en el intervalo de 50-60 cajas / hora, mientras que en la operación el rendimiento
está en el rango de 20 a 30 cajas / hora. El tiempo requerido para operaciones de carga /
descarga depende del ciclo tiempo de la grúas de muelle y las grúas de transferencia, y en la
posición relativa del lugar de atraque a la bloques de almacenamiento de contenedores
designados para el buque. También, el tiempo de ciclo de una grúa de muelle depende en la
secuencia de carga de las ranuras y se ve afectada por la secuencia de carga de contenedores en
el patio.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
4
1.1.1.3. PLAN DE ESTIBA O DE CARGA.
La carga de contenedores de exportación en un buque se basa en un plan de estiba. Implica la
planificación de Estiba, la búsqueda de los planes óptimos de posicionamiento de contenedores
en un barco de contenedores, con respecto a un conjunto de restricciones estructurales y
operacionales, y se lleva a cabo por los operadores de terminales basados en un plan
proporcionada por la compañía naviera. En contraste con el proceso de descarga, no hay casi la
flexibilidad en el proceso de carga. Los contenedores se colocan en el barco de tal manera que
último en entrar, primero en salir y por lo tanto temporal posterior descarga y carga en los
puertos a lo largo dela ruta (shifting) es común y resulta en altos costos (un movimiento de
cambio es considerado por muchos como los operadores de terminales de que regulan el
movimiento de contenedores independientemente contenedor se descarga y se carga en el
mismo buque).
1.1.2. OPERACIONES EN YARDSIDE.
1.1.2.1. PATIO DE ALMACENAMIENTO.
Los contenedores que llegan a la terminal (entrante o saliente) por lo general tienen que ser
almacenados durante un cierto período de tiempo, generalmente menos de una semana. Por esta
razón, un área designada en el patio de contenedores es reservada. Para el período de tiempo que
los contenedores permanecen en el terminal estos están almacenados en un área designada
dentro de la terminal, conocida como el depósito o patios de almacenamiento.
1.1.2.2. EQUIPO PARA EL PATIO DE ALMACENAMIENTO.
Una de las principales decisiones que se pondrán a la hora de diseñar el sistema de
almacenamiento (nivel de planificación) de un terminal de contenedores es el tipo de equipo de
apilamiento para ser utilizado. Estos incluyen: Carretillas elevadoras, reachstackers, patio de
grúas y carretillas puente. Montacargas y reachstacker se utilizan generalmente para mover y
apilar envases ligeros (como las vacías). El principal equipo utilizado para apilar contenedores
en pilas, aunque son grúas de patio y lleva a horcajadas. Este último también puede (y en
muchos casos) que se utiliza para el transporte inter -terminal de contenedores (por ejemplo,
desde/hacia el recipiente a/desde el patio de almacenamiento). Hay tres tipos de grúas de patio:
grúa pórtico con ferrocarril (RMG), pórticos de caucho cansados (RTG), y grúas de puente
elevado (OBC). Caucho pórticos cansados son más flexibles en operación mientras pórticos
montados de ferrocarril son más estables (más productivo cuando se trabaja en una bloque) y los
gastos generales puentes, grúas están montadas sobre pilares de hormigón o acero. Comúnmente
las grúas de pórtico abarcan hasta 6-12 filas y permiten apilar contenedores 4-10. Para evitar
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
5
interrupciones operativas en caso de fallos técnicos y de aumentar la productividad y fiabilidad,
dos grúas RMG a menudo se emplean en un área de la pila.
1.1.3. OPERACIONES EN LANDSIDE.
1.1.3.1. TRANSPORTE INTERNO.
Como se mencionó anteriormente los contenedores deben ser transportados desde o hasta el
muelle y desde o a la puerta al patio de almacenamiento. Una variedad de vehículos se emplean
para el transporte horizontal de contenedores dentro de un terminal, tanto para el transporte de
los buques -tierra y la operación terrestre. Los vehículos de transporte se pueden clasificar en
dos tipos diferentes: los vehículos que no son capaces de levantar contenedores por sí mismos y
vehículos que tienen la capacidad de elevación de contenedores. Para la primera clase de carga y
descarga de los contenedores se realiza mediante grúas (grúas de muelle en la orilla del mar y de
pórtico grúas en la parte pública). Camiones con remolques, multi-remolques y vehículos de
guiado automático pertenecen a esta clase de vehículos de transporte. Cabe señalar que para el
transporte interno entre el almacenamiento no se utilizan patio y área de multi - remolques y
AGVs entrega. Los vehículos de transporte de la segunda clase son carretillas pórtico,
montacargas y reachstacker. Los antiguos son los más importantes, ya que también se pueden
utilizar para la operación de apilamiento en el patio. Por lo tanto, pueden ser consideradas como
" grúas que no están vinculados a nivel local, con acceso libre a contenedores independientes de
su posición en el patio. (SC) spreader Las carretillas puente "permite el transporte de 20 o 40
contenedores cuadrados (SC Modo recientemente doble capaz de transportar/apilar dos 20 '
contenedores simultáneamente se está convirtiendo en disponible, pero a partir de hoy sólo se
utilizan en un puñado de terminales alrededor del mundo). Sistemas de pórtico son muy
flexibles y dinámicos.
1.1.3.2. PUERTAS DE TERMINAL O AREA DE ENTREGA.
Las operaciones de recibo/entrega a las puertas del terminal es la cuarta y final (después de la
descarga, traslado al patio y almacenamiento) actividad en la operación de terminales de
entrada de contenedores, y la primera para la salida. Los contenedores llegan a un terminal
desde el sector de tierra ya sea a través camión o tren. Camiones llegan a los terminales por la
puerta, donde los datos de los contenedores tienen que ser comprobado y luego en coche a los
puntos de transición donde los contenedores son cargados o descargados por el equipamiento
interior. Las operaciones de sector de tierra para la parte ferroviaria son similares, pero no
idéntica, a las operaciones de muelle. Existe un plan de carga que especifica los contenedores
tiene que ser colocado en cada vagón, en función de su destino, tipo, peso, los vagones de carga
máxima, etc. Debemos tener en cuenta que las grandes terminales de contenedores sirven unos
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
6
mil camiones al día y eficientes sistemas de activación periódica son cruciales no sólo a los
niveles de congestión dentro de la terminal, sino también a la red de calles del puerto. A pesar
de los retrasos en el manejo de contenedores causados por la recepción/entrega no son más
graves que las que surgen en otras partes de la terminal de contenedores, que son los más obvios
y visibles para los operadores de transporte terrestre, y son particularmente perjudiciales para
la reputación de las terminales.
1.1.3.3. CONTAINER FREIGHT STATION FACILITIES.
Transporte de contenedores puerta a puerta no puede ser posible (el contenedor llega a su
destino sin ser despojado ) porque el remitente o el receptor : a) tiene carga suficiente para
realizar una completa carga de contenedores, b ) carece de equipos adecuados o instalaciones
para la manipulación, c ) tiene la premisa de que no pueden acomodar vehículos contenedores ,
d) no tiene conexiones viarias adecuadas para el envase vehículos , y o e) no tiene por
ferrocarril o por vías navegables interiores de los locales . En estos casos, y cuando una
autorización de depósito interiores (ICD) no es disponible, la estrategia alternativa habitual para
la carga a propietario es el uso de una estación de carga de contenedores (CFS) situado en la
terminal de contenedores.
El CSA es un área de consolidación de carga, centro de distribución de carga de contenedores
de embalaje / desembalaje y equivalente a un ICD. Los expedidores pueden tener sus
cargamentos transportados en forma fraccionada, por carretera, por ferrocarril o por vía
navegable, al CSA para la consolidación y el embalaje en contenedores listos para carga a bordo
de un buque. Del mismo modo , los receptores de los bienes pueden realizar las gestiones para
que puedan ser desempaquetado de contenedores en el CFS , separados en envíos de carga
fraccionada , y se recogen en su nombre la forma más conveniente de transporte terrestre . En el
síndrome de fatiga crónica de las funciones generales siguientes son realizado: recibir, ordenar y
consolidar cargas de exportación de carga fraccionada de vehículos de carretera, por ferrocarril
vagones y embarcaciones de navegación interior ; paquete de cargas de exportación en
contenedores preparados para la carga a bordo de un buque, contenedores de importación
desempaquetar , y clasificar y separar las cargas descomprimidos en break-bulk envíos listos
para su distribución a sus destinatarios ; entregar cargamentos de importación a las vías de
transporte vehículos de carretera, los vagones de ferrocarril y las embarcaciones de la
navegación interior, tienda de importación y la carga de exportación temporalmente, entre los
tiempos de carga y descarga, mientras que varios documental y trámites administrativos se
realizan. Las instalaciones y recursos del CSA están diseñadas para llevar a cabo estas funciones
básicas con eficacia y eficiencia.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
7
1.2. PROBLEMA DE ASIGNACIÓN DE ATRAQUES.
Como se mencionó anteriormente, una de las operaciones más críticas dentro de una terminal de
contenedores es el proceso de atraque, que tiene un efecto inmediato en el tiempo de entrega y
planificación. En el pasado, los operadores de terminales aplicaban las políticas de servicio por
orden de llegada(FCFS) en la asignación de atraque espacio. Los volúmenes comerciales
crecientes, tamaño de buque y la reestructuración del servicio delas líneas de envío fueron
eventualmente seguidas por los acuerdos de servicio al cliente y el servicio dela diferenciación
de políticas que se apartan dela regla FCFS. Esto a su vez requiere una más sofisticada e
informada utilización de los recursos de la capacidad de atraque. Debido al alto costo de la
construcción de nueva capacidad de atraque, operadores y gestores de terminales de
contenedores prefieren soluciones que se centran en los aspectos operativos de la planificación
de atraque y menos en el estratégico/táctico.
El BAP se puede describir como el problema de la asignación de espacio de atraque de los
buques en un terminal de contenedores. Los buques suelen llegar y el operador portuario tiene
que asignarlos a literas para ser atendido (cargar y descargar contenedores) tan pronto como sea
posible. Los barcos compiten por los puestos de atraque disponibles y diferentes factores que
afectan al muelle y la asignación del tiempo. El BAP tiene dos niveles de planificación o
control: la estratégica táctica y la operativa. A nivel estratégico táctico el número y la duración
de literas / muelles que deben estar disponibles en el puerto se determinan. Esto se hace ya sea
en el inicial desarrollo del puerto o cuando la ampliación se considera. A nivel operacional, la
asignación de espacio de atraque para un conjunto de embarcaciones programadas para llamar
en el puerto dentro de unos días horizonte tiene que ser decidido. Dado que los buques de
transporte marítimo siguen un horario regular, en la mayoría de los casos, la asignación de un
puesto de atraque al buque tiene que ser decidido de manera regular y por lo general base
periódica. En el nivel operativo del BAP se formula típicamente como problema combinatorio
de optimización. En la figura 5, se puede apreciar la llegada de los barcos y las asignaciones que
han sido realizadas.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
8
Figura 3. Representación del Proceso del BAP.
Después que el BAP se ha resuelto, el Plan de Programación de amarre resultante (BSP) se
presenta generalmente utilizando un diagrama de espacio-tiempo. La Figura 6 presenta un
ejemplo simple de diagramas espacio-tiempo de planificación aplicado para el atraque de 5
barcos. El eje x representa el tiempo y el eje yla longitud del muelle. Cada rectángulo
representa un Barco. Los rectángulos y su tamaño se corresponden con el espacio requerido en
el atraque y el tiempo de servicio. Se pueden considerar algunos tipos de BAP y sus variantes.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
9
Figura 4. Representación Bidimensional del BAP
a) BAP DISCRETO.
El muelle está dividido en un número de secciones, llamados atraques. En cada atraque y en cada instante
de tiempo solo se puede asignar un barco.
Figura 5. BAP Discreto, a) Antes de la Planificación y b) Después de la Planificación.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
10
b) BAP CONTINUO.
El muelle no está dividido y los barcos pueden atracar en cualquier posición del muelle.
Figura 6. BAP Continuo, a) antes de la planificación y b) Después de la Planificación
c) BAP ESTÁTICO.
Todos los barcos se encuentran en el muelle y pueden ser asignados a un atraque inmediatamente.
Figura 7. BAP Estático, a) antes de la Planificación y b) Resultado de la Planificación.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
11
d) BAP DINÁMICO.
Algunos barcos llegaran al muelle después de que comience la planificación, y no podrán ser asignados a
un atraque antes de que esto ocurra.
Figura 8. BAP Dinámico, a) Antes de la Planificación y b) Resultado de la Planificación.
1.3. PROBLEMA DE ASIGNACIÓN DE ATRAQUES CON RETRASOS
EN LA LLEGADA DE DOS BARCOS.
Sean dados un conjunto de atraques y un conjunto de barcos que han de ser servidos dentro del
horizonte de planificación. El problema consiste en asignar una posición y un tiempo de atraque
a cada barco de forma que se optimice una función objetivo.
Datos requeridos: longitud del barco, longitud del muelle, tiempo de llegada, tiempo de servicio,
tiempo de atrasos.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
12
Figura 9. BAP Dinámico y Continuo con Retrasos, antes de realizar la planificación.
Figura 10. BAPDC con Retrasos, luego
de realizar la Planificación.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
13
Entonces para explicar el problema dinámico y continuo de asignación de atraques y a la vez
con retrasos, he creado las figuras 9 y 10. Como se muestra en la figura 9 hay algunos barcos
que ya han llegado y otros que están llegando, esto es la parte dinámica, ahora la figura 10
muestra como los barcos han sido asignados en cualquier posición del muelle, forma continua,
algunos barcos han llegado puntualmente (hora prevista), pero otros llevan un cierto retraso.
Esto cambia lo que se llama horizonte de tiempo, este horizonte nos sirve para saber cuál es el
tiempo máximo en que los barcos realizaran sus servicios en el muelle.
1.4. MODELO MATEMÁTICO.
Este modelo presentado en [12], resuelve el problema que ha sido planteado, con la diferencia
que no soluciona los retrasos, este modelo servirá de base para el nuevo modelo creado. Y
tiene la siguiente Notación:
V: conjunto de barcos
(Vi): Tiempo de llegada del barco Vi al puerto
l(Vi): Longitud de Vi
L: Longitud del muelle
h(Vi) : Tiempo de estancia del barco en el lugar de atraque
Con estos datos, se debe decidir las siguientes variables:
m(Vi) : Tiempo de atraque de Vi.
Pos(Vi): posición donde será atracado Vi
Figura 11.
Representación de
un Barco de
acuerdo a su
posición y tiempo.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
14
El tiempo de partida del barco dependerá de m(Vi) y h (Vi). La posición de atraque
(pos(Vi)) se determinará de acuerdo con la longitud de los barcos.
Entonces el problema consiste en distribuir todos los barcos de acuerdo a unas
restricciones, con el objetivo de minimizar el tiempo de espera. Además debemos tener
en cuenta las siguientes suposiciones:
Toda la información relativa a los barcos en espera se conoce de antemano, excepto
la hora real de llegada.
Cada buque tiene un calado menor o igual que el muelle.
El momento de atraque y desatraque no consume tiempo.
Está permitido el atraque simultáneo.
No se considera distancia de seguridad entre los barcos.
∑ ) )) (1.1)
Sujeto a:
) ) (1.2)
) ) (1.3)
) ) ) ( ) (1.4)
) ) ( ) ( ) (1.5)
(1.6)
(1.7)
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
15
1.5. ALGORITMOS GENÉTICOS (AG).
1.5.1. DEFINICIÓN.
Los Algoritmos Genéticos (AGs) son métodos adaptativos que pueden usarse para resolver
problemas de búsqueda y optimización. Están basados en el proceso genético de los organismos
vivos. A lo largo de las generaciones, las poblaciones evolucionan en la naturaleza de acorde
con los principios de la selección natural y la supervivencia de los más fuertes, postulados por
Darwin (1859).
Por imitación de este proceso, los Algoritmos Genéticos son capaces de ir creando soluciones
para problemas del mundo real. La evolución de dichas soluciones hacia valores óptimos del
problema depende en buena medida de una adecuada codificación de las mismas.
En la naturaleza los individuos de una población compiten entre sí en la búsqueda de recursos
tales como comida, agua y refugio. Incluso los miembros de una misma especie compiten a
menudo en la búsqueda de un compañero. Aquellos individuos que tienen más éxito en
sobrevivir y en atraer compañeros tienen mayor probabilidad de generar un gran número de
descendientes. Por el contrario individuos poco dotados producirán un menor número de
descendientes. Esto significa que los genes de los individuos mejor adaptados se propagarán en
sucesivas generaciones hacia un número de individuos creciente. La combinación de buenas
características provenientes de diferentes ancestros, puede a veces producir descendientes
“superindividuos", cuya adaptación es mucho mayor que la de cualquiera de sus ancestros. De
esta manera, las especies evolucionan logrando unas características cada vez mejor adaptadas al
entorno en el que viven.
Los Algoritmos Genéticos usan una analogía directa con el comportamiento natural. Trabajan
con una población de individuos, cada uno de los cuales representa una solución factible a un
problema dado. A cada individuo se le asigna un valor o puntuación, relacionado con la bondad
de dicha solución. En la naturaleza esto equivaldría al grado de efectividad de un organismo
para competir por unos determinados recursos. Cuanto mayor sea la adaptación de un individuo
al problema, mayor será la probabilidad de que el mismo sea seleccionado para reproducirse,
cruzando su material genético con otro individuo seleccionado de igual forma. Este cruce
produciría nuevos individuos, descendientes de los anteriores, los cuales comparten algunas de
las características de sus padres.
Cuanto menor sea la adaptación de un individuo, menor será la probabilidad de que dicho
individuo sea seleccionado para la reproducción, y por tanto de que su material genético se
propague en sucesivas generaciones.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
16
De esta manera se produce una nueva población de posibles soluciones, la cual reemplaza a la
anterior y verifica la interesante propiedad de que contiene una mayor proporción de buenas
características en comparación con la población anterior. Así a lo largo de las generaciones las
buenas características se propagan a través de la población. Favoreciendo el cruce de los
individuos mejor adaptados, van siendo exploradas las áreas más prometedoras del espacio de
búsqueda. Si el Algoritmo Genético ha sido bien diseñado, la población convergerá hacia una
solución óptima del problema.
1.5.2. ESTRUCTURA DE UN ALGORITMO GENÉTICO.
Esta es la representación de un AG, se puede apreciar en la figura 13 los componentes y la
manera en que trabaja.
Figura 12. Estructura de un Algoritmo Genético.
MUTACION
CRUZAMIENTO
SELECCION
GENERAR UNA
POBLACION
EVALUAR LA APTITUD
FIN
Se cumple la condición de
parada del Algoritmo
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
17
La ejecución de un AG requiere una serie de parámetros de funcionamiento, como son: el
tamaño de la población con la que va a trabajar, que definen su comportamiento en promedio.
Una vez que el algoritmo dispone de los valores para estos parámetros, comienza generando una
población de individuos, donde cada uno de los cuales es un candidato a ser solución a partir de
él. A continuación la población se somete a un bucle de evolución cada uno de cuyos ciclos
incluye un proceso de selección, que modifica la composición, eliminando a ciertos individuos y
reforzando la presencia de otros, a un proceso de reproducción, de evolución, tales como la
adaptación media de la población o la posición del mejor individuo de la población [17].
Se puede realizar una serie de modificaciones a esta estructura dependiendo del problema al que
se quiera enfocar.
1.5.3. REPRESENTACIÓN DE LOS INDIVIDUOS.
En un AG los individuos son cadenas binarias o enteras, que denotaremos por b, que representa
a puntos x del espacio de búsqueda del problema. Tomando la nomenclatura de la biología, b
se le denomina genotipo del individuo y a x se le denomina fenotipo. La nomenclatura
biológica a veces se adopta también para otros datos del individuo. Así se usa gen para referirse
a la codificación de una determinada característica del individuo. En los AGs se suele
identificar un gen con cada posición de la cadena. Se usa alelo para distintos valores que puede
tomar un gen y locus para referirse a una determinada posición de la cadena.
Es importante que cada posición de la cadena tenga un significado para el problema, ya que de
esta forma se favorece que los genes que dan alta calidad a un individuo sigan dando lugar a
características de calidad en un nuevo individuo obtenido por alguna operación genética a partir
del primero. También es importante buscar una codificación a partir de la cual se pueda llegar
de forma eficiente al fenotipo, ya que la decodificación será una operación muy frecuente a lo
largo de la evolución [16].
1.5.4. GENERACIÓN DE LA POBLACIÓN.
Los individuos de una población inicial suelen ser cadenas formadas de manera aleatoria,
pueden ser ceros o unos (en caso fueran binarias) o estar dentro de un rango (en caso fueran
enteras), es decir, se va generando cada gen con una función que devuelve un cero o un uno con
igual probabilidad. Es imprescindible para el buen funcionamiento del AG dotar a la población
de suficiente variedad para poder explorar todas las zonas del espacio de búsqueda [16].
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
18
1.5.5. GRADO DE ADAPTACIÓN DE LOS INDIVIDUOS.
La evolución de la población depende de la calidad relativa de los individuos que compiten por
aumentar su presencia en la población y por participar en las operaciones de reproducción. En
un problema de búsqueda u optimización, dicha calidad se mide por la adecuación o adaptación
de cada individuo a ser solución del problema. Es frecuente que los problemas se presenten
como la función de una función matemática explicita. En dichos casos la función de adaptación
coincide con la función a optimizar.
Sin embargo, a veces se realizan algunas transformaciones, a la función a optimizar o función
de evaluación, para transformarla en una función de adaptación adecuada [16].
1.5.6. CONDICIÓN DE TERMINACIÓN.
Es necesario especificar las condiciones en las que el algoritmo deja de evolucionar y se
presenta la mejor solución encontrada. La condición de terminación más sencilla es alcanzar un
determinado número de generaciones de evolución. Otras condiciones, que a veces se utilizan
de forma combinada, son alcanzar la solución de una determinada calidad o detectar que la
mayor parte de la población ha convergido a una forma similar, careciendo de la suficiente
diversidad para que tenga sentido con la evolución[16].
1.5.7. PROCESO DE SELECCIÓN.
La población de del algoritmo genético se somete a un proceso de selección que debe tender a
favorecer la cantidad de copias de los individuos más adaptados. Este proceso se puede realizar
de formas muy diferentes:
1.5.7.1. SELECCIÓN POR RULETA.
Este método consiste en construir una ruleta particionada en ranuras de igual tamaño, las cuales
se numeran. A cada individuo de la población se le asigna una cantidad de ranuras proporcional
a su aptitud, ver figura#. La “manecilla” de la ruleta se gira, y con probabilidad uniforme se
elige una ranura seleccionándose aquel individuo dueño de la misma. El proceso se repite hasta
completar la cantidad de individuos deseados. Este método de selección otorga mayor
probabilidad de contribuir a la siguiente generación a los individuos con mayor aptitud. Como
se trata de un método probabilístico, el número obtenido de copias para un individuo puede ser
muy distante del esperado [17].
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
19
Figura 13. Método de la Ruta.
1.5.7.2. SELECCIÓN CON CONTROL SOBRE EL NÚMERO ESPERADO.
La selección por ruleta intenta asignar una cantidad de copias de copias adecuada a los mejores
individuos, pero no lo garantiza. Como se mencionó anteriormente, puede haber una gran
distancia entre el número esperado de copias y la cantidad asignada. Para reducir este error
estocástico, De Jong y Spears[1992] diseñaron el modelo de valor esperado. Se define una
cantidad de copias ci para cada individuo i, tal que [17].
Donde fi es la aptitud del i-ésimo individuo, y F es la aptitud promedio de la población. Cada
individuo recibe una cantidad de copias igual a la parte entera de ci más una copia adicional
con probabilidad igual a la parte fraccionaria de ci. Esto garantiza que la cantidad de hijos de
cualquier individuo es por lo menos la parte entera del número esperado de hijos.
1.5.7.3. SELECCIÓN ELITISTA.
Los dos métodos anteriores no garantiza la preservación de los mejores individuos, ya que estos
pueden ser por sus hijos durante la cruza. La selección elitista soluciona este problema, común
a la mayoría de los métodos de selección.
El método elitista preserva los mejores m individuos de la generación actual, incluyéndolos
directamente en la siguiente. Se busca mejorar la búsqueda local a expensas de la perspectiva
global. También provoca que la aptitud del mejor individuo de la población mejore a lo sumo
15, 16%
28%
17%
39% I1
I2
I3
I4
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
20
constante, pero nunca decrezca. La selección elitista siempre es utilizada en combinación con
otras variantes de selección [16][17].
1.5.7.4. SELECCIÓN POR RANKING.
Un problema habitual de los métodos proporcionales es la posibilidad de que superindividuos
dominen rápidamente la población, antes de que se haya podido realizar una exploración
suficientemente amplia del espacio de búsqueda. Este problema se denomina convergencia
prematura. Una de las alternativas para solucionarlo consiste en utilizar un método de selección
que tenga en cuenta cuales son los mejores individuos, pero que no considere el peso de su
aptitud. Otra alternativa, mucho más difundida, consiste en el escalado de la función de aptitud.
Este método tiene dos desventajas frente a los métodos proporcionales. La primera es que la
evolución de la población frecuentemente es más lenta. La segunda desventaja es que no
existe una teoría sólida que lo soporte, como existe para los proporcionales.
En este método cada individuo recibe una cantidad de copias que solo depende de la ubicación
dentro de la tabla. Para esto, la población se ordena en forma descendente por la aptitud de cada
individuo en la tabla de posiciones, y solamente los primeros m individuos reciben copias.
Dentro de esas posiciones de la tabla, el total de copias a asignar se distribuye en forma lineal
[17] .
1.5.7.5. SELECCIÓN POR TORNEO.
En la selección por torneo se elige una pequeña muestra de la población y de ella se selecciona
el individuo de mejor valor de adaptación. Normalmente se utiliza un tamaño pequeño para la
muestra, de 2 o 3 individuos. El proceso se repite hasta completar el número de individuos que
se desee seleccionar. Esta selección puede realizarse de forma determinista o probabilística [16].
En la selección por torneo determinista se selecciona aleatoriamente un numero p de
individuos. Habitualmente p toma el valor 2. Después, de entre los individuos
seleccionados se elige el mejor, es decir, el de mayor valor de adaptación.
El caso probabilístico es similar, excepto porque, una vez seleccionados los p
individuos, en lugar de escoger siempre al mejor, la selección se hace con cierta
probabilidad. Si un número, que se genera aleatoriamente entre 0 y 1, es mayor que un
cierto umbral especificado como un parámetro del algoritmo, entonces se elige al
mejor, en otro caso al peor.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
21
1.5.8. MÉTODOS DE CRUZA.
En cada nueva generación se crean algunos individuos que no estaban presentes en la población
anterior. De esta forma el algoritmo genético va accediendo a nuevas regiones del espacio de
búsqueda. Por lo tanto es muy importante el rol que juega el operador de cruza en el diseño e
implementación de sistemas adaptativos robustos. En la mayoría de los AGs los individuos son
representados por estructuras de longitud fija y la recombinación es efectuada por el operador de
cruza. Este opera sobre pares de estructuras (padres) para producir nuevas estructuras (hijos) por
el intercambio de segmentos entre los padres [16] [17][18].
1.5.8.1. CRUCE SIMPLE O MONOPUNTO.
La cruza simple, o en un punto, elige al azar uno de los l-1, donde l es la longitud de la cadena,
posibles puntos de cruza. Luego ese sesta elección se intercambian los segmentos de
cromosoma separados por este punto.
Ejemplo. Sean: P1 Y P2 los padres seleccionados y c es el punto de cruce y H1 y
H2 los hijos. Se tiene P1: XYXXYYYX , P2:YYXYYXXY c=3.
P1:
P2:
Entonces:
H1:
H2:
Figura 14. Cruce Monopunto.
X Y X X Y Y Y X
Y Y X Y Y X X Y
X Y X Y Y X X Y
Y Y X X Y Y Y X
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
22
1.5.8.2. CRUCE MULTIPUNTO.
En este, caso el cromosoma es considerado un anillo, y se eligen n puntos de cruza en forma
aleatoria. Si la cantidad de puntos de cruza es par, se intercambian las porciones de cromosomas
definida entre cada par de puntos consecutivos, si es impar se asume un punto de cruza
adicional en la posición cero y se procede de igual modo.
Ejemplo: Sean: P1 y P2 los padres seleccionados, y se ha elegido n=4 número de
puntos de cruce (c1, c2, c3 y c4) y H1 y H2, los hijos. Se tiene.
P1: XYXXYYYX , P2:YYXYYXXY , c1=1, c2= 4 , c3= 5, c4=7.
P1:
P2:
Entonces:
H1:
H2:
Figura 15. Cruce Multipunto.
El Cruce simple es en realidad un caso particular del cruce multipunto cuando n=1. Se debe
mencionar, también, el cruce de dos puntos por ser uno de los más utilizados.
1.5.8.3. CRUCE BINOMIAL.
Para generar un cromosoma hijo por cruce binomial, se define la probabilidad P0 como la
probabilidad de que el alelo de cualquier posición del descendiente se herede del padre, y 1- P0
como la probabilidad de que lo herede de la madre. En este caso se puede construir un único
X Y X X Y Y Y X
Y Y X Y Y X X Y
X Y X X Y Y Y X
Y Y X X Y Y Y Y
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
23
hijo por cada aplicación del operador, o bien generar un segundo hijo como complemento del
primero.
Cuando existe igualdad de probabilidad de heredar del padre como de la madre, P0 = 0.5, el
cruce se denomina uniforme. Para estructuras de longitud l el cruce uniforme implica un
promedio de l/2 puntos de cruce.
1.5.8.4. CRUCE SEGMENTADO.
En el cruce segmentado el número de puntos de cruce puede variar, en este tipo de cruce se
introduce un nuevo tipo de parámetro que es la tasa de segmentado. Este parámetro especifica la
probabilidad de que el final de un segmento el individuo este en un determinado punto de la
cadena. Es decir, en cada punto de la cadena determinamos con la probabilidad dada por la tasa
de segmentación si el segmento en curso termina en ese punto o se extiende a más posiciones.
Para una tasa de segmentado de 0.2 se tendrá un promedio de 5 segmentos, pero esta cantidad
puede variar en cada caso.
1.5.8.5. CRUCE UNIFORME.
En este método se decide con la probabilidad dada por un parámetro de que padre recibe el
primer hijo el valor de cada posición de la cadena. El otro hijo recibe el valor de esa misma
posición del otro padre.
1.5.8.6. CRUCE ADAPTATIVO.
Se propone un operador de cruce en el que la distribución de los puntos de cruce se va
adaptando a lo largo de la evolución del algoritmo. Para implementarlo se registran los puntos
de cruce con los que se ha realizado el cruce de cada individuo. Los puntos de cruce
correspondientes a los mejores individuos tienen más oportunidades de aplicarse.
1.5.9. PROCESO DE MUTACIÓN.
La mutación permite mantener diversidad en la población disminuyendo el riesgo de
convergencia prematura. A la vez cumple una función de exploración ya que este operador
brinda la posibilidad de generar cualquier estructura valida dentro del espacio de búsqueda.
Durante la aplicación de este operador, cada gen es mutado con una probabilidad Pm,
generalmente baja. La probabilidad puede ser constante durante toda la búsqueda genética o
bien adaptativa. En el primer caso no se comparte información, en cambio en el segundo caso,
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
24
se utilizan frecuentemente estadísticas de la población para adaptar la velocidad de mutación
[16] [17].
1.5.9.1. MUTACIÓN SIMPLE.
La mutación simple elige en forma aleatoria un gen, el cual se muta con cierta probabilidad,
habitualmente muy baja. La probabilidad de mutación se mantiene constante durante las
sucesivas generaciones. Debido a esto, es bastante difícil que la probabilidad elegida sea
adecuada en todo momento, y por lo tanto, el operador de mutación no es bien explotado. Por
otra parte, es difícil determinar la forma de adaptar el grado de mutación así que generalmente
se utiliza este método debido a su sencillez.
1.5.9.2. MUTACIÓN ADAPTATIVA POR CONVERGENCIA.
En la mutación adaptativa por convergencia, la probabilidad de mutación varía en base a
información proveniente de la búsqueda genética. Esta información está dada por el grado de
convergencia de la población (P0 se puede ver, también, como la probabilidad de intercambiar
alelos. Esta variante de mutación tiene la ventaja de aprovechar la información histórica para
orientar la búsqueda, aumentando la mutación cuando la población se hace muy homogénea y
disminuyéndola cuando hay demasiada diversidad. Generalmente, se comienza con
probabilidades bajas y se aumenta o disminuye en función de la evolución de la población.
1.5.9.3. MUTACIÓN ADAPTATIVA POR TEMPERATURA.
El concepto de mutación adaptativa por temperatura deriva del método simulated annealing,
este tipo de mutación no utiliza información genética de la población, por lo tanto, es
independiente de la características de la misma.
La probabilidad de mutación, Pm , depende del tiempo o cantidad de generaciones; por lo tanto
Pm = Pm(t). El rango de valores que puede tomar esta acotado por valores mínimo y máximo.
Pmmin
>= Pm(t) >= Pmmax
Partiendo de un valor inicial Pm (0), la actualización se realiza hasta alcanzar un valor final, de
la siguiente manera:
Pm (t+1) = Pm(t) + λ
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
25
Dependiendo del signo de l y de los valores inicial y final de Pm (t), existen dos variantes de
mutación adaptativa por temperatura: mutación adaptativa por temperatura ascendente y
mutación adaptativa por temperatura descendente [17].
1.5.10. LOS AGS APLICADOS A PROBLEMAS CON RESTRICCIONES.
Los problemas de satisfacción de restricciones se formulan sobre un conjunto de variables, cada
una de las cuales toma valor en un rango especifico, y sobre las que se definen un conjunto de
restricciones. El objetivo de la resolución de un problema de este tipo puede ser hallar un
valor para cada variable, dentro de su rango especifico, de forma que se satisfagan todas las
restricciones (problemas de satisfactibilidad), o bien buscar una asignación de valores para las
variables, que además de satisfacer las restricciones, optimice alguna función objetivo
(problema de optimización). Dependiendo del problema los dominios de las variables pueden
ser continuos o discretos. Las restricciones pueden involucrar a una, dos o más variables.
Ejemplos clásicos que se utilizan para estudio de técnicas de este tipo de problemas tenemos:
Problema de N reinas, Problemas de empaquetado, coloreado de grafos o mapas, entre otros.
Dado la importancia tecnológica de las aplicaciones que se corresponden con este tipo de
problemas, se han desarrollado diversas técnicas [16].
a) TÉCNICAS DE PENALIZACIÓN.
Son las más generales, ya que pueden aplicarse a cualquier problema con restricciones.
Consisten en generar soluciones para el problema ignorando las restricciones y penalizar
después en la evaluación a aquellas soluciones que no cumplan las restricciones del problema. A
menudo la función de penalización depende del grado de la violación de la restricción, es decir,
es alguna función (logaritmo, exponencial, etc.) del grado de la violación. En ocasiones
también se hace que la penalización cambie a medida que avanza la evolución, de manera que al
comienzo del proceso haya más permisividad de soluciones que violan las restricciones, y a
medida que se acerca al final de la evolución la penalización se incremente.
b) TÉCNICAS DE REPARACIÓN.
Son aquellas en las que se busca algún mecanismo para corregir las soluciones que violan las
restricciones del problema. Estas técnicas son específicas de cada problema y en general son
difíciles de encontrar.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
26
c) TÉCNICAS DE CODIFICACIÓN.
Consisten en buscar una representación especial del problema que garantice que se cumplen las
restricciones. Al igual que las técnicas de reparación, son específicas del problema y difíciles de
encontrar en general.
1.5.11. CARACTERÍSTICAS DE LOS AGS.
Las características más representativas de los AGs [21] son:
Son algoritmos estocásticos. Dos ejecuciones distintas pueden dar dos soluciones
distintas.
Hacen una búsqueda mayor en el subespacio de posibles soluciones validas, y con
diferencia.
La convergencia del algoritmo es poco sensible a la población inicial.
Tienen una convergencia rápida al principio, esto se debe a que el algoritmo
genético es excelente descartando subespacios realmente malos.
Los AGs son intrínsecamente paralelos. Esto se debe a que los algoritmos buscan
en distintos puntos del espacio de soluciones de forma paralela.
1.5.12. LIMITACIONES DE LOS AGS.
Los AGs así como cualquier otro método tienen ciertas limitaciones [17], estas son
algunas:
Una mala representación del problema puede producir errores fatales o resultados
sin sentido.
Si se elige mal una función de aptitud o se define de manera inexacta, puede que el
algoritmo genético sea capaz de encontrar una buena solución al problema.
otros problemas están relacionados con el tamaño de la población, el tipo de
selección, cruzamiento y mutación. Si el tamaño de la población es demasiado
pequeño, puede que no explore suficientemente es espacio de soluciones.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
27
CAPITULO II. MATERIALES Y MÉTODOS
2.1. POBLACIÓN Y MUESTRA.
POBLACIÓN:
Todos los barcos que deseen atracar en el muelle que cumplan con ciertas
características: longitud menor que la longitud del muelle (1000m), informar su
tiempo de llegada y su retraso además del tiempo de servicio.
MUESTRA:
Se tomaran a partir de 5 barcos hasta 30 barcos para realizar la evaluación de
los Programas.
2.2. VARIABLE DE ESTUDIO.
VARIABLE DEPENDIENTE:
La asignación de forma dinámica y continua de los atraques de los
barcos en un muelle cuando estos llegan con retrasos.
VARIABLE INDEPENDIENTE:
El Algoritmo Genético.
2.3. TIPO DE INVESTIGACIÓN.
Aplicada
2.4. TÉCNICAS DE RECOLECCIÓN DE DATOS.
Los datos serán tomados del Algoritmo Genético y del Solver de Optimización
donde esta implementado el modelo matemático.
Estos datos serán organizados en tablas para luego analizados y comparados
mediante gráficos en Excel.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
28
2.5. INSTRUMENTO DE RECOLECCIÓN DE DATOS.
Los instrumentos de recolección de datos son: el Algoritmo Genético y el
Modelo Matemático.
2.6. PROCEDIMIENTO DE INVESTIGACIÓN.
La metodología que se siguió en esta tesis se basó en las siguientes actividades:
2.6.1. ADQUISICIÓN DE CONOCIMIENTO ESPECÍFICO SOBRE:
Terminales de contenedores marítimos y sus diversas problemáticas
Problema de asignación de atraque de los barcos con retrasos
Algoritmos genéticos.
Utilización de los algoritmos genéticos en el problema de atraque de
barcos.
2.6.2. ANÁLISIS DE MODELOS Y SOLUCIONES EXISTENTES.
a. Analizar y Modificar el modelo matemático base que da solución a una
parte del problema planteado.
b. Implementación del Modelo Matemático en un Solver de Optimización.
c. Diseño y desarrollo del algoritmo genético para la solución del problema.
d. Análisis de los datos de salida del AG y del Modelo Matemático.
e. Redactar el informe de Tesis final.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
29
CAPITULO III. RESULTADOS
3.1. PROBLEMA.
Como ya se ha explicado el problema en la sección 1.3.1., lo que se debe realizar: son
planificaciones de atraques, donde se reduzca el menor tiempo de espera de los barcos y la
mejor utilización del espacio del muelle, en la figura 16 muestra una de las muchas
planificaciones que se pueden realizar.
Figura 16. Plan de Atraque.
3.1.1. ANÁLISIS DEL PROBLEMA.
Lo que debemos enfrentar es donde y cuando los barcos deben atracar, tenemos que tener en
cuenta las restricciones físicas del muelle como son la longitud del muelle o el calado, pero
además se deben tener en cuenta las prioridades, para minimizar los costos portuarios y de los
propietarios de los barcos.
Como ya se ha señalado, tratamos con BAP continuo y dinámico. Según [15], para el diseño de
un modelo continuo, la planificación del atraque es más complicado que para un diseño discreto
pero se tiene la ventaja de una mejor utilización del espacio del muelle. Además se asume que
los tiempos de llegada restringen los tiempos de atraque, es decir los tiempos de llegada están
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
30
dados por los barcos. Por lo tanto, los barcos no pueden atracar antes de su hora prevista de
llegada.
Podemos hacer una representación del BAP en forma bidimensional espacio - tiempo, el eje x
es definido como tiempo y el y como la longitud del muelle.
Además tenemos las siguientes suposiciones:
Toda la información relativa a los barcos en espera se conoce de antemano
Todo buque tiene un calado menor o igual que el muelle.
El momento de atraque y desatraque no consume tiempo.
Está permitido el atraque simultáneo.
No se considera distancia de seguridad entre los barcos.
Se permite que los barcos lleguen con retrasos: estos retrasos o conocido como
Buffer, en optimización, este término representa el grado de robustez, la
flexibilidad de tiempo de llegada o el porcentaje de retraso.
Los tiempos de atraque deben ser menores que el horizonte de planificación (HP),
donde:
∑ )
K= tiempo del ultimo barco en llegar.
Por lo tanto, el tiempo de atraque asignado a cada uno de los barcos debe ser mayor o igual a
su valor de llegada más su retraso. Todos los tiempos de atraques y de manejo deben estar
dentro de HP.
Con el fin de asignar un barco en el muelle, deben cumplirse las siguientes restricciones:
El tiempo de atraque debe ser al menos el mismo que el tiempo de llegada. (Ver
ecuación 1.2)
Hay suficiente espacio contiguo en el muelle para atracar la embarcación. (Ver
ecuación 1.3)
Además se tiene que saber si un barco i a la derecha del barco j, esta variables es:
, además debemos indicar si el barco i atraco antes o después del barco j, esta
variable es:
.
Entonces es una variable de decisión que indica si el barco i está localizado a la izquierda del
barco j en el atraque ( ),
indica que el tiempo de atraque del barco i esta antes
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
31
que el barco j. la variable que aparece en las ecuaciones 1.4, 1.5. M es una constante entera
muy grande.
Por tanto el objetivo es distribuir todos los barcos de acuerdo a unas restricciones, con el
objetivo de minimizar el tiempo de espera y hacer un buen uso del espacio del muelle.
3.1.2. MODELO MATEMÁTICO.
A partir del modelo presentado en la sección 1.3.2.que es la solución al problema que estamos
tratando, lo modificamos para adaptarlo a nuestro caso, las modificaciones realizadas está en las
ecuaciones (3.1 y 3.5), el tiempo de retraso (retraso = (a2 – a1), donde a2 es el tiempo máximo
que el barco puede llegar y a1 el tiempo posible de llegada, es la demora del barco). Además se
le ha agregado la variable B, esta variable pertenece a un rango de 0 a 1, permite hacer una
variación y evaluación del tiempo, del mínimo (0) al máximo retraso (retraso = (a2 – a1)) que
pueden tomar cada barco. Este valor es fijo y se multiplica con el valor de retraso de cada
barco. Obsérvese que cuando B toma el valor 0, es como si no existiera el retraso y cuando toma
el valor 1, es el máximo retraso posible.
∑ ) )) (3.1)
Sujeto a:
) ) (3.2)
) ) (3.3)
) ) ) ( ) (3.4)
) ) ) ( ) ( )
(3.5)
(3.6)
(3.7)
La variable Z de la función objetivo toma el mínimo valor del tiempo de espera de los barcos.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
32
La variable B representa la flexibilidad en la llegada de los barcos, por eso este valor
multiplica al retraso de todos los barcos.
En la figura 17 se muestra la forma como se trata la llegada de barcos con retraso: un barco da
un alcance de un supuesta hora de llegada, a; pero se le permite llegar hasta un cierto retraso, d;
entonces un barco puede llegar con un retraso r, entonces a + r <= a + d. en la figura 18 se
muestra el punto r (en rojo).
Figura 17. Llegada con retrasos de los barcos,
donde a es el tiempo de posible llega, y d es el
valor Máximo de retraso con que un barco
puede llegar.
Figura 18. Llegada con retrasos, donde r es el tiempo
de retraso real.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
33
3.2. CROMOSOMA.
En la estructura del cromosoma, los genes están representados por números enteros, los
cuales representan a los tiempos de atraque y las posiciones donde el barco ha atracado.
a) Primera parte del cromosoma: representa a los tiempos de atraque (m) de cada
barco.
1 2 … N
m1 m2 mn-1 mn
b) Segunda parte del cromosoma: representa a las posiciones (p) donde cada barco ha
atracado.
1 2 … N
p1 p2 pn-1 pn
c) Unión de las partes del cromosoma:
1 2 … N n+1 n+2 2n
m1 m2 mn-1 m5 p1 p2 pn-1 pn
De la posición 1 hasta la n representa a tiempos de atraque de cada barco, y desde la n+1 hasta
2n representa las posiciones que los barcos toman en el muelle. Los subíndices indican el
número de barco por lo tanto t1 y p1, indican que son los valores para el barco 2.
Entonces el tamaño del cromosoma depende del número de barcos (n) con los que se vaya a
trabajar.
Número de barcos = n
Tamaño del cromosoma = 2n
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
34
3.3. POBLACIÓN INICIAL.
La población inicial contiene 100 individuos o cromosomas, este es generado aleatoriamente
del rango de valores enteros de posibles soluciones definido por las restricciones 3.2 y 3.3.
Ejemplo de individuos válidos, para un cromosoma de tamaño 10, donde la longitud del muelle
es 700 y tiempos atraque, tienen que ser menor que horizonte de planificación (ver sección 3.1):
Ejemplo de una población con tres individuos:
Tabla 1. Representación de una Población inicial.
# Cromosoma
1 (8,15,32,40,52,391,550,219,328,0)
2 (30,4,10,50,12,20,100,207,15,500)
3 (45,12,8,16,37,15,125,7,31,18)
Cada cromosoma o individuo representa a una planificación valida, es decir, que los valores del
cromosoma cumplen con las restricciones planteadas en el modelo matemático.
Hay varios problemas que surgen debido a que estos valores son aleatorios, no permiten
aprovechar de manera eficiente el tiempo y el espacio en el muelle, por tanto una vez generada
la población hay que realizar algunas modificaciones en los tiempos de atraque. Lo que se hizo
es trasladar a todos los barcos hasta sus tiempos de llegada, pero verificando que no haya
conflicto con otros barcos y con sus tiempos de llegada, las posiciones no han sido cambiadas
(ver figuras 19 y 20), esto permite reducir el tiempo de espera, así los individuos son más
óptimos.
Aunque se puede apreciar que aún falta optimizar más el espacio, creo conveniente dejarlo así
para que los datos tengan una gran dosis de aleatoriedad.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
35
Figura 19. Individuo que pertenece a la población Inicial, sus tiempos de atraque
son aleatorios.
Figura 20. Individuo que pertenece a la población Inicial, tiempos de atraque modificados.
3.4. LA FUNCIÓN DE ADAPTACIÓN.
Esta función de adaptación trabaja de acuerdo a la función objetivo y las restricciones que allí
se han planteado, ver sección 3.1.2.2.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
36
La función de adaptación evalúa el cromosoma de acuerdo a restricciones y a valores que
debemos ingresar, como son: la longitud del muelle, el tiempo posible de llegada, el tiempo de
llegada longitud, el tiempo de manejo o servicio de cada uno de los barcos. Los valores del
cromosoma (genes), deben cumplir con las restricciones que se plantean, para obtener mayor
valor de fitness o adaptación, caso contrario su valor de adaptación será bajo y con menos
probabilidad de sobrevivir o de reproducirse:
La ecuación o Función de adaptación es:
∑ ) ))
3.8
Pero como la función de adaptación es para maximizar, tenemos que hacerle un cambio para
calcular la minimización:
FA = 100 - fa 3.9
Los valores que se obtienen en fa van desde valores menores a mayores que 1, por lo tanto el
valor considerado adecuado es 100.
En fa, mientras menor sea el valor significa que tiene una mejor adaptación. Estos valores
pasan a ser los más grandes en FA. Este artificio permite trabajar de una forma de
maximización, es decir mientras más grande sea el FA mejor será su adaptación.
Ejemplo: HT = 100, n = 5, a1 = {8,15,25,35,40}.
Cromosomas:
Tabla 2. Evaluación de los cromosomas, según la función 3.9
# Cromosoma Fa FA
1 (8,15,32,40,52,391,550,219,328,0) 0.024 99.976
2 (8,24,30,50,60,20,100,207,15,500) 0.049 99.951
3 (20,16,35,50,70,125,7,31,18,200) 0.068 99.932
El mejor individuo es 3 con la mejor adaptación 99.981.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
37
3.5. OPERADORES DEL ALGORITMO GENÉTICO.
3.5.1. SELECCIÓN.
El método de selección que vamos a utilizar será la Selección por ruleta: los individuos con
valor más alto de adaptación, tienen mayor probabilidad de ser seleccionados que los que tienen
menor valor.
Para aplicar este método, tenemos que realizar la ordenación de los cromosomas de acuerdo a
su valor de fitness para poder realizar la selección.
Aplicaremos la siguiente ecuación para calcular el valor de probabilidad de ser
seleccionado a cada uno de los cromosomas, para esto utilizaremos la ecuación
3.10.
) )
∑
3.10
Se necesita generar un número aleatorio de acuerdo con la distribución de
probabilidad dada por los probi, seguimos el siguiente procedimiento:
Definimos las puntuaciones acumuladas de la siguiente forma:
q0 = 0;
qi = prob1 + … + probi ( )
Se genera un numero aleatorio a [0,1]
Se selecciona al individuo i que cumpla:
qi-1 < a < qi
Todo este proceso se repite para cada individuo que se desea seleccionar:
Ejemplo de Selección: siguiendo con los datos de la sección anterior.
Se calcula el valor de probabilidad para cada uno de los individuos, ver
Tabla 3.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
38
Tabla 3. Ordenamiento de cromosomas, según el valor de adaptación, para aplicar la
Selección por ruleta.
# Cromosoma Fa FA Prob
1 (8,15,32,40,52,391,550,219,328,0) 0.024 99.976 0.33341
2 (8,24,30,50,60,20,100,207,15,500) 0.049 99.951 0.3333267
3 (20,16,35,50,70,125,7,31,18,200) 0.068 99.932 0.333263
Representación gráfica de la probabilidad de selección.
Figura 21. Representación en forma de torta de la probabilidad
de Selección de cada uno de los cromosomas.
Se calcula la puntuación acumulada (qi) para cada individuo, ver tabla 4.
Tabla 4. Se muestra los valores de las puntuaciones acumuladas (qi).
Individuo 1 2 3
Adaptación 99.976 99.951 99.932
probi 0.33341 0.3333267 0.333263
qi 0.33341 0.6667367 1
De acuerdo a la cantidad de individuos que se deseen seleccionar se generan los
números aleatorios a, y los que salen seleccionados reemplazan a los menos aptos.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
39
3.5.2. CRUCE.
El operador de cruzamiento que utilizamos, es el cruce de dos puntos. El cruzamiento se realiza
con dos puntos, como el individuo está conformado por pares es decir ( mi , pi ) el intercambio
tiene que realizarse en los dos partes del individuo.
La probabilidad de cruzamiento es de 0.5, para cada uno de los individuos se genera una
probabilidad si su probabilidad no supera a 0.5, entonces el individuo es seleccionado para
realizar el cruzamiento. Los nuevos individuos reemplazan a sus progenitores.
Ejemplo: Se han seleccionado a P1 y P2 como los padres, y se tiene c1 = 2 y c2 =4 como los
puntos de cruce.
P1:
1 2 3 4 5 6 7 8 9 10
8 15 32 40 52 391 550 219 328 0
P2:
1 2 3 4 5 6 7 8 9 10
20 16 35 50 70 125 7 31 18 200
Entonces, al aplicar el operador de cruce, se tiene H1 y H2 son:
H1:
1 2 3 4 5 6 7 8 9 10
8 16 35 40 52 391 7 31 328 0
H2:
1 2 3 4 5 6 7 8 9 10
20 15 32 50 70 125 550 219 18 200
Comparación de valores de adaptación entre padres e hijos:
Tabla 5. Cromosomas padres y sus valores de adaptación.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
40
# Cromosomas Padres Fa FA
P1 (8,15,32,40,52,391,550,219,328,0) 0.024 99.976
P2 (20,16,35,50,70,125,7,31,18,200) 0.068 99.932
Tabla 6. Cromosomas hijos y sus valores de adaptación.
# Cromosomas Hijos Fa FA
H1 (8,16,35,40,52,391,7,31,328,0) 0.028 99.972
H2 (20,15,32,50,70, 125,550,219,18,200) 0.064 99.936
En el programa al momento de hacer el cruce de los padres, casi siempre existe un conflicto
en las ubicaciones de atraque, para solucionar este problema se reordenan los tiempos de
atraque de los barcos, entonces los hijos heredan solo las posiciones de atraque.
3.5.3. MUTACIÓN.
Este operador es utilizado para generar nuevos Individuos a la población, una de sus ventajas
es que permite crear individuos que exploran otras posibles soluciones, esto permite salir de
mínimos o máximos locales.
En cada tiempo o generación se usa este operador, para aplicarlo. La probabilidad de mutación
es de 0.1, a cada uno de los genes de los individuos se crea una probabilidad y se compara con
0.1, si es menor se produce la mutación, es decir se crean dos valores uno que representa al
tiempo de atraque y el otro a la posición de atraque, estos valores reemplazan a los valores de
los genes seleccionados (gen i y gen i + n ).
Como en nuestro cromosoma hay dos partes, tenemos que tener en cuenta, que los rangos para
crear valores aleatoriamente, son diferentes, entonces tenemos que verificar en cuál de las dos
partes se encuentra, para poder generar el nuevo valor y poder reemplazar correctamente.
El nuevo individuo debe cumplir con las restricciones para que sea válido. Sino debe ser
modificado para que las pueda cumplir.
Ejemplo: tenemos el individuo seleccionado I, y el gen elegido ha sido el de la posición 3, por
lo tanto también será cambiado el gen 8.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
41
I:
1 2 3 4 5 6 7 8 9 10
8 24 30 50 60 20 100 207 15 500
I (nuevo):
1 2 3 4 5 6 7 8 9 10
8 15 45 40 52 391 400 219 328 0
Comparación de cromosomas antes y después de mutar.
Antes de mutar
Tabla 7. Cromosoma antes de mutar.
# Cromosoma Fa FA
1 (8,24,30,50,60,20,100,207,15,500) 0.049 99.951
Después de mutar.
Tabla 8. Cromosoma después de aplicar el operador de mutación.
# Cromosoma Fa FA
1 (8,15,45,50,60,20,100,219,15,500) 0.055 99.945
Cuando se produce la mutación se puede mejorar o empeorar la adaptación del
individuo, en este caso, hubo una mejora.
También al realizar la mutación, se generan nuevas planificaciones que tienen
conflictos e igual como se hace para los hijos en el cruzamiento se reordenan los
tiempos de atraque y lo que queda o se mantiene fijo son las posiciones de atraque.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
42
3.6. IMPLEMENTACIÓN DE LOS PROGRAMAS.
3.6.1. MODELO MATEMÁTICO.
Programa: Modelo Matemático
using CPLEX;
int numBarcos = ...;
int LM = ...;
int M = 10000;
int HT = 24*5*10; // planning horizon
range Barcos = 1..numBarcos;
//int a[Vessels] = ...;
float a1[Barcos] = ...; //tiempo posible llegada
float a2[Barcos] = ...; //tiempo máximo de llegada
int h[Barcos] = ...; // tiempo de servicio (handling)
int l[Barcos] = ...; // longitud del barco
float beta =0;
float buffer[Barcos];
dvar float m[Barcos] in 0..HT;
dvar int+ pos[Barcos] in 0..LM;
dvar int zx[Barcos][Barcos] in 0..1;
dvar int zy[Barcos][Barcos] in 0..1;
dexpr float TiempoEspera = sum(v in Barcos) (m[v]- a1[v]);
execute PRECALCULATE{
var suma = 0;
var ultimaLlegada = 0;
for(var v in Barcos){
//Sumamos todos los tiempos de servicio
suma += h[v];
llegada (ultima llegada)
if( ultimaLlegada < a2[v]){
ultimaLlegada = a2[v];
}
buffer[v] = (a2[v]-a1[v])*beta;
}
//calculando el planning horizon
HT = ultimaLlegada + suma;
writeln("HT = "+HT);
}
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
43
El modelo matemático ha sido implementado en OPL (Optimization Programming Lenguage)
de IBM ILOG CPLEX Optimization Studio, utilizando la versión: cplex_studio1251.prev.win-
x86-32, de IBM ILOG CPLEX Optimization Studio, o CPLEX, es un paquete de software de
optimización.
}
//calculando el planning horizon
HT = ultimaLlegada + suma;
writeln("HT = "+HT);
}
minimize TiempoEspera;
//maximize waitTime;
subject to{
forall(v in Barcos){
TiempoAtraque:
m[v] >= a1[v];
posicion: (pos[v] + l[v]) <= LM;
forall(w in Barcos){
if(v != w){
//zx[v][w]<= 1;
//zy[v][w]<= 1;
zx[v][w] + zx[w][v] + zy[v][w] + zy[w][v] >= 1;
pos[v]+l[v] <= pos[w] + M*(1-zx[v][w]);
m[v]+ buffer[v]+h[v]<= m[w] + M*(1-zy[v][w]);
}
}
}
}
execute{
writeln("Sol: "+ TiempoEspera);
}
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
44
3.6.2. ALGORITMO GENÉTICO.
3.6.1. FUNCIÓN ALGORITMO GENÉTICO.
A continuación mostramos el pseudocódigo del programa implementado en C:
Algoritmo 1. Estructura Algoritmo Genético
Función Algoritmo_Genetico(){
TPoblacion pob;
entero tam_pob, lcrom, pos_mejor;
real suma_adaptacion, prob_cruce, prob_mut;
Obtener_parametros(tam_pob,lcrom);
pob = población_Inicial(tam_pob,lcrom);
evaluación(pob, tam_pob,pos_mejor,suma_adaptacion);
para cada generación desde 0 hasta num_max_gen hacer {
Selección(población,parametros);
Reproducción(pob,parametros);
Mutacion(pob, parametros);
evaluación(pob, tam_pob,pos_mejor,suma_adaptacion);
}
Devolver pob[pos_mejor];
}
Algoritmo 2. Estructura de Datos
Tipo TGenes: vector de booleano
Tipo TIndividuo = registro {
Tgenes genes;
real fenotipo;
real adaptación;
real puntuación;// puntuación relativa: adaptación/suma_adaptacion
real punt_acu; // puntuación acumulada para sorteos
}
Tipo TPoblacion: vector de TIndividuo;
Algoritmo 3. Generación de la Población Inicial y Generación de Individuo
TPoblacion población_Inicial(entero tam_pob, entero lcrom){
TPoblacion pob;
TIndividuo indiv;
entero i;
para cada i desde 0 hasta tam_pob{
indiv = genera_indiv()lcrom;
pob[i] = indiv;
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
45
}
Devolver pob;
}
TIndividuo Genera_Individuo(){
entero i, gen;
TIndividuo indiv;
inicializar(indiv.genes);
Para cada i desde 0 hasta lcrom hacer{
Genera_Individuo(pob,lcrom);
}
indiv.adaptacion = adaptación(indiv, lcrom);
devolver indiv;
}
Algoritmo 4. Funcion adaptación
función adaptacion(TIndividuo indiv, entero lcrom){
real fenotipo;
real función;
función = f(fenotipo);
devolver funcion;
}
Algoritmo 5. Función Evaluación
funcion evaluacion(var TPoblacion pob, entero tam_pob, var entero
pos_mejor, var real sumadap){
real punt_acu = 0;
real adap_mejor = 0;
entero i;
sumadap = 0;
para cada i desde 0 hasta tam_pob{
sumadap = sumadap + pob[i].adaptacion;
si(pob[i].adaptacion > adap_mejor){
pos_mejor = i;
adap_mejor = pob[i].adaptacion;
}
}
para cada i desde 0 hasta tam_pob{
pob[i].puntuacion = pob[i].adaptacion / sumadap;
pob[i].punt_acu = pob[i].puntuacion + punt_acu;
punt_acu = punt_acu + pob[i].puntuacion;
}
}
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
46
Algoritmo 5. Función Selección
funcion seleccion(var TPoblacion pob, entero tam_pob,){
real sel_super[tam_pob];
real prob;
entero pos_super, i;
TPoblacion pob_aux;
para cada i desde 0 hasta tam_pob{
prob = alea();
pos_sup = 0;
mientras ((prob > pob[i].punt_acu) y (pos_super <
tam_pob))
pos_super ++;
sel_super[i] = pos_super;
}
para cada i desde 0 hasta tam_pob{
pob_aux[i] = pob[sel_super[i]];
}
Inicializar(pob);
Para cada i desde 0 hasta tam_pob hacer{
pob[i] = pob_aux[i];
}
}
Algoritmo 5. Función Reproducción y cruce
funcion reproduccion(var TPoblacion pob, entero tam_pob, entero lcrom,
real prob_cruce ){
real sel_cruce[tam_pob];
real prob;
entero num_sel_cruce;
entero punto_cruce1, punto_cruce2;
entero pos_super, i;
TPoblacion pob_aux;
TIndividuo hijo1, hijo2;
para cada i desde 0 hasta tam_pob{
prob = alea(); // numero aleatorios entre 0 y 1
pos_sup = 0;
si(prob < prob_cruce){
sel_cruce[num_sel_cruce] = i;
num_sel_cruce ++;
}
}
si((num_sel mod 2) == 1) num_sel_cruce--;
punto_cruce1 = alea_ent(0, lcrom);
punto_cruce2 = alea_ent(0, lcrom);
para cada i desde 0 hasta num_sel_cruce avanzando 2{
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
47
cruce (pob[sel_cruce[i]], pob[sel_cruce[i + 1]], hijo1, hijo2,
lcrom, punto_cruce) ;
pob[sel_cruce[i]] = hijo1;
pob[sel_cruce[i+1]] = hijo2;
}
}
Funcion cruce(TIndividuo padre1, TIndividuo padre2, TIndividuo hijo1,
TIndividuo hijo2, entero lcrom, entero punto_cruce){
entero i ;
inicializar(hijo1.genes);
inicializar(hijo2.genes);
para cada i desde 0 hasta punto_cruce hacer{
si( i > punto_cruce1 y i < punto_cruce2){
hijo1.genes[i] = padre2.genes[i];
hijo2.genes[i] = padre1.genes[i];
}
caso contrario{
hijo1.genes[i] = padre1.genes[i];
hijo2.genes[i] = padre2.genes[i];
}
}
}
Algoritmo 5. Función Mutación
funcion mutacion(var TPoblacion pob, entero tam_pob,entero lcrom, real
prob_mut){
booleano mutado;
real prob;
entero i,j;
para cada i desde 0 hasta tam_pob{
mutado = falso;
para cada j desde 0 hasta lcrom hacer{
prob = alea();
si(prob < prob_mut){
pob[i].genes[j] = not(pob[i].genes[j] );
mutado = cierto;
}
}
si(mutado)
pob[i].adaptacion = adaptación(pob[i], lcrom);
}
}
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
48
3.7. PRUEBAS.
Las pruebas han sido realizadas sobre las siguientes características de la computadora, tanto
para evaluar al Modelo Matemático como para el Algoritmo Genético:
Procesador: AMD Turion(tm) 64 de 2.20GHz
Memoria RAM: 4 GB(2.69nUtilizable)
Sistema Operativo: Windows 7 Home Premium.
3.7.1. COLECCIÓN Y EVALUACIÓN DE DATOS.
Los datos con los que se ha evaluado a los programas han sido generados
aleatoriamente y deben cumplir con ciertas restricciones para ser considerados válidos.
Se han generado 20 instancias (días) por cada número de barcos, se procesaran todas
estas instancias en el Modelo y en el AG, se obtendrán promedios respectivamente, y
estos serán comparados.
A continuación se muestran uno de ellos, ver tabla 9.
Datos de Entrada: para 5 barcos y LM = 1000:
Tabla 9. Datos de entrada de 5 barcos para los programas.
Barcos a1 a2 H l
B1 191 215 201 169
B2 160 166 453 243
B3 21 66 152 133
B4 118 123 220 177
B5 91 110 339 38
Dónde:
a1: es el tiempo de posible llegada inicial.
a2: es el tiempo máximo de retraso.
h: es el tiempo de servicio (tiempo de carga o descarga de contenedores) o tiempo que
va a permanecer atracado antes de partir.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
49
l: es la longitud del barco.
HT: horizonte temporal, es el tiempo en que se desarrollara la planificación (Todos los
tiempos de atraque más su tiempo de servicio de cada barco tiene que estar dentro de
este tiempo).
HT = 215 + (201 + 453 + 152 + 220 + 339)
HT = 1580.
Salida de los Programas:
El resultado que muestra el Modelo Matemático y al AG son: el tiempo de atraque (m)
y la posición de atraque (p). También se muestra el buffer (espacio de tiempo que
puede tardar un barco).
Las Tablas 10 y 11 representan las planificaciones en forma numérica, mientras que las
Figuras 23 y 25 en forma gráfica. Y las figuras 22 y 23 muestran los resultados con más
datos hechas por los programas del Modelo Matemático y AG respectivamente. En
forma gráfica se puede apreciar mejor la planificación, los espacios y tiempo que utiliza
o desperdicia.
Para B = 0.5, Buffer = (a2 – a1) * B.
a) Modelo matemático:
Tabla 10. Resultado que muestra el Modelo Matemático.
Barcos a1 a2 Buffer H L m p
B1 191 215 12 201 169 191 168
B2 160 166 3 453 243 160 337
B3 21 66 22.5 152 133 21 580
B4 118 123 2.5 220 177 118 785
B5 91 110 9.5 339 38 91 962
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
50
Figura 22. Resultado Mostrado por OPL CPLEX.
Figura 23. Resultado en forma Gráfica del Modelo Matemático.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
51
b) AG:
Tabla 11. Resultado que muestra el AG.
Figura 24. Resultado mostrado por el AG.
En las Figuras 23 y 25 el espacio que se muestran en blanco, son los buffer, es decir es el
espacio de tiempo que un barco puede retrasarse y no afecta a los demás barcos, en este caso
para B = 0.5 significa que los barcos pueden demorarse la mitad de su retraso. Y los espacios
en color rojo representan el tiempo de servicio del barco. El eje X representa al Tiempo y el Y
al Espacio del muelle.
Barcos a1 a2 Buffer h L m p
B1 191 215 12 201 169 196 803
B2 160 166 3 453 243 160 439
B3 21 66 22.5 152 133 21 846
B4 118 123 2.5 220 177 118 12
B5 91 110 9.5 339 38 91 297
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
52
Figura 25. Resultado en forma Gráfica del AG.
3.7.2. RESULTADOS.
a) Resultados Obtenidos del Modelo Matemático.
Los datos que han sido tomados para evaluar el Modelo, solo son 8, para 5, 6, 7, 8,
9,10, 11 y 12 barcos debido a que la versión (académica) de IBM ILOG CEPLEX no
soporta más. Son dos los factores que se evalúan, el Tiempo de Ejecución (tiempo que
se demora el programa en resolver la planificación) y el Tiempo de Espera (este tiempo
es el Objetivo del Modelo Matemático), mientras menor sea este tiempo, la
planificación será más óptima.
Tiempo de Ejecución.
Tabla 12. Resultado de los tiempos de ejecución para cada número de barcos con sus diferentes
valores de B.
Barcos 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
5 0.05 0.05 0.06 0.11 0.09 0.05 0.09 0.05 0.09 0.08 0.13
6 0.12 0.09 0.27 0.14 0.48 0.16 0.10 0.10 0.11 0.12 0.10
7 0.12 0.15 0.12 0.29 0.10 0.19 0.21 0.18 0.11 0.17 0.18
8 0.71 0.69 0.62 0.68 0.60 0.65 0.71 0.64 0.81 0.81 0.70
9 2.16 2.42 2.42 3.61 2.67 3.11 3.08 4.06 3.75 3.61 4.41
10 10.54 13.24 18.32 14.90 18.14 13.34 12.21 17.07 16.43 14.94 21.26
11 281.11 346.18 313.65 313.65 313.65 313.65 313.65 313.65 313.65 313.65 313.65
12 1462.63 1462.63 1462.63 1462.63 1462.63 1462.63 1462.63 1462.63 1462.63 1462.63 1462.63
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
53
Objetivo: Tiempo de Espera.
Tabla 13. Resultado de los tiempos de espera (OBJETIVO) para cada número de barcos
y diferentes Valores de B.
Barcos 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
6 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
7 0.40 0.60 0.80 1.00 1.20 1.40 1.64 1.93 2.22 2.51 2.80
8 28.90 30.08 31.24 32.39 33.53 34.68 35.82 37.01 39.57 39.57 42.89
9 40.17 41.63 41.63 43.10 44.59 46.13 47.52 48.97 50.64 52.37 54.20
10 85.70 88.80 91.85 94.90 97.95 100.88 103.74 106.79 110.05 113.45 116.85
11 182.30 186.42 184.36 184.36 184.36 184.36 184.36 184.36 184.36 184.36 184.36
12 385.00 385.00 385.00 385.00 385.00 385.00 385.00 385.00 385.00 385.00 385.00
b) Resultados Obtenidos del AG.
Los datos que han sido tomados para evaluar al AG, son 12, para 5, 6, 7, 8, 9,10,
11, 12, 15, 20, 25 y 30 barcos. Los factores que se evalúan, el Tiempo de Ejecución
y el Tiempo de Espera y la adaptación Media de la población.
Tiempo de Ejecución:
Tabla 14. Resultados obtenidos para el Tiempo de Ejecución.
Barcos 0.00 0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
5 0.16 0.15 0.15 0.14 0.14 0.15 0.15 0.17 0.15 0.15 0.15
6 0.18 0.18 0.18 0.18 0.18 0.18 0.18 0.18 0.19 0.18 0.18
7 0.22 0.22 0.22 0.22 0.24 0.22 0.21 0.22 0.22 0.22 0.22
8 0.27 0.26 0.26 0.27 0.28 0.26 0.26 0.26 0.26 0.26 0.25
9 0.27 0.26 0.26 0.27 0.28 0.26 0.26 0.26 0.26 0.26 0.25
10 0.36 0.34 0.38 0.37 0.34 0.35 0.34 0.34 0.35 0.35 0.35
11 0.40 0.44 0.46 0.44 0.43 0.41 0.43 0.40 0.39 0.40 0.39
12 0.47 0.46 0.46 0.46 0.45 0.48 0.50 0.50 0.49 0.47 0.46
15 0.85 0.85 0.84 0.78 0.69 0.65 0.63 0.69 0.70 0.77 0.83
20 1.51 1.36 1.10 1.05 1.05 1.03 1.10 1.17 1.22 1.13 1.14
25 1.96 1.74 1.65 1.56 1.62 1.68 1.71 1.80 1.84 1.91 1.87
30 2.54 2.85 2.94 2.65 2.51 2.82 3.26 2.45 2.62 2.92 2.81
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
54
Objetivo: Tiempo de Espera.
Tabla 15. Resultados Obtenidos para el Tiempo de Espera.
Barcos 0.00 0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
5 18.90 47.45 28.91 38.09 45.08 44.28 48.24 55.21 50.51 55.55 44.55
6 99.85 97.82 127.12 130.02 91.02 104.88 108.60 130.05 140.10 153.70 120.80
7 192.20 198.87 224.26 211.06 243.39 214.60 238.25 256.46 231.31 232.99 253.10
8 437.50 501.45 456.70 464.42 509.53 482.15 476.37 463.84 551.58 539.92 521.30
9 437.50 501.45 456.70 464.42 509.53 482.15 476.37 463.84 551.58 539.92 521.30
10 771.40 807.15 812.19 868.57 868.74 848.00 916.71 852.56 854.81 914.38 973.65
11 1225.75 1208.79 1250.96 1196.70 1270.68 1318.73 1293.03 1335.14 1310.24 1342.08 1385.85
12 1619.55 1648.10 1721.61 1781.02 1732.17 1875.78 1783.72 1851.58 1781.42 1871.03 1870.20
15 2231.65 2399.71 2266.77 2354.01 2368.47 2313.00 2450.39 2509.17 2433.29 2543.36 2492.60
20 5598.90 5488.64 5769.90 5614.67 5889.64 6095.95 6217.14 6091.46 6112.34 6005.11 6478.05
25 9803.60 9954.01 9946.49 10081.69 10139.44 10368.05 10298.24 10425.38 10675.73 10895.48 11058.20
30 14962.80 14826.99 15241.38 15384.97 15397.85 15738.70 15802.36 15765.13 16096.10 16370.33 16627.05
Adaptación: la adaptación mide la calidad relativa de los individuos, mientras
mayor sea este valor significa que los Individuos son mejores y están más aptos
para sobrevivir. Por ello se mide la adaptación media de la población, para indicar
su evolución.
Tabla 16. Resultados Obtenidos para la Adaptación Media de la Población.
Barcos 0.00 0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
5 99.67 99.67 99.68 99.65 99.65 99.66 99.65 99.64 99.64 99.65 99.63
6 99.55 99.55 99.54 99.53 99.53 99.53 99.51 99.51 99.50 99.49 99.47
7 99.53 99.52 99.52 99.51 99.51 99.51 99.50 99.47 99.49 99.48 99.47
8 99.39 99.38 99.38 99.40 99.36 99.36 99.36 99.34 99.33 99.33 99.31
9 99.39 99.38 99.38 99.40 99.36 99.36 99.36 99.34 99.33 99.33 99.31
10 99.37 99.36 99.34 99.33 99.32 99.33 99.30 99.30 99.28 99.28 99.28
11 99.24 99.24 99.23 99.24 99.20 99.20 99.19 99.19 99.17 99.17 99.14
12 99.14 99.14 99.11 99.08 99.09 99.07 99.09 99.06 99.05 99.04 99.04
15 99.19 99.17 99.16 99.15 99.15 99.14 99.13 99.11 99.11 99.09 99.07
20 98.68 98.66 98.63 98.64 98.60 98.60 98.59 98.57 98.56 98.54 98.54
25 98.08 98.04 98.03 98.01 98.00 97.95 97.95 97.92 97.88 97.85 97.86
30 97.72 97.70 97.66 97.64 97.63 97.60 97.56 97.54 97.52 97.47 97.47
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
55
3.7.3. ANÁLISIS RESULTADOS.
a) Modelo Matemático
Tiempo de Ejecución, en la Figura26 y la Tabla 12, se muestran los tiempos
promedios de ejecución (eje Y, en segundos) para cada número de barcos y sus
diferentes Valores de B (eje X), se puede apreciar que para un número de barcos de
5 hasta 8 barcos, el modelo arroja valores menores que un segundo, es decir lo
resuelve en décimas, hasta en centésimas de segundo. Para la cantidad de 9 y 10
los tiempos son mayores a un segundo y en 11 y 12 los valores son mayores a un
minuto llegando casi hasta la media hora. Esto se debe a que el modelo analiza
todas las posibles soluciones y escoge el mejor.
Figura 26. Gráfica de la Tabla 12, Tiempo de Ejecución.
Tiempo de Espera, en la Figura27 y la Tabla 13, se muestran los tiempos promedios
de Espera (eje Y, en Unidades de Tiempo) para cada número de barcos y sus
diferentes Valores de B (eje X), estos valores dependen de la cantidad de barcos y
como están ordenados en el Muelle. Por eso aumenta, cuando crece el número de barcos
o se desperdicia espacio en el muelle. Lo que hace el Modelo Matemático es minimizar
este valor. Además se puede apreciar que este valor crece cuando el tiempo de retraso es
mayor, esto se debe a que mientras el crece, el tiempo de atraque de los otros barcos van
a tener que esperar más tiempo.
0.00
200.00
400.00
600.00
800.00
1000.00
1200.00
1400.00
1600.00
0 0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Barcos_5
Barcos_6
Barcos_7
Barcos_8
Barcos_9
Barcos_10
Barcos_11
Barcos_12
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
56
Figura 27. Gráfica de la Tabla 13, Tiempo de Espera.
b) AG:
Tiempo de Ejecución, en la Figura28 y la Tabla 14, se muestran los tiempos
promedios de ejecución (eje Y, en segundos ) para cada número de barcos y sus
diferentes Valores de B (eje X), se puede apreciar que para un número de barcos de
5 hasta 15 barcos, el modelo arroja valores menores que un segundo, es decir lo
resuelve en décimas, hasta en centésimas de segundo. Para la cantidad de 20 hasta
30 los tiempos son mayores a un segundo pero no superan los5 segundos.
Figura 28. Gráfica de la Tabla 14, Tiempo de Ejecución del AG.
0.00
0.50
1.00
1.50
2.00
2.50
3.00
3.50
0.0
0
0.1
0
0.2
0
0.3
0
0.4
0
0.5
0
0.6
0
0.7
0
0.8
0
0.9
0
1.0
0
5Barcos
6Barcos
7Barcos
8Barcos
9Barcos
10Barcos
11Barcos
12Barcos
15Barcos
20Barcos
25Barcos
0.00
50.00
100.00
150.00
200.00
250.00
300.00
350.00
400.00
450.00
0 0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Barcos_5
Barcos_6
Barcos_7
Barcos_8
Barcos_9
Barcos_10
Barcos_11
Barcos_12
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
57
Tiempo de Espera, en la Figura29 y la Tabla 15, se muestran los tiempos
promedios de Espera (eje Y, en Unidades de Tiempo) para cada número de barcos
y sus diferentes Valores de B (eje X), estos valores dependen de la cantidad de
barcos y como están ordenados en el Muelle. Por eso aumenta, cuando crece el
número de barcos o se desperdicia espacio en el muelle. Lo que hace el Algoritmo
genético es seleccionar al individuo que tienen mayor adaptación, este es la mejor
planificación, y toma su datos de atraque (m), para obtener el Tiempo de Espera.
Igualmente que en el modelo se puede apreciar que el tiempo de espera aumenta
cuando aumenta el B, es por el mismo motivo, ya explicado.
Figura 29. Gráfica de la Tabla 15, Tiempo de Espera del AG.
Adaptación:
La figura 30, muestra la adaptación media para las poblaciones luego de haber
pasado el proceso de evolución. Como se puede apreciar que mientras aumenta el
número de barcos la adaptación disminuye, esto se debe a que la suma de los
tiempos de espera aumenta. Cuando la adaptación está por debajo de los 99,
significa que la suma de los tiempos de espera supera al horizonte de tiempo.
Entonces mientras mayor sea este valor mejor es la adaptación de la población en
general, claro habrá individuos que tengan una adaptación mejor que la media, pero
habrá otros que estarán por debajo de este valor, lo importante es que la media sea
lo más grande posible. También podemos observar que los valores de la adaptación
0.00
2000.00
4000.00
6000.00
8000.00
10000.00
12000.00
14000.00
16000.00
18000.00
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
5Barcos
6Barcos
7Barcos
8Barcos
9Barcos
10Barcos
11Barcos
12Barcos
15Barcos
20Barcos
25Barcos
30Barcos
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
58
media disminuyen mientras aumente el valor de B, esto se debe a que los tiempos
de atraque son mayores cuando aumenta el retraso.
Figura 30. Gráfica de la Tabla 16, Adaptación Media de la Población evolucionada.
En General:
Tabla 17. Promedio general de los tiempos de
Ejecución del AG y el Modelo
Matemático.
96.00
96.50
97.00
97.50
98.00
98.50
99.00
99.50
100.00
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
5Barcos
6Barcos
7Barcos
8Barcos
9Barcos
10Barcos
11Barcos
12Barcos
15Barcos
20Barcos
25Barcos
30Barcos
num_barcos AG(s) Modelo(s)
5 0.15 0.08
6 0.18 0.16
7 0.22 0.17
8 0.26 0.69
9 0.26 3.21
10 0.35 15.49
11 0.42 313.65
12 0.47 1462.63
15 0.75 …
20 1.17 …
25 1.76 …
30 2.76 …
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
59
Tabla 18. Promedio General de los tiempos de
Espera del AG y del Modelo Matemático.
Figura 31. Gráfica de la Tabla 17. Tiempos de Ejecución.
num_barcos AG(s) Modelo(s)
5 43.34 0.00
6 118.54 0.00
7 226.95 1.50
8 491.34 35.06
9 491.34 46.45
10 862.56 101.00
11 1285.27 184.36
12 1776.02 385.00
15 2396.58 …
20 5941.98 …
25 10331.48 …
30 15655.79 …
0.00
200.00
400.00
600.00
800.00
1000.00
1200.00
1400.00
1600.00
5 6 7 8 9 10 11 12 15 20 25 30
AG
Modelo
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
60
Figura 32. Gráfica de la tabla 18. Tiempos de Espera.
Las figuras 31 y 32 muestran cómo se comportan los tiempos de ejecución y de espera
respectivamente, para diferentes números de barcos.
En la figura 31 y según la Tabla 17, se puede apreciar que para el Algoritmo Genético
sus tiempos de ejecución son menos de un segundo hasta los 15 barcos, y de 20 a 30 va
aumentando, pero no logran superar los 5 segundos. Mientras que para el Modelo
Matemático, hasta 8 barcos lo realiza antes del segundo, a partir de 9 pasa el segundo y
llega hasta tardarse valores cercanos a la 0.5 de hora. Solo se evaluó el modelo hasta
doce barcos debido a que la versión no soporta más. En cambio para el Algoritmo
Genético si se pudo evaluar hasta los 30 barcos dando resultados muy buenos.
En la figura 32 y según la Tabla 18, se puede apreciar que el modelos matemático
supera y por mucho al Algoritmo Genético, con respecto al tiempo de Espera. Esto se
debe a que el modelo evalúa todas las posibles soluciones y el algoritmo genético
trabaja con valores aleatorios.
0.00
2000.00
4000.00
6000.00
8000.00
10000.00
12000.00
14000.00
16000.00
18000.00
5 6 7 8 9 10 11 12 15 20 25 30
AG
Modelo
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
61
CAPITULO V. DISCUSIÓN
5.1 CONTRASTACIÓN CON ANTECEDENTES.
La estructura del cromosoma fue tomada de [10]; pero no se puede comparar
directamente pues el problema tratado no es el mismo, debido a que no considera los
retrasos de los barcos.
El antecedente directo respecto al modelo matemático se encuentra en [12], ya que
resuelve el mismo problema salvo que no considera los retrasos, de aquí fue tomado
el modelo matemático base, que luego fue modificado para adaptarlo a nuestro
problema. También realiza la comparación entre el modelo matemático y una
heurística, en este caso es Simulated Annealing, obteniendo muy buenos resultados
con dicha heurística.
5.2. DEMOSTRACIÓN DE HIPÓTESIS.
La hipótesis planteada es:
“El Algoritmo Genético obtiene buenas soluciones en tiempos razonables para el
problema dinámico y continuo de asignación de atraques con retrasos en la llegada
de los barcos”.
La hipótesis menciona que se obtienen buenas soluciones en tiempos razonables, estos
tiempos se refieren al Tiempo de Ejecución y al Tiempo de Espera. Por lo tanto tenemos
que hacer dos pruebas.
Para la contrastación de la hipótesis se ha utilizado la Prueba U-Mann Whitney por
lo siguiente:
Se desea evaluar dos grupos o muestras independientes.
Dichas muestras no necesitan una distribución específica.
Las variaciones de los valores son grandes.
La herramienta utilizada fue: SPSS
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
62
A. Prueba realizada a los tiempos de Ejecución (Tabla 19).
Ho (Hipótesis Nula): No hay diferencias en los tiempos de ejecución entre el AG
y el Modelo Matemático.
Datos:
Tabla 19. Tiempos de Ejecución.
Resultado:
Tabla 20. Resultado según la Prueba U – Mann Whitney para la Tabla 19.
El resultado mostrado es Sig.=0.328, lo que implica que es NO
SIGNIFICATIVO, como el valor de Sig es mayor a 0.05, entonces NO
PODEMOS RECHAZAR HO.
- Los Tiempos de Ejecución del AG y el MM son similares.
Interpretación del resultado:
La explicación a esto conclusión se debe a que en los grupos los valores son
parecidos, es decir, desde 5 hasta 8 barcos (50% de datos), la variación es en
décimas; luego, la diferencia aumenta; pero es a partir de 11 barcos donde la
diferencia es muy marcada, por lo tanto mientras aumenta el número de barcos
también aumentara la diferencia y podrá rechazarse Ho.
Barcos AG(s) Modelo(s)
5 0.15 0.08
6 0.18 0.16
7 0.22 0.17
8 0.26 0.69
9 0.26 3.21
10 0.35 15.49
11 0.42 313.65
12 0.47 1462.63
Nº Promedio Desviación estándar
AG(s) 16 112.3994 368.39983
Modelos(s) 16 1.5000 .51640
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
63
B. Prueba realizada a los tiempos de Espera (Tabla 20).
Ho (Hipótesis Nula): No hay diferencias en los Tiempos de Espera entre el AG y
el Modelo Matemático.
Datos:
Tabla 21. Tiempos de Espera.
Resultado:
Tabla 22. Resultado según U – Mann Whitney para la Tabla 21.
Nº Promedio Desviación estándar
AG(s) 16 378.0456 517.01386
Modelos(s) 16 1.5000 .51640
El resultado mostrado es Sig.=0.007, lo que implica que es ALTAMENTE
SIGNIFICATIVO, como el valor de Sig es menor que 0.05, SE RECHAZA
HO.
Interpretación del resultado:
La explicación a esta conclusión se debe a que en los grupos los datos tienen
una marcada diferencia, en este caso no conviene este resultado ya que estos
valores deben ser más cercanos.
Barcos AG(s) Modelo(s)
5 43.34 0.00
6 118.54 0.00
7 226.95 1.50
8 491.34 35.06
9 491.34 46.45
10 862.56 101.00
11 1285.27 184.36
12 1776.02 385.00
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
64
5.3. TRABAJOS FUTUROS.
Por lo que se muestra en el resultados de la Prueba A, y para hacer una mejor
comparación entre el AG y el MM debemos tener más datos, esto implica que
debemos implementar el MM en un Solver que permita el ingreso de mas
barcos.
Por lo que se muestra en los resultados de la Prueba B, debemos mejorar el
Algoritmo que genera la población inicial, hacer una mejor distribución del
espacio del muelle, ya que de eso depende que se obtengan mejores resultados
(Menor Tiempo de Espera).
Aunque este trabajo consiste en trabajar la imprecisión de la llegada (retrasos),
aún falta considerar cuando los barcos adelantan su tiempo de llegada.
Desarrollar un AG que permita solucionar el problema del BAP, con más
parámetros como por ejemplo el número de grúas que se asigna a los barcos.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
65
CONCLUSIONES
1. Se recolecto la información sobre el funcionamiento de los terminales marítimos
de contenedores, y sobre los diferentes variantes de BAPs. Por último sobre los
Algoritmos Genéticos, definición, como trabajan, sus diferentes operadores, sus
características y limitaciones. Toda esta información está plasmada en el marco
teórico.
2. Se analizó y modifico el modelo propuesto en [12], con la intensión de adaptarlo a
nuestro problema (ver sección 3.1.2.2).
3. Se diseñó el algoritmo genético para solucionar el problema del BAP dinámico y
continúo con retrasos en la llegada de los barcos.
4. Se implementó en OPL IBM ILOG CPLEX el Modelo Matemático y en el lenguaje
C el Algoritmo Genético, para dar solución al problema planteado.
5. Según la prueba de U – Mann Whitney para la comparación del Tiempo de
Ejecución, el valor de significancia es 0.328, su interpretación es que los Tiempos
de Ejecución son similares, este resultado se debe a la poca cantidad de datos con
los que se ha trabajado. Hasta 7 barcos el Modelo Matemático resuelve el problema
en menor tiempo, a partir de allí el AG lo hace en menos tiempo, el ejemplo claro
es que para 12 barcos el Modelo tarda alrededor de media hora; mientras que para
30 barcos el AG solo se tarda algunos segundos.
6. Según la prueba de U – Mann Whitney para la comparación del Tiempo de Espera,
el valor de significancia es 0.007, su interpretación es que los Tiempos de Ejecución
son muy diferentes, este resultado no es conveniente ya que la diferencia entre estos
valores debería ser la mínima (0), esto se debe a la aleatoriedad con la que se genera
la población inicial, y la falta de una distribución correcta del espacio del Muelle.
Por lo tanto, con respecto a la utilización del espacio del muelle y el Tiempo de
Espera de los barcos, el Modelo Matemático es mucho mejor que el AG.
7. Por lo tanto, como sucede en general con las heurísticas, estas encuentran buenas
soluciones en menor tiempo, pero pierden optimalidad.
8. La conclusión final es que, el AG resuelve el problema de Asignación Dinámico y
Continuo de atraques de barcos con retrasos en sus llegadas en menor tiempo, pero
sus soluciones no son tan buenas.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
66
REFERENCIAS BIBLIOGRAFICAS
[1] D. Consultants. The drewry container shipper insight–third quarter 2008.Drewry
Shipping Consultants: London. 83pp, 2008.
[2] L. Henesey. Overview of Transshipment Operations and Simulation. In MedTrade
conference, Malta, April, pages 6–7, 2006.
[3] Gkolias, M. D. (2007). The discrete and continuous berth allocation problem:
Models and algorithms. ProQuest.
[4] Theofanis, S., Boile, M., &Golias, M. M. (2009). Container terminal berth
planning.Transportation Research Record: Journal of the Transportation Research
Board, 2100(1), 22-28.
[5] KatjaBuhrkal, Sara Zuglian, Stefan Ropke, Jesper Larsen, Richar Lusby (2011).
Models for the Discrete Berth allocation Problem: a Computational Comparison,
ELSEIVER, pag. 461 – 463.
[6] Yongpei Guan y Raimond K. Cheung (2004). The Berth Allocation Problem:
Models and Solution Methods. OR SPECTRUM, pag.75-92.
[7] Anita Gudeli, MajaKrcum, ElenTwrdy (2010). Models and Methods for Operations
in Port Container Terminals, Promet- Trafic&Transportation, vol 22, pag. 43-51.
[8] Imai, A. Nishimura, E., Papadimitriou, S.,(2001). The dinamic berth allocation
problem for a container port. Transportation Research Part B 35 (4), 4pag. 401-
4017.
[9] Tong Shan (2012). Algorith genetic for dynamic berth allocation problem with
discrete layout.Atlantis Press.
[10] S. R. SeyedalizadehGanji, A. Babazadeh, N. Arabshahi (2010). Analysis of the
continuous berth allocation problem in container ports using a genetic algorithm.J
Mar Sci Techno1, pag. 408-416.
[11] B. Melian-Batista, J. Moreno-Vega,J. Galdeano. Una primera aproximación al
problema de asignación de atraques con tiempos de llegadas difusos.
[12] k. Kim, K. Moon (2003). Berth Scheduling by Simulated Annealing. Transportation
Research Part B: Methodological, 37(6): 541-560.
[13] Cordeau J., Laporte G., Legato P., Moccia L. (2015). Models and tabu search
heuristics for the berth allocation problema, TranspSci 39(4): 516-538.
[14] Kim KH, Moon KC (2003). Berth scheduling by simulated annealing, Transp Res
Part B 37: 541-560.
[15] C. Bierwirth and F. Meisel (2010). A survey of berth allocation and quay crane
scheduling problems in container terminals. European Journal of Operational
Research, 202:615–627.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS
67
[16] Araujo, Lourdes y Cervigon Carlos (2009). Algoritmos evolutivos: un enfoque
práctico, RA-MA, España.
[17] Britos V, Hossian A.,Garcia R. (2005), Mineria de Datos, NUEVA LIBRERÍA,
Argentina.
[18] Mitsuo Gen, Runwei Cheng (1997). Genetic Algorithms and Engenering Design,
EEUU.
[19] Zbigniew Michalewicz (1995), Genetic Algorithms + Data Structures = Evolution
Programs, SPRINGER.
[20] Cadenas F. Manuel, Verdegay G. José (1999). Modelos de Optimización con Datos
Imprecisos, Universidad de Murcia, España.
[21] Alberca T. José, Correa M. Alonso (2006). Optimización de la
categorización automática de documentos mediante Algoritmos Genéticos,
Tesis, Universidad Nacional de Trujillo.
Biblioteca Digital. Dirección de Sistemas de Informática y Comunicación - UNT
Esta obra ha sido publicada bajo la licencia Creative Commons Atribucion-No Comecial-CompartirIgual bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/
BIBL
IOTE
CA DE
CIENCIA
S FI
SICAS
Y M
ATEM
ATIC
AS