optimización heurística: búsqueda de vecindad variable

72
Optimización heurística: Búsqueda de Vecindad Variable ABRAHAM DUARTE 1 www.grafo.etsii.urjc.es

Upload: others

Post on 10-Jul-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Optimización heurística: Búsqueda de Vecindad Variable

Optimización heurística: Búsqueda de Vecindad Variable

ABRAHAM DUARTE

1

www.grafo.etsii.urjc.es

Page 2: Optimización heurística: Búsqueda de Vecindad Variable

Optimización

o En lenguaje coloquial, optimizar significa mejorar

o En el contexto científico, es el proceso de tratar de encontrar la mejor solución posible para un problema determinado

Page 3: Optimización heurística: Búsqueda de Vecindad Variable

Problema de optimización

o El objetivo de un problema de optimización es encontrar la solución óptima dado un criterio para discriminarentre dos soluciones

o Encontrar el valor de unas variables de decisión (sujetas a restricciones) para los que una determinada función objetivo alcanza su valor máximo o mínimo

Page 4: Optimización heurística: Búsqueda de Vecindad Variable

Optimización

o Representación: codifica las soluciones factibles para su representación. Determina el tamaño del espacio de búsqueda del problema

o Objetivo: modelo matemático que expresa la tarea a realizar

o Función de evaluación: asocia a cada solución factible un valor que determina su calidad.

Page 5: Optimización heurística: Búsqueda de Vecindad Variable

Optimización

o Dado un dominio 𝑋 y una función

el objetivo es encontrar un 𝑥 que verifique

o Optimización combinatoria: consiste en encontrar un objeto en un conjunto finito de soluciones

𝑓 𝑋 : 𝑥 ∈ 𝑋 → 𝑅

𝑥⋆ ∈ 𝑋: 𝑓 𝑥⋆ ≥ 𝑓 𝑥 , ∀𝑥 ∈ 𝑋

Page 6: Optimización heurística: Búsqueda de Vecindad Variable

Tipos de problemas combinatorios

o Según la representación de la solución• Permutaciones: problemas de ordenación• Binarios: problemas de pertenencia• Enteros: problemas de cardinalidad• Otros (mixtos, subgrafos, árboles, etc.)

1221334443311222144321112234

Page 7: Optimización heurística: Búsqueda de Vecindad Variable

Tipos de problemas

o Fáciles de resolver• Lineales: función objetivo y restricciones

lineales (método Simplex)

o Difíciles de resolver (𝑁𝑃-difícil)• No podemos garantizar encontrar la mejor

solución en un tiempo razonable• La mayoría de problemas de aplicación práctica• Desarrollamos procedimientos eficientes para

encontrar soluciones de calidad

Page 8: Optimización heurística: Búsqueda de Vecindad Variable

Tipos de problemas

Page 9: Optimización heurística: Búsqueda de Vecindad Variable

Tipos de problemas

𝑁𝑃-completo

𝑁𝑃-difícil

𝑃

𝑁𝑃 𝑃 = 𝑁𝑃 =𝑁𝑃-completo

𝑁𝑃-difícil

𝑃 ≠ 𝑁𝑃 𝑃 = 𝑁𝑃

Page 10: Optimización heurística: Búsqueda de Vecindad Variable

Tipos de problemas

Page 11: Optimización heurística: Búsqueda de Vecindad Variable

Ejemplos de problemas

o Viajanteo Mochilao Coloreado de grafoso Partición de conjuntoso Ordenación linealo Diversidado Enrutado de vehículoso …

Page 12: Optimización heurística: Búsqueda de Vecindad Variable

Problema del viajante

o Travelling Salesman Problem, TSP. Un comerciante tiene que visitar n ciudades, comenzando y finalizando en su propia ciudad. Conociendo el coste de ir de una ciudad a otra, encontrar el recorrido de coste mínimo.

10

1

8

1 16 13

Page 13: Optimización heurística: Búsqueda de Vecindad Variable

Problema del viajante

o Número de soluciones en el TSP• 10 ciudades. 105 (aprox.)• 20 ciudades. 1012 (aprox.)• 50 ciudades. 1062 (aprox.)o Enumeración exhaustiva§ Edad del universo 15000 millones de años (1018 sec)§ Súper-computador: 100 petaflops (1017Inst/sec)

0.000000000000000000000000001% de soluciones evaluadas

Page 14: Optimización heurística: Búsqueda de Vecindad Variable

Problema del viajante

Page 15: Optimización heurística: Búsqueda de Vecindad Variable

Tipos de óptimos

o Óptimo global: se trata de la mejor solución que se puede encontrar a un problema

o Óptimo local: es la mejor solución de un problema dentro de una vecindad determinada

o Un óptimo global es óptimo local de cualquier vecindad

Page 16: Optimización heurística: Búsqueda de Vecindad Variable

Tipos de óptimos

Page 17: Optimización heurística: Búsqueda de Vecindad Variable

Vecindado Dada una solución 𝑥, la vecindad 𝑁(𝑥) de esa

solución es un subconjunto del espacio de soluciones que contiene soluciones próximas a la original

o Cada solución de su vecindad 𝑥2 ∈ 𝑁(𝑥) puede obtenerse directamente desde 𝑥 mediante una operación llamada movimiento

Page 18: Optimización heurística: Búsqueda de Vecindad Variable

Movimiento

Page 19: Optimización heurística: Búsqueda de Vecindad Variable

Heurísticas y metaheurísticas

o Para la mayoría de los problemas con interés práctico, los algoritmos exactos no son una alternativa realista

• El tamaño del problema hace que éste sea ineficiente computacionalmente

• Ejemplo del viajante

Page 20: Optimización heurística: Búsqueda de Vecindad Variable

Heurísticas y metaheurísticas

o Hay condiciones difíciles de modelar que exigen flexibilidad

o Se necesitan soluciones aproximadascomo parte de un procedimiento global que garantice el óptimo

• El heurístico proporciona una buena solución inicial y participa en el paso intermedio del procedimiento

Page 21: Optimización heurística: Búsqueda de Vecindad Variable

Heurísticas y metaheurísticas

o Heurísticas: procedimientos simplesbasados en el sentido común que obtienen una buena solución a problemas difíciles de un modo sencillo y rápido

o Metaheurísticas: procedimiento iterativo maestro que guía y modifica las operaciones de una heurística subordinada para producir eficientementesoluciones de alta calidad

Page 22: Optimización heurística: Búsqueda de Vecindad Variable

Exacto vs heurístico

Exactos Heurísticos/Metaheurísticos

Solución óptima Solución de calidad (óptimo no garantizado)

El tiempo invertido para obtener el óptimo de un problema difícil puede ser desproporcionado

El tiempo suele ser reducido

Útiles para problemas pequeños Útiles cuando el problema es grande y necesitamos generar soluciones en un corto espacio de tiempo

Page 23: Optimización heurística: Búsqueda de Vecindad Variable

Heurísticos constructivos

o Estrategia voraz: Partiendo de una semilla, construyen iterativamente una solución

o En cada paso, se añade a la solución el elemento que produzca la mayor mejoraen la solución parcial

o Visión miope: eligen la mejor opción para la siguiente iteración sin importar lo que suceda en el futuro

Page 24: Optimización heurística: Búsqueda de Vecindad Variable

Heurísticos constructivos

o Estrategia de descomposición: Se divide el problema en subproblemas más pequeños hasta que el tamaño del subproblema es trivial

o El algoritmo combina las soluciones en cada paso hasta obtener la solución al problema original

o Ejemplo: divide y vencerás

Page 25: Optimización heurística: Búsqueda de Vecindad Variable

Heurísticos constructivos

o Estrategia de reducción: identifican características que contienen las soluciones buenas conocidas y se asume que la solución óptima también las tendrá

• Reducción drástica del espacio de búsqueda

o Manipulación del modelo: simplifican el modelo del problema original, se soluciona el modelo simplificado y se extrapola al problema original

Page 26: Optimización heurística: Búsqueda de Vecindad Variable

Heurísticos constructivos

o Estrategia aleatorizada: dada una solución factible y una vecindad asociada, se seleccionan aleatoriamente soluciones dentro de la vecindad

o Su éxito depende de la selección de vecindades prometedoras

Page 27: Optimización heurística: Búsqueda de Vecindad Variable

Heurísticos de búsqueda

o First improvement: examina la vecindad de una solución y selecciona el primer movimiento que produce una mejora

o Best improvement: examina todos los posibles movimientos en una vecindad, seleccionando el que produce la mayor mejora

Page 28: Optimización heurística: Búsqueda de Vecindad Variable

Limitaciones de los heurísticos

o Dependen en gran medida del problema concreto para el que se han diseñado

o Las técnicas e ideas aplicadas a la resolución de un problema son específicasde éste

o Es difícil trasladar el aprendizaje a otros problemas

• Han de particularizarse para cada caso

Page 29: Optimización heurística: Búsqueda de Vecindad Variable

Limitaciones de los heurísticos

Page 30: Optimización heurística: Búsqueda de Vecindad Variable

Metaheurísticas

o Propósito: obtener mejores resultados que los obtenidos por los heurísticostradicionales

o El término fue introducido por Fred Gloveren 1986

o Los procedimientos se sitúan “por encima” de los heurísticos, guiando su comportamiento

Page 31: Optimización heurística: Búsqueda de Vecindad Variable

Metaheurísticas

Técnicas de diseño de algoritmos* Divide y vencerás* Algoritmos voraces* Programación dinámica* Etc

Algoritmos específicos* Relajación del modelo* Algoritmos ad hoc* Etc

Inspiración* Psicología => Aprendizaje* Biología >* Termología Recocido* Etc

= Evolución=>

Estadística* Aleatorizac* Funciones de distribución* Estimimadores* Etc

ión

Metaheurística

Page 32: Optimización heurística: Búsqueda de Vecindad Variable

Taxonomía

Page 33: Optimización heurística: Búsqueda de Vecindad Variable

Ejemplos trayectoriales

o Búsqueda Tabu (Tabu Search – TS)o Búsqueda de Vecindad Variable (Variable

Neighborhood Search – VNS)o GRASP - Greedy Randomized Adaptive Serach

Procedureso Búsqueda local iterada (Iterated Local Search –

ILS)o Recocido Simulado (Simulated Annealing – SA)

Page 34: Optimización heurística: Búsqueda de Vecindad Variable

Ejemplos poblacionales

o Búsqueda dispersa (Scatter Search – SS)o Reencadenamiento de trayectorias (Path

Relinking – PR)o Algoritmos evolutivos (genéticos – GA y

meméticos – MA)o Optimización por colonias de hormigas (Ant

Colony Optimization – ACO)o Inteligencia de enjambre (Swarm Intelligence –

SI)

Page 35: Optimización heurística: Búsqueda de Vecindad Variable

Búsqueda de Vecindad Variable

o La búsqueda de vecindad variable (VNS –Variable Neighborhood Search) fue propuesta por P. Hansen y N. Mladenovic en 1997.

o Se basa en el principio del cambio sistemático de vecindad en la búsqueda.

• Al quedarse atrapada en un óptimo local, la búsqueda salta a otra zona del espacio de soluciones.

Page 36: Optimización heurística: Búsqueda de Vecindad Variable

Búsqueda de Vecindad Variable

1. Un mínimo local en una estructura de vecindad no lo es necesariamente de otra.

2. Un mínimo global es mínimo local respecto a todas las estructuras de vecindad.

3. En general, los mínimos locales con la misma o diferente estructura de vecindad están cerca.

Page 37: Optimización heurística: Búsqueda de Vecindad Variable

o La cercanía entre óptimos locales es una observación empírica.

• Implica que los óptimos locales aportan información sobre el global.

o Por ejemplo, puede que compartan características.

• Pero no se suele saber qué características comparten.

o Es necesario estudiar las proximidades del óptimo local para encontrar uno mejor.

Búsqueda de Vecindad Variable

Page 38: Optimización heurística: Búsqueda de Vecindad Variable

o Basic VNS – BVNSo Reduced VNS – RVNSo Variable Neighborhood Descent – VNDo General VNS – GVNSo Variable Neighb. Decomposition Search – VNDSo Skewed VNS – SVNSo Parallel VNS – PVNS

Búsqueda de Vecindad Variable

Page 39: Optimización heurística: Búsqueda de Vecindad Variable

o Combina pasos aleatorios y deterministas en la exploración de las estructuras de vecindad.

o En cada iteración, se selecciona una solución aleatoria dentro de la vecindad actual y se encuentra su óptimo local.

o Se aplican cambios mientras la solución no mejore.

• Cuando mejora se vuelve a la vecindad inicial.

Búsqueda de Vecindad Variable

Page 40: Optimización heurística: Búsqueda de Vecindad Variable

𝜑

𝑓 𝜑

Búsqueda de Vecindad Variable

Page 41: Optimización heurística: Búsqueda de Vecindad Variable

BVNS(𝑆, 𝑘678, 𝑡678)do

𝑘 ← 1do𝑆2 ← 𝑠ℎ𝑎𝑘𝑒 𝑆, 𝑘𝑆22 ← 𝑙𝑜𝑐𝑎𝑙𝑆𝑒𝑎𝑟𝑐ℎ 𝑆2k ← 𝑁𝑒𝑖𝑔ℎ𝑏𝑜𝑟ℎ𝑜𝑜𝑑𝐶ℎ𝑎𝑛𝑔𝑒 𝑆, 𝑆22, 𝑘

while 𝑘 ≤ 𝑘678𝑡 ← 𝐶𝑃𝑈𝑇𝑖𝑚𝑒

while 𝑡 ≤ 𝑡678

Basic VNSBúsqueda de Vecindad Variable

Shake(𝑆, 𝑘) Improve(𝑆’) Neighborhood Change(𝑆, 𝑆’’)

𝑆, 𝑘 ← 1 𝑆′ 𝑆′′

𝑘 ≤ 𝑘678

yes

no

𝑆, 𝑘

𝑆, 𝑘𝑆

Page 42: Optimización heurística: Búsqueda de Vecindad Variable

Búsqueda de Vecindad Variable

Shakeo Aplica una perturbación aleatoria a la solución

para moverse a una solución dentro de la vecindad k-ésima.

Basic VNS

Page 43: Optimización heurística: Búsqueda de Vecindad Variable

Búsqueda de Vecindad Variable

Neighborhood Changeo Decide la siguiente vecindad a utilizar.o Si se ha producido una mejora, se actualiza la

mejor solución hasta el momento y se vuelve a la primera vecindad.

o Si no, se pasa a la siguiente vecindad.

Basic VNS

Page 44: Optimización heurística: Búsqueda de Vecindad Variable

Búsqueda de Vecindad Variable

o En algunas ocasiones la búsqueda local es un procedimiento pesado.

o Para reducir el tiempo de cómputo, RVNS elimina la búsqueda local del proceso.

o Realiza cambios aleatorios de pequeño tamaño en la vecindad actual.

ReducedVNS

Page 45: Optimización heurística: Búsqueda de Vecindad Variable

Búsqueda de Vecindad VariableRVNS(𝑆, 𝑘678, 𝑡678)do

𝑘 ← 1do𝑆2 ← 𝑠ℎ𝑎𝑘𝑒 𝑆, 𝑘k ← 𝑁𝑒𝑖𝑔ℎ𝑏𝑜𝑟ℎ𝑜𝑜𝑑𝐶ℎ𝑎𝑛𝑔𝑒 𝑆, 𝑆2, 𝑘

while 𝑘 ≤ 𝑘678𝑡 ← 𝐶𝑃𝑈𝑇𝑖𝑚𝑒

while 𝑡 ≤ 𝑡678

ReducedVNS

Shake(𝑆, 𝑘) Improve(𝑆’) Neighborhood Change(𝑆, 𝑆’’)

𝑆, 𝑘 ← 1

𝑆′

𝑘 ≤ 𝑘678

yes

no

𝑆, 𝑘

𝑆′, 𝑘𝑆

Page 46: Optimización heurística: Búsqueda de Vecindad Variable

Búsqueda de Vecindad Variable

o Utiliza diferentes estructuras de vecindad en el proceso de mejora.

o Los cambios de vecindad son deterministas.

Variable Neighborhood Descent

Page 47: Optimización heurística: Búsqueda de Vecindad Variable

Búsqueda de Vecindad VariableVND(𝑆, 𝑘678)

𝑘 ← 1do𝑆2 ← 𝐵𝑒𝑠𝑡𝐼𝑛𝑁𝑒𝑖𝑔ℎ𝑏𝑜𝑟ℎ𝑜𝑜𝑑 𝑆, 𝑘𝑘 ← 𝑁𝑒𝑖𝑔ℎ𝑏𝑜𝑟ℎ𝑜𝑜𝑑𝐶ℎ𝑎𝑛𝑔𝑒 𝑆, 𝑆2, 𝑘

while 𝑘 ≤ 𝑘678

Variable Neighborhood Descent

Shake(𝑆, 𝑘) Improve(𝑆’) Neighborhood Change(𝑆, 𝑆’’)

𝑆, 𝑘 ← 1 𝑆′′

𝑘 ≤ 𝑘678

yes

no

𝑆, 𝑘

𝑆, 𝑘𝑆

Page 48: Optimización heurística: Búsqueda de Vecindad Variable

Búsqueda de Vecindad Variable

o Se combinan las ideas anteriores:• Se mantiene el esquema de cambio aleatorio de BVNS• Se añade una búsqueda local más exhaustiva como en

VND.

General VNS

Page 49: Optimización heurística: Búsqueda de Vecindad Variable

Búsqueda de Vecindad VariableGVNS(𝑆, 𝑘678, 𝑡678)do

𝑘 ← 1do𝑆2 ← 𝑠ℎ𝑎𝑘𝑒 𝑆, 𝑘𝑆22 ← 𝑉𝑁𝐷 𝑆2k ← 𝑁𝑒𝑖𝑔ℎ𝑏𝑜𝑟ℎ𝑜𝑜𝑑𝐶ℎ𝑎𝑛𝑔𝑒 𝑆, 𝑆22, 𝑘

while 𝑘 ≤ 𝑘678𝑡 ← 𝐶𝑃𝑈𝑇𝑖𝑚𝑒

while 𝑡 ≤ 𝑡678

General VNS

Shake(𝑆, 𝑘) Improve(𝑆’) Neighborhood Change(𝑆, 𝑆’’)

𝑆, 𝑘 ← 1

𝑆′

𝑘 ≤ 𝑘678

yes

no

𝑆, 𝑘

𝑆, 𝑘𝑆

VND(𝑆’)𝑆′′

Page 50: Optimización heurística: Búsqueda de Vecindad Variable

Búsqueda de Vecindad Variable

Variable Neighborhood Decomposition Searcho Descompone el problema en subproblemas más

sencillosSkewed VNSo Permite la exploración de zonas con soluciones

infactibles.Hibridacioneso GRASP, Tabú Search, Scatter Search, etc.

Extensiones

Page 51: Optimización heurística: Búsqueda de Vecindad Variable

Caso de uso. Vertex Separation

o Grafo genérico que se representa en una disposición lineal.

• Cada vértice 𝑣 de coloca en la posición 𝜑 𝑣

A

B

E F

G

C

D

Page 52: Optimización heurística: Búsqueda de Vecindad Variable

Caso de uso. Vertex Separation

o Grafo genérico que se representa en una disposición lineal.

• Cada vértice 𝑣 de coloca en la posición 𝜑 𝑣

AB EFGCD

1 2 3 4 5 6 7

Page 53: Optimización heurística: Búsqueda de Vecindad Variable

Caso de uso. Vertex Separation

𝑝 = 3

AB EFGCD

𝐿 𝜑, 𝑝 = 𝐵, 𝐶, 𝐷 𝑅 𝜑, 𝑝 = 𝐴, 𝐸, 𝐹, 𝐺

Page 54: Optimización heurística: Búsqueda de Vecindad Variable

Caso de uso. Vertex Separationo 𝑆𝑒𝑝(𝜑, 𝑝) represents the separation value

at position 𝑝 of layout 𝜑.o Number of vertices in 𝐿(𝜑, 𝑝) with, at least,

one adjacent in 𝑅(𝜑, 𝑝).

𝑆𝑒𝑝 𝜑, 𝑝= 𝑢 ∈ 𝐿 𝜑, 𝑝 : ∃𝑣 ∈ 𝑅 𝜑, 𝑝 ∧ 𝑢, 𝑣 ∈ 𝐸

Page 55: Optimización heurística: Búsqueda de Vecindad Variable

Caso de uso. Vertex Separation

AB EFGCD

1

𝑆𝑒𝑝 𝜑, 1 = 𝐷 = 1

Page 56: Optimización heurística: Búsqueda de Vecindad Variable

Caso de uso. Vertex Separation

AB EFGCD

1 2

𝑆𝑒𝑝 𝜑, 2 = 𝐷, 𝐶 = 2

Page 57: Optimización heurística: Búsqueda de Vecindad Variable

Caso de uso. Vertex Separation

AB EFGCD

1 2 3

𝑆𝑒𝑝 𝜑, 3 = 𝐷, 𝐶, 𝐵 = 3

Page 58: Optimización heurística: Búsqueda de Vecindad Variable

Caso de uso. Vertex Separation

𝑆𝑒𝑝 𝜑, 4 = 𝐷, 𝐶, 𝐵, 𝐺 = 4

AB EFGCD

1 2 3 4

Page 59: Optimización heurística: Búsqueda de Vecindad Variable

Caso de uso. Vertex Separation

𝑆𝑒𝑝 𝜑, 5 = 𝐷, 𝐶, 𝐵 = 3

AB EFGCD

1 2 3 4 3

Page 60: Optimización heurística: Búsqueda de Vecindad Variable

Caso de uso. Vertex Separation

𝑆𝑒𝑝 𝜑, 6 = 𝐷, 𝐶, 𝐹 = 3

AB EFGCD

1 2 3 4 3 3

Page 61: Optimización heurística: Búsqueda de Vecindad Variable

Caso de uso. Vertex Separation

o The 𝑽𝑺-value for layout 𝜑 is defined as the maximum of all the 𝑺𝒆𝒑-values among all positions.

𝑉𝑆 𝜑 = maxlmnop

𝑆𝑒𝑝 𝜑, 𝑝

o VSP is a minimization problem.𝜑⋆ = arg min

u∈v𝑉𝑆 𝜑

Page 62: Optimización heurística: Búsqueda de Vecindad Variable

Caso de uso. Vertex Separation

4

AB EFGCD

1 2 3 3 3

Page 63: Optimización heurística: Búsqueda de Vecindad Variable

Caso de uso. Vertex Separation

AB EFGCD

1 2 3 3 3

𝑉𝑆 𝜑 = 4

4

Page 64: Optimización heurística: Búsqueda de Vecindad Variable

Caso de uso. Vertex Separation

o Finding separators for graphs.o Very Large Scale Integration.o Graph theory – maximum independent set.o Computer language compiler design.o Graph drawing.o Natural Language Processing.

Page 65: Optimización heurística: Búsqueda de Vecindad Variable

Caso de uso. Vertex Separationo Exact algorithms for special graphs: trees,

unicyclic graphs, 𝒏-dimensional grids, co-graphs and permutational graphs.

o A polynomial-time algorithm for general graphs was proposed but its complexity makes it impractical.

o Approximation algorithms: 𝑶 𝐥𝐨𝐠𝟐 𝒏 for general graphs and 𝑶 𝐥𝐨𝐠𝒏 for planar graphs.

Page 66: Optimización heurística: Búsqueda de Vecindad Variable

Caso de uso. Vertex Separationo Proposal: exact and heuristic perspectives.o Mathematical model: impractical for large

instances.o Metaheuristic algorithm: Variable

Neighborhood Search framework.

Shake(𝑆, 𝑘) Improve(𝑆’) Neighborhood Change(𝑆, 𝑆’’)

𝑆, 𝑘 ← 1 𝑆′ 𝑆′′

𝑘 ≤ 𝑘678

yes

no

𝑆, 𝑘

𝑆, 𝑘𝑆

Page 67: Optimización heurística: Búsqueda de Vecindad Variable

Caso de uso. Vertex Separation

o Procedimiento constructivo

A

B

E F

G

C

D

F

B C E

G A D

𝐿l

𝐿}

𝐿~

Page 68: Optimización heurística: Búsqueda de Vecindad Variable

Caso de uso. Vertex Separation

o Procedimiento constructivo

F

B C E

G A D

𝐿l

𝐿}

𝐿~

F B C E G A D

Page 69: Optimización heurística: Búsqueda de Vecindad Variable

Caso de uso. Vertex Separation

Neighborhood structures –𝑵𝟏• Best improvement with insertion moves. Neighborhood structures –𝑵𝟐• Heuristic rule for identifying promising positions for a

given vertex.• Usually located between the first and second adjacent

vertices.

Page 70: Optimización heurística: Búsqueda de Vecindad Variable

Caso de uso. Vertex Separation

Variantes del Shake

Selection Insertion Objective

Shake1 Random Random Diversification

Shake2 Greedy Greedy Intensification

Shake3 Random Greedy Compromise

Shake4 Greedy Random Compromise

Page 71: Optimización heurística: Búsqueda de Vecindad Variable

Caso de uso. Vertex Separation

• A. Duarte, L. F. Escudero, R. Martí, N. Mladenovic, J. J. Pantrigo, and J. Sánchez-Oro, Variable neighborhood search for the Vertex Separation Problem, Computers & Operations Research, 39(12):3247-3255, 2012.• DOI: https://doi.org/10.1016/j.cor.2012.04.017 • IF (2012): 1.909• Ranking: 10/79 (Q1)

Page 72: Optimización heurística: Búsqueda de Vecindad Variable

Caso de uso. Vertex Separationo J. Sáchez Oro, J.J. Pantrigo, and A. Duarte. Combining

intensification and diversification strategies in VNS. An application to the Vertex Separation problem.Computers & Operations Research, 52(B):209-219, 2014.

• DOI: https://doi.org/10.1016/j.cor.2013.11.008• IF (2015): 1.988• Ranking: 19/82 (Q1)