SlideShare una empresa de Scribd logo
1 de 12
Descargar para leer sin conexión
Uso de CMSA para resolver el problema
de selección de requisitos
Miguel Ángel Domínguez-Ríos, Francisco Chicano, Enrique Alba
ELEMENTOS DE LA IDENTIDAD
2. Versiones de la marca Universidad de Málaga
SIÓN HORIZONTAL EN POSITIVO VERSIÓN VERTICAL EN POSITIVO
SIÓN HORIZONTAL EN NEGATIVO VERSIÓN VERTICAL EN NEGATIVO
Uso de CMSA para resolver el problema de selección de requisitos
CAEPIA 2018, 23-26 de Octubre, Granada, España 2
• Motivación
• Problema de selección de requisitos
• Construct, Merge, Solve & Adapt
• Experimentos y Resultados
• Conclusiones y Trabajo Futuro
Índice
Uso de CMSA para resolver el problema de selección de requisitos
CAEPIA 2018, 23-26 de Octubre, Granada, España 3
Gray-Box (vs. Black-Box) Optimization
x f(x)
x f(x)
Para la mayoría de los
problemas reales conocemos
(casi) todos los detalles
Uso de CMSA para resolver el problema de selección de requisitos
CAEPIA 2018, 23-26 de Octubre, Granada, España 4
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:
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:
coste(X) =
nX
cj y valor(X) =
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
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.
Next Release Problem (NRP)
Uso de CMSA para resolver el problema de selección de requisitos
CAEPIA 2018, 23-26 de Octubre, Granada, España 5
Next Release Problem (NRP)
Uso de CMSA para resolver el problema de selección de requisitos
CAEPIA 2018, 23-26 de Octubre, Granada, España 6
Construct, Merge, Solve & Adapt (CMSA)
a el
que
eron
otros
eben
eden
ue el
sten
ando
delar
ncia
rma,
si el
parte
esta
a un
sitos
o de
n las
ados
, de
mos
Christian Blum et al. [3] establecieron un algoritmo gen´eri-
co h´ıbrido que fue usado para resolver diversos problemas
combinatorios. Exponemos en el Algoritmo 1 el pseudoc´odigo
de CMSA, que tambi´en ser´a la base de nuestros algoritmos
heur´ısticos, y explicamos brevemente su significado a conti-
nuaci´on.
Algoritmo 1 Construct, Merge, Solve and Adapt (CMSA)
1: input: instancia I, valores de los par´ametros na y agemax
2: Sbsf = NULL; C
0
= ;
3: age[c] = 0 para todo c 2 C
4: mientras tiempo de CPU no excedido hacer
5: para i = 1 hasta na hacer
6: S=ProbabilisticSolutionGenerator(C)
7: para todo c 2 S y c /2 C
0
hacer
8: age[c] = 0 ; C
0
= C
0
[ c
9: fin para
10: fin para
11: S
0
opt=ApplyExactSolver(C
0
)
12: si S
0
opt es mejor que Sbsf entonces Sbsf = S
0
opt
13: Adapt (C
0
, S
0
opt, agemax)
14: fin mientras
15: output: Sbsf
El algoritmo parte de la suposici´on de que cada soluci´on
v´alida para una instancia I de un problema P dado, se puede
representar mediante un subconjunto de un conjunto C de
C. Blum, P. Pinacho, M. López-Ibáñez,
J.A. Lozano, Computers & Operations
Research, 68:75-88 (2016)
Uso de CMSA para resolver el problema de selección de requisitos
CAEPIA 2018, 23-26 de Octubre, Granada, España 7
CMSA en NRP
Dos propuestas:
• Los componentes son requisitos
• Los componentes son clientes
ProbabilisticSolutionGeneration
Mientras haya clientes por procesar
Escoger un cliente aleatorio de los no procesados
Añadir todos sus requisitos demandados y prerrequisitos si el coste lo permite
Si los componentes son requisitos
Añadir requisitos aleatoriamente mientras el coste lo permita
Uso de CMSA para resolver el problema de selección de requisitos
CAEPIA 2018, 23-26 de Octubre, Granada, España 8
Experimentos
Se han generado 24 instancias de gran tamaño aleatoriamente
• Requisitos (n): 20.000 a 120.000
• Clientes (m): 15.000 a 108.000
• Dependencias (k): 4.000 a 108.000
• Costes: 1 a 10
• Pesos de clientes: 1 a 100
• Requisitos demandados por los clientes: 1 a 8
Nombre de las instancias: [a-e]$n-$m-$k
Límite de coste: 30% y 70% de la suma de costes de los requisitos
Límite de tiempo de ejecución: 60 segundos
Resolutor ILP: CPLEX 12.6.2
30 ejecuciones independientes
na=5, agemax=2
Uso de CMSA para resolver el problema de selección de requisitos
CAEPIA 2018, 23-26 de Octubre, Granada, España 9
Cuadro I
VALORES OBJETIVO PROMEDIO PARA LOS TRES M ´ETODOS PROPUESTOS,
USANDO INSTANCIAS GENERADAS ALEATORIAMENTE DURANTE 60
SEGUNDOS Y CON PRESUPUESTO b =0.3
Pn
i=1 ci.
instancia exact cmsa r cmsa s
a20000-15000-4000 146018.0 263387.1 253287.2
a40000-30000-8000 287108.0 337520.6 479641.2
a80000-60000-16000 562858.0 506890.8 558241.5
a120000-90000-24000 866539.0 777432.0 852102.8
b20000-15000-15000 89272.0 103588.9 178089.7
b40000-30000-30000 166559.0 134943.8 323032.7
b80000-60000-60000 340646.0 276249.3 291939.1
b120000-90000-90000 360537.8 418888.4 443369.2
c20000-5000-4000⇤ 168572.0 168572.0 168572.0
c40000-10000-8000⇤ 329473.0 326309.9 325006.1
c80000-20000-16000 290985.0 301780.0 371700.9
c120000-30000-24000 449524.0 449683.2 458293.3
d20000-5000-5000⇤ 161697.0 161696.7 161697.0
d40000-10000-10000⇤ 322819.0 315514.8 313263.4
d80000-20000-20000 269804.0 281128.0 295590.2
d120000-30000-30000 391402.0 392500.8 398782.4
e20000-18000-4000 175321.0 290948.8 269240.6
e40000-36000-8000 355931.0 494322.9 525250.4
e80000-76000-16000 770482.0 654382.5 707105.5
e120000-108000-24000 1078305.9 926170.8 1004343.5
f20000-18000-18000 87259.0 107617.3 199510.7
f40000-36000-36000 177267.0 146402.7 319233.9
f80000-75000-75000 361914.0 295269.3 315160.4
f120000-108000-108000 - 435019.0 459930.6
en ocasiones, muy elevad
b120000-90000-90000, do
en torno al 67 % mejor qu
la utilidad del uso de
aparecen instancias en la
los tres m´etodos son igu
5000-4000. Obs´ervese ta
108000-108000, al tener
y dependencias, CPLEX
soluci´on durante el prime
que en torno a esos valor
empieza a observarse un
m´as productivo el uso de
de algoritmos exactos. S
podemos comprobar que
proporciona unos resulta
deducir la importancia de
ponente en el uso de la he
para una misma instancia
cambiamos dicha definici
Analizando ahora el Cu
antes, pero aumentado el
el mismo n´umero de eje
calculando promedios, se
considerablemente. Para
objetivos obtenidos son ig
´optima), por lo que no se
de los tres algoritmos. S
restantes instancias, es cl
Resultados
Componentes=requisitos
Componentes=clientes
CPLEX solo
El asterisco indica que
CPLEX termina antes del
límite de tiempo
aquete iRace [11], que permitir´ıa obtener una
ptima de dichos par´ametros dentro de un rango
Tambi´en se podr´ıa estudiar m´as a fondo el
un rango m´as amplio de requisitos, clientes
, y estimar a partir de qu´e valores de estos
obtienen mejores resultados para un m´etodo u
dr´ıa conseguir tambi´en usando el paquete iRace
en un algoritmo mediante combinaci´on de los
sirviese como m´etodo h´ıbrido que determina
m´etodo a utilizar en funci´on de los par´ametros
Cuadro III
XON (DATOS APAREADOS) PARA CONTRASTAR SI HAY
TRE LOS ALGORITMOS PROPUESTOS, b =0,3
Pn
i=1 ci
exact cmsa r
cmsa r 0.89110 -
cmsa s 0.01629 0.00040
Cuadro IV
XON (DATOS APAREADOS) PARA CONTRASTAR SI HAY
TRE LOS ALGORITMOS PROPUESTOS, b =0,7
Pn
i=1 ci
exact cmsa r
cmsa r 0.97730 -
nisterio de Econom´ıa y Competitividad (proyec
57341-R y TIN2017-88213-R) y por la Univers
ga.
REFERENCIAS
[1] Philip Achimugu, Ali Selamat, Roliana Ibrahim, and M
rin, A systematic literature review of software requireme
research, Inform. and software technology 56 (2014),
[2] Anthony J. Bagnall, Victor J. Rayward-Smith, and Ian
next release problem, Information and software techn
no. 14, 883–890.
[3] Christian Blum, Pedro Pinacho, Manuel L´opez-Ib´an
Lozano, Construct, merge, solve & adapt a new g
for combinatorial optimization, Computers & Operat
(2016), 75–88.
[4] W. Cook and P. Seymour, Tour merging via branc
INFORMS Journal on Computing 15 (2003), no. 3, 2
[5] Thomas H Cormen, Charles E Leiserson, Ronald L Ri
Stein, Introduction to algorithms, MIT press, 2009.
[6] Joaqu´ın Derrac, Salvador Garc´ıa, Daniel Molina, and F
A practical tutorial on the use of nonparametric st
a methodology for comparing evolutionary and sw
algorithms, Swarm and Evolutionary Computation 1 (2
[7] J.J. Durillo, Y. Zhang, E. Alba, and Antonio J Nebr
multi-objective next release problem, Search Based S
ring, 2009 1st International Symposium on, IEEE, 200
[8] Des Greer and Guenther Ruhe, Software release plann
nary and iterative approach, Information and softwa
(2004), no. 4, 243–253.
[9] Janusz Kacprzyk, Studies in computational intelligen
(2008).
Test de Wilcoxon (apareado)
Uso de CMSA para resolver el problema de selección de requisitos
CAEPIA 2018, 23-26 de Octubre, Granada, España 10
Resultados
Componentes=requisitos
Componentes=clientes
CPLEX solo
Cuadro II
VALORES OBJETIVO PROMEDIO PARA LOS TRES M ´ETODOS PROPUESTOS,
USANDO INSTANCIAS GENERADAS ALEATORIAMENTE DURANTE 60
SEGUNDOS Y CON PRESUPUESTO b =0.7
Pn
i=1 ci.
instancia exact cmsa r cmsa s
a20000-15000-4000 420936.0 417669.1 438157.3
a40000-30000-8000 856336.0 867279.3 888971.7
a80000-60000-16000 562858.0 557780.3 564892.4
a120000-90000-24000 866539.0 858235.1 869302.4
b20000-15000-15000 325142.0 330771.0 343229.2
b40000-30000-30000 650947.5 664219.9 677113.9
b80000-60000-60000 1237348.0 1164320.8 1220072.4
b120000-90000-90000 463548.6 438897.5 733116.3
c20000-5000-4000⇤ 249727.0 249727.0 249727.0
c40000-10000-8000⇤ 492957.0 492957.0 492957.0
c80000-20000-16000⇤ 993343.0 993343.0 993343.0
c120000-30000-24000⇤ 1484724.0 1484724.0 1484724.0
d20000-5000-5000⇤ 244459.0 244459.0 244459.0
d40000-10000-10000⇤ 493255.0 493255.0 493255.0
d80000-20000-20000⇤ 993806.0 993806.0 993806.0
d120000-30000-30000⇤ 1485762.0 1485762.0 1485762.0
e20000-18000-4000 433501.0 438125.7 458748.1
e40000-36000-8000 877810.0 887865.9 924538.8
e80000-76000-16000 770482.0 760625.6 773035.3
e120000-108000-24000 1077713.5 888231.8 1082415.2
f20000-18000-18000 87259.0 352584.9 319687.6
f40000-36000-36000 177267.0 704608.2 719070.1
f80000-75000-75000 1383684.0 1283686.5 1099710.2
f120000-108000-108000 - - 158342.4
´optima), por lo que no se
de los tres algoritmos. S
restantes instancias, es c
que se obtienen mejores
en el que los resultados
es mejor en dos casos, m
caso. Adem´as, para la ins
algoritmo exacto, ni cmsa
factible dentro del prime
resalta nuevamente la im
componentes, que en este
VI. CONCLUSIO
IN
Tras los resultados ob
resolver el NRP en insta
requisitos, clientes y depe
uso de la heur´ıstica cmsa
instancias grandes de NR
lizado fijando los par´ame
podr´ıan haberse obtenido
mejores) para otra confi
realizar el test de Wilcox
de algoritmos y en cada u
de los cuadros III y IV m
nificativas en cuanto al co
respecto a los otros dos
Realizando nuevamente
hip´otesis alternativa que
resultados que se muest
El asterisco indica que
CPLEX termina antes del
límite de tiempo
Test de Wilcoxon (apareado)
en un algoritmo mediante combinaci´on de los
sirviese como m´etodo h´ıbrido que determina
m´etodo a utilizar en funci´on de los par´ametros
Cuadro III
XON (DATOS APAREADOS) PARA CONTRASTAR SI HAY
TRE LOS ALGORITMOS PROPUESTOS, b =0,3
Pn
i=1 ci
exact cmsa r
cmsa r 0.89110 -
cmsa s 0.01629 0.00040
Cuadro IV
XON (DATOS APAREADOS) PARA CONTRASTAR SI HAY
TRE LOS ALGORITMOS PROPUESTOS, b =0,7
Pn
i=1 ci
exact cmsa r
cmsa r 0.97730 -
cmsa s 0.01620 0.02449
Cuadro V
ES UNILATERALES CON HIP ´OTESIS ALTERNATIVA
msa s > col, SIENDO col 2 {exact, cmsa r }
exact cmsa r
b =0,3
Pn
c 0.00814 0.00020
[2] Anthony J. Bagnall, Victor J. Rayward-Smith, and Ian
next release problem, Information and software techn
no. 14, 883–890.
[3] Christian Blum, Pedro Pinacho, Manuel L´opez-Ib´a˜n
Lozano, Construct, merge, solve & adapt a new g
for combinatorial optimization, Computers & Operati
(2016), 75–88.
[4] W. Cook and P. Seymour, Tour merging via branc
INFORMS Journal on Computing 15 (2003), no. 3, 23
[5] Thomas H Cormen, Charles E Leiserson, Ronald L Riv
Stein, Introduction to algorithms, MIT press, 2009.
[6] Joaqu´ın Derrac, Salvador Garc´ıa, Daniel Molina, and F
A practical tutorial on the use of nonparametric st
a methodology for comparing evolutionary and sw
algorithms, Swarm and Evolutionary Computation 1 (20
[7] J.J. Durillo, Y. Zhang, E. Alba, and Antonio J Nebro
multi-objective next release problem, Search Based S
ring, 2009 1st International Symposium on, IEEE, 200
[8] Des Greer and Guenther Ruhe, Software release plann
nary and iterative approach, Information and softwar
(2004), no. 4, 243–253.
[9] Janusz Kacprzyk, Studies in computational intelligen
(2008).
[10] Gunnar W Klau, Ivana Ljubi´c, Andreas Moser, Petra
Neuner, Ulrich Pferschy, G¨unther Raidl, and Ren´e We
ning a memetic algorithm with integer programming to
collecting steiner tree problem, Genetic and Evolution
Conference, Springer, 2004, pp. 1304–1315.
[11] Manuel L´opez-Ib´a˜nez, J´er´emie Dubois-Lacoste, Lesli
Mauro Birattari, and Thomas St¨utzle, The irace packag
for automatic algorithm configuration, Operations Rese
3 (2016), 43–58.
[12] Claudio N Meneses, Carlos AS Oliveira, and Panos
Uso de CMSA para resolver el problema de selección de requisitos
CAEPIA 2018, 23-26 de Octubre, Granada, España 11
Conclusiones
• CMSA permite resolver instancias de NRP que no pueden resolverse solo con CPLEX
• CMSAs es mejor, en general, que CMSAr y la aplicación de CPLEX
• Para el problema NRP los algoritmos de caja negra no son competitivos
• Usar iRace para ajustar parámetros de CMSA
• Extender CMSA a problemas multi-objetivo (resultados preliminaries infructuosos)
Trabajo Futuro
Uso de CMSA para resolver el problema de selección de requisitos
CAEPIA 2018, 23-26 de Octubre, Granada, España 12
Agradecimientos
ENTIDAD
a Universidad de Málaga
VERSIÓN VERTICAL EN POSITIVO
VERSIÓN VERTICAL EN NEGATIVO
¡Gracias por su atención!
TIN2014- 57341-R
TIN2017-88213-R

Más contenido relacionado

La actualidad más candente

Trabajo, Modelos de Transporte y Optimización de Redes
Trabajo, Modelos de Transporte y Optimización de RedesTrabajo, Modelos de Transporte y Optimización de Redes
Trabajo, Modelos de Transporte y Optimización de RedesRonald Alexander Medina Pinto
 
el problema del transporte
el problema del transporteel problema del transporte
el problema del transporteElber Rabanal
 
10 semana sesion 19 problema de transporte
10 semana   sesion 19 problema de transporte10 semana   sesion 19 problema de transporte
10 semana sesion 19 problema de transporteDIrector del INNOVAE
 
Algoritmo de transporte
Algoritmo de transporteAlgoritmo de transporte
Algoritmo de transportedaniel quijada
 
Modelos de transporte mediante programación lineal ejemplo
Modelos de transporte mediante programación lineal   ejemploModelos de transporte mediante programación lineal   ejemplo
Modelos de transporte mediante programación lineal ejemploEdgar Mata
 
Problemas resueltos-de-metodos-de-transporte
Problemas resueltos-de-metodos-de-transporteProblemas resueltos-de-metodos-de-transporte
Problemas resueltos-de-metodos-de-transporteAlexander Chunhuay Ruiz
 
Investigacion de Operaciones-Coste mínimo
Investigacion de Operaciones-Coste mínimoInvestigacion de Operaciones-Coste mínimo
Investigacion de Operaciones-Coste mínimoMari Cruz
 
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
 
Leccion evaluativa 2
Leccion evaluativa 2Leccion evaluativa 2
Leccion evaluativa 2Diego Perdomo
 
Problema del Transporte
Problema del TransporteProblema del Transporte
Problema del TransporteJose
 
Semana 6.7 modelo de trasbordo
Semana 6.7 modelo de trasbordoSemana 6.7 modelo de trasbordo
Semana 6.7 modelo de trasbordoadik barreto
 

La actualidad más candente (20)

Trabajo, Modelos de Transporte y Optimización de Redes
Trabajo, Modelos de Transporte y Optimización de RedesTrabajo, Modelos de Transporte y Optimización de Redes
Trabajo, Modelos de Transporte y Optimización de Redes
 
el problema del transporte
el problema del transporteel problema del transporte
el problema del transporte
 
Modelo de transporte
Modelo de transporteModelo de transporte
Modelo de transporte
 
10 semana sesion 19 problema de transporte
10 semana   sesion 19 problema de transporte10 semana   sesion 19 problema de transporte
10 semana sesion 19 problema de transporte
 
Algoritmo de transporte
Algoritmo de transporteAlgoritmo de transporte
Algoritmo de transporte
 
Ess
EssEss
Ess
 
Efs
EfsEfs
Efs
 
Modelos de transporte mediante programación lineal ejemplo
Modelos de transporte mediante programación lineal   ejemploModelos de transporte mediante programación lineal   ejemplo
Modelos de transporte mediante programación lineal ejemplo
 
Problemas resueltos-de-metodos-de-transporte
Problemas resueltos-de-metodos-de-transporteProblemas resueltos-de-metodos-de-transporte
Problemas resueltos-de-metodos-de-transporte
 
Investigacion de Operaciones-Coste mínimo
Investigacion de Operaciones-Coste mínimoInvestigacion de Operaciones-Coste mínimo
Investigacion de Operaciones-Coste mínimo
 
Administracion De Operaciones Ii Metodo De Transporte
Administracion De Operaciones Ii Metodo De TransporteAdministracion De Operaciones Ii Metodo De Transporte
Administracion De Operaciones Ii Metodo De Transporte
 
Tema 6 -_Transporte
Tema 6 -_TransporteTema 6 -_Transporte
Tema 6 -_Transporte
 
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
 
Modelos de transporte
Modelos de transporteModelos de transporte
Modelos de transporte
 
Modelo de transporte
Modelo de transporteModelo de transporte
Modelo de transporte
 
Ess
EssEss
Ess
 
Leccion evaluativa 2
Leccion evaluativa 2Leccion evaluativa 2
Leccion evaluativa 2
 
Problema del Transporte
Problema del TransporteProblema del Transporte
Problema del Transporte
 
Semana 6.7 modelo de trasbordo
Semana 6.7 modelo de trasbordoSemana 6.7 modelo de trasbordo
Semana 6.7 modelo de trasbordo
 
Modelo transporte
Modelo transporteModelo transporte
Modelo transporte
 

Similar a Uso de CMSA para resolver el problema de selección de requisitos

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
 
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
 
Construir y consumir un modelo de Regresión Lineal con ML.NET y Angular
Construir y consumir un modelo de Regresión Lineal con ML.NET y AngularConstruir y consumir un modelo de Regresión Lineal con ML.NET y Angular
Construir y consumir un modelo de Regresión Lineal con ML.NET y AngularCristopher Coronado Moreira
 
Dos estrategias de búsqueda anytime basadas en programación lineal entera par...
Dos estrategias de búsqueda anytime basadas en programación lineal entera par...Dos estrategias de búsqueda anytime basadas en programación lineal entera par...
Dos estrategias de búsqueda anytime basadas en programación lineal entera par...jfrchicanog
 
Metodos numericos sept2012 ma9301
Metodos numericos sept2012 ma9301Metodos numericos sept2012 ma9301
Metodos numericos sept2012 ma9301Maestros Online
 
Metodos de Programacion no lineal
Metodos de Programacion no linealMetodos de Programacion no lineal
Metodos de Programacion no linealluisatero
 
Metodos numericos 2013 ma9301
Metodos numericos 2013 ma9301Metodos numericos 2013 ma9301
Metodos numericos 2013 ma9301Maestros Online
 
Manual Modelos Cuantitativos
Manual Modelos CuantitativosManual Modelos Cuantitativos
Manual Modelos Cuantitativosfrairebobby
 
Pia grupo12 equipo1
Pia grupo12 equipo1Pia grupo12 equipo1
Pia grupo12 equipo1javicool
 

Similar a Uso de CMSA para resolver el problema de selección de requisitos (20)

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...
 
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
 
Construir y consumir un modelo de Regresión Lineal con ML.NET y Angular
Construir y consumir un modelo de Regresión Lineal con ML.NET y AngularConstruir y consumir un modelo de Regresión Lineal con ML.NET y Angular
Construir y consumir un modelo de Regresión Lineal con ML.NET y Angular
 
talleres de lpp
talleres de lpptalleres de lpp
talleres de lpp
 
Dos estrategias de búsqueda anytime basadas en programación lineal entera par...
Dos estrategias de búsqueda anytime basadas en programación lineal entera par...Dos estrategias de búsqueda anytime basadas en programación lineal entera par...
Dos estrategias de búsqueda anytime basadas en programación lineal entera par...
 
Metodos numericos sept2012 ma9301
Metodos numericos sept2012 ma9301Metodos numericos sept2012 ma9301
Metodos numericos sept2012 ma9301
 
aproximacion_y_errores
aproximacion_y_erroresaproximacion_y_errores
aproximacion_y_errores
 
Metodos numericos
Metodos numericosMetodos numericos
Metodos numericos
 
Metodos numericos sept2012 ma9301
Metodos numericos sept2012 ma9301Metodos numericos sept2012 ma9301
Metodos numericos sept2012 ma9301
 
Modelos de Estimacion
Modelos de EstimacionModelos de Estimacion
Modelos de Estimacion
 
Metodos numericos 2013 ma9301
Metodos numericos 2013 ma9301Metodos numericos 2013 ma9301
Metodos numericos 2013 ma9301
 
Algoritmo en informática
Algoritmo en informáticaAlgoritmo en informática
Algoritmo en informática
 
Metodos de Programacion no lineal
Metodos de Programacion no linealMetodos de Programacion no lineal
Metodos de Programacion no lineal
 
Metodos numericos 2013 ma9301
Metodos numericos 2013 ma9301Metodos numericos 2013 ma9301
Metodos numericos 2013 ma9301
 
Manual Modelos Cuantitativos
Manual Modelos CuantitativosManual Modelos Cuantitativos
Manual Modelos Cuantitativos
 
ProgramacióN Lineal
ProgramacióN LinealProgramacióN Lineal
ProgramacióN Lineal
 
Programación Lineal
Programación LinealProgramación Lineal
Programación Lineal
 
2 Taller modelacion matemática 2018-1 UNAL
2 Taller modelacion matemática 2018-1 UNAL2 Taller modelacion matemática 2018-1 UNAL
2 Taller modelacion matemática 2018-1 UNAL
 
Pia grupo12 equipo1
Pia grupo12 equipo1Pia grupo12 equipo1
Pia grupo12 equipo1
 
El algoritmo k nn y su importancia en el modelado de datos
El algoritmo k nn y su importancia en el modelado de datosEl algoritmo k nn y su importancia en el modelado de datos
El algoritmo k nn y su importancia en el modelado de datos
 

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
 
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
 
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
 

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
 
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
 
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...
 

Uso de CMSA para resolver el problema de selección de requisitos

  • 1. Uso de CMSA para resolver el problema de selección de requisitos Miguel Ángel Domínguez-Ríos, Francisco Chicano, Enrique Alba ELEMENTOS DE LA IDENTIDAD 2. Versiones de la marca Universidad de Málaga SIÓN HORIZONTAL EN POSITIVO VERSIÓN VERTICAL EN POSITIVO SIÓN HORIZONTAL EN NEGATIVO VERSIÓN VERTICAL EN NEGATIVO
  • 2. Uso de CMSA para resolver el problema de selección de requisitos CAEPIA 2018, 23-26 de Octubre, Granada, España 2 • Motivación • Problema de selección de requisitos • Construct, Merge, Solve & Adapt • Experimentos y Resultados • Conclusiones y Trabajo Futuro Índice
  • 3. Uso de CMSA para resolver el problema de selección de requisitos CAEPIA 2018, 23-26 de Octubre, Granada, España 3 Gray-Box (vs. Black-Box) Optimization x f(x) x f(x) Para la mayoría de los problemas reales conocemos (casi) todos los detalles
  • 4. Uso de CMSA para resolver el problema de selección de requisitos CAEPIA 2018, 23-26 de Octubre, Granada, España 4 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: 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: coste(X) = nX cj y valor(X) = 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 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. Next Release Problem (NRP)
  • 5. Uso de CMSA para resolver el problema de selección de requisitos CAEPIA 2018, 23-26 de Octubre, Granada, España 5 Next Release Problem (NRP)
  • 6. Uso de CMSA para resolver el problema de selección de requisitos CAEPIA 2018, 23-26 de Octubre, Granada, España 6 Construct, Merge, Solve & Adapt (CMSA) a el que eron otros eben eden ue el sten ando delar ncia rma, si el parte esta a un sitos o de n las ados , de mos Christian Blum et al. [3] establecieron un algoritmo gen´eri- co h´ıbrido que fue usado para resolver diversos problemas combinatorios. Exponemos en el Algoritmo 1 el pseudoc´odigo de CMSA, que tambi´en ser´a la base de nuestros algoritmos heur´ısticos, y explicamos brevemente su significado a conti- nuaci´on. Algoritmo 1 Construct, Merge, Solve and Adapt (CMSA) 1: input: instancia I, valores de los par´ametros na y agemax 2: Sbsf = NULL; C 0 = ; 3: age[c] = 0 para todo c 2 C 4: mientras tiempo de CPU no excedido hacer 5: para i = 1 hasta na hacer 6: S=ProbabilisticSolutionGenerator(C) 7: para todo c 2 S y c /2 C 0 hacer 8: age[c] = 0 ; C 0 = C 0 [ c 9: fin para 10: fin para 11: S 0 opt=ApplyExactSolver(C 0 ) 12: si S 0 opt es mejor que Sbsf entonces Sbsf = S 0 opt 13: Adapt (C 0 , S 0 opt, agemax) 14: fin mientras 15: output: Sbsf El algoritmo parte de la suposici´on de que cada soluci´on v´alida para una instancia I de un problema P dado, se puede representar mediante un subconjunto de un conjunto C de C. Blum, P. Pinacho, M. López-Ibáñez, J.A. Lozano, Computers & Operations Research, 68:75-88 (2016)
  • 7. Uso de CMSA para resolver el problema de selección de requisitos CAEPIA 2018, 23-26 de Octubre, Granada, España 7 CMSA en NRP Dos propuestas: • Los componentes son requisitos • Los componentes son clientes ProbabilisticSolutionGeneration Mientras haya clientes por procesar Escoger un cliente aleatorio de los no procesados Añadir todos sus requisitos demandados y prerrequisitos si el coste lo permite Si los componentes son requisitos Añadir requisitos aleatoriamente mientras el coste lo permita
  • 8. Uso de CMSA para resolver el problema de selección de requisitos CAEPIA 2018, 23-26 de Octubre, Granada, España 8 Experimentos Se han generado 24 instancias de gran tamaño aleatoriamente • Requisitos (n): 20.000 a 120.000 • Clientes (m): 15.000 a 108.000 • Dependencias (k): 4.000 a 108.000 • Costes: 1 a 10 • Pesos de clientes: 1 a 100 • Requisitos demandados por los clientes: 1 a 8 Nombre de las instancias: [a-e]$n-$m-$k Límite de coste: 30% y 70% de la suma de costes de los requisitos Límite de tiempo de ejecución: 60 segundos Resolutor ILP: CPLEX 12.6.2 30 ejecuciones independientes na=5, agemax=2
  • 9. Uso de CMSA para resolver el problema de selección de requisitos CAEPIA 2018, 23-26 de Octubre, Granada, España 9 Cuadro I VALORES OBJETIVO PROMEDIO PARA LOS TRES M ´ETODOS PROPUESTOS, USANDO INSTANCIAS GENERADAS ALEATORIAMENTE DURANTE 60 SEGUNDOS Y CON PRESUPUESTO b =0.3 Pn i=1 ci. instancia exact cmsa r cmsa s a20000-15000-4000 146018.0 263387.1 253287.2 a40000-30000-8000 287108.0 337520.6 479641.2 a80000-60000-16000 562858.0 506890.8 558241.5 a120000-90000-24000 866539.0 777432.0 852102.8 b20000-15000-15000 89272.0 103588.9 178089.7 b40000-30000-30000 166559.0 134943.8 323032.7 b80000-60000-60000 340646.0 276249.3 291939.1 b120000-90000-90000 360537.8 418888.4 443369.2 c20000-5000-4000⇤ 168572.0 168572.0 168572.0 c40000-10000-8000⇤ 329473.0 326309.9 325006.1 c80000-20000-16000 290985.0 301780.0 371700.9 c120000-30000-24000 449524.0 449683.2 458293.3 d20000-5000-5000⇤ 161697.0 161696.7 161697.0 d40000-10000-10000⇤ 322819.0 315514.8 313263.4 d80000-20000-20000 269804.0 281128.0 295590.2 d120000-30000-30000 391402.0 392500.8 398782.4 e20000-18000-4000 175321.0 290948.8 269240.6 e40000-36000-8000 355931.0 494322.9 525250.4 e80000-76000-16000 770482.0 654382.5 707105.5 e120000-108000-24000 1078305.9 926170.8 1004343.5 f20000-18000-18000 87259.0 107617.3 199510.7 f40000-36000-36000 177267.0 146402.7 319233.9 f80000-75000-75000 361914.0 295269.3 315160.4 f120000-108000-108000 - 435019.0 459930.6 en ocasiones, muy elevad b120000-90000-90000, do en torno al 67 % mejor qu la utilidad del uso de aparecen instancias en la los tres m´etodos son igu 5000-4000. Obs´ervese ta 108000-108000, al tener y dependencias, CPLEX soluci´on durante el prime que en torno a esos valor empieza a observarse un m´as productivo el uso de de algoritmos exactos. S podemos comprobar que proporciona unos resulta deducir la importancia de ponente en el uso de la he para una misma instancia cambiamos dicha definici Analizando ahora el Cu antes, pero aumentado el el mismo n´umero de eje calculando promedios, se considerablemente. Para objetivos obtenidos son ig ´optima), por lo que no se de los tres algoritmos. S restantes instancias, es cl Resultados Componentes=requisitos Componentes=clientes CPLEX solo El asterisco indica que CPLEX termina antes del límite de tiempo aquete iRace [11], que permitir´ıa obtener una ptima de dichos par´ametros dentro de un rango Tambi´en se podr´ıa estudiar m´as a fondo el un rango m´as amplio de requisitos, clientes , y estimar a partir de qu´e valores de estos obtienen mejores resultados para un m´etodo u dr´ıa conseguir tambi´en usando el paquete iRace en un algoritmo mediante combinaci´on de los sirviese como m´etodo h´ıbrido que determina m´etodo a utilizar en funci´on de los par´ametros Cuadro III XON (DATOS APAREADOS) PARA CONTRASTAR SI HAY TRE LOS ALGORITMOS PROPUESTOS, b =0,3 Pn i=1 ci exact cmsa r cmsa r 0.89110 - cmsa s 0.01629 0.00040 Cuadro IV XON (DATOS APAREADOS) PARA CONTRASTAR SI HAY TRE LOS ALGORITMOS PROPUESTOS, b =0,7 Pn i=1 ci exact cmsa r cmsa r 0.97730 - nisterio de Econom´ıa y Competitividad (proyec 57341-R y TIN2017-88213-R) y por la Univers ga. REFERENCIAS [1] Philip Achimugu, Ali Selamat, Roliana Ibrahim, and M rin, A systematic literature review of software requireme research, Inform. and software technology 56 (2014), [2] Anthony J. Bagnall, Victor J. Rayward-Smith, and Ian next release problem, Information and software techn no. 14, 883–890. [3] Christian Blum, Pedro Pinacho, Manuel L´opez-Ib´an Lozano, Construct, merge, solve & adapt a new g for combinatorial optimization, Computers & Operat (2016), 75–88. [4] W. Cook and P. Seymour, Tour merging via branc INFORMS Journal on Computing 15 (2003), no. 3, 2 [5] Thomas H Cormen, Charles E Leiserson, Ronald L Ri Stein, Introduction to algorithms, MIT press, 2009. [6] Joaqu´ın Derrac, Salvador Garc´ıa, Daniel Molina, and F A practical tutorial on the use of nonparametric st a methodology for comparing evolutionary and sw algorithms, Swarm and Evolutionary Computation 1 (2 [7] J.J. Durillo, Y. Zhang, E. Alba, and Antonio J Nebr multi-objective next release problem, Search Based S ring, 2009 1st International Symposium on, IEEE, 200 [8] Des Greer and Guenther Ruhe, Software release plann nary and iterative approach, Information and softwa (2004), no. 4, 243–253. [9] Janusz Kacprzyk, Studies in computational intelligen (2008). Test de Wilcoxon (apareado)
  • 10. Uso de CMSA para resolver el problema de selección de requisitos CAEPIA 2018, 23-26 de Octubre, Granada, España 10 Resultados Componentes=requisitos Componentes=clientes CPLEX solo Cuadro II VALORES OBJETIVO PROMEDIO PARA LOS TRES M ´ETODOS PROPUESTOS, USANDO INSTANCIAS GENERADAS ALEATORIAMENTE DURANTE 60 SEGUNDOS Y CON PRESUPUESTO b =0.7 Pn i=1 ci. instancia exact cmsa r cmsa s a20000-15000-4000 420936.0 417669.1 438157.3 a40000-30000-8000 856336.0 867279.3 888971.7 a80000-60000-16000 562858.0 557780.3 564892.4 a120000-90000-24000 866539.0 858235.1 869302.4 b20000-15000-15000 325142.0 330771.0 343229.2 b40000-30000-30000 650947.5 664219.9 677113.9 b80000-60000-60000 1237348.0 1164320.8 1220072.4 b120000-90000-90000 463548.6 438897.5 733116.3 c20000-5000-4000⇤ 249727.0 249727.0 249727.0 c40000-10000-8000⇤ 492957.0 492957.0 492957.0 c80000-20000-16000⇤ 993343.0 993343.0 993343.0 c120000-30000-24000⇤ 1484724.0 1484724.0 1484724.0 d20000-5000-5000⇤ 244459.0 244459.0 244459.0 d40000-10000-10000⇤ 493255.0 493255.0 493255.0 d80000-20000-20000⇤ 993806.0 993806.0 993806.0 d120000-30000-30000⇤ 1485762.0 1485762.0 1485762.0 e20000-18000-4000 433501.0 438125.7 458748.1 e40000-36000-8000 877810.0 887865.9 924538.8 e80000-76000-16000 770482.0 760625.6 773035.3 e120000-108000-24000 1077713.5 888231.8 1082415.2 f20000-18000-18000 87259.0 352584.9 319687.6 f40000-36000-36000 177267.0 704608.2 719070.1 f80000-75000-75000 1383684.0 1283686.5 1099710.2 f120000-108000-108000 - - 158342.4 ´optima), por lo que no se de los tres algoritmos. S restantes instancias, es c que se obtienen mejores en el que los resultados es mejor en dos casos, m caso. Adem´as, para la ins algoritmo exacto, ni cmsa factible dentro del prime resalta nuevamente la im componentes, que en este VI. CONCLUSIO IN Tras los resultados ob resolver el NRP en insta requisitos, clientes y depe uso de la heur´ıstica cmsa instancias grandes de NR lizado fijando los par´ame podr´ıan haberse obtenido mejores) para otra confi realizar el test de Wilcox de algoritmos y en cada u de los cuadros III y IV m nificativas en cuanto al co respecto a los otros dos Realizando nuevamente hip´otesis alternativa que resultados que se muest El asterisco indica que CPLEX termina antes del límite de tiempo Test de Wilcoxon (apareado) en un algoritmo mediante combinaci´on de los sirviese como m´etodo h´ıbrido que determina m´etodo a utilizar en funci´on de los par´ametros Cuadro III XON (DATOS APAREADOS) PARA CONTRASTAR SI HAY TRE LOS ALGORITMOS PROPUESTOS, b =0,3 Pn i=1 ci exact cmsa r cmsa r 0.89110 - cmsa s 0.01629 0.00040 Cuadro IV XON (DATOS APAREADOS) PARA CONTRASTAR SI HAY TRE LOS ALGORITMOS PROPUESTOS, b =0,7 Pn i=1 ci exact cmsa r cmsa r 0.97730 - cmsa s 0.01620 0.02449 Cuadro V ES UNILATERALES CON HIP ´OTESIS ALTERNATIVA msa s > col, SIENDO col 2 {exact, cmsa r } exact cmsa r b =0,3 Pn c 0.00814 0.00020 [2] Anthony J. Bagnall, Victor J. Rayward-Smith, and Ian next release problem, Information and software techn no. 14, 883–890. [3] Christian Blum, Pedro Pinacho, Manuel L´opez-Ib´a˜n Lozano, Construct, merge, solve & adapt a new g for combinatorial optimization, Computers & Operati (2016), 75–88. [4] W. Cook and P. Seymour, Tour merging via branc INFORMS Journal on Computing 15 (2003), no. 3, 23 [5] Thomas H Cormen, Charles E Leiserson, Ronald L Riv Stein, Introduction to algorithms, MIT press, 2009. [6] Joaqu´ın Derrac, Salvador Garc´ıa, Daniel Molina, and F A practical tutorial on the use of nonparametric st a methodology for comparing evolutionary and sw algorithms, Swarm and Evolutionary Computation 1 (20 [7] J.J. Durillo, Y. Zhang, E. Alba, and Antonio J Nebro multi-objective next release problem, Search Based S ring, 2009 1st International Symposium on, IEEE, 200 [8] Des Greer and Guenther Ruhe, Software release plann nary and iterative approach, Information and softwar (2004), no. 4, 243–253. [9] Janusz Kacprzyk, Studies in computational intelligen (2008). [10] Gunnar W Klau, Ivana Ljubi´c, Andreas Moser, Petra Neuner, Ulrich Pferschy, G¨unther Raidl, and Ren´e We ning a memetic algorithm with integer programming to collecting steiner tree problem, Genetic and Evolution Conference, Springer, 2004, pp. 1304–1315. [11] Manuel L´opez-Ib´a˜nez, J´er´emie Dubois-Lacoste, Lesli Mauro Birattari, and Thomas St¨utzle, The irace packag for automatic algorithm configuration, Operations Rese 3 (2016), 43–58. [12] Claudio N Meneses, Carlos AS Oliveira, and Panos
  • 11. Uso de CMSA para resolver el problema de selección de requisitos CAEPIA 2018, 23-26 de Octubre, Granada, España 11 Conclusiones • CMSA permite resolver instancias de NRP que no pueden resolverse solo con CPLEX • CMSAs es mejor, en general, que CMSAr y la aplicación de CPLEX • Para el problema NRP los algoritmos de caja negra no son competitivos • Usar iRace para ajustar parámetros de CMSA • Extender CMSA a problemas multi-objetivo (resultados preliminaries infructuosos) Trabajo Futuro
  • 12. Uso de CMSA para resolver el problema de selección de requisitos CAEPIA 2018, 23-26 de Octubre, Granada, España 12 Agradecimientos ENTIDAD a Universidad de Málaga VERSIÓN VERTICAL EN POSITIVO VERSIÓN VERTICAL EN NEGATIVO ¡Gracias por su atención! TIN2014- 57341-R TIN2017-88213-R