2. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 2
• Introducción
• Materiales
• Programación Lineal Entera
• Modelado de un problema con ILP
• Hibridación de heurísticas e ILP: CMSA
• Conclusión
Índice
3. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 3
4. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 4
• La comunidad SBSE (ISGB) utiliza casi exclusivamente) algoritmos aproximados
(especialmente metaheurísticas) para resolver los problemas de optimización
• Los algoritmos evolutivos son protagonistas en la mayoría de trabajos
• En ocasiones se puede ver en algunos trabajos el término “search-based technique”
usado como sinónimo de “metaheuristic”
El objetivo de este taller es llamar la atención sobre la existencia de
algoritmos exactos, que también son técnicas de búsqueda y que han
evolucionado en los últimos años (posiblemente más que las
metaheurísticas)
¿Por qué este taller?
5. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 5
En muchos artículos se puede leer…
“Este problema de optimización es NP-difícil y, por este motivo,
usamos…
… que no aseguran una solución óptima, pero es capaz de
encontrar buenas soluciones en un tiempo razonable”
• Metaheurísticas
• Heurísticas
• Algoritmos estocásticos
Hasta donde sabemos no existen algoritmos eficientes (tiempo polinomial)
para resolver problemas NP-difíciles
¿Por qué se usan metaheurísticas?
6. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 6
Los resultados teóricos rigurosos sobre algoritmos evolutivos y
metaheurísticas señalan que:
• Un EA requiere en el peor caso O(nn) para resolver cualquier
problema binario
• Por fuerza bruta (exacto) solo es necesario O(2n)
• El (1+1) EA requiere O(n2 log n) para resolver las funciones
lineales
• El mejor algoritmo de caja negra (incluye cualquier
metaheurística) para resolver las funciones lineales requiere
O(n2 / log n)
• Es trivial resolverlo en O(n) mediante exactos
• Todos los resultados teóricos existentes sobre problemas en
P demuestran que los algoritmos evolutivos son más lentos
que los exactos
¿Por qué se usan metaheurísticas?
7. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 7
Algunas ventajas notables de las metaheurísticas:
• No requieren un profundo conocimiento del problema a
resolver (solo una función de fitness)
• Son fáciles de implementar y ejecutar
• Son rápidas (comparadas con exactos en grandes
problemas)
Pero cuando la calidad de las soluciones es importante el
conocimiento profundo del problema da lugar a métodos
mejores
¿Por qué se usan metaheurísticas?
8. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 8
Aseguran que encuentran la solución óptima, pero pueden
requerir una ingente cantidad de recursos (tiempo y/o memoria)
En SBSE se pueden encontrar ejemplos de algoritmos exactos
desarrollados expresamente para un problema
Ej.: NSGDP para Next Release Problem
Pero es más habitual emplear técnicas procedentes de marcos
más amplios:
• Programación de restricciones
• Programación lineal entera (nos centraremos en este)
• Resolutores del problema de Satisfacibilidad (SAT)
Algoritmos exactos
9. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 9
10. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 10
Materiales para seguir el taller
Software:
• RStudio (versión on-line en https://rstudio.cloud)
• Symphony (resolutor ILP open-source)
• Rsymphony (paquete de R para conectar con Symphony)
Código y ejemplos
• Disponibles en GitHub: https://github.com/jfrchicanog/TallerJISBD2019
• Y en Rstudio.cloud (hace falta cuenta)
Tarea: acceder a RStudio e
instalar Rsymphony
11. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 11
12. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 12
Introducción a la programación lineal
Un problema en programación lineal tiene la forma
max
nX
j=1
cjxj
nX
j=1
a1jxj b1
nX
j=1
a2jxj b2
. . .
nX
j=1
amjxj bm
xj 0 j = 1, 2, . . . , n
max
nX
cjxj
X
j=1
a2jxj b2
. . .
nX
j=1
amjxj bm
xj 0 j = 1, 2, . . . , n
max
nX
j=1
cjxj
sujeto a
nX
j=1
aijxj bi i = 1, 2, . . . , m
xj 0 j = 1, 2, . . . , n
max c · x
sujeto a
Ax b
x 0
j=1
sujeto a
nX
j=1
aijxj bi i = 1, 2, . . . , m
xj 0 j = 1, 2, . . . , n
max c · x
sujeto a
Ax b
x 0
1
Sujeto a: Sujeto a: Sujeto a:
13. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 13
Introducción a la programación lineal
Ejemplo:
Maximizar x1+x2
Sujeto a:
– x1 + 9x2 ≤ 36
9x1 +x2 ≤ 45
x1, x2 ≥ 0
0 1 2 3 4 5
0
1
2
3
4
5
x1
x2
Región factible
14. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 14
Introducción a la programación lineal
15. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 15
Introducción a la programación lineal
Con Rsymphony
Maximizar x1+x2
Sujeto a:
– x1 + 9x2 ≤ 36
9x1 +x2 ≤ 45
x1, x2 ≥ 0
0 1 2 3 4 5
0
1
2
3
4
5
x1
x2
Región factible
Por defecto, las columnas
se rellenan primero
Tarea: resolver el
programa con RStudio
16. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 16
Programación lineal entera
Se añade la restricción de que las variables solo pueden tomar
valores enteros
Ejemplo:
Maximizar x1+x2
Sujeto a:
– x1 + 9x2 ≤ 36
9x1 +x2 ≤ 45
x1, x2 ≥ 0
x1, x2 enteros
0 1 2 3 4 5
0
1
2
3
4
5
x1
x2
Soluciones factibles
17. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 17
Con Rsymphony
Maximizar x1+x2
Sujeto a:
– x1 + 9x2 ≤ 36
9x1 +x2 ≤ 45
x1, x2 ≥ 0
x1, x2 enteros
Tarea: resolver el
programa con RStudio
0 1 2 3 4 5
0
1
2
3
4
5
x1
x2
Soluciones factibles
Programación lineal entera
18. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 18
19. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 19
Dados:
Ø Un conjunto de requisitos R = {r1, r2, ..., rn} …
Ø … cada uno con un coste cj y un valor sj (Bagnall et al.→ clientes)
Ø 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
Bagnall et al. van der Akker et al.
Next Release Problem (NRP)
sj ri 8(i, j) 2 Q
rj ri 8(i, j) 2 P
valor( ˆR) =
mX
i=1
wi
Y
(j,i)2Q
h
j 2 ˆR
i
20. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 20
En nuestro caso resolveremos la version de Bagnall et al. mono-objetivo, con el coste
limitado por una fracción del coste total de implementación de todos los requisites
Definimos un conjunto de n variables ri para los requisitos y m variables si para los
clientes. Tomarán valores 0 y 1.
Si ri=1 el requisito i se implementa, si ri=0 no se implementa
Si si=1 el cliente i está satisfecho (todos sus requisitos se implementan)
El valor del cliente i para la empresa es wi
El coste de implementar el requisito i es ci
El presupuesto es B
Modelo ILP de NRP: Objetivomax c · x
o a
Ax b
x 0
max
mX
i=1
wisi
Tarea: hallar la
expresión objetivo
21. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 21
En nuestro caso resolveremos la version de Bagnall et al. mono-objetivo, con el coste
limitado por una fracción del coste total de implementación de todos los requisites
Definimos un conjunto de n variables ri para los requisitos y m variables si para los
clientes. Tomarán valores 0 y 1.
Si ri=1 el requisito i se implementa, si ri=0 no se implementa
Si si=1 el cliente i está satisfecho (todos sus requisitos se implementan)
El valor del cliente i para la empresa es wi
El coste de implementar el requisito i es ci
El presupuesto es B
Modelo ILP de NRP: Objetivomax c · x
o a
Ax b
x 0
max
mX
i=1
wisi
Tarea: hallar la
expresión objetivo
22. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 22
En nuestro caso resolveremos la version de Bagnall et al. mono-objetivo, con el coste
limitado por una fracción del coste total de implementación de todos los requisites
Definimos un conjunto de n variables ri para los requisitos y m variables si para los
clientes. Tomarán valores 0 y 1.
Si ri=1 el requisito i se implementa, si ri=0 no se implementa
Si si=1 el cliente i está satisfecho (todos sus requisitos se implementan)
El valor del cliente i para la empresa es wi
El coste de implementar el requisito i es ci
El presupuesto es B
Modelo ILP de NRP: restricción de coste
max c · x
sujeto a
Ax b
x 0
max
mX
i=1
wisi
nX
i=1
ciri B
sj ri 8(i, j) 2 Q
Tarea: hallar la
restricción de coste
23. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 23
En nuestro caso resolveremos la version de Bagnall et al. mono-objetivo, con el coste
limitado por una fracción del coste total de implementación de todos los requisites
Definimos un conjunto de n variables ri para los requisitos y m variables si para los
clientes. Tomarán valores 0 y 1.
Si ri=1 el requisito i se implementa, si ri=0 no se implementa
Si si=1 el cliente i está satisfecho (todos sus requisitos se implementan)
El valor del cliente i para la empresa es wi
El coste de implementar el requisito i es ci
El presupuesto es B
Modelo ILP de NRP: restricción de coste
max c · x
sujeto a
Ax b
x 0
max
mX
i=1
wisi
nX
i=1
ciri B
sj ri 8(i, j) 2 Q
Tarea: hallar la
restricción de coste
24. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 24
En nuestro caso resolveremos la version de Bagnall et al. mono-objetivo, con el coste
limitado por una fracción del coste total de implementación de todos los requisites
Definimos un conjunto de n variables ri para los requisitos y m variables si para los
clientes. Tomarán valores 0 y 1.
Si ri=1 el requisito i se implementa, si ri=0 no se implementa
Si si=1 el cliente i está satisfecho (todos sus requisitos se implementan)
El valor del cliente i para la empresa es wi
El coste de implementar el requisito i es ci
El presupuesto es B
Modelo ILP de NRP: dependencias
sujeto a
Ax b
x 0
max
mX
i=1
wisi
nX
i=1
ciri B
sj ri 8(i, j) 2 Q
rj ri 8(i, j) 2 P
1
Tarea: hallar las restricciones
de dependencias entre
requisitos
25. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 25
En nuestro caso resolveremos la version de Bagnall et al. mono-objetivo, con el coste
limitado por una fracción del coste total de implementación de todos los requisites
Definimos un conjunto de n variables ri para los requisitos y m variables si para los
clientes. Tomarán valores 0 y 1.
Si ri=1 el requisito i se implementa, si ri=0 no se implementa
Si si=1 el cliente i está satisfecho (todos sus requisitos se implementan)
El valor del cliente i para la empresa es wi
El coste de implementar el requisito i es ci
El presupuesto es B
Modelo ILP de NRP: dependencias
sujeto a
Ax b
x 0
max
mX
i=1
wisi
nX
i=1
ciri B
sj ri 8(i, j) 2 Q
rj ri 8(i, j) 2 P
1
Tarea: hallar las restricciones
de dependencias entre
requisitos
26. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 26
max c · x
sujeto a
Ax b
x 0
max
mX
i=1
wisi
nX
i=1
ciri B
sj ri 8(i, j) 2 Q
rj ri 8(i, j) 2 P
En nuestro caso resolveremos la version de Bagnall et al. mono-objetivo, con el coste
limitado por una fracción del coste total de implementación de todos los requisites
Definimos un conjunto de n variables ri para los requisitos y m variables si para los
clientes. Tomarán valores 0 y 1.
Si ri=1 el requisito i se implementa, si ri=0 no se implementa
Si si=1 el cliente i está satisfecho (todos sus requisitos se implementan)
El valor del cliente i para la empresa es wi
El coste de implementar el requisito i es ci
El presupuesto es B
Modelo ILP de NRP: satisfacción de clientes
Tarea: hallar las restricciones
de satisfacción de clientes
27. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 27
max c · x
sujeto a
Ax b
x 0
max
mX
i=1
wisi
nX
i=1
ciri B
sj ri 8(i, j) 2 Q
rj ri 8(i, j) 2 P
En nuestro caso resolveremos la version de Bagnall et al. mono-objetivo, con el coste
limitado por una fracción del coste total de implementación de todos los requisites
Definimos un conjunto de n variables ri para los requisitos y m variables si para los
clientes. Tomarán valores 0 y 1.
Si ri=1 el requisito i se implementa, si ri=0 no se implementa
Si si=1 el cliente i está satisfecho (todos sus requisitos se implementan)
El valor del cliente i para la empresa es wi
El coste de implementar el requisito i es ci
El presupuesto es B
Modelo ILP de NRP: satisfacción de clientes
Tarea: hallar las restricciones
de satisfacción de clientes
28. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 28
En la implementación en R se han usado las primeras n variables del vector de
variables para los requisitos y las restantes m variables para los clientes
Funciones relevantes:
• readNrpInstance(file): lee un fichero de instancia y devuelve una lista con una
representación interna
• ilpModel(nrpInstance, budgetLimitFraction): toma una lista con una instancia y una
fracción (número real) y crea un modelo ILP para la instancia
Ejemplo:
Modelo ILP de NRP
Tarea: resolver algunas
instancias con R
29. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 29
30. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 30
Dos estrategias básicas:
• Mejorar el tiempo de ejecución de un algoritmo exacto usando heurísticas
• ILS para inicializar ramificación y poda (Maslov et al., 2014)
• Mejorar la calidad de las soluciones de una heurística usando un exacto
• Matheuristics (usan programación lineal entera) (Dimitrescu y Stützle, 2009)
• Construct, Solve, Merge & Adapt (Blum et al., 2016)
Híbridos entre exactos y heurísticos
31. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 31
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)
Aumentar edad en componentes de C’
Inicializar edad a 0 en los componentes que aparecen en S’opt
Eliminar de C’ los componentes con edad superior a agemax
32. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 32
CMSA en NRP
Nuestros componentes serán los 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
Tarea: ver código de
CMSA en R
33. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 33
CMSA en NRP
Tarea: ejecutar cmsa en R
con varias instancias
34. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 34
35. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 35
• En los últimos años han mejorado considerablemente los algoritmo exactos de
resolución de:
• Programas matemáticos
• Programación con restricciones
• Problemas de satisfacibilidad
• El aumento de las prestaciones del hardware y el alto paralelismo ha reducido
tiempos de cómputo
• Muchos problemas en SBSE hoy en día se resuelven con algoritmos exactos en un
tiempo razonable
• Para el resto, la hibridación con exactos y la optimización de caja gris/blanca suelen
mejorar la calidad de las soluciones
Conclusión
Moraleja: no descartar exactos o
híbridos en problemas NP-difíciles
36. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 36
• Anthony J. Bagnall, Victor J. Rayward-Smith, and Ian M Whittley, The next release
problem, Information and Software Technology 43 (2001), no. 14, 883–890.
• Christian Blum, Pedro Pinacho, Manuel López-Ibáñez, and José A. Lozano.
Construct, merge, solve & adapt: a new general algorithm for combinatorial
optimization. Computers & Operations Research, 68:75 – 88, 2016.
• I. Dimitrescu and T. Stutzle. Usages of exact algorithms to enhance stochastic local
search algorithm. In V. Maniezzo, T. Stutzle, and S. Voss, editors, Matheuristics:
Hibridizing metaheuristics and mathematical programming, OR/CS Interfaces
Series. Springer, 2009.
• Evgeny Maslov, Mikhail Batsyn, and Panos M. Pardalos. Speeding up branch and
bound algorithms for solving the maximum clique problem. Journal of Global
Optimization, 59(1):1–21, 2014.
• Marjan van den Akker, Sjaak Brinkkemper, Guido Diepen, and Johan Versendaal,
Software product release planning through optimization and what-if analysis,
Information and Software Technology 50 (2008), no. 1- 2, 101–111.
Referencias
37. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 37