algoritmo genetico para el problema dinamico y continuo …

78
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/ BIBLIOTECA DE CIENCIAS FISICAS Y MATEMATICAS

Upload: others

Post on 06-Jul-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 2: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 3: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 4: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 5: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 6: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 7: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 8: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 9: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 10: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 11: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 12: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 13: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 14: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 15: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 16: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 17: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 18: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 19: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 20: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 21: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 22: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 23: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 24: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 25: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 26: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 27: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 28: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 29: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 30: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 31: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 32: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 33: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 34: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 35: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 36: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 37: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 38: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 39: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 40: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 41: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 42: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 43: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 44: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 45: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 46: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 47: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 48: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 49: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 50: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 51: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 52: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 53: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 54: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 55: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 56: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 57: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 58: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 59: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 60: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 61: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 62: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 63: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 64: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 65: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 66: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 67: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 68: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 69: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 70: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 71: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 72: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 73: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 74: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 75: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 76: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 77: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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

Page 78: ALGORITMO GENETICO PARA EL PROBLEMA DINAMICO Y CONTINUO …

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