METAHEURÍSTICAS PARAMETRIZADAS APLICADAS A LA … · Traducción a C++. 3. Modificación del...

26
METAHEURÍSTICAS PARAMETRIZADAS APLICADAS A LA OPTIMIZACIÓN DE LOS CRITERIOS DE PRODUCCIÓN DE AGUAS SUBTERRÁNEAS. Autor: José Matías Cutillas Lozano PROYECTO DE TESIS DE MASTER MNTI Tutor: Domingo Giménez Cánovas

Transcript of METAHEURÍSTICAS PARAMETRIZADAS APLICADAS A LA … · Traducción a C++. 3. Modificación del...

Page 1: METAHEURÍSTICAS PARAMETRIZADAS APLICADAS A LA … · Traducción a C++. 3. Modificación del código para adaptarlo al esquema parametrizado de metaheurísticas. 4. Tuneado del algoritmo

METAHEURÍSTICAS PARAMETRIZADAS APLICADAS A LA OPTIMIZACIÓN DE LOS CRITERIOS DE PRODUCCIÓN DE AGUAS SUBTERRÁNEAS.

Autor: José Matías Cutillas Lozano

PROYECTO DE TESIS DE MASTERMNTI

Tutor: Domingo Giménez Cánovas

Page 2: METAHEURÍSTICAS PARAMETRIZADAS APLICADAS A LA … · Traducción a C++. 3. Modificación del código para adaptarlo al esquema parametrizado de metaheurísticas. 4. Tuneado del algoritmo

Índice general de contenidos.

Objetivos. Contexto del problema. Planteamiento general del problema. Modelo Hidráulico. Determinación de Funciones Objetivo. Determinación de Restricciones. Modelo Matemático. Métodos de Resolución. Algoritmos Genéticos. Solución adoptada. Diagrama de flujo del algoritmo estudiado. Generalización y mejora de la metaheurística. Paralelismo

Page 3: METAHEURÍSTICAS PARAMETRIZADAS APLICADAS A LA … · Traducción a C++. 3. Modificación del código para adaptarlo al esquema parametrizado de metaheurísticas. 4. Tuneado del algoritmo

Objetivos. El objetivo principal es la mejora de la herramienta de gestión

automatizada para la explotación óptima de los recursos propios de aguas subterráneas mediante la aplicación de un esquema parametrizado de memoria compartida a la metaheurística del problema. Desarrollo:

1. Estudio previo del problema de minimización de costes.- Clasificación de las posibles variables y parámetros conocidos.- Determinación de las prioridades y los factores de ponderación de cada uno de estos condicionantes.- Estudio del modelo matemático de simulación y de su implementación en MATLAB.

2. Adaptación del lenguaje de programación empleado. Traducción a C++.3. Modificación del código para adaptarlo al esquema parametrizado de

metaheurísticas.4. Tuneado del algoritmo genético propuesto para encontrar una buena metaheurística

para el problema.5. Analizar la reducción en el tiempo de ejecución con el uso del paralelismo.6. Depuración y Calibración de la herramienta.

Page 4: METAHEURÍSTICAS PARAMETRIZADAS APLICADAS A LA … · Traducción a C++. 3. Modificación del código para adaptarlo al esquema parametrizado de metaheurísticas. 4. Tuneado del algoritmo

Contexto del problema.

Situación y descripción de los pozos en explotación:

- 16 pozos - 5 Unidades

Hidrogeológicas.

U.H. situadas en las comarcas del Alto y Medio Vinalopó, lo que confiere unas garantías de producción de agua extraordinarias dada la dispersión y cuantía del origen del agua.

Page 5: METAHEURÍSTICAS PARAMETRIZADAS APLICADAS A LA … · Traducción a C++. 3. Modificación del código para adaptarlo al esquema parametrizado de metaheurísticas. 4. Tuneado del algoritmo

Planteamiento general de problema.

Problema de optimización problema minimización en los costes de producción de agua subterránea.

Factores condicionantes:- Mantenimiento de la oferta. Satisfacción de la demanda.- Cumplimiento de calidad química de las aguas en función de la conductividad.- Cumplimiento de los volúmenes máximos de explotación anuales de cada pozo.- Consideraciones derivadas del comportamiento hidráulico de los pozos explotados.

Problema de optimización uniobjetivo sujeto a una serie de restricciones

Page 6: METAHEURÍSTICAS PARAMETRIZADAS APLICADAS A LA … · Traducción a C++. 3. Modificación del código para adaptarlo al esquema parametrizado de metaheurísticas. 4. Tuneado del algoritmo

Modelo Hidráulico.

SEDIMENTO

TUBERÍA CIEGA

BOMBA

TUBERÍA CIEGA

FILTRO

ZONA DE POZOS EN EXPLOTACIÓN

POZO TIPO

TUBERÍA DE ADUCCIÓN

DEPÓSITO DE ALMACENAMIENTOCon capacidad suficiente para absorver variacionespunta de caudal de entrada.

• 5 Unidades Hidrogeológicas.• 16 pozos (ampliable).• Caudal mínimo a mantener en

tubería de aducción (evita problemas hidráulicos).

• Depósito de almacenamiento que regula los aportes de las puntas de explotación y consumos máximos (supuesto con capacidad suficiente).

Page 7: METAHEURÍSTICAS PARAMETRIZADAS APLICADAS A LA … · Traducción a C++. 3. Modificación del código para adaptarlo al esquema parametrizado de metaheurísticas. 4. Tuneado del algoritmo

Determinación de Funciones Objetivo.

FUNCIÓN OBJETIVO (F1): COSTE DE ENERGÍA ELÉCTRICA.

Ce = Coste total de la energía eléctrica consumida por la combinación de bombas seleccionada al final del intervalo diario.

Ti = Tarifa energética en el instante i. Pij = Potencia eléctrica consumida por la bomba j en el intervalo i (1h.) Xij = Variable dicotómica de valor 1 para bomba encendida y 0 para

bomba apagada.

∑∑= =

24

0

50

1

**i j

ijiji xPTCe =

Page 8: METAHEURÍSTICAS PARAMETRIZADAS APLICADAS A LA … · Traducción a C++. 3. Modificación del código para adaptarlo al esquema parametrizado de metaheurísticas. 4. Tuneado del algoritmo

Determinación de Restricciones.

RESTRICCIONES:

1) Mantenimiento de la oferta. Satisfacción de la demanda.

2) Cumplimiento de los volúmenes máximos de explotación anuales de cada pozo.

050

1

365

1

≥∑∑==

kjconcjk

V

∑ ∑ ∑∑∑∑= = = ===

=++8

0

12

8

24

12

50

1

50

1

50

1

***i i i

dTijijj

ijijj

ijijj

QxQxQxQ

∑∑= =

− −=24

0

50

1,1 *

iijij

jjkconckjconc xVVV

Page 9: METAHEURÍSTICAS PARAMETRIZADAS APLICADAS A LA … · Traducción a C++. 3. Modificación del código para adaptarlo al esquema parametrizado de metaheurísticas. 4. Tuneado del algoritmo

Determinación de Restricciones. RESTRICCIONES:

3) Cumplimiento de profundidades máximas de niveles dinámicos.

Control diario de la profundidad del nivel dinámico de cada pozo.

Prof. N.D. = Prof. Máx. N.D. Pozo fuera servicio hasta recuperación

de niveles.

4) Cumplimiento de calidad química de las aguas.

.

24

0

50

1

* lími j

ijij x σσ ≤∑∑= = ∑∑

∑∑

= =

= == 24

0

50

1

24

0

50

1*'

i jij

i jijij

ij

Q

Qσσcon

Page 10: METAHEURÍSTICAS PARAMETRIZADAS APLICADAS A LA … · Traducción a C++. 3. Modificación del código para adaptarlo al esquema parametrizado de metaheurísticas. 4. Tuneado del algoritmo

Modelo Matemático.

[ ] )(. == xfyMínDonde:f(x) = Función coste de energía eléctrica (Ce).

Sujeto a:

∑ ∑ ∑∑∑∑= = = ===

=++8

0

12

8

24

12

50

1

50

1

50

1

***)i i i

dTijijj

ijijj

ijijj

QxQxQxQa 0)50

1

365

1

≥∑∑==

kjconcjk

Vb

=

niveles deón Recuperaci N.D. Máx. Prof. ~ N.D. Prof.

)c .

24

0

50

1

*) lími j

ijij xd σσ ≤∑∑= =

∑∑= =

24

0

50

1

**i j

ijiji xPT

Page 11: METAHEURÍSTICAS PARAMETRIZADAS APLICADAS A LA … · Traducción a C++. 3. Modificación del código para adaptarlo al esquema parametrizado de metaheurísticas. 4. Tuneado del algoritmo

1. Optimización Clásica.i. Introducción, historia y fundamentos matemáticos básicos.ii. Optimización sin restricciones.

1. Métodos univariantes. a. Bisección.b. Newton.

iii. Optimización con restricciones.1. Programación lineal. Método Simplex.2. Programación no lineal. Funciones Penalti y Barrera.

2. Técnicas de Optimización Avanzadas.i. Simulación y templado.ii. Algoritmos genéticos.iii. Algoritmos basados en colonias de hormigas.iiii. Otras heurísticas. Búsqueda tabú.

Métodos de Resolución.

2. Métodos multivariantes.a. Sin derivación.

a1. Hooke y Jeeves.b. Con derivación.

b1. Newton.c. Métodos quasi-Newton y Gradiente Conjugado.

1) Los A.G. trabajan con codificaciones de los puntos del espacio de búsqueda en lugar de los puntos propiamente dichos.2) Los A.G. realizan la búsqueda a partir de una población de puntos en lugar de un solo punto.3) Los A.G. no utilizan derivadas ni otras propiedades de la función objetivo, sino únicamente la propia función objetivo.4) Los A.G. se rigen mediante reglas de transición probabilísticas, no determinísticas.5) Los A.G. requieren que el conjunto de puntos del espacio de búsqueda estén codificados mediante cadenas finitas sobre un alfabeto finito.

Page 12: METAHEURÍSTICAS PARAMETRIZADAS APLICADAS A LA … · Traducción a C++. 3. Modificación del código para adaptarlo al esquema parametrizado de metaheurísticas. 4. Tuneado del algoritmo

Diagrama de flujo del algoritmo estudiado.

Concentración en mínimo numero de horas.

Imposición de pozos fuera de servicio.

Pob. Inicial: 20 individuos de 60 alelos.

Factibilizar población.

¿Niveles agotados?.

Evaluación de función fitness.

Aplicación de operadores genéticos (selección, cruce mutación).

Obtención población “hija”.

Hasta llegar a la generación marcada (1000 – 5000 ite.).

Inicio (t)

valle

Inicializar aleatoriamente la población P. gen = 0

Evaluar función de adaptación de los individuos de la población P

¿Pozos fuera de servicio? Introducir vector de pozos fuera de servicio

Factibilizar la población P

¿Niveles dinámicos agotados?

¿En proceso de recuperación?

Pozos fuera de servicio

Selección de individuos de acuerdo al fitness

Mutación

Cruce

Factibilizar población

Evaluar función de adaptación de los individuos de la población P

Selección de individuos de acuerdo al fitness

Mutación

Cruce

Factibilizar poblaciónPozos fuera de servicio

Factibilizar población

Obtención población P’ (descendiente de P)

¿gen < gen. máx? P’ = Pgen = gen+1 FIN

NO

NO

NO

SÍ NO

Page 13: METAHEURÍSTICAS PARAMETRIZADAS APLICADAS A LA … · Traducción a C++. 3. Modificación del código para adaptarlo al esquema parametrizado de metaheurísticas. 4. Tuneado del algoritmo

Concentración en mínimo numero de horas.

Imposición de pozos fuera de servicio.

Pob. Inicial: 20 individuos de 60 alelos.

Factibilizar población.

¿Niveles agotados?.

Evaluación de función fitness.

Aplicación de operadores genéticos (selección, cruce mutación).

Obtención población “hija”.

Hasta llegar a la generación marcada.

Inicio (t)

valle

Inicializar aleatoriamente la población P. gen = 0

Evaluar función de adaptación de los individuos de la población P

¿Pozos fuera de servicio? Introducir vector de pozos fuera de servicio

Factibilizar la población P

¿Niveles dinámicos agotados?

¿En proceso de recuperación?

Pozos fuera de servicio

Selección de individuos de acuerdo al fitness

Mutación

Cruce

Factibilizar población

Evaluar función de adaptación de los individuos de la población P

Selección de individuos de acuerdo al fitness

Mutación

Cruce

Factibilizar poblaciónPozos fuera de servicio

Factibilizar población

Obtención población P’ (descendiente de P)

¿gen < gen. máx? P’ = Pgen = gen+1 FIN

NO

NO

NO

SÍ NO

Diagrama de flujo del algoritmo estudiado.

Page 14: METAHEURÍSTICAS PARAMETRIZADAS APLICADAS A LA … · Traducción a C++. 3. Modificación del código para adaptarlo al esquema parametrizado de metaheurísticas. 4. Tuneado del algoritmo

Concentración en mínimo numero de horas.

Imposición de pozos fuera de servicio.

Pob. Inicial: 20 individuos de 60 alelos.

Factibilizar población.

¿Niveles agotados?.

Evaluación de función fitness.

Aplicación de operadores genéticos (selección, cruce mutación).

Obtención población “hija”.

Hasta llegar a la generación marcada.

Inicio (t)

valle

Inicializar aleatoriamente la población P. gen = 0

Evaluar función de adaptación de los individuos de la población P

¿Pozos fuera de servicio? Introducir vector de pozos fuera de servicio

Factibilizar la población P

¿Niveles dinámicos agotados?

¿En proceso de recuperación?

Pozos fuera de servicio

Selección de individuos de acuerdo al fitness

Mutación

Cruce

Factibilizar población

Evaluar función de adaptación de los individuos de la población P

Selección de individuos de acuerdo al fitness

Mutación

Cruce

Factibilizar poblaciónPozos fuera de servicio

Factibilizar población

Obtención población P’ (descendiente de P)

¿gen < gen. máx? P’ = Pgen = gen+1 FIN

NO

NO

NO

SÍ NO

Diagrama de flujo del algoritmo estudiado.

Page 15: METAHEURÍSTICAS PARAMETRIZADAS APLICADAS A LA … · Traducción a C++. 3. Modificación del código para adaptarlo al esquema parametrizado de metaheurísticas. 4. Tuneado del algoritmo

Concentración en mínimo numero de horas.

Imposición de pozos fuera de servicio.

Pob. Inicial: 20 individuos de 60 alelos.

Factibilizar población.

¿Niveles agotados?.

Evaluación de función fitness.

Aplicación de operadores genéticos (selección, cruce mutación).

Obtención población “hija”.

Hasta llegar a la generación marcada.

Inicio (t)

valle

Inicializar aleatoriamente la población P. gen = 0

Evaluar función de adaptación de los individuos de la población P

¿Pozos fuera de servicio? Introducir vector de pozos fuera de servicio

Factibilizar la población P

¿Niveles dinámicos agotados?

¿En proceso de recuperación?

Pozos fuera de servicio

Selección de individuos de acuerdo al fitness

Mutación

Cruce

Factibilizar población

Evaluar función de adaptación de los individuos de la población P

Selección de individuos de acuerdo al fitness

Mutación

Cruce

Factibilizar poblaciónPozos fuera de servicio

Factibilizar población

Obtención población P’ (descendiente de P)

¿gen < gen. máx? P’ = Pgen = gen+1 FIN

NO

NO

NO

SÍ NO

Diagrama de flujo del algoritmo estudiado.

Page 16: METAHEURÍSTICAS PARAMETRIZADAS APLICADAS A LA … · Traducción a C++. 3. Modificación del código para adaptarlo al esquema parametrizado de metaheurísticas. 4. Tuneado del algoritmo

Concentración en mínimo numero de horas.

Imposición de pozos fuera de servicio.

Pob. Inicial: 20 individuos de 60 alelos.

Factibilizar población.

¿Niveles agotados?.

Evaluación de función fitness.

Aplicación de operadores genéticos (selección, cruce mutación).

Obtención población “hija”.

Hasta llegar a la generación marcada.

Inicio (t)

valle

Inicializar aleatoriamente la población P. gen = 0

Evaluar función de adaptación de los individuos de la población P

¿Pozos fuera de servicio? Introducir vector de pozos fuera de servicio

Factibilizar la población P

¿Niveles dinámicos agotados?

¿En proceso de recuperación?

Pozos fuera de servicio

Selección de individuos de acuerdo al fitness

Mutación

Cruce

Factibilizar población

Evaluar función de adaptación de los individuos de la población P

Selección de individuos de acuerdo al fitness

Mutación

Cruce

Factibilizar poblaciónPozos fuera de servicio

Factibilizar población

Obtención población P’ (descendiente de P)

¿gen < gen. máx? P’ = Pgen = gen+1 FIN

NO

NO

NO

SÍ NO

Diagrama de flujo del algoritmo estudiado.

Page 17: METAHEURÍSTICAS PARAMETRIZADAS APLICADAS A LA … · Traducción a C++. 3. Modificación del código para adaptarlo al esquema parametrizado de metaheurísticas. 4. Tuneado del algoritmo

Concentración en mínimo numero de horas.

Imposición de pozos fuera de servicio.

Pob. Inicial: 20 individuos de 60 alelos.

Factibilizar población.

¿Niveles agotados?.

Evaluación de función fitness.

Aplicación de operadores genéticos (selección, cruce mutación).

Obtención población “hija”.

Hasta llegar a la generación marcada.

Inicio (t)

valle

Inicializar aleatoriamente la población P. gen = 0

Evaluar función de adaptación de los individuos de la población P

¿Pozos fuera de servicio? Introducir vector de pozos fuera de servicio

Factibilizar la población P

¿Niveles dinámicos agotados?

¿En proceso de recuperación?

Pozos fuera de servicio

Selección de individuos de acuerdo al fitness

Mutación

Cruce

Factibilizar población

Evaluar función de adaptación de los individuos de la población P

Selección de individuos de acuerdo al fitness

Mutación

Cruce

Factibilizar poblaciónPozos fuera de servicio

Factibilizar población

Obtención población P’ (descendiente de P)

¿gen < gen. máx? P’ = Pgen = gen+1 FIN

NO

NO

NO

SÍ NO

Diagrama de flujo del algoritmo estudiado.

Page 18: METAHEURÍSTICAS PARAMETRIZADAS APLICADAS A LA … · Traducción a C++. 3. Modificación del código para adaptarlo al esquema parametrizado de metaheurísticas. 4. Tuneado del algoritmo

Concentración en mínimo numero de horas.

Imposición de pozos fuera de servicio.

Pob. Inicial: 20 individuos de 60 alelos.

Factibilizar población.

¿Niveles agotados?.

Evaluación de función fitness.

Aplicación de operadores genéticos (selección, cruce mutación).

Obtención población “hija”.

Hasta llegar a la generación marcada.

Inicio (t)

valle

Inicializar aleatoriamente la población P. gen = 0

Evaluar función de adaptación de los individuos de la población P

¿Pozos fuera de servicio? Introducir vector de pozos fuera de servicio

Factibilizar la población P

¿Niveles dinámicos agotados?

¿En proceso de recuperación?

Pozos fuera de servicio

Selección de individuos de acuerdo al fitness

Mutación

Cruce

Factibilizar población

Evaluar función de adaptación de los individuos de la población P

Selección de individuos de acuerdo al fitness

Mutación

Cruce

Factibilizar poblaciónPozos fuera de servicio

Factibilizar población

Obtención población P’ (descendiente de P)

¿gen < gen. máx? P’ = Pgen = gen+1 FIN

NO

NO

NO

SÍ NO

Diagrama de flujo del algoritmo estudiado.

Page 19: METAHEURÍSTICAS PARAMETRIZADAS APLICADAS A LA … · Traducción a C++. 3. Modificación del código para adaptarlo al esquema parametrizado de metaheurísticas. 4. Tuneado del algoritmo

Concentración en mínimo numero de horas.

Imposición de pozos fuera de servicio.

Pob. Inicial: 20 individuos de 60 alelos.

Factibilizar población.

¿Niveles agotados?.

Evaluación de función fitness.

Aplicación de operadores genéticos (selección, cruce mutación).

Obtención población “hija”.

Hasta llegar a la generación marcada.

Inicio (t)

valle

Inicializar aleatoriamente la población P. gen = 0

Evaluar función de adaptación de los individuos de la población P

¿Pozos fuera de servicio? Introducir vector de pozos fuera de servicio

Factibilizar la población P

¿Niveles dinámicos agotados?

¿En proceso de recuperación?

Pozos fuera de servicio

Selección de individuos de acuerdo al fitness

Mutación

Cruce

Factibilizar población

Evaluar función de adaptación de los individuos de la población P

Selección de individuos de acuerdo al fitness

Mutación

Cruce

Factibilizar poblaciónPozos fuera de servicio

Factibilizar población

Obtención población P’ (descendiente de P)

¿gen < gen. máx? P’ = Pgen = gen+1 FIN

NO

NO

NO

SÍ NO

Diagrama de flujo del algoritmo estudiado.

Page 20: METAHEURÍSTICAS PARAMETRIZADAS APLICADAS A LA … · Traducción a C++. 3. Modificación del código para adaptarlo al esquema parametrizado de metaheurísticas. 4. Tuneado del algoritmo

Concentración en mínimo numero de horas.

Imposición de pozos fuera de servicio.

Pob. Inicial: 20 individuos de 60 alelos.

Factibilizar población.

¿Niveles agotados?.

Evaluación de función fitness.

Aplicación de operadores genéticos (selección, cruce mutación).

Obtención población “hija”.

Hasta llegar a la generación marcada.

Inicio (t)

valle

Inicializar aleatoriamente la población P. gen = 0

Evaluar función de adaptación de los individuos de la población P

¿Pozos fuera de servicio? Introducir vector de pozos fuera de servicio

Factibilizar la población P

¿Niveles dinámicos agotados?

¿En proceso de recuperación?

Pozos fuera de servicio

Selección de individuos de acuerdo al fitness

Mutación

Cruce

Factibilizar población

Evaluar función de adaptación de los individuos de la población P

Selección de individuos de acuerdo al fitness

Mutación

Cruce

Factibilizar poblaciónPozos fuera de servicio

Factibilizar población

Obtención población P’ (descendiente de P)

¿gen < gen. máx? P’ = Pgen = gen+1 FIN

NO

NO

NO

SÍ NO

Diagrama de flujo del algoritmo estudiado.

Page 21: METAHEURÍSTICAS PARAMETRIZADAS APLICADAS A LA … · Traducción a C++. 3. Modificación del código para adaptarlo al esquema parametrizado de metaheurísticas. 4. Tuneado del algoritmo

Generalización y mejora de la metaheurística. Pasos preliminares.

Puesto que el algoritmo original se encuentra implementado en el lenguaje de programación MATLAB, llevaremos a cabo una serie de pasos previos al estudio generalizado de la metaheurística:

1. Estudio del esquema general del algoritmo original.

2. Identificación de las estructuras de datos y variables del algoritmo.

3. Identificación de las funciones y procedimientos implementados en MATLAB originales.

4. Adaptación de los mismos a C++. Traducción del código.

5. Estudio preliminar de resultados en ambos lenguajes. Comparación de salidas de programa.

6. Si los resultados son similares, nos planteamos la generalización de la metaheurística.

Page 22: METAHEURÍSTICAS PARAMETRIZADAS APLICADAS A LA … · Traducción a C++. 3. Modificación del código para adaptarlo al esquema parametrizado de metaheurísticas. 4. Tuneado del algoritmo

Generalización y mejora de la metaheurística

Como hemos dicho, el objetivo principal es la mejora de la herramienta de gestión mediante la aplicación de un esquema parametrizado de memoria compartida a la metaheurística del problema.

ESQUEMA GENERAL PARAMETRIZADO

Donde fijaremos los parámetros adecuados en cada función que mejor se ajusten a nuestro problema concreto.

Page 23: METAHEURÍSTICAS PARAMETRIZADAS APLICADAS A LA … · Traducción a C++. 3. Modificación del código para adaptarlo al esquema parametrizado de metaheurísticas. 4. Tuneado del algoritmo

Generalización y mejora de la metaheurística

El esquema anterior se incluye dentro del proceso de búsqueda y tuneado de la metaheurística siguiente:

• A partir del esquema general y de la elección de una serie de valores para los parámetros de cada función:Haremos el tuneado de nuestro algoritmo genético inicial.Realizaremos una serie de análisis experimentales y estadísticos de las posibles soluciones.Que nos conducirán a seleccionar la mejor metaheurística aplicable a nuestro problema de optimización de recursos.

Page 24: METAHEURÍSTICAS PARAMETRIZADAS APLICADAS A LA … · Traducción a C++. 3. Modificación del código para adaptarlo al esquema parametrizado de metaheurísticas. 4. Tuneado del algoritmo

Paralelización de la metaheurísticaAdicionalmente, vamos a considerar la implementación del algoritmo de optimización paralelo a partir del correspondiente secuencial. Usaremos para ello el paradigma de programación paralela OpenMP.El esquema paralelo para cada función del algoritmo es el siguiente:

donde se distinguen dos niveles de paralelismo:- El nivel 1, incluido en las funciones primarias del algoritmo: inicialización, selección,

combinación, mejora, inclusión. El numero de threads en este nivel depende de los parámetros de la metaheurística. - El nivel 2, incluido en las funciones secundarias o de intensificación complementarias a las del

primer nivel. En este caso, el numero de threads depende de, además de los parámetros, del numero de threads del nivel 1.

Page 25: METAHEURÍSTICAS PARAMETRIZADAS APLICADAS A LA … · Traducción a C++. 3. Modificación del código para adaptarlo al esquema parametrizado de metaheurísticas. 4. Tuneado del algoritmo

Resumen.

El desarrollo del trabajo está dividido en las siguientes etapas:

1. Estudio previo del problema de minimización de costes.2. Adaptación del lenguaje de programación empleado. Traducción a

C++.3. Modificación del código para adaptarlo al esquema parametrizado de

metaheurísticas.4. Tuneado del algoritmo genético propuesto para encontrar una buena

metaheurística para el problema.5. Analizar la reducción en el tiempo de ejecución con el uso del

paralelismo.6. Depuración y Calibración de la herramienta.

Page 26: METAHEURÍSTICAS PARAMETRIZADAS APLICADAS A LA … · Traducción a C++. 3. Modificación del código para adaptarlo al esquema parametrizado de metaheurísticas. 4. Tuneado del algoritmo

Fin de la Presentación

MUCHAS GRACIAS

POR SU ATENCIÓN