Modelado de metaheur´ısticas e hiperheur´ısticas en ...
Transcript of Modelado de metaheur´ısticas e hiperheur´ısticas en ...
Modelado de metaheurısticas e hiperheurısticas en
memoria paralela para autooptimizacion
Jose Matıas Cutillas Lozano y Domingo GimenezDepartamento de Informatica y Sistemas, Universidad de Murcia
PPMG, 6 marzo 2015
Cutillas-Lozano, Gimenez (UMU) Autooptimizacion de metaheurısticas PPMG, 6 marzo 2015 1 / 23
Contenido
1 Motivacion
2 Un esquema parametrizado de memoria compartida
3 Modelado y autooptimizacion
4 Resultados experimentales
5 Conclusion
Cutillas-Lozano, Gimenez (UMU) Autooptimizacion de metaheurısticas PPMG, 6 marzo 2015 2 / 23
Motivacion
Metaheurısticas e hiperheurısticas de memoria compartida
parametrizadas
El mismo esquema que se utiliza para metaheurısticas (MS) se puedeutilizar para hiperheurısticas (HMS).
Una metaheurıstica particular se obtiene seleccionando el valor de losParametros Metaheurısticos en el esquema.
Se ejecuta en paralelo seleccionando el valor de unos Parametros de
Paralelismo.
Si el valor de los parametros se obtiene de forma mecanica se tieneAutooptimizacion.
Para seleccionar de forma automatica valores apropiados para losParametros de Paralelismo se modela el tiempo de ejecucion de cadarutina del esquema unificado.
El modelo depende de los valores de los Parametros Metaheurısticos,y se obtendran valores distintos de los Parametros de Paralelismo paradistinas metaheurısticas e hiperheurısticas.
Cutillas-Lozano, Gimenez (UMU) Autooptimizacion de metaheurısticas PPMG, 6 marzo 2015 3 / 23
Motivacion
Hiperheurısticas basadas en esquemas metaheurısticos
parametrizados
Se trata de seleccionar los valores de los Parametros Metaheurısticos(la metaheurıstica) en el esquema unificado.
Las hiperheurısticas se desarrollan con el mismo esquema unificado
y el problema es obtener la metaheurıstica optima para nuestroproblema usando la hiperheurıstica.
Al ejecutar hiperheurısticas se aplican muchas metaheurısticas ⇒tiempo de ejecucion muy alto ⇒ paralelismo.
Cutillas-Lozano, Gimenez (UMU) Autooptimizacion de metaheurısticas PPMG, 6 marzo 2015 4 / 23
Un esquema parametrizado de memoria compartida
Esquema parametrizado de memoria compartida
Initialize(S ,ParamIni ,ThreadsIni)while (not EndCondition(S ,ParamEnd ,ThreadsEnd))
SS = Select(S ,ParamSel ,ThreadsSel)SS1 = Combine(SS ,ParamCom,ThreadsCom)SS2 = Improve(SS1,ParamImp,ThreadsImp)S = Include(SS2,ParamInc ,ThreadsInc)
Paralelizacion independiente de las funciones,con Parametros de paralelismo (numero de threads) para cada funcion.El valor optimo de los Parametros de paralelismo depende de los valores delos Parametros metaheurısticos (de la metaheurıstica o combinacion demetaheurısticas).
Cutillas-Lozano, Gimenez (UMU) Autooptimizacion de metaheurısticas PPMG, 6 marzo 2015 5 / 23
Un esquema parametrizado de memoria compartida
Modelado de las rutinas basicas
Se crea un modelo del tiempo de ejecucion para cada rutina delesquema.
Hay rutinas de paralelizacion de un nivel (un unico thread), yparalelizacion a dos niveles (dos threads).
En los modelos aparecen parametros del tamano del problema y de lametaheurıstica.
Los Parametros del Sistemas se obtienen con experimentacion alinstalar la rutina en el sistema, y dependen del sistema y de laimplementacion.
Cutillas-Lozano, Gimenez (UMU) Autooptimizacion de metaheurısticas PPMG, 6 marzo 2015 6 / 23
Un esquema parametrizado de memoria compartida
Posibles Parametros metaheurısticos
Dependen de las metaheurısticas basicas y su implementacion.Consideramos GRASP, Algoritmos Geneticos, Busqueda Dispersa yBusqueda Tabu.
Initialize INEIni Initial Number of ElementsFNEIni Final Number of Elements after initializationPEIIni Percentage of Elements to Improve in the initializationIIEIni Intensification in the Improvement of initial ElementsSTMIni Short-Term tabu Memory in the improvement of initial elements
EndCondition MNIEnd Maximum Number of IterationsNIREnd maximun Number of Iterations with Repetition of the best solution
Select NBESel Number of Best Elements selected for combinationNWESel Number of Worst Elements selected for combination
Combine NBBCom Number of Best-Best elements combinationsNBWCom Number of Best-Worst elements combinationsNWWCom Number of Worst-Worst elements combinations
Improve PEIImp Percentage of Elements to Improve after combinationIIEImp Intensification in the Improvement of Elements after combinationSMIImp Short-term tabu Memory in the Improvement after combinationPEDImp Percentage of Elements to DiversifyIDEImp Intensification in the Diversification of ElementsSMDImp Short-term tabu Memory in the Diversification
Include NBEInc Number of Best Elements to include in the reference setLTMInc Long-Term tabu Memory between iterations
Cutillas-Lozano, Gimenez (UMU) Autooptimizacion de metaheurısticas PPMG, 6 marzo 2015 7 / 23
Un esquema parametrizado de memoria compartida
Posibles Parametros de paralelismo
Dependen de como se implemente la paralelizacion.
Initialize TGEIni number of Threads for the initial Generation of ElementsTI1Ini number of Threads in the Improvement after initialization, first levelTI2Ini number of Threads in the Improvement after initialization, second level
Combine TCPCom number of Threads for the Combination of Pairs of elementsImprove TR1Imp number of Threads in the improvement of the Reference set, first level
TR2Imp number of Threads in the improvement of the Reference set, second levelTC1Imp number of Threads in the improvement of elements obtained by Combination, first levelTC2Imp number of Threads in the improvement of elements obtained by Combination, second levelTD1Imp number of Threads in the improvement of elements obtained by Diversification, first levelTD2Imp number of Threads in the improvement of elements obtained by Diversification, second level
Include TIEInc number of Threads for the Inclusion of Elements in the reference set
Cutillas-Lozano, Gimenez (UMU) Autooptimizacion de metaheurısticas PPMG, 6 marzo 2015 8 / 23
Modelado y autooptimizacion
Autooptinizacion del esquema de memoria compartida
Se aplica autooptimizacion para reducir el tiempo de ejecucionindependientemente del usuario.
Se puede aplicar a metaheurısticas e hiperheurısticas, al usar el mismoesquema, pero da valores distintos debido al uso de Parametrosmetaheurısticos distintos y a costes diferentes en las operacionesbasicas.
Se trata de obtener valores satisfactorios para los Parametros deparalelismo (ThreadsIni , ThreadsCom, ThreadsImp y ThreadsInc).
Cutillas-Lozano, Gimenez (UMU) Autooptimizacion de metaheurısticas PPMG, 6 marzo 2015 9 / 23
Modelado y autooptimizacion
Modelos del tiempo de ejecucion
Paralelismo de un nivel: t1−level =kg ·NE
p+ kp · p
kg representa el coste del trabajo con un individuo, kp el coste de generarun thread, p el numero de threads.
Paralelismo de dos niveles: t2−levels =ki ·
NE ·IP·II100
p1·p2+ kp,1 · p1 + kp,2 · p2
ki representa el coste de un paso en la mejora de un elemento, kp,1 y kp,2los costes de gestion de threads de primer y segundo nivel, p1 y p2 elnumero de threads en cada nivel.
Los parametros de la metaheurıstica o la hiperheurıstica dependen de lafuncion que se este modelando:NE es el numero de elementos,IP es la probabilidad de mejorar un elemento,II indica una cierta intensificacion en la mejora.
Cutillas-Lozano, Gimenez (UMU) Autooptimizacion de metaheurısticas PPMG, 6 marzo 2015 10 / 23
Resultados experimentales
Problema de reduccion de consumo de electricidad en
explotacion de pozos
B bombas con una potencia conocida extraen agua de pozos, durante un rangohorario R. El flujo total es la suma de los flujos de los pozos.
Las bombas pueden estar activas o inactivas en cada rango horario.
Se trata de minimizar el coste:
Minimize Ce =
R∑
i=1
B∑
j=1
TiPjNixij
Ce : coste de la electricidad consumida por las bombas un dıaTi : coste de electricidad en el rango horario i
Pj : potencia electrica consumida por la bomba j
Ni : numero de horas en el rango horario i
xij : 1 o 0, indica si una bomba esta encendida o apagada en un rangohorario
Un elemento de la metaheurıstica se representa con x , de tamano B × R.
Cutillas-Lozano, Gimenez (UMU) Autooptimizacion de metaheurısticas PPMG, 6 marzo 2015 11 / 23
Resultados experimentales
Sistemas computacionales
Ben, es un HP Integrity Superdome SX2000 con 128 cores de Intel
Itanium-2 dual-core Montvale con memoria compartida.
Saturno es un sistema NUMA con 4 Intel hexa-core NEHALEM-EXEC E7530 (24 cores), 1.87 GHz, 32 GB de memoria compartida.
Cutillas-Lozano, Gimenez (UMU) Autooptimizacion de metaheurısticas PPMG, 6 marzo 2015 12 / 23
Resultados experimentales
Parametros usados en los experimentos
INEIni FNEIni PEIIni IIEIni STMIni NBESel NWESel NBBCom NBWComm1 20 20 50 20 - 10 10 20 5m2 100 50 100 10 - 25 25 100 20h1 10 10 100 1 7 5 5 20 5h2 20 20 50 3 7 10 10 50 10
NWWCom PEIImp IIEImp SMIImp PEDImp IDEImp SMDImp NBEInc LTMIncm1 10 100 20 - 50 20 - 10 -m2 5 50 10 - 100 20 - 25 -h1 10 100 1 7 100 1 7 10 7h2 5 20 3 7 20 3 7 10 7
Cutillas-Lozano, Gimenez (UMU) Autooptimizacion de metaheurısticas PPMG, 6 marzo 2015 13 / 23
Resultados experimentales
Optimizacion de los Parametros de paralelismo
El numero de threads con los que se obtiene el menor tiempo de ejecucionteeorico se obtiene a partir de los modelos.
Generacion inicial del conjunto de referencia, para una hiperheurıstica enBen:
popt. =
√
kg
kp· INEIni = 3.43 ·
√INEIni
Mejora de los elementos generados, para una hiperheurıstica en Ben:
p1,opt. = 4.79 · 10−1 ·3√INEIni · PEIIni · IIEIni
p2,opt. = 5.05 · 10−1 ·3√INEIni · PEIIni · IIEIni
Cutillas-Lozano, Gimenez (UMU) Autooptimizacion de metaheurısticas PPMG, 6 marzo 2015 14 / 23
Resultados experimentales
Estimacion de los parametros del sistema para una rutina
de un nivel
Speed-up teorico y experimental cuando varıa el numero de threads. RutinaImprove de una metaheurıstica en Ben.
0
5
10
15
20
25
30
35
40
45
0 10 20 30 40 50 60 70
Spe
ed-u
p
p
Sp exp. (NEIIni=20)Sp theo. (NEIIni=20)Sp exp. (NEIIni=100)
Sp theo. (NEIIni=100)Sp exp. (NEIIni=500)
Sp theo. (NEIIni=500)
Cutillas-Lozano, Gimenez (UMU) Autooptimizacion de metaheurısticas PPMG, 6 marzo 2015 15 / 23
Resultados experimentales
Estimacionn de los parametros del sistema para una rutina
de dos niveles
Speed-up teorico y experimental cuando varıa el numero de threads de primer ysegundo nivel. Rutina Improve de una hiperheurıstica en Ben.
0 2
4 6
8 10
12 0
2 4
6 8
10 12
0
2
4
6
8
10
12
14
Speed-up
experimentaltheoretical
p1 p2
0
2
4
6
8
10
12
14
Cutillas-Lozano, Gimenez (UMU) Autooptimizacion de metaheurısticas PPMG, 6 marzo 2015 16 / 23
Resultados experimentales
Speed-ups para una metaheurıstica en Ben
Maximo speed-up experimental (exp), speed-up modelado (mod), y el obtenido experimentalusando autooptimizacion (exp-auto). Rutina Initialize para una metaheurıstica en Ben.
threads speed-upINEIni exp mod exp mod exp-auto100 48 55 27 27 25500 121 122 77 61 75
Para dos combinaciones de INEIni , PEIIni y IIEIni (c1: 100,50,10; c2: 500,100,5) en la rutinacon paralelismo de dos niveles.
threads speed-upComb. exp mod exp mod exp-autoc1 89 67 35 17 21c2 128 150 78 51 78
El numero de threads seleccionado con autooptimizacion no esta lejos del optimo experimental,y el speed-up no esta lejos del maximo.
Cutillas-Lozano, Gimenez (UMU) Autooptimizacion de metaheurısticas PPMG, 6 marzo 2015 17 / 23
Resultados experimentales
Speed-ups para una hiperheurıstica en Ben
Maximo speed-up experimental (exp), speed-up modelado (mod), y el obtenido experimentalusando autooptimizacion (exp-auto). Rutina Initialize para una hiperheurıstica en Ben.
threads speed-upINEIni exp mod exp mod exp-auto
20 22 15 11 8 8100 24 34 12 17 12
Para dos combinaciones de INEIni , PEIIni y IIEIni (c1: 50,50,1; c2: 100,50,1) en la rutina conparalelismo de dos niveles.
threads speed-upComb. exp mod exp mod exp-auto
c1 9×8 6×7 14 15 11c2 9×4 8×9 15 24 14
La metodologıa de autooptimizacion da aquı tambien resultados satisfactorios.
Cutillas-Lozano, Gimenez (UMU) Autooptimizacion de metaheurısticas PPMG, 6 marzo 2015 18 / 23
Resultados experimentales
Instalacion de todo el esquema en Saturno
Valores de las constantes para todas las funciones de una metaheurıstica en Saturno
Rutinas de un nivel Rutinas de dos nivelesIni Com Inc Imp-Ini Imp-Ref Imp-Com Div
ks · 104 4.43 5.69 1.44 6.05 6.01 1.20 107kp,1 · 10
3 3.96 2.61 58.3 3.08 1.91 3.38 63.8kp,2 · 10
3 - - - 1.56 8.38 23.2 0.915
Valores de las constantes para todas las funciones de una hiperheurıstica en Saturno
Rutinas de un nivel Rutinas de dos nivelesIni Com Inc Imp-Ini Imp-Ref Imp-Com Div
ks · 102 1.45 2.91 0.296 15.7 25.5 52.3 26.2kp,1 · 10
2 0.541 0.679 2.44 5.66 2.55 8.86 2.22kp,2 · 10
2 - - - 7.09 3.25 34.8 4.84
Cutillas-Lozano, Gimenez (UMU) Autooptimizacion de metaheurısticas PPMG, 6 marzo 2015 19 / 23
Resultados experimentales
Parametros de paralelismo
Valores de los Parametros de paralelismo para las cuatros combinaciones de Parametrosmetaheurısticos considerados, en Saturno.
Rutinas de un nivel Rutinas de dos nivelesTGEIni TCPCom TIEInc TI1Ini TR1Imp TC1Imp TD1Imp
m1 2 3 1 6 11 5 6m2 3 5 1 14 9 5 13
Rutinas de un nivel Rutinas de dos niveleslevel TGEIni TCPCom TIEInc TI Ini TR Imp TC Imp TD Imp
h1 p1 5 12 3 3 5 9 6p2 - - - 3 4 2 3
h2 p1 7 17 4 5 5 10 7p2 - - - 4 4 2 3
Cutillas-Lozano, Gimenez (UMU) Autooptimizacion de metaheurısticas PPMG, 6 marzo 2015 20 / 23
Resultados experimentales
Speed-up total, enSaturno
Speedp-up experimental con el numero de threads igual al de cores (max), con la mitasde cores (max
2), y con autooptimizacion (auto), en Saturno.
Implementacion basicamax max
2auto
m1 1 2 2m2 5 6 6h1 3 4 5h2 4 5 5
Implementacion mejoradamax max
2auto
m1 10 8 10m2 14 10 16h1 6 5 6h2 6 6 7
Cutillas-Lozano, Gimenez (UMU) Autooptimizacion de metaheurısticas PPMG, 6 marzo 2015 21 / 23
Conclusion
Conclusiones
Se han aplicado tecnicas de autooptimizacion a metaheurısticasparametrizadas de memoria compartida y a hiperheurısticas que usanel mismo esquema metaheurıstico.
Se han mostrado resultados experimentales con un problema deoptimizacion del coste en un sistema de extraccion de agua de pozos.La misma metodologıa se ha utilizado en otros problemas:determinacion de constantes cineticas en una reaccion quımica yproblema de maxima diversidad.
La metodologıa permite seleccionar satisfactoriamente el numero dethreads a usar en cada funcion, facilitando ası la obtencion despeed-up cercanos al optimo experimental.
Cutillas-Lozano, Gimenez (UMU) Autooptimizacion de metaheurısticas PPMG, 6 marzo 2015 22 / 23
Conclusion
Trabajos futuros
Aplicacion del esquema y la metodologıa a otros problemas: analisisde envolventes, determinacion de componentes en una solucion,diseno de farmacos...
Inclusion de otras metaheurısticas “basicas” (ACO, PSO...)
Desarrollo de esquemas parametrizados y aplicacion de tecnicas deautooptimizacion para otros sistemas:hecho para paso de mensajestrabajando con Xeon Phiempezando con GPU
Cutillas-Lozano, Gimenez (UMU) Autooptimizacion de metaheurısticas PPMG, 6 marzo 2015 23 / 23