SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
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
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
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
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?
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.
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
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.
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.
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)
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
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.
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
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
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
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
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
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.
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 / 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)

Más contenido relacionado

La actualidad más candente (20)

Recursividad
RecursividadRecursividad
Recursividad
 
Recursividad
RecursividadRecursividad
Recursividad
 
Recursividad
RecursividadRecursividad
Recursividad
 
Algoritmos recursivos
Algoritmos recursivosAlgoritmos recursivos
Algoritmos recursivos
 
Algoritmos y Estructura de Datos
Algoritmos y Estructura de DatosAlgoritmos y Estructura de Datos
Algoritmos y Estructura de Datos
 
2 algoritmos-1
2 algoritmos-12 algoritmos-1
2 algoritmos-1
 
Algoritmos recursivos
Algoritmos recursivosAlgoritmos recursivos
Algoritmos recursivos
 
Módulo 5 (sin estilo)
Módulo 5 (sin estilo)Módulo 5 (sin estilo)
Módulo 5 (sin estilo)
 
RECURSIVIDAD C++
RECURSIVIDAD C++RECURSIVIDAD C++
RECURSIVIDAD C++
 
tutorial y Guia de fundamentos drscheme
tutorial y Guia de fundamentos drschemetutorial y Guia de fundamentos drscheme
tutorial y Guia de fundamentos drscheme
 
Unidad 4 est. dat. recursividad
Unidad 4  est. dat. recursividadUnidad 4  est. dat. recursividad
Unidad 4 est. dat. recursividad
 
Tata
TataTata
Tata
 
Programación Funcional con Scheme
Programación Funcional con SchemeProgramación Funcional con Scheme
Programación Funcional con Scheme
 
Informe Técnico - Recursividad Unidad 2 (Rubi Veronica)
Informe Técnico - Recursividad Unidad 2 (Rubi Veronica)Informe Técnico - Recursividad Unidad 2 (Rubi Veronica)
Informe Técnico - Recursividad Unidad 2 (Rubi Veronica)
 
MANUAL CALCULADORA VOYAGE Capitulo 2 (6)
MANUAL CALCULADORA VOYAGE Capitulo 2 (6)MANUAL CALCULADORA VOYAGE Capitulo 2 (6)
MANUAL CALCULADORA VOYAGE Capitulo 2 (6)
 
Introducción a dr racket
Introducción a dr racketIntroducción a dr racket
Introducción a dr racket
 
Simplex
SimplexSimplex
Simplex
 
Programacion lineal
Programacion linealProgramacion lineal
Programacion lineal
 
Practica 08
Practica 08Practica 08
Practica 08
 
Estructura de Datos: Recursividad
Estructura de Datos: RecursividadEstructura de Datos: Recursividad
Estructura de Datos: Recursividad
 

Destacado

CONNECT -collecting Nordic best practices within welfare technology
CONNECT -collecting Nordic best practices within welfare technologyCONNECT -collecting Nordic best practices within welfare technology
CONNECT -collecting Nordic best practices within welfare technologyTHL
 
Pengelolaan dana ketahanan energi, majalah Mineral dan Energi vol 14 no 2 - j...
Pengelolaan dana ketahanan energi, majalah Mineral dan Energi vol 14 no 2 - j...Pengelolaan dana ketahanan energi, majalah Mineral dan Energi vol 14 no 2 - j...
Pengelolaan dana ketahanan energi, majalah Mineral dan Energi vol 14 no 2 - j...Bevy Saragi Sitio
 
地域レポーター養成講座2016−1
地域レポーター養成講座2016−1地域レポーター養成講座2016−1
地域レポーター養成講座2016−1Terumasa Okabe
 
Gbi c
Gbi cGbi c
Gbi cjiwer
 
Informatica aplicada III
Informatica aplicada IIIInformatica aplicada III
Informatica aplicada IIILeandro Ibañez
 
善远 薪酬指南
善远 薪酬指南善远 薪酬指南
善远 薪酬指南Shane Liu
 
contoh mhq tahfidz alquran
contoh mhq tahfidz alqurancontoh mhq tahfidz alquran
contoh mhq tahfidz alquranSiti Rohmawatin
 
MANAJEMENDANPENDOKUMENTASIANASUHANKEBIDANAN PADABAYINY.“L” DENGANASFIKSIASED...
MANAJEMENDANPENDOKUMENTASIANASUHANKEBIDANAN  PADABAYINY.“L” DENGANASFIKSIASED...MANAJEMENDANPENDOKUMENTASIANASUHANKEBIDANAN  PADABAYINY.“L” DENGANASFIKSIASED...
MANAJEMENDANPENDOKUMENTASIANASUHANKEBIDANAN PADABAYINY.“L” DENGANASFIKSIASED...Warnet Raha
 
Brochure tiếng Việt trường Anh ngữ LSLC
Brochure tiếng Việt trường Anh ngữ LSLCBrochure tiếng Việt trường Anh ngữ LSLC
Brochure tiếng Việt trường Anh ngữ LSLCMYD Vietnam
 
Current challenges and an overview of the National Technology Enabled Care (T...
Current challenges and an overview of the National Technology Enabled Care (T...Current challenges and an overview of the National Technology Enabled Care (T...
Current challenges and an overview of the National Technology Enabled Care (T...THL
 
Agile transfromation
Agile transfromationAgile transfromation
Agile transfromationMax Carlin
 
Introduction to attention deficit hyperactivity disorder
Introduction to attention deficit hyperactivity disorderIntroduction to attention deficit hyperactivity disorder
Introduction to attention deficit hyperactivity disorderHareeshya AVinz
 
Metabolismo y excreción de los fármacos
Metabolismo y excreción de los fármacos Metabolismo y excreción de los fármacos
Metabolismo y excreción de los fármacos Antonio DC
 
Mixed Integer Linear Programming Formulation for the Taxi Sharing Problem
Mixed Integer Linear Programming Formulation for the Taxi Sharing ProblemMixed Integer Linear Programming Formulation for the Taxi Sharing Problem
Mixed Integer Linear Programming Formulation for the Taxi Sharing Problemjfrchicanog
 
Linea atlanta1996
Linea atlanta1996Linea atlanta1996
Linea atlanta1996Ahatzin
 

Destacado (19)

Дивовижна подорож
Дивовижна подорожДивовижна подорож
Дивовижна подорож
 
CONNECT -collecting Nordic best practices within welfare technology
CONNECT -collecting Nordic best practices within welfare technologyCONNECT -collecting Nordic best practices within welfare technology
CONNECT -collecting Nordic best practices within welfare technology
 
Pengelolaan dana ketahanan energi, majalah Mineral dan Energi vol 14 no 2 - j...
Pengelolaan dana ketahanan energi, majalah Mineral dan Energi vol 14 no 2 - j...Pengelolaan dana ketahanan energi, majalah Mineral dan Energi vol 14 no 2 - j...
Pengelolaan dana ketahanan energi, majalah Mineral dan Energi vol 14 no 2 - j...
 
地域レポーター養成講座2016−1
地域レポーター養成講座2016−1地域レポーター養成講座2016−1
地域レポーター養成講座2016−1
 
Gbi c
Gbi cGbi c
Gbi c
 
Dagoberto machete ppt
Dagoberto machete pptDagoberto machete ppt
Dagoberto machete ppt
 
4. CMS e-commerce
4.  CMS e-commerce4.  CMS e-commerce
4. CMS e-commerce
 
Informatica aplicada III
Informatica aplicada IIIInformatica aplicada III
Informatica aplicada III
 
善远 薪酬指南
善远 薪酬指南善远 薪酬指南
善远 薪酬指南
 
contoh mhq tahfidz alquran
contoh mhq tahfidz alqurancontoh mhq tahfidz alquran
contoh mhq tahfidz alquran
 
MANAJEMENDANPENDOKUMENTASIANASUHANKEBIDANAN PADABAYINY.“L” DENGANASFIKSIASED...
MANAJEMENDANPENDOKUMENTASIANASUHANKEBIDANAN  PADABAYINY.“L” DENGANASFIKSIASED...MANAJEMENDANPENDOKUMENTASIANASUHANKEBIDANAN  PADABAYINY.“L” DENGANASFIKSIASED...
MANAJEMENDANPENDOKUMENTASIANASUHANKEBIDANAN PADABAYINY.“L” DENGANASFIKSIASED...
 
Brochure tiếng Việt trường Anh ngữ LSLC
Brochure tiếng Việt trường Anh ngữ LSLCBrochure tiếng Việt trường Anh ngữ LSLC
Brochure tiếng Việt trường Anh ngữ LSLC
 
Current challenges and an overview of the National Technology Enabled Care (T...
Current challenges and an overview of the National Technology Enabled Care (T...Current challenges and an overview of the National Technology Enabled Care (T...
Current challenges and an overview of the National Technology Enabled Care (T...
 
Agile transfromation
Agile transfromationAgile transfromation
Agile transfromation
 
Introduction to attention deficit hyperactivity disorder
Introduction to attention deficit hyperactivity disorderIntroduction to attention deficit hyperactivity disorder
Introduction to attention deficit hyperactivity disorder
 
05 02 05
05 02 0505 02 05
05 02 05
 
Metabolismo y excreción de los fármacos
Metabolismo y excreción de los fármacos Metabolismo y excreción de los fármacos
Metabolismo y excreción de los fármacos
 
Mixed Integer Linear Programming Formulation for the Taxi Sharing Problem
Mixed Integer Linear Programming Formulation for the Taxi Sharing ProblemMixed Integer Linear Programming Formulation for the Taxi Sharing Problem
Mixed Integer Linear Programming Formulation for the Taxi Sharing Problem
 
Linea atlanta1996
Linea atlanta1996Linea atlanta1996
Linea atlanta1996
 

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

Unmsm fisi - programación lineal entera y binaria - io1 cl15 entera-binaria
Unmsm   fisi - programación lineal entera y binaria - io1 cl15 entera-binariaUnmsm   fisi - programación lineal entera y binaria - io1 cl15 entera-binaria
Unmsm fisi - programación lineal entera y binaria - io1 cl15 entera-binariaJulio Pari
 
Resolviendo in problema multi-objetivo de selección de requisitos mediante re...
Resolviendo in problema multi-objetivo de selección de requisitos mediante re...Resolviendo in problema multi-objetivo de selección de requisitos mediante re...
Resolviendo in problema multi-objetivo de selección de requisitos mediante re...jfrchicanog
 
Uso de CMSA para resolver el problema de selección de requisitos
Uso de CMSA para resolver el problema de selección de requisitosUso de CMSA para resolver el problema de selección de requisitos
Uso de CMSA para resolver el problema de selección de requisitosjfrchicanog
 
Investigacion de Operaciones No. 2 - R. Campillo
Investigacion de Operaciones No. 2 - R. CampilloInvestigacion de Operaciones No. 2 - R. Campillo
Investigacion de Operaciones No. 2 - R. CampilloRafael Campillo Rodriguez
 
Unmsm fisi - programación lineal 2 - io1 cl04
Unmsm   fisi - programación lineal 2 - io1 cl04Unmsm   fisi - programación lineal 2 - io1 cl04
Unmsm fisi - programación lineal 2 - io1 cl04Julio Pari
 
Combinando algoritmos exactos y heurísticos para problemas en ISGB
Combinando algoritmos exactos y heurísticos para problemas en ISGBCombinando algoritmos exactos y heurísticos para problemas en ISGB
Combinando algoritmos exactos y heurísticos para problemas en ISGBjfrchicanog
 
Modelos lineales y formatos. Manipulacion de ecuaciones
Modelos lineales y formatos. Manipulacion de ecuacionesModelos lineales y formatos. Manipulacion de ecuaciones
Modelos lineales y formatos. Manipulacion de ecuacionesmariana609125
 
Programación no lineal
Programación no linealProgramación no lineal
Programación no linealMarcos Barboza
 
S08.s1 Material Complementario.pptx
S08.s1 Material Complementario.pptxS08.s1 Material Complementario.pptx
S08.s1 Material Complementario.pptxsantiago549575
 
Programación lineal y pert. do
Programación lineal y pert. doProgramación lineal y pert. do
Programación lineal y pert. doJohn Leyton
 
Explicacion resultadoslindo
Explicacion resultadoslindoExplicacion resultadoslindo
Explicacion resultadoslindoRosana Delgado A
 
Programación lineal
Programación linealProgramación lineal
Programación linealdanile889_l
 
Programación no linealeeee fernando yepez
Programación no linealeeee fernando yepezProgramación no linealeeee fernando yepez
Programación no linealeeee fernando yepezDra Yarelis Vargas
 

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

Unmsm fisi - programación lineal entera y binaria - io1 cl15 entera-binaria
Unmsm   fisi - programación lineal entera y binaria - io1 cl15 entera-binariaUnmsm   fisi - programación lineal entera y binaria - io1 cl15 entera-binaria
Unmsm fisi - programación lineal entera y binaria - io1 cl15 entera-binaria
 
Resolviendo in problema multi-objetivo de selección de requisitos mediante re...
Resolviendo in problema multi-objetivo de selección de requisitos mediante re...Resolviendo in problema multi-objetivo de selección de requisitos mediante re...
Resolviendo in problema multi-objetivo de selección de requisitos mediante re...
 
Uso de CMSA para resolver el problema de selección de requisitos
Uso de CMSA para resolver el problema de selección de requisitosUso de CMSA para resolver el problema de selección de requisitos
Uso de CMSA para resolver el problema de selección de requisitos
 
Investigacion de Operaciones No. 2 - R. Campillo
Investigacion de Operaciones No. 2 - R. CampilloInvestigacion de Operaciones No. 2 - R. Campillo
Investigacion de Operaciones No. 2 - R. Campillo
 
Unmsm fisi - programación lineal 2 - io1 cl04
Unmsm   fisi - programación lineal 2 - io1 cl04Unmsm   fisi - programación lineal 2 - io1 cl04
Unmsm fisi - programación lineal 2 - io1 cl04
 
380531571-funcion-objetivo.pptx
380531571-funcion-objetivo.pptx380531571-funcion-objetivo.pptx
380531571-funcion-objetivo.pptx
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Combinando algoritmos exactos y heurísticos para problemas en ISGB
Combinando algoritmos exactos y heurísticos para problemas en ISGBCombinando algoritmos exactos y heurísticos para problemas en ISGB
Combinando algoritmos exactos y heurísticos para problemas en ISGB
 
Clase 03_PPL2.pptx
Clase 03_PPL2.pptxClase 03_PPL2.pptx
Clase 03_PPL2.pptx
 
Modelos lineales y formatos. Manipulacion de ecuaciones
Modelos lineales y formatos. Manipulacion de ecuacionesModelos lineales y formatos. Manipulacion de ecuaciones
Modelos lineales y formatos. Manipulacion de ecuaciones
 
Ejemplos vARIOS
Ejemplos vARIOSEjemplos vARIOS
Ejemplos vARIOS
 
Programación no lineal
Programación no linealProgramación no lineal
Programación no lineal
 
Despacho economico
Despacho economicoDespacho economico
Despacho economico
 
S08.s1 Material Complementario.pptx
S08.s1 Material Complementario.pptxS08.s1 Material Complementario.pptx
S08.s1 Material Complementario.pptx
 
Analisis de dualidad
Analisis de dualidadAnalisis de dualidad
Analisis de dualidad
 
Programación lineal y pert. do
Programación lineal y pert. doProgramación lineal y pert. do
Programación lineal y pert. do
 
Explicacion resultadoslindo
Explicacion resultadoslindoExplicacion resultadoslindo
Explicacion resultadoslindo
 
Programación lineal
Programación linealProgramación lineal
Programación lineal
 
Programación no linealeeee fernando yepez
Programación no linealeeee fernando yepezProgramación no linealeeee fernando yepez
Programación no linealeeee fernando yepez
 
Optimizacion_Robusta_II
Optimizacion_Robusta_IIOptimizacion_Robusta_II
Optimizacion_Robusta_II
 

Más de jfrchicanog

Seminario-taller: Introducción a la Ingeniería del Software Guiada or Búsqueda
Seminario-taller: Introducción a la Ingeniería del Software Guiada or BúsquedaSeminario-taller: Introducción a la Ingeniería del Software Guiada or Búsqueda
Seminario-taller: Introducción a la Ingeniería del Software Guiada or Búsquedajfrchicanog
 
Quasi-Optimal Recombination Operator
Quasi-Optimal Recombination OperatorQuasi-Optimal Recombination Operator
Quasi-Optimal Recombination Operatorjfrchicanog
 
Enhancing Partition Crossover with Articulation Points Analysis
Enhancing Partition Crossover with Articulation Points AnalysisEnhancing Partition Crossover with Articulation Points Analysis
Enhancing Partition Crossover with Articulation Points Analysisjfrchicanog
 
Search-Based Software Project Scheduling
Search-Based Software Project SchedulingSearch-Based Software Project Scheduling
Search-Based Software Project Schedulingjfrchicanog
 
Efficient Hill Climber for Constrained Pseudo-Boolean Optimization Problems
Efficient Hill Climber for Constrained Pseudo-Boolean Optimization ProblemsEfficient Hill Climber for Constrained Pseudo-Boolean Optimization Problems
Efficient Hill Climber for Constrained Pseudo-Boolean Optimization Problemsjfrchicanog
 
Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization
Efficient Hill Climber for Multi-Objective Pseudo-Boolean OptimizationEfficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization
Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimizationjfrchicanog
 
Descomposición en Landscapes Elementales del Problema de Diseño de Redes de R...
Descomposición en Landscapes Elementales del Problema de Diseño de Redes de R...Descomposición en Landscapes Elementales del Problema de Diseño de Redes de R...
Descomposición en Landscapes Elementales del Problema de Diseño de Redes de R...jfrchicanog
 
Optimización Multi-objetivo Basada en Preferencias para la Planificación de P...
Optimización Multi-objetivo Basada en Preferencias para la Planificación de P...Optimización Multi-objetivo Basada en Preferencias para la Planificación de P...
Optimización Multi-objetivo Basada en Preferencias para la Planificación de P...jfrchicanog
 
On the application of SAT solvers for Search Based Software Testing
On the application of SAT solvers for Search Based Software TestingOn the application of SAT solvers for Search Based Software Testing
On the application of SAT solvers for Search Based Software Testingjfrchicanog
 
Elementary Landscape Decomposition of the Hamiltonian Path Optimization Problem
Elementary Landscape Decomposition of the Hamiltonian Path Optimization ProblemElementary Landscape Decomposition of the Hamiltonian Path Optimization Problem
Elementary Landscape Decomposition of the Hamiltonian Path Optimization Problemjfrchicanog
 
Efficient Identification of Improving Moves in a Ball for Pseudo-Boolean Prob...
Efficient Identification of Improving Moves in a Ball for Pseudo-Boolean Prob...Efficient Identification of Improving Moves in a Ball for Pseudo-Boolean Prob...
Efficient Identification of Improving Moves in a Ball for Pseudo-Boolean Prob...jfrchicanog
 
Recent Research in Search Based Software Testing
Recent Research in Search Based Software TestingRecent Research in Search Based Software Testing
Recent Research in Search Based Software Testingjfrchicanog
 
Problem Understanding through Landscape Theory
Problem Understanding through Landscape TheoryProblem Understanding through Landscape Theory
Problem Understanding through Landscape Theoryjfrchicanog
 
Searching for Liveness Property Violations in Concurrent Systems with ACO
Searching for Liveness Property Violations in Concurrent Systems with ACOSearching for Liveness Property Violations in Concurrent Systems with ACO
Searching for Liveness Property Violations in Concurrent Systems with ACOjfrchicanog
 
Finding Safety Errors with ACO
Finding Safety Errors with ACOFinding Safety Errors with ACO
Finding Safety Errors with ACOjfrchicanog
 
Elementary Landscape Decomposition of Combinatorial Optimization Problems
Elementary Landscape Decomposition of Combinatorial Optimization ProblemsElementary Landscape Decomposition of Combinatorial Optimization Problems
Elementary Landscape Decomposition of Combinatorial Optimization Problemsjfrchicanog
 
Elementary Landscape Decomposition of Combinatorial Optimization Problems
Elementary Landscape Decomposition of Combinatorial Optimization ProblemsElementary Landscape Decomposition of Combinatorial Optimization Problems
Elementary Landscape Decomposition of Combinatorial Optimization Problemsjfrchicanog
 
Elementary Landscape Decomposition of the Quadratic Assignment Problem
Elementary Landscape Decomposition of the Quadratic Assignment ProblemElementary Landscape Decomposition of the Quadratic Assignment Problem
Elementary Landscape Decomposition of the Quadratic Assignment Problemjfrchicanog
 
Exact Computation of the Expectation Curves of the Bit-Flip Mutation using La...
Exact Computation of the Expectation Curves of the Bit-Flip Mutation using La...Exact Computation of the Expectation Curves of the Bit-Flip Mutation using La...
Exact Computation of the Expectation Curves of the Bit-Flip Mutation using La...jfrchicanog
 
Comparing Metaheuristic Algorithms for Error Detection in Java Programs
Comparing Metaheuristic Algorithms for Error Detection in Java ProgramsComparing Metaheuristic Algorithms for Error Detection in Java Programs
Comparing Metaheuristic Algorithms for Error Detection in Java Programsjfrchicanog
 

Más de jfrchicanog (20)

Seminario-taller: Introducción a la Ingeniería del Software Guiada or Búsqueda
Seminario-taller: Introducción a la Ingeniería del Software Guiada or BúsquedaSeminario-taller: Introducción a la Ingeniería del Software Guiada or Búsqueda
Seminario-taller: Introducción a la Ingeniería del Software Guiada or Búsqueda
 
Quasi-Optimal Recombination Operator
Quasi-Optimal Recombination OperatorQuasi-Optimal Recombination Operator
Quasi-Optimal Recombination Operator
 
Enhancing Partition Crossover with Articulation Points Analysis
Enhancing Partition Crossover with Articulation Points AnalysisEnhancing Partition Crossover with Articulation Points Analysis
Enhancing Partition Crossover with Articulation Points Analysis
 
Search-Based Software Project Scheduling
Search-Based Software Project SchedulingSearch-Based Software Project Scheduling
Search-Based Software Project Scheduling
 
Efficient Hill Climber for Constrained Pseudo-Boolean Optimization Problems
Efficient Hill Climber for Constrained Pseudo-Boolean Optimization ProblemsEfficient Hill Climber for Constrained Pseudo-Boolean Optimization Problems
Efficient Hill Climber for Constrained Pseudo-Boolean Optimization Problems
 
Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization
Efficient Hill Climber for Multi-Objective Pseudo-Boolean OptimizationEfficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization
Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization
 
Descomposición en Landscapes Elementales del Problema de Diseño de Redes de R...
Descomposición en Landscapes Elementales del Problema de Diseño de Redes de R...Descomposición en Landscapes Elementales del Problema de Diseño de Redes de R...
Descomposición en Landscapes Elementales del Problema de Diseño de Redes de R...
 
Optimización Multi-objetivo Basada en Preferencias para la Planificación de P...
Optimización Multi-objetivo Basada en Preferencias para la Planificación de P...Optimización Multi-objetivo Basada en Preferencias para la Planificación de P...
Optimización Multi-objetivo Basada en Preferencias para la Planificación de P...
 
On the application of SAT solvers for Search Based Software Testing
On the application of SAT solvers for Search Based Software TestingOn the application of SAT solvers for Search Based Software Testing
On the application of SAT solvers for Search Based Software Testing
 
Elementary Landscape Decomposition of the Hamiltonian Path Optimization Problem
Elementary Landscape Decomposition of the Hamiltonian Path Optimization ProblemElementary Landscape Decomposition of the Hamiltonian Path Optimization Problem
Elementary Landscape Decomposition of the Hamiltonian Path Optimization Problem
 
Efficient Identification of Improving Moves in a Ball for Pseudo-Boolean Prob...
Efficient Identification of Improving Moves in a Ball for Pseudo-Boolean Prob...Efficient Identification of Improving Moves in a Ball for Pseudo-Boolean Prob...
Efficient Identification of Improving Moves in a Ball for Pseudo-Boolean Prob...
 
Recent Research in Search Based Software Testing
Recent Research in Search Based Software TestingRecent Research in Search Based Software Testing
Recent Research in Search Based Software Testing
 
Problem Understanding through Landscape Theory
Problem Understanding through Landscape TheoryProblem Understanding through Landscape Theory
Problem Understanding through Landscape Theory
 
Searching for Liveness Property Violations in Concurrent Systems with ACO
Searching for Liveness Property Violations in Concurrent Systems with ACOSearching for Liveness Property Violations in Concurrent Systems with ACO
Searching for Liveness Property Violations in Concurrent Systems with ACO
 
Finding Safety Errors with ACO
Finding Safety Errors with ACOFinding Safety Errors with ACO
Finding Safety Errors with ACO
 
Elementary Landscape Decomposition of Combinatorial Optimization Problems
Elementary Landscape Decomposition of Combinatorial Optimization ProblemsElementary Landscape Decomposition of Combinatorial Optimization Problems
Elementary Landscape Decomposition of Combinatorial Optimization Problems
 
Elementary Landscape Decomposition of Combinatorial Optimization Problems
Elementary Landscape Decomposition of Combinatorial Optimization ProblemsElementary Landscape Decomposition of Combinatorial Optimization Problems
Elementary Landscape Decomposition of Combinatorial Optimization Problems
 
Elementary Landscape Decomposition of the Quadratic Assignment Problem
Elementary Landscape Decomposition of the Quadratic Assignment ProblemElementary Landscape Decomposition of the Quadratic Assignment Problem
Elementary Landscape Decomposition of the Quadratic Assignment Problem
 
Exact Computation of the Expectation Curves of the Bit-Flip Mutation using La...
Exact Computation of the Expectation Curves of the Bit-Flip Mutation using La...Exact Computation of the Expectation Curves of the Bit-Flip Mutation using La...
Exact Computation of the Expectation Curves of the Bit-Flip Mutation using La...
 
Comparing Metaheuristic Algorithms for Error Detection in Java Programs
Comparing Metaheuristic Algorithms for Error Detection in Java ProgramsComparing Metaheuristic Algorithms for Error Detection in Java Programs
Comparing Metaheuristic Algorithms for Error Detection in Java Programs
 

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

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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 / 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)