30.07.2015 Views

Actas JP2011 - Universidad de La Laguna

Actas JP2011 - Universidad de La Laguna

Actas JP2011 - Universidad de La Laguna

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Actas</strong> XXII Jornadas <strong>de</strong> Paralelismo (<strong>JP2011</strong>) , <strong>La</strong> <strong>La</strong>guna, Tenerife, 7-9 septiembre 2011in<strong>de</strong>seable la asignación <strong>de</strong> la misma o frecuenciasadyacentes a transmisores que sirven <strong>de</strong>ntro <strong>de</strong>l mismoárea (instalados en el mismo sector). A<strong>de</strong>más, <strong>de</strong>ntro <strong>de</strong>la ecuación 2, C co (μ,σ) representa el coste <strong>de</strong>bido a lasinterferencias co-canal (ecuación 3) mientras queC adj (μ,σ) es el coste en caso <strong>de</strong> las interferencias <strong>de</strong>canal adyacente (ecuación 4).CSH− μCco(μ,σ ) = 100(1.0 − Q())(3)σCSH− CACR− μCadj( μ,σ ) = 100(1.0 − Q()) (4)σDon<strong>de</strong> C SH es un umbral <strong>de</strong> calidad mínima <strong>de</strong> la señaly C ACR (rechazo <strong>de</strong> canal adyacente) mi<strong>de</strong> la habilidad<strong>de</strong>l receptor a la hora <strong>de</strong> recibir la señal requerida enpresencia <strong>de</strong> una señal que no es la requerida en un canaladyacente. Finalmente, Q(z) se <strong>de</strong>fine como:Q(z)=∞∫z12πe x 2−2Para una explicación más <strong>de</strong>tallada sobre los costesC co (μ,σ) y C adj (μ,σ) y el mo<strong>de</strong>lo matemático utilizado,el lector interesado pue<strong>de</strong> consultar las referencias [1,3], don<strong>de</strong> se da una explicación más profunda sobre laformulación utilizada.dxIII. EQUIPO PARALELO DE METAHEURÍSTICASEn este artículo se presenta un equipo heterogéneocompuesto por un conjunto <strong>de</strong> siete metaheurísticas ycontrolado por una hiperheurística (HH) paralela. Elobjetivo <strong>de</strong> la HH no consiste en solucionar el problema<strong>de</strong> manera directa, sino en seleccionar el método mása<strong>de</strong>cuado que <strong>de</strong>be aplicarse ante una <strong>de</strong>terminadasituación. Este método, una metaheurística en nuestrocaso, será el encargado <strong>de</strong> trabajar con el problema. Enla Fig. 1 se pue<strong>de</strong> observar un diagrama que <strong>de</strong>scribe elfuncionamiento general <strong>de</strong>l sistema propuesto.Fig. 1. Diseño <strong>de</strong>l equipo heterogéneo <strong>de</strong> metaheurísticas.Como se pue<strong>de</strong> observar, tanto las especificaciones <strong>de</strong>lproblema como las instancias que <strong>de</strong>ben manejarse songestionadas por un conjunto <strong>de</strong> metaheurísticas que han(5)sido especialmente ajustadas para trabajar con el FAP.<strong>La</strong> tarea <strong>de</strong> la que se encarga la HH consiste en controlarla salida proporcionada por dichas estrategias paradistribuir <strong>de</strong> manera a<strong>de</strong>cuada la carga <strong>de</strong> trabajo <strong>de</strong>acuerdo con la calidad <strong>de</strong> los resultados obtenidos porcada algoritmo. <strong>La</strong> comunicación entre la HH y lasmetaheurísticas no <strong>de</strong>pen<strong>de</strong> <strong>de</strong> las especificaciones <strong>de</strong>lproblema, ya que la HH únicamente recibe en cadasincronización la mejor solución conseguida por cadametaheurística hasta ese momento, su coste asociado yel i<strong>de</strong>ntificador <strong>de</strong>l algoritmo que aportó la citadasolución. De acuerdo con dicha información la HHdistribuye la carga <strong>de</strong> trabajo que cada algoritmo <strong>de</strong>beráprocesar hasta la siguiente sincronización. Al final <strong>de</strong>lproceso, la mejor solución conseguida por una <strong>de</strong> lasmetaheurísticas será la solución que <strong>de</strong>vuelva el sistema.Una <strong>de</strong> las características más interesantes <strong>de</strong> la HH esque ésta hace que las metaheurísticas realicen subúsqueda en paralelo. Como se expondrá en la siguientesección, los experimentos se han realizado en un clúster<strong>de</strong> 128 núcleos, por lo que el diseño <strong>de</strong> la hiperheurísticaparalela saca el máximo partido <strong>de</strong> los recursosdisponibles. Uno <strong>de</strong> los núcleos <strong>de</strong>l clúster ejecutará elproceso maestro <strong>de</strong>l sistema (Algoritmo 1), mientras queel resto <strong>de</strong> núcleos ejecutarán las metaheurísticas<strong>de</strong>stinadas a resolver el problema propiamente dicho.Por tanto, la HH forma parte <strong>de</strong> un sistema síncronodon<strong>de</strong> su tarea es sincronizar y gestionar un equipo <strong>de</strong>algoritmos metaheurísticos con el fin <strong>de</strong> resolver unproblema FAP real.Algoritmo 1 – Pseudocódigo para el proceso maestro <strong>de</strong> la HH1: vectorProbHH ← inicializar_vectorProbHH2: vectorCores ← asignar_metaheurística_a_cada_core (vectorProbHH)3: lanzar_ejecuciones_esclavos (vectorCores)4: mientras (! condición_<strong>de</strong>_parada) hacer5: /* El proceso maestro espera a que cada core ejecute su algoritmo */6: /* Cada sincronización → los cores envían la mejor solución al maestro */7: para (j = 0) hasta (j = número_<strong>de</strong>_cores_configurados) hacer8: vectorSoluciones ← recibir_soluciones_cores (j)9: fin para10: vectorSoluciones ← or<strong>de</strong>nar_soluciones_fitness (vectorSoluciones)11: vectorProbHH ← actualizar_vectorProbHH (vectorSoluciones)12: vectorCores ← actualizar_vectorCores (vectorProbHH)13: mejorSolucion ← seleccionar_mejor_solucion (vectorSoluciones)14: relanzar_ejecuciones_esclavos (vectorCores, mejorSolucion)15: fin mientras16: <strong>de</strong>volver seleccionar_mejor_solucion_recibida (vectorSoluciones)El proceso comienza con la distribución homogénea <strong>de</strong>todas las metaheurísticas incluidas en el sistema, <strong>de</strong>acuerdo con un vector <strong>de</strong> probabilidad inicializado parael efecto (líneas 1 y 2). Este vector <strong>de</strong> probabilidad tienela función <strong>de</strong> <strong>de</strong>cidir el número <strong>de</strong> núcleos queejecutarán cada una <strong>de</strong> las metaheurísticas incluidas enel sistema. Como se pue<strong>de</strong> observar en la Fig. 1 se haseleccionado un conjunto heterogéneo <strong>de</strong> sietemetaheurísticas que se han consi<strong>de</strong>rado representativas.Así, se han seleccionado algunas basadas en población(el algoritmo genético –GA [9], la búsqueda dispersa –SS [10], el algoritmo basado en colonia <strong>de</strong> abejas –ABC[11] y el aprendizaje incremental basado en población –PBIL [12]) y otras basadas en trayectoria (elprocedimiento <strong>de</strong> búsqueda adaptativa, aleatoria yavariciosa –GRASP [13], la búsqueda local iterativa –ILS [14] y la búsqueda <strong>de</strong> entorno variable –VNS [15]).Algunas <strong>de</strong> ellas son estrategias clásicas, como el GA, yotras son muy novedosas, como el ABC. Otras se<strong>JP2011</strong>-127

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!