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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Actas</strong> XXII Jornadas <strong>de</strong> Paralelismo (<strong>JP2011</strong>) , <strong>La</strong> <strong>La</strong>guna, Tenerife, 7-9 septiembre 2011Algoritmo 1 B&B1: Inicializar ns := 2 × (2 n − 1)2: Inicializar la lista Λ 1 := {C 1 , . . . , C 2n −1}3: Inicializar la lista Λ 2 := {C 2 n, . . . , C ns }4: Inicializar las listas Q 1 := {} y Q 2 := {}5: while Λ 1 , Λ 2 ≠ {} do6: Seleccionar un símplex C = C k <strong>de</strong> Λ j7: Evaluar C8: Calcular f L (C) y b L i (C), i = 1, . . . , t k9: if C no pue<strong>de</strong> ser eliminado then10: if C satisface la regla <strong>de</strong> terminación then11: Almacenar C en Q j12: else13: Dividir C en C ns+1 , C ns+214: C := arg mín{f L (C ns+1 ), f L (C ns+2 )}15: Almacenar {C ns+1 , C ns+2 } \ C en Λ j16: ns := ns + 217: Ir a 718: end if19: end if20: j := (j mód 2) + 121: end while22: return Q 1 y Q 2globales <strong>de</strong>ntro <strong>de</strong> la precisión establecida) requiereel diseño <strong>de</strong> un algoritmo <strong>de</strong> Ramificación y Acotación(Branch & Bound, B&B) específico. Los métodosB&B se caracterizan por cuatro reglas: Ramificación,Selección, Acotación y Eliminación [11], [12]. Se<strong>de</strong>be incluir una regla <strong>de</strong> Terminación para problemasdon<strong>de</strong> las soluciones vienen <strong>de</strong>terminadas poruna precisión establecida. En los algoritmos B&B,la región <strong>de</strong> búsqueda es dividida recursivamente enpartes disjuntas (ramificación) sobre las cuales se <strong>de</strong>terminanlos límites <strong>de</strong> un valor <strong>de</strong> la solución óptima(acotación). Se <strong>de</strong>fine el límite superior global f U comoel valor <strong>de</strong> la función objetivo <strong>de</strong> la mejor soluciónε-robusta encontrada hasta ahora. De esta forma, sepue<strong>de</strong>n <strong>de</strong>scartar subconjuntos C k con un límite inferiorfkL <strong>de</strong> la función objetivo que sean mayores queel límite superior f U , ya que se pue<strong>de</strong> garantizar queno contienen una solución óptima.Una <strong>de</strong>scripción <strong>de</strong>tallada <strong>de</strong>l Algoritmo 1 se pue<strong>de</strong>encontrar en [6]. El Algoritmo 1 usa una lista <strong>de</strong>trabajo Λ j y una lista final Q j para cada producto.Aquí resumiremos las características más relevantespara el <strong>de</strong>sarrollo <strong>de</strong> una versión paralela. Cadasímplex es una región que satisface (1) y sus vérticesson posibles recetas o mezclas (véase la Figura 1).<strong>La</strong>s reglas B&B usadas en el Algoritmo 1 se <strong>de</strong>scribena continuación:Ramificación: Se divi<strong>de</strong> el símplex por el ladomás largo o por aquel lado <strong>de</strong>finido por los vérticesmás caro y más barato.Acotación: Para cada símplex se calculan doslímites inferiores:Coste: f L (C) es el límite inferior <strong>de</strong>l coste <strong>de</strong> unsímplex C y es proporcionado por el vérticecuyo coste es menor, <strong>de</strong>bido a que los símplicesson convexos y la función <strong>de</strong> coste es lineal.Cantidad <strong>de</strong> cada materia prima: b L i (C) es ellímite inferior <strong>de</strong>l uso <strong>de</strong> cada materia prima ien un símplex C. Este límite inferior es obtenido<strong>de</strong> manera análoga al límite inferior <strong>de</strong>lcoste.Selección: Se realiza una búsqueda híbrida: combinación<strong>de</strong> la búsqueda en profundidad y labúsqueda ✭✭primero el mejor✮✮. Se selecciona elsímplex más barato, basado en la suma <strong>de</strong> loscostes <strong>de</strong> sus vértices, y se realiza una selecciónen profundidad hasta que el símplex no puedaser dividido más (véase el Algoritmo 1, las líneas6, 14 y 17). De esta forma, se preten<strong>de</strong> reducirel consumo <strong>de</strong> memoria <strong>de</strong>l algoritmo.Eliminación: Se aplica un conjunto <strong>de</strong> tests basadosen restricciones lineales, cuadráticas y <strong>de</strong>robustez a los símplices <strong>de</strong> un producto, véase[4]. A<strong>de</strong>más, existen otros tests <strong>de</strong> rechazo don<strong>de</strong>hay que tener en cuenta ambos productos.Estos tests son los siguientes:Test <strong>de</strong> disponibilidad: Se <strong>de</strong>fineβi,j L = D j × mín x i (2)x∈C∈Λ j∪Q jcomo el límite inferior <strong>de</strong> la <strong>de</strong>manda <strong>de</strong> materiaprima i en el espacio <strong>de</strong> búsqueda actual<strong>de</strong>l producto j. Un símplex C k en el productoj no satisface la restricción <strong>de</strong> disponibilidadsiD j × b L i (C k ) + β L i,j ′ > B i, (3)don<strong>de</strong> j ′ hace referencia al otro producto.Test <strong>de</strong> Pareto: Si se encuentra un par <strong>de</strong> mezclasfactibles (x, y), siendo x ∈ C ∈ Λ 1 ∪ Q 1e y ∈ C ∈ Λ 2 ∪ Q 2 , con f(x) + f(y) f U ω(x,y) , (5)con x ∈ C k e y ∈ P u,j ′.Terminación: Los símplices no rechazados quealcanzan el tamaño requerido α son almacenadosen Q j .El resultado <strong>de</strong>l Algoritmo 1 es un conjunto <strong>de</strong>mezclas Pareto-óptimas (<strong>de</strong>ntro <strong>de</strong> la precisión α) ylas listas finales Q j , j = 1, 2, que, a<strong>de</strong>más <strong>de</strong> lasmezclas, contienen los símplices que no han sido rechazados.Durante la ejecución <strong>de</strong>l algoritmo, se actualizanlos límites inferiores βi,j L y ϕL u,j basándose en los<strong>JP2011</strong>-23

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

Saved successfully!

Ooh no, something went wrong!