SlideShare una empresa de Scribd logo
1 de 37
Descargar para leer sin conexión
Taller:
Combinando algoritmos exactos y
heurísticos para problemas en ISGB
Francisco Chicano
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
Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 3
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?
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?
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?
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?
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
Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 9
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
Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 11
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:
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
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
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
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
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
Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 18
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
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
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
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
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
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
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
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
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
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
Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 29
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
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
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
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
Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 34
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
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
Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB
JISBD 2019, 2-4 de Septiembre, Cáceres, España 37

Más contenido relacionado

Similar a Combinando algoritmos exactos y heurísticos para problemas en ISGB

0. formato producto integrador
0. formato producto integrador0. formato producto integrador
0. formato producto integradorKarlita Castro
 
Los lenguajes de programación pasado presente y futuro
Los lenguajes de programación pasado presente y futuroLos lenguajes de programación pasado presente y futuro
Los lenguajes de programación pasado presente y futuroFacultad de Informática UCM
 
Ponencia en el Congreso Internacional de Ingenieria UCV 2010
Ponencia en el Congreso Internacional de Ingenieria UCV 2010Ponencia en el Congreso Internacional de Ingenieria UCV 2010
Ponencia en el Congreso Internacional de Ingenieria UCV 2010Janett Julca Flores
 
Portafolio calculo diferencia
Portafolio calculo diferenciaPortafolio calculo diferencia
Portafolio calculo diferenciajzgeorge
 
Portafolio calculo diferencia
Portafolio calculo diferenciaPortafolio calculo diferencia
Portafolio calculo diferenciajzgeorge
 
Actividad autoformación y evaluación no.2 tarea
Actividad autoformación y evaluación no.2 tareaActividad autoformación y evaluación no.2 tarea
Actividad autoformación y evaluación no.2 tareajenny21071
 
Estimacion de Proyectos, Ingeniería de Software
Estimacion de Proyectos, Ingeniería de SoftwareEstimacion de Proyectos, Ingeniería de Software
Estimacion de Proyectos, Ingeniería de SoftwareMarvin Romero
 
1.2 Presentación paquetes y funciones en R Primer apellido_Primer nombre.pptx
1.2 Presentación paquetes y funciones en R Primer apellido_Primer nombre.pptx1.2 Presentación paquetes y funciones en R Primer apellido_Primer nombre.pptx
1.2 Presentación paquetes y funciones en R Primer apellido_Primer nombre.pptxJOSEDCMERCADOBETANCO
 
Diseño eficiente de algoritmos Parallel Prefix sobre GPUs
Diseño eficiente de algoritmos Parallel Prefix sobre GPUsDiseño eficiente de algoritmos Parallel Prefix sobre GPUs
Diseño eficiente de algoritmos Parallel Prefix sobre GPUsFacultad de Informática UCM
 
Programación en Lenguajes Estructurados 2012. Parte II
Programación en Lenguajes Estructurados 2012. Parte IIProgramación en Lenguajes Estructurados 2012. Parte II
Programación en Lenguajes Estructurados 2012. Parte IIEuler V. Terán Yépez
 
Open class 1_PE.pdf
Open class 1_PE.pdfOpen class 1_PE.pdf
Open class 1_PE.pdfRicardo89199
 
Patrones para asignar responsabilidades. grasp
Patrones para asignar responsabilidades. graspPatrones para asignar responsabilidades. grasp
Patrones para asignar responsabilidades. graspJuan Pablo Bustos Thames
 
FdP_Diapositivas_2018
FdP_Diapositivas_2018FdP_Diapositivas_2018
FdP_Diapositivas_2018ead1943
 
Ra semana 10
Ra semana 10Ra semana 10
Ra semana 10victdiazm
 

Similar a Combinando algoritmos exactos y heurísticos para problemas en ISGB (20)

0. formato producto integrador
0. formato producto integrador0. formato producto integrador
0. formato producto integrador
 
Los lenguajes de programación pasado presente y futuro
Los lenguajes de programación pasado presente y futuroLos lenguajes de programación pasado presente y futuro
Los lenguajes de programación pasado presente y futuro
 
Visualfoxpro
VisualfoxproVisualfoxpro
Visualfoxpro
 
Programacion lineal HERRAMIENTAS
Programacion lineal HERRAMIENTASProgramacion lineal HERRAMIENTAS
Programacion lineal HERRAMIENTAS
 
Ponencia en el Congreso Internacional de Ingenieria UCV 2010
Ponencia en el Congreso Internacional de Ingenieria UCV 2010Ponencia en el Congreso Internacional de Ingenieria UCV 2010
Ponencia en el Congreso Internacional de Ingenieria UCV 2010
 
Portafolio calculo diferencia
Portafolio calculo diferenciaPortafolio calculo diferencia
Portafolio calculo diferencia
 
Portafolio calculo diferencia
Portafolio calculo diferenciaPortafolio calculo diferencia
Portafolio calculo diferencia
 
talleres de lpp
talleres de lpptalleres de lpp
talleres de lpp
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Actividad autoformación y evaluación no.2 tarea
Actividad autoformación y evaluación no.2 tareaActividad autoformación y evaluación no.2 tarea
Actividad autoformación y evaluación no.2 tarea
 
Computacion 1 as09001
Computacion 1 as09001Computacion 1 as09001
Computacion 1 as09001
 
Computacion 1 as09001
Computacion 1 as09001Computacion 1 as09001
Computacion 1 as09001
 
Estimacion de Proyectos, Ingeniería de Software
Estimacion de Proyectos, Ingeniería de SoftwareEstimacion de Proyectos, Ingeniería de Software
Estimacion de Proyectos, Ingeniería de Software
 
1.2 Presentación paquetes y funciones en R Primer apellido_Primer nombre.pptx
1.2 Presentación paquetes y funciones en R Primer apellido_Primer nombre.pptx1.2 Presentación paquetes y funciones en R Primer apellido_Primer nombre.pptx
1.2 Presentación paquetes y funciones en R Primer apellido_Primer nombre.pptx
 
Diseño eficiente de algoritmos Parallel Prefix sobre GPUs
Diseño eficiente de algoritmos Parallel Prefix sobre GPUsDiseño eficiente de algoritmos Parallel Prefix sobre GPUs
Diseño eficiente de algoritmos Parallel Prefix sobre GPUs
 
Programación en Lenguajes Estructurados 2012. Parte II
Programación en Lenguajes Estructurados 2012. Parte IIProgramación en Lenguajes Estructurados 2012. Parte II
Programación en Lenguajes Estructurados 2012. Parte II
 
Open class 1_PE.pdf
Open class 1_PE.pdfOpen class 1_PE.pdf
Open class 1_PE.pdf
 
Patrones para asignar responsabilidades. grasp
Patrones para asignar responsabilidades. graspPatrones para asignar responsabilidades. grasp
Patrones para asignar responsabilidades. grasp
 
FdP_Diapositivas_2018
FdP_Diapositivas_2018FdP_Diapositivas_2018
FdP_Diapositivas_2018
 
Ra semana 10
Ra semana 10Ra semana 10
Ra semana 10
 

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

Último

Teoría de usos y gratificaciones 2024.pptx
Teoría de usos y gratificaciones 2024.pptxTeoría de usos y gratificaciones 2024.pptx
Teoría de usos y gratificaciones 2024.pptxlm24028
 
Sucesión de hongos en estiércol de vaca experimento
Sucesión de hongos en estiércol de vaca experimentoSucesión de hongos en estiércol de vaca experimento
Sucesión de hongos en estiércol de vaca experimentoFriasMartnezAlanZuri
 
HISTORIA NATURAL DE LA ENFEREMEDAD: SARAMPION
HISTORIA NATURAL DE LA ENFEREMEDAD: SARAMPIONHISTORIA NATURAL DE LA ENFEREMEDAD: SARAMPION
HISTORIA NATURAL DE LA ENFEREMEDAD: SARAMPIONAleMena14
 
5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptx
5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptx5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptx
5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptxllacza2004
 
Generalidades de Anatomía - Ayudantía de Cátedra AHCG .pdf
Generalidades de Anatomía - Ayudantía de Cátedra AHCG .pdfGeneralidades de Anatomía - Ayudantía de Cátedra AHCG .pdf
Generalidades de Anatomía - Ayudantía de Cátedra AHCG .pdfdennissotoleyva
 
ECOGRAFIA RENAL Y SUS VARIANTES ANATOMICAS NORMALES
ECOGRAFIA RENAL Y SUS VARIANTES ANATOMICAS NORMALESECOGRAFIA RENAL Y SUS VARIANTES ANATOMICAS NORMALES
ECOGRAFIA RENAL Y SUS VARIANTES ANATOMICAS NORMALEScarlasanchez99166
 
Diapositiva sobre el conflicto de Israel - Palestina para nivel secundaria
Diapositiva sobre el conflicto de Israel - Palestina para nivel secundariaDiapositiva sobre el conflicto de Israel - Palestina para nivel secundaria
Diapositiva sobre el conflicto de Israel - Palestina para nivel secundariaAgustin535878
 
EXPOSICION NORMA TECNICA DE SALUD 2024 -
EXPOSICION NORMA TECNICA DE SALUD 2024 -EXPOSICION NORMA TECNICA DE SALUD 2024 -
EXPOSICION NORMA TECNICA DE SALUD 2024 -FridaDesiredMenesesF
 
Procedimiento e interpretación de los coprocultivos.pdf
Procedimiento e interpretación de los coprocultivos.pdfProcedimiento e interpretación de los coprocultivos.pdf
Procedimiento e interpretación de los coprocultivos.pdfCarlaLSarita1
 
PARES CRANEALES. ORIGEN REAL Y APARENTE, TRAYECTO E INERVACIÓN. CLASIFICACIÓN...
PARES CRANEALES. ORIGEN REAL Y APARENTE, TRAYECTO E INERVACIÓN. CLASIFICACIÓN...PARES CRANEALES. ORIGEN REAL Y APARENTE, TRAYECTO E INERVACIÓN. CLASIFICACIÓN...
PARES CRANEALES. ORIGEN REAL Y APARENTE, TRAYECTO E INERVACIÓN. CLASIFICACIÓN...ocanajuanpablo0
 
Patologias del quiasma optico .pptxxxxxx
Patologias del quiasma optico .pptxxxxxxPatologias del quiasma optico .pptxxxxxx
Patologias del quiasma optico .pptxxxxxxFranciscaValentinaGa1
 
mecanismo de acción de los ANTIVIRALES.pptx
mecanismo de acción de los ANTIVIRALES.pptxmecanismo de acción de los ANTIVIRALES.pptx
mecanismo de acción de los ANTIVIRALES.pptxGeovannaLopez9
 
Tema 1. Generalidades de Microbiologia Universidad de Oriente
Tema 1. Generalidades de Microbiologia Universidad de OrienteTema 1. Generalidades de Microbiologia Universidad de Oriente
Tema 1. Generalidades de Microbiologia Universidad de OrienteUnaLuzParaLasNacione
 
Harvey, David. - Paris capital de la modernidad [2008].pdf
Harvey, David. - Paris capital de la modernidad [2008].pdfHarvey, David. - Paris capital de la modernidad [2008].pdf
Harvey, David. - Paris capital de la modernidad [2008].pdffrank0071
 
enfermedades infecciosas diarrea viral bovina presentacion umss
enfermedades infecciosas diarrea viral bovina presentacion umssenfermedades infecciosas diarrea viral bovina presentacion umss
enfermedades infecciosas diarrea viral bovina presentacion umssCinthyaMercado3
 
problemas_oscilaciones_amortiguadas.pdf aplicadas a la mecanica
problemas_oscilaciones_amortiguadas.pdf aplicadas a la mecanicaproblemas_oscilaciones_amortiguadas.pdf aplicadas a la mecanica
problemas_oscilaciones_amortiguadas.pdf aplicadas a la mecanicaArturoDavilaObando
 
Codigo rojo manejo y tratamient 2022.pptx
Codigo rojo manejo y tratamient 2022.pptxCodigo rojo manejo y tratamient 2022.pptx
Codigo rojo manejo y tratamient 2022.pptxSergioSanto4
 
Fowler, Will. - Santa Anna, héroe o villano [2018].pdf
Fowler, Will. - Santa Anna, héroe o villano [2018].pdfFowler, Will. - Santa Anna, héroe o villano [2018].pdf
Fowler, Will. - Santa Anna, héroe o villano [2018].pdffrank0071
 
inspeccion del pescado.pdfMedicinaveteri
inspeccion del pescado.pdfMedicinaveteriinspeccion del pescado.pdfMedicinaveteri
inspeccion del pescado.pdfMedicinaveteriManrriquezLujanYasbe
 
TEST BETA III: APLICACIÓN E INTERPRETACIÓN.pptx
TEST BETA III: APLICACIÓN E INTERPRETACIÓN.pptxTEST BETA III: APLICACIÓN E INTERPRETACIÓN.pptx
TEST BETA III: APLICACIÓN E INTERPRETACIÓN.pptxXavierCrdenasGarca
 

Último (20)

Teoría de usos y gratificaciones 2024.pptx
Teoría de usos y gratificaciones 2024.pptxTeoría de usos y gratificaciones 2024.pptx
Teoría de usos y gratificaciones 2024.pptx
 
Sucesión de hongos en estiércol de vaca experimento
Sucesión de hongos en estiércol de vaca experimentoSucesión de hongos en estiércol de vaca experimento
Sucesión de hongos en estiércol de vaca experimento
 
HISTORIA NATURAL DE LA ENFEREMEDAD: SARAMPION
HISTORIA NATURAL DE LA ENFEREMEDAD: SARAMPIONHISTORIA NATURAL DE LA ENFEREMEDAD: SARAMPION
HISTORIA NATURAL DE LA ENFEREMEDAD: SARAMPION
 
5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptx
5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptx5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptx
5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptx
 
Generalidades de Anatomía - Ayudantía de Cátedra AHCG .pdf
Generalidades de Anatomía - Ayudantía de Cátedra AHCG .pdfGeneralidades de Anatomía - Ayudantía de Cátedra AHCG .pdf
Generalidades de Anatomía - Ayudantía de Cátedra AHCG .pdf
 
ECOGRAFIA RENAL Y SUS VARIANTES ANATOMICAS NORMALES
ECOGRAFIA RENAL Y SUS VARIANTES ANATOMICAS NORMALESECOGRAFIA RENAL Y SUS VARIANTES ANATOMICAS NORMALES
ECOGRAFIA RENAL Y SUS VARIANTES ANATOMICAS NORMALES
 
Diapositiva sobre el conflicto de Israel - Palestina para nivel secundaria
Diapositiva sobre el conflicto de Israel - Palestina para nivel secundariaDiapositiva sobre el conflicto de Israel - Palestina para nivel secundaria
Diapositiva sobre el conflicto de Israel - Palestina para nivel secundaria
 
EXPOSICION NORMA TECNICA DE SALUD 2024 -
EXPOSICION NORMA TECNICA DE SALUD 2024 -EXPOSICION NORMA TECNICA DE SALUD 2024 -
EXPOSICION NORMA TECNICA DE SALUD 2024 -
 
Procedimiento e interpretación de los coprocultivos.pdf
Procedimiento e interpretación de los coprocultivos.pdfProcedimiento e interpretación de los coprocultivos.pdf
Procedimiento e interpretación de los coprocultivos.pdf
 
PARES CRANEALES. ORIGEN REAL Y APARENTE, TRAYECTO E INERVACIÓN. CLASIFICACIÓN...
PARES CRANEALES. ORIGEN REAL Y APARENTE, TRAYECTO E INERVACIÓN. CLASIFICACIÓN...PARES CRANEALES. ORIGEN REAL Y APARENTE, TRAYECTO E INERVACIÓN. CLASIFICACIÓN...
PARES CRANEALES. ORIGEN REAL Y APARENTE, TRAYECTO E INERVACIÓN. CLASIFICACIÓN...
 
Patologias del quiasma optico .pptxxxxxx
Patologias del quiasma optico .pptxxxxxxPatologias del quiasma optico .pptxxxxxx
Patologias del quiasma optico .pptxxxxxx
 
mecanismo de acción de los ANTIVIRALES.pptx
mecanismo de acción de los ANTIVIRALES.pptxmecanismo de acción de los ANTIVIRALES.pptx
mecanismo de acción de los ANTIVIRALES.pptx
 
Tema 1. Generalidades de Microbiologia Universidad de Oriente
Tema 1. Generalidades de Microbiologia Universidad de OrienteTema 1. Generalidades de Microbiologia Universidad de Oriente
Tema 1. Generalidades de Microbiologia Universidad de Oriente
 
Harvey, David. - Paris capital de la modernidad [2008].pdf
Harvey, David. - Paris capital de la modernidad [2008].pdfHarvey, David. - Paris capital de la modernidad [2008].pdf
Harvey, David. - Paris capital de la modernidad [2008].pdf
 
enfermedades infecciosas diarrea viral bovina presentacion umss
enfermedades infecciosas diarrea viral bovina presentacion umssenfermedades infecciosas diarrea viral bovina presentacion umss
enfermedades infecciosas diarrea viral bovina presentacion umss
 
problemas_oscilaciones_amortiguadas.pdf aplicadas a la mecanica
problemas_oscilaciones_amortiguadas.pdf aplicadas a la mecanicaproblemas_oscilaciones_amortiguadas.pdf aplicadas a la mecanica
problemas_oscilaciones_amortiguadas.pdf aplicadas a la mecanica
 
Codigo rojo manejo y tratamient 2022.pptx
Codigo rojo manejo y tratamient 2022.pptxCodigo rojo manejo y tratamient 2022.pptx
Codigo rojo manejo y tratamient 2022.pptx
 
Fowler, Will. - Santa Anna, héroe o villano [2018].pdf
Fowler, Will. - Santa Anna, héroe o villano [2018].pdfFowler, Will. - Santa Anna, héroe o villano [2018].pdf
Fowler, Will. - Santa Anna, héroe o villano [2018].pdf
 
inspeccion del pescado.pdfMedicinaveteri
inspeccion del pescado.pdfMedicinaveteriinspeccion del pescado.pdfMedicinaveteri
inspeccion del pescado.pdfMedicinaveteri
 
TEST BETA III: APLICACIÓN E INTERPRETACIÓN.pptx
TEST BETA III: APLICACIÓN E INTERPRETACIÓN.pptxTEST BETA III: APLICACIÓN E INTERPRETACIÓN.pptx
TEST BETA III: APLICACIÓN E INTERPRETACIÓN.pptx
 

Combinando algoritmos exactos y heurísticos para problemas en ISGB

  • 1. Taller: Combinando algoritmos exactos y heurísticos para problemas en ISGB Francisco Chicano
  • 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