Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Introducción
Next Release
Problem
Algoritmos Resultados
Conclusiones y
Trabajo futuro
1 / 19Septiembre 2016JISBD 2016 (CED...
Introducción
Next Release
Problem
Algoritmos Resultados
Conclusiones y
Trabajo futuro
2 / 19Septiembre 2016JISBD 2016 (CED...
Introducción
Next Release
Problem
Algoritmos Resultados
Conclusiones y
Trabajo futuro
3 / 19Septiembre 2016JISBD 2016 (CED...
Introducción
Next Release
Problem
Algoritmos Resultados
Conclusiones y
Trabajo futuro
4 / 19Septiembre 2016JISBD 2016 (CED...
Introducción
Next Release
Problem
Algoritmos Resultados
Conclusiones y
Trabajo futuro
5 / 19Septiembre 2016JISBD 2016 (CED...
Introducción
Next Release
Problem
Algoritmos Resultados
Conclusiones y
Trabajo futuro
6 / 19Septiembre 2016JISBD 2016 (CED...
Introducción
Next Release
Problem
Algoritmos Resultados
Conclusiones y
Trabajo futuro
7 / 19Septiembre 2016JISBD 2016 (CED...
Introducción
Next Release
Problem
Algoritmos Resultados
Conclusiones y
Trabajo futuro
8 / 19Septiembre 2016JISBD 2016 (CED...
Introducción
Next Release
Problem
Algoritmos Resultados
Conclusiones y
Trabajo futuro
9 / 19Septiembre 2016JISBD 2016 (CED...
Introducción
Next Release
Problem
Algoritmos Resultados
Conclusiones y
Trabajo futuro
10 / 19Septiembre 2016JISBD 2016 (CE...
Introducción
Next Release
Problem
Algoritmos Resultados
Conclusiones y
Trabajo futuro
11 / 19Septiembre 2016JISBD 2016 (CE...
Introducción
Next Release
Problem
Algoritmos Resultados
Conclusiones y
Trabajo futuro
12 / 19Septiembre 2016JISBD 2016 (CE...
Introducción
Next Release
Problem
Algoritmos Resultados
Conclusiones y
Trabajo futuro
13 / 19Septiembre 2016JISBD 2016 (CE...
Introducción
Next Release
Problem
Algoritmos Resultados
Conclusiones y
Trabajo futuro
14 / 19Septiembre 2016JISBD 2016 (CE...
Introducción
Next Release
Problem
Algoritmos Resultados
Conclusiones y
Trabajo futuro
15 / 19Septiembre 2016JISBD 2016 (CE...
Introducción
Next Release
Problem
Algoritmos Resultados
Conclusiones y
Trabajo futuro
16 / 19Septiembre 2016JISBD 2016 (CE...
Introducción
Next Release
Problem
Algoritmos Resultados
Conclusiones y
Trabajo futuro
17 / 19Septiembre 2016JISBD 2016 (CE...
Introducción
Next Release
Problem
Algoritmos Resultados
Conclusiones y
Trabajo futuro
18 / 19Septiembre 2016JISBD 2016 (CE...
19 / 19Septiembre 2016JISBD 2016 (CEDI), Salamanca, España
Gracias por su atención !!!
Dos estrategias de búsqueda anytime...
Upcoming SlideShare
Loading in …5
×

Dos estrategias de búsqueda anytime basadas en programación lineal entera para resolver el problema de selección de requisitos

119 views

Published on

Presentación en las Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2016) en Salamanca, España

Published in: Software
  • Be the first to comment

  • Be the first to like this

Dos estrategias de búsqueda anytime basadas en programación lineal entera para resolver el problema de selección de requisitos

  1. 1. Introducción Next Release Problem Algoritmos Resultados Conclusiones y Trabajo futuro 1 / 19Septiembre 2016JISBD 2016 (CEDI), Salamanca, España Dos estrategias de búsqueda anytime basadas en programación lineal entera para resolver el problema de selección de requisitos Francisco Chicano, Miguel Ángel Rodríguez, Isabel del Águila, José del Sagrado y Enrique Alba
  2. 2. Introducción Next Release Problem Algoritmos Resultados Conclusiones y Trabajo futuro 2 / 19Septiembre 2016JISBD 2016 (CEDI), Salamanca, España Previamente en NRP multi-objetivo… Motivación
  3. 3. Introducción Next Release Problem Algoritmos Resultados Conclusiones y Trabajo futuro 3 / 19Septiembre 2016JISBD 2016 (CEDI), Salamanca, España Motivación Problemas multi-objetivo • En un problema MO hay varios objetivos (funciones) que queremos optimizar f1 f2 Soluciones eficientes (no dominadas) Soluciones débilmente eficientes Solución no soportada
  4. 4. Introducción Next Release Problem Algoritmos Resultados Conclusiones y Trabajo futuro 4 / 19Septiembre 2016JISBD 2016 (CEDI), Salamanca, España Motivación • El trabajo de Veerapen et al. concluye que 𝜀-constraint con ILP encuentra el frente de Pareto en 8 horas como mucho (para las instancias resueltas) • Para reducir este tiempo proponen la primera fase del método del TPM y NSGA-II • La primera fase del TPM solo encuentra soluciones soportadas, NSGA-II es aproximado Previamente en NRP multi-objetivo… ¿Podemos asegurar soluciones no dominadas bien distribuidas en el frente cualquier momento de la búsqueda sin renunciar a obtener el frente completo? • Podemos hacerlo con estrategias anytime • RQ1: ¿Cuál es la calidad de la parte del frente de Pareto encontrada por los distintos algoritmos comparados cuando limitamos el tiempo de ejecución de los mismos? • RQ2: ¿Cuándo conviene utilizar metaheurísticas para resolver el problema y cuándo es mejor usar algoritmos basados en programación lineal entera?
  5. 5. Introducción Next Release Problem Algoritmos Resultados Conclusiones y Trabajo futuro 5 / 19Septiembre 2016JISBD 2016 (CEDI), Salamanca, España Next Release Problem (NRP) Problemas MO Formalización del problema Dados: Ø Un conjunto de requisitos R = {r1, r2, ..., rn} … Ø … cada uno con un coste cj y un valor wj Ø Un conjunto de interacciones funcionales entre requisitos Ø Implicación (ri antes que rj): Ø Combinación (ri a la vez que rj): Ø Exclusión (no a la vez): Encontrar un subconjunto de requisitos que además de cumplir con las interacciones minimice el coste y maximice el valor: da requisito rj 2 R tiene un coste cj para la empresa si se del requisito rj para el cliente i se representa con vij 2 R. L valor a˜nadido por la inclusi´on de rj en la siguiente versi´on de calcular como la suma ponderada de los valores de importa sj = Pm i=1 wi ⇤vij. Los requisitos interaccionan entre ellos, im de desarrollo determinado, lo que limita las alternativas par Las interacciones funcionales entre requisitos se clasifican en Implicaci´on o precedencia. ri ) rj. Un requisito rj no p previamente otro requisito ri no ha sido implementado. Combinaci´on o acoplamiento. ri rj. Los requisitos ri y rj de forma conjunta en el software. Exclusi´on. ri rj. El requisito ri no puede ser incluido j Si llamamos X ✓ R al conjunto de requisitos seleccionado de X vienen dados por las funciones: nX nX ar como la suma ponderada de los valores de imporPm i=1 wi ⇤vij. Los requisitos interaccionan entre ellos, sarrollo determinado, lo que limita las alternativas p teracciones funcionales entre requisitos se clasifican mplicaci´on o precedencia. ri ) rj. Un requisito rj no eviamente otro requisito ri no ha sido implementado ombinaci´on o acoplamiento. ri rj. Los requisitos ri y forma conjunta en el software. xclusi´on. ri rj. El requisito ri no puede ser incluido llamamos X ✓ R al conjunto de requisitos selecciona vienen dados por las funciones: nX nX j calcular como la suma ponderada de los va sj = Pm i=1 wi ⇤vij. Los requisitos interaccion de desarrollo determinado, lo que limita las Las interacciones funcionales entre requisito Implicaci´on o precedencia. ri ) rj. Un previamente otro requisito ri no ha sido Combinaci´on o acoplamiento. ri rj. Los de forma conjunta en el software. Exclusi´on. ri rj. El requisito ri no pu Si llamamos X ✓ R al conjunto de requis de X vienen dados por las funciones: coste(X) = nX j,rj 2X cj y v da requisito rj 2 R tiene un coste cj para la empresa si se del requisito rj para el cliente i se representa con vij 2 R. L valor a˜nadido por la inclusi´on de rj en la siguiente versi´on de calcular como la suma ponderada de los valores de importa sj = Pm i=1 wi ⇤vij. Los requisitos interaccionan entre ellos, im de desarrollo determinado, lo que limita las alternativas pa Las interacciones funcionales entre requisitos se clasifican en Implicaci´on o precedencia. ri ) rj. Un requisito rj no previamente otro requisito ri no ha sido implementado. Combinaci´on o acoplamiento. ri rj. Los requisitos ri y r de forma conjunta en el software. Exclusi´on. ri rj. El requisito ri no puede ser incluido Si llamamos X ✓ R al conjunto de requisitos seleccionad de X vienen dados por las funciones: coste(X) = nX j,rj 2X cj y valor(X) = nX j,rj 2X respectivamente. Consideraremos una versi´on multi-objetiv minimice el coste y maximice el valor del conjunto de requi min max Xuan et al. Del Sagrado et al.
  6. 6. Introducción Next Release Problem Algoritmos Resultados Conclusiones y Trabajo futuro 6 / 19Septiembre 2016JISBD 2016 (CEDI), Salamanca, España 𝜀-constraint con 1 ILP por iteración f1 f2 continuaci´on asigna a " el valor f1(z) 1. Al entrar en el bucle f2 sujeto a que el valor de f1 sea menor que ". El valor de f1 servir´a para establecer el nuevo l´ımite para f1. El bucle existen soluciones con f1 por debajo de ✏, garantiz´andose d existir´an m´as soluciones eficientes. El algoritmo resuelve un en cada iteraci´on (l´ınea 5) y s´olo puede garantizar obtener so eficientes. Esto exige eliminar soluciones dominadas al finaliz Algoritmo 1 "-constraint con un ILP por iteraci´on 1: z resolver {m´ın f2(x), sujeto a x 2 X} 2: FP {z} // Frente de Pareto 3: " f1(z) 1 4: while 9x 2 X, f1(x)  " do 5: z resolver {m´ın f2(x), sujeto a f1(x)  ", x 2 X} 6: FP = FP [{z} 7: " f1(z) 1 8: end while 9: Eliminar de FP las soluciones dominadas 4.2. Algoritmo "-constraint con dos ILPs por itera En el Algoritmo 2 mostramos una variante de "-constra subproblemas por iteraci´on en lugar de uno. El objetivo es
  7. 7. Introducción Next Release Problem Algoritmos Resultados Conclusiones y Trabajo futuro 7 / 19Septiembre 2016JISBD 2016 (CEDI), Salamanca, España 𝜀-constraint con 2 ILPs por iteración f1 f2 Podr´ıa parecer que el Algoritmo 1 es m´as r´apido que el Algoritm esfuerzo computacional es menor, pero esta diferencia va disminuye que el problema a resolver posea un conjunto mayor de solucione eficientes. Sup´ongase el caso en que |N| = k y |wN| > 2k, siendo conjuntos de puntos eficientes (no dominados) y d´ebilmente eficien vamente. El Algoritmo 1 tendr´a que realizar en el bucle m´as de 2k el Algoritmo 2 s´olo 2k iteraciones. Algoritmo 2 "-constraint con dos ILPs por iteraci´on 1: z resolver {m´ın f2(x), sujeto a x 2 X} 2: z resolver {m´ın f1(x), sujeto a f2(x)  f2(z), x 2 X} 3: FP {z} // Frente de Pareto 4: " f1(z) 1 5: while 9x 2 X, f1(x)  " do 6: z resolver {m´ın f2(x), sujeto a f1(x)  ", x 2 X} 7: z resolver {m´ın f1(x), sujeto a f2(x)  f2(z), x 2 X} 8: FP = FP [{z} 9: " f1(z) 1 10: end while 4.3. Algoritmo "-constraint aumentado (A"-con) El Algoritmo 3, conocido como augmented "-constraint o AUG mina las deficiencias de los Algoritmos 1 y 2. Por un lado, solo s subproblema en cada iteraci´on, y por otro, se garantiza que el p minado obtenido es eficiente. El lector interesado puede consultar detalles. En cada iteraci´on, el algoritmo fija un valor positivo par te , que debe ser suficientemente peque˜no para evitar que el alg algunas de las soluciones eficientes, y lo bastante grande como par blemas num´ericos. En general, es suficiente tomar un valor de en (v´ease [9]). En nuestro caso, hemos optado por calcular el valor da iteraci´on teniendo en cuenta el punto eficiente obtenido anter particular la expresi´on que usamos es: = 1/(f1(z) u1), dond cota inferior de m´ın f1(x), x 2 X, es decir, la primera componente ut´opico.
  8. 8. Introducción Next Release Problem Algoritmos Resultados Conclusiones y Trabajo futuro 8 / 19Septiembre 2016JISBD 2016 (CEDI), Salamanca, España 𝜀-constraint con 2 ILPs por iteración f1 f2 Podr´ıa parecer que el Algoritmo 1 es m´as r´apido que el Algoritm esfuerzo computacional es menor, pero esta diferencia va disminuye que el problema a resolver posea un conjunto mayor de solucione eficientes. Sup´ongase el caso en que |N| = k y |wN| > 2k, siendo conjuntos de puntos eficientes (no dominados) y d´ebilmente eficien vamente. El Algoritmo 1 tendr´a que realizar en el bucle m´as de 2k el Algoritmo 2 s´olo 2k iteraciones. Algoritmo 2 "-constraint con dos ILPs por iteraci´on 1: z resolver {m´ın f2(x), sujeto a x 2 X} 2: z resolver {m´ın f1(x), sujeto a f2(x)  f2(z), x 2 X} 3: FP {z} // Frente de Pareto 4: " f1(z) 1 5: while 9x 2 X, f1(x)  " do 6: z resolver {m´ın f2(x), sujeto a f1(x)  ", x 2 X} 7: z resolver {m´ın f1(x), sujeto a f2(x)  f2(z), x 2 X} 8: FP = FP [{z} 9: " f1(z) 1 10: end while 4.3. Algoritmo "-constraint aumentado (A"-con) El Algoritmo 3, conocido como augmented "-constraint o AUG mina las deficiencias de los Algoritmos 1 y 2. Por un lado, solo s subproblema en cada iteraci´on, y por otro, se garantiza que el p minado obtenido es eficiente. El lector interesado puede consultar detalles. En cada iteraci´on, el algoritmo fija un valor positivo par te , que debe ser suficientemente peque˜no para evitar que el alg algunas de las soluciones eficientes, y lo bastante grande como par blemas num´ericos. En general, es suficiente tomar un valor de en (v´ease [9]). En nuestro caso, hemos optado por calcular el valor da iteraci´on teniendo en cuenta el punto eficiente obtenido anter particular la expresi´on que usamos es: = 1/(f1(z) u1), dond cota inferior de m´ın f1(x), x 2 X, es decir, la primera componente ut´opico.
  9. 9. Introducción Next Release Problem Algoritmos Resultados Conclusiones y Trabajo futuro 9 / 19Septiembre 2016JISBD 2016 (CEDI), Salamanca, España 𝜀-constraint aumentado f1 f2 Algoritmo 3 "-constraint aumentado 1: z resolver {m´ın f2(x), sujeto a x 2 X} 2: z resolver {m´ın f1(x), sujeto a f2(x)  f2(z), x 2 X} 3: FP {z} // Frente de Pareto 4: " f1(z) 1 5: while 9x 2 X, f1(x)  " do 6: Estimar un valor para > 0 7: z resolver {m´ın f2(x) l, sujeto a f1(x) + l = ", x 2 X} 8: FP = FP [{z} 9: " f1(z) 1 10: end while 4.4. Algoritmo anytime basado en augmented weighted T (AAWTcheby) Todos los algoritmos anteriores encuentran las soluciones eficient lexicogr´afico de sus objetivos. El principal problema de ese orden se p nifiesto cuando se trata de resolver una instancia tan grande que req tiempo de c´omputo. En ese caso, los algoritmos encontrar´an s´olo un frente. Desde un punto de vista pr´actico al decisor le interesa tener de soluciones eficientes que se encuentren lo mejor distribuidas posi pacio objetivo. Esto puede conseguirse dise˜nando algoritmos que “s espacio objetivo en busca de soluciones eficientes. Estas estrategias en ingl´es como anytime. Veerapen et al. [13] utilizaron una b´usqued ca para lograr este objetivo. La b´usqueda dicot´omica, sin embargo un grave problema: s´olo es capaz de encontrar soluciones eficientes Como consecuencia, en frentes c´oncavos, la calidad del frente que ca ser muy baja. En el presente trabajo proponemos dos t´ecnicas ayti capaces de encontrar el frente completo con suficiente tiempo. Com esta secci´on describiendo la primera de ellas. El algoritmo aumentado y ponderado de Tchebyche↵ permite e luciones eficientes en una zona cualquiera del frente usando una so de resolutor ILP. La zona a explorar viene determinada por un pa (generalmente eficientes) (z(1) , z(2) ), que asumimos ordenados de ta (1) (2)
  10. 10. Introducción Next Release Problem Algoritmos Resultados Conclusiones y Trabajo futuro 10 / 19Septiembre 2016JISBD 2016 (CEDI), Salamanca, España Anytime Augmented weighted Tchebycheff f1 f2 cula los dos ´optimos lexicogr´aficos (l´ıneas 1 y 2) y, a contin espacio entre ellos. Cada vez que encuentra un nuevo punto e existentes, lo a˜nade al frente de Pareto y divide el rect´angulo para explorarlos m´as adelante (l´ınea 10). Cuando ya no queda sin explorar el algoritmo termina. En nuestra implementaci´o son explorados por orden de ´area, el de mayor ´area se explo permite obtener un punto en cada iteraci´on con potencial p hipervolumen cubierto hasta ese momento. Algoritmo 4 Anytime augmented weighted Tchebyche↵ 1: z(1) calcular ´optimo lexicogr´afico para el orden (f1, f2) 2: z(2) calcular ´optimo lexicogr´afico para el orden (f2, f1) 3: FP {z(1) , z(2) } // Frente de Pareto 4: Cola {(z(1) , z(2) )} 5: while Cola 6= ; do 6: (z(1) , z(2) ) extraerParDeMayorArea(Cola) 7: z resolverTchebyche↵((z(1) , z(2) )) 8: if z no dominado en (z(1) , z(2) ) then 9: FP = FP [{z} 10: Cola Cola [{(z(1) , z), (z, z(2) )} 11: end if 12: end while 4.5. Algoritmo anytime basado en "-constraint aum (AA"-con) El Algoritmo 5 act´ua de forma similar al anterior, analiza en el espacio objetivo delimitado por pares de puntos. La difere entre ambos algoritmos es que en AA"-con se utiliza el algor aumentado para encontrar la soluci´on eficiente dentro de ese r El algoritmo "-constraint aumentado necesita un valor de ", al punto medio entre z(1) y z(2) (l´ınea 7). Si existe una soluci´o menor que dicho ", el algoritmo la encontrar´a y la incorporar´a a una soluci´on dominada (es decir, que la haya encontrado antes ninguna soluci´on, entonces debe a˜nadir a la cola de explora rect´angulo que no ha sido explorado, es decir, aquella con f1
  11. 11. Introducción Next Release Problem Algoritmos Resultados Conclusiones y Trabajo futuro 11 / 19Septiembre 2016JISBD 2016 (CEDI), Salamanca, España Anytime 𝜀-constraint aumentado f1 f2 Algoritmo 5 Anytime "-constraint aumentado 1: z(1) calcular ´optimo lexicogr´afico para el orden (f1, f2) 2: z(2) calcular ´optimo lexicogr´afico para el orden (f2, f1) 3: FP {z(1) , z(2) } // Frente de Pareto 4: Cola {(z(1) , z(2) )} 5: while Cola 6= ; do 6: (z(1) , z(2) ) extraerParDeMayorArea(Cola) 7: " (z (1) 1 + z (2) 1 )/2 8: z resolver {m´ın f2(x) l, s.a. f1(x) + l = ", x 2 X} 9: if z no dominado en (z(1) , z(2) ) then 10: FP = FP [{z} 11: Cola Cola [{(z(1) , z), (z, z(2) )} 12: else 13: Cola Cola [{((", z (1) 2 ), z(2) )} 14: end if 15: end while 5. Estudio experimental En esta secci´on comparamos los resultados obtenidos por lo goritmos de programaci´on lineal entera. En particular, estamos estudiar la calidad del frente de Pareto cuando limitamos el cuci´on de los algoritmos. Este escenario puede corresponderse c en la pr´actica, en especial, cuando se usan metodolog´ıas ´agiles verse el problema de determinar los requisitos a implementar iteraci´on. Por otro lado, nos gustar´ıa comparar los resultados ci´on lineal entera con los algoritmos metaheur´ısticos que se ha zando para resolver este problema hasta el momento. El c´odigo mentaci´on de los algoritmos utilizados en el estudio est´a public https://github.com/jfrchicanog/NextReleaseProblem. En d bi´en puede encontrarse un enlace a las instancias.
  12. 12. Introducción Next Release Problem Algoritmos Resultados Conclusiones y Trabajo futuro 12 / 19Septiembre 2016JISBD 2016 (CEDI), Salamanca, España Resultados: Instancias • 17 instancias de Xuan et al. • 2 instancias de Del Sagrado et al. Instancia Requisitos Clientes nrp1 140 100 nrp2 620 500 nrp3 1500 500 nrp4 3250 750 nrp5 1500 1000 nrp-e1 3502 536 nrp-e2 4254 491 nrp-e3 2844 456 nrp-e4 3186 399 nrp-g1 2690 445 nrp-g2 2650 315 nrp-g3 2512 423 nrp-g4 2246 294 nrp-m1 4060 768 nrp-m2 4368 617 nrp-m3 3566 765 nrp-m4 3643 568 Instancia Requisitos Clientes dataset1 20 5 dataset2 100 5
  13. 13. Introducción Next Release Problem Algoritmos Resultados Conclusiones y Trabajo futuro 13 / 19Septiembre 2016JISBD 2016 (CEDI), Salamanca, España Resultados: RQ1 (frente con límite de tiempo) 0,00E+00 5,00E+07 1,00E+08 1,50E+08 2,00E+08 2,50E+08 Hipervolumen en 5 minutos !-constraint 1 ILP !-constraint 2 ILPs !-constraint aumentado anytime tchebycheff anytime !-constraint aumentado
  14. 14. Introducción Next Release Problem Algoritmos Resultados Conclusiones y Trabajo futuro 14 / 19Septiembre 2016JISBD 2016 (CEDI), Salamanca, España Resultados: RQ1 (frente con límite de tiempo) 0,00E+00 5,00E+06 1,00E+07 1,50E+07 2,00E+07 2,50E+07 3,00E+07 3,50E+07 Hipervolumen en 5 minutos !-constraint 1 ILP !-constraint 2 ILPs !-constraint aumentado anytime tchebycheff anytime !-constraint aumentado
  15. 15. Introducción Next Release Problem Algoritmos Resultados Conclusiones y Trabajo futuro 15 / 19Septiembre 2016JISBD 2016 (CEDI), Salamanca, España Resultados: RQ2 (comparación con metaHs) 0,00E+00 5,00E+07 1,00E+08 1,50E+08 2,00E+08 2,50E+08 Hipervolumen de algoritmos anytime frente a NSGA-II anytime tchebycheff anytime !-constraint aumentado NSGA-II
  16. 16. Introducción Next Release Problem Algoritmos Resultados Conclusiones y Trabajo futuro 16 / 19Septiembre 2016JISBD 2016 (CEDI), Salamanca, España Resultados: RQ2 (comparación con metaHs) con aplicar una t´ecnica exacta para resolverlos. En cualquier caso, en la tabla 3 mostramos el hipervolumen y el tiempo de ejecuci´on requerido por ACO, GRASP y NSGA-II para resolver estas instancias, y en la Figura 1 mostramos el frente de Pareto y las aproximaciones obtenidas por las metaheur´ısticas. Tabla 3. Comparaci´on del hipervolumen obtenido y tiempo requerido por NSGA-II, GRASP y ACS en las instancias de Del Sagrado et al. En el caso de las metaheur´ısticas el tiempo e hipervolumen son promedios de 100 ejecuciones independientes. dataset1 dataset2 Algoritmo % esfuerzo Hipervolumen Tiempo (ms) Hipervolumen Tiempo (ms) 30 6843 1892 218138 28128 NSGA-II 50 15677 1981 495949 35046 70 24409 2034 873384 38300 30 5851 363 112419 28920 GRASP 50 14508 1208 425642 118340 70 24474 840 769613 324604 30 7805 639 234583 616874 ACS 50 18153 788 527685 770221 70 29196 837 902769 881951 "-con. 1-ILP 100 52271 290 1797324 11553
  17. 17. Introducción Next Release Problem Algoritmos Resultados Conclusiones y Trabajo futuro 17 / 19Septiembre 2016JISBD 2016 (CEDI), Salamanca, España Resultados: RQ2 (comparación con metaHs) 0 100 200 300 400 500 600 700 800 0 10 20 30 40 50 60 Valor Coste ACS NSGAII GRASP Pareto (a) dataset1 0 500 1000 1500 2000 0 100 200 300 400 500 600 700 Valor Coste ACS NSGAII GRASP Pareto (b) dataset2 Figura 1. Frente de Pareto y aproximaciones de los algoritmos metaheur´ısticos.
  18. 18. Introducción Next Release Problem Algoritmos Resultados Conclusiones y Trabajo futuro 18 / 19Septiembre 2016JISBD 2016 (CEDI), Salamanca, España Conclusiones y Trabajo Futuro •Los algoritmos basados en ILP suficientes para resolver la mayorías de las instancias de interés en la actualidad para el NRP multiobjetivo •Las estrategias anytime obtienen un frente bien distribuido en cualquier momento •Código disponible en https://github.com/jfrchicanog/NextReleaseProblem Conclusiones • Añadir incertidumbre al problema • Estudiar las “sorpresas” descubiertas en la investigación Trabajo Futuro
  19. 19. 19 / 19Septiembre 2016JISBD 2016 (CEDI), Salamanca, España Gracias por su atención !!! Dos estrategias de búsqueda anytime basadas en programación lineal entera para resolver el problema de selección de requisitos TIN2014-57341-R (MoveOn) TIN2015-71841-REDT (SEBASE Net)

×