Estudio preliminar del rendimiento de familias de algoritmos ...Descubrimiento de arquitecturas...

15
Estudio preliminar del rendimiento de familias de algoritmos multiobjetivo en diseño arquitectónico Aurora Ramírez , José Raúl Romero, Sebastián Ventura Dpto. de Informática y Análisis Numérico. Universidad de Córdoba. Mérida, 04-06 de febrero de 2015

Transcript of Estudio preliminar del rendimiento de familias de algoritmos ...Descubrimiento de arquitecturas...

Page 1: Estudio preliminar del rendimiento de familias de algoritmos ...Descubrimiento de arquitecturas software Estudio de MOEAs en diseño arquitectónico Algoritmos multiobjetivo X Congreso

Estudio preliminar del rendimiento de

familias de algoritmos multiobjetivo en

diseño arquitectónico

Aurora Ramírez, José Raúl Romero, Sebastián Ventura

Dpto. de Informática y Análisis Numérico. Universidad de Córdoba.

Mérida, 04-06 de febrero de 2015

Page 2: Estudio preliminar del rendimiento de familias de algoritmos ...Descubrimiento de arquitecturas software Estudio de MOEAs en diseño arquitectónico Algoritmos multiobjetivo X Congreso

Índice de contenido

1. Introducción

2. Algoritmos

multiobjetivo

3. Descripción del

problema

4. Estudio

experimental

5. Conclusiones

[1/13]

Page 3: Estudio preliminar del rendimiento de familias de algoritmos ...Descubrimiento de arquitecturas software Estudio de MOEAs en diseño arquitectónico Algoritmos multiobjetivo X Congreso

Introducción Optimización multiobjetivo para procesos

de toma de decisiones

Algoritmos evolutivos multiobjetivo (MOEAs)

Habitualmente manejan 2 objetivos

X Congreso Español de Metaheurísticas, Algoritmos Evolutivos y Bioinspirados (MAEB’15) [2/13]

Ingeniería del Software basada en búsqueda (SBSE)

Múltiples conceptos asociados a

criterios de calidad del software

Especial dificultad en las fases de

análisis y diseño

Técnicas

de

búsqueda

Ingeniería

del

Software

Ingeniería

del

Software

basada en

búsqueda

Page 4: Estudio preliminar del rendimiento de familias de algoritmos ...Descubrimiento de arquitecturas software Estudio de MOEAs en diseño arquitectónico Algoritmos multiobjetivo X Congreso

Introducción

X Congreso Español de Metaheurísticas, Algoritmos Evolutivos y Bioinspirados (MAEB’15) [3/13]

Resolución de problemas de muchos objetivos

Técnicas clásicas de dominancia y diversidad pierden su eficacia

Nuevos enfoques: descomposición, indicadores, puntos de referencia…

Principalmente testados en problemas de optimización real

Algoritmos evolutivos + SBSE + muchos objetivos

Aplicación de algoritmos clásicos o variantes

Pocos trabajos con más de 3-4 objetivos

Comparativa de 4 familias

Hasta 6 objetivos

Descubrimiento de arquitecturas software

Estudio de MOEAs en diseño arquitectónico

Page 5: Estudio preliminar del rendimiento de familias de algoritmos ...Descubrimiento de arquitecturas software Estudio de MOEAs en diseño arquitectónico Algoritmos multiobjetivo X Congreso

Algoritmos multiobjetivo

X Congreso Español de Metaheurísticas, Algoritmos Evolutivos y Bioinspirados (MAEB’15) [4/13]

Criterio clásico de dominancia

Técnica complementaria para

preservar la diversidad

NSGA-II

Descomposición del problema de

optimización

Asociación entre individuos

y subproblemas

MOEA/D

Partición del espacio de búsqueda

Modificación del criterio de

dominancia

ε-MOEA

Guiado por un indicador de calidad

(hypervolume)

Estimación del valor

atribuible al individuo

HypE

Page 6: Estudio preliminar del rendimiento de familias de algoritmos ...Descubrimiento de arquitecturas software Estudio de MOEAs en diseño arquitectónico Algoritmos multiobjetivo X Congreso

Descripción del problema

X Congreso Español de Metaheurísticas, Algoritmos Evolutivos y Bioinspirados (MAEB’15) [5/13]

Descubrimiento de arquitecturas software basadas en componentes:

Componente: grupo de clases relacionadas

Interfaz: relaciones entre clases alojadas en distintos componentes

Conector: enlace entre una interfaz requerida y una interfaz proveída

Guiado por requisitos no funcionales

Problema altamente combinatorio

No existe una estructura predefinida

Variedad de estilos arquitectónicos

Page 7: Estudio preliminar del rendimiento de familias de algoritmos ...Descubrimiento de arquitecturas software Estudio de MOEAs en diseño arquitectónico Algoritmos multiobjetivo X Congreso

Descripción del problema

X Congreso Español de Metaheurísticas, Algoritmos Evolutivos y Bioinspirados (MAEB’15) [6/13]

Mutación

Añadir un componente

Eliminar un componente

Unir dos componentes

Dividir un componente

Mover una clase

Inicialización y restricciones

1. Distribución aleatoria de clases Componentes no vacíos, clases no replicadas

2. Asignación de interfaces y conectores Componentes aislados o mutuamente dependientes

Genotipo y fenotipo

Page 8: Estudio preliminar del rendimiento de familias de algoritmos ...Descubrimiento de arquitecturas software Estudio de MOEAs en diseño arquitectónico Algoritmos multiobjetivo X Congreso

Descripción del problema

X Congreso Español de Metaheurísticas, Algoritmos Evolutivos y Bioinspirados (MAEB’15) [7/13]

Intra-modular Coupling Density (ICD)

External Relations Penalty (ERP)

Groups/Components Ratio (GCR)

Critical Size (CS)

Instability (Ins)

Encapsulation (Enc)

n

i

iout

i

in

i

in

i

t

iti ICD

nICD

CICI

CI

classes

classesclassesICD

1

1

#

##

ijijijij gegecoco

n

i

n

j

agagasas nwnwnwnwERP 1 1

components

cgroupsGCR

#

#

n

i

ii CCCSotherwise

thresholdisizeifCC

10

)(1

n

i

i

classes

classesi Enc

nEnc

total

innerEnc

1

1

#

#

n

i

i

ii

ii Ins

nIns

ACEC

ECIns

1

1

Seis objetivos basados en la modularidad y la reutilización

Page 9: Estudio preliminar del rendimiento de familias de algoritmos ...Descubrimiento de arquitecturas software Estudio de MOEAs en diseño arquitectónico Algoritmos multiobjetivo X Congreso

Estudio experimental

X Congreso Español de Metaheurísticas, Algoritmos Evolutivos y Bioinspirados (MAEB’15) [8/13]

30 ejecuciones aleatorias

Combinaciones de 2, 4 y 6 objetivos

Indicadores de calidad:

Hypervolume (HV)

Spacing (S)

Tests de Friedman y Holm

6 diseños software (XMI)

Page 10: Estudio preliminar del rendimiento de familias de algoritmos ...Descubrimiento de arquitecturas software Estudio de MOEAs en diseño arquitectónico Algoritmos multiobjetivo X Congreso

Estudio experimental

X Congreso Español de Metaheurísticas, Algoritmos Evolutivos y Bioinspirados (MAEB’15) [9/13]

Resultados para combinaciones de 2 objetivos

Page 11: Estudio preliminar del rendimiento de familias de algoritmos ...Descubrimiento de arquitecturas software Estudio de MOEAs en diseño arquitectónico Algoritmos multiobjetivo X Congreso

Estudio experimental

X Congreso Español de Metaheurísticas, Algoritmos Evolutivos y Bioinspirados (MAEB’15) [10/13]

Resultados para combinaciones de 4 objetivos

Page 12: Estudio preliminar del rendimiento de familias de algoritmos ...Descubrimiento de arquitecturas software Estudio de MOEAs en diseño arquitectónico Algoritmos multiobjetivo X Congreso

Estudio experimental

X Congreso Español de Metaheurísticas, Algoritmos Evolutivos y Bioinspirados (MAEB’15) [11/13]

Resultados para la combinación de 6 objetivos

Influencia de las medidas seleccionadas como objetivos

Grado de dificultad del problema de optimización

Tipos de soluciones arquitectónicas generadas

Page 13: Estudio preliminar del rendimiento de familias de algoritmos ...Descubrimiento de arquitecturas software Estudio de MOEAs en diseño arquitectónico Algoritmos multiobjetivo X Congreso

Convergencia y diversidad

Menor número de soluciones

Configuración y t. ejecución

Estudio experimental

X Congreso Español de Metaheurísticas, Algoritmos Evolutivos y Bioinspirados (MAEB’15) [12/13]

Buena escalabilidad

Bajo coste computacional

Muchas soluciones

NSGA-II

Diversidad de soluciones

Múltiples direcciones búsqueda

Manejo de restricciones

MOEA/D

ε-MOEA

Compromiso entre objetivos

Nº intermedio de soluciones

Alto coste computacional

HypE

Page 14: Estudio preliminar del rendimiento de familias de algoritmos ...Descubrimiento de arquitecturas software Estudio de MOEAs en diseño arquitectónico Algoritmos multiobjetivo X Congreso

Conclusiones

X Congreso Español de Metaheurísticas, Algoritmos Evolutivos y Bioinspirados (MAEB’15) [13/13]

Estudio de algoritmos evolutivos multiobjetivo en SBSE

En el marco del diseño arquitectónico

Análisis de escalabilidad (hasta 6 objetivos)

Alternativas interesantes y poco exploradas en SBSE

Trabajo futuro

Considerar otras familias de algoritmos

Incremento del número de objetivos

Otras tareas en diseño de software

Page 15: Estudio preliminar del rendimiento de familias de algoritmos ...Descubrimiento de arquitecturas software Estudio de MOEAs en diseño arquitectónico Algoritmos multiobjetivo X Congreso

Estudio preliminar del rendimiento de

familias de algoritmos multiobjetivo en

diseño arquitectónico

Aurora Ramírez, José Raúl Romero, Sebastián Ventura

Dpto. de Informática y Análisis Numérico. Universidad de Córdoba.

Mérida, 04-06 de febrero de 2015