La idea básica es ir cambiando en forma sistemática la vecindad al momento de realizar la búsqueda.
Sea un conjunto finito de vecindades predefinidas y el conjunto de soluciones en la -ésima vecindad de .
La mayoría de los algoritmos de búsqueda local usan una sola vecindad.
Las vecindades a veces se pueden inducir a partir de una o más métricas que se tengan en el espacio de solución.
VNS se basa en tres hechos simples:
La última observación es empírica e implica que un mínimo local muchas veces nos de información acerca del óptimo global.
Se pueden hacer tres estrategias: (i) determinística, (ii) estocástica, y (iii) combinación de las dos.
Variable neighborhood descent (VND): es un método determinístico. La idea es buscar sistemáticamente en diferentes esquemas de vecindad hasta llegar a un mínimo local que es mínimo con respecto a todos los esquemas de vecindad (ver tabla 4.4).
Reduced VNS (RVNS): es un método aleatorio. Es exactamente igual que la anterior, sólo que los vecinos en cada vecindad son seleccionados aleatoriamente (ver tabla 4.5).
VNS básico (VNS): combina cambios determinísticos y estocásticos. La idea es seleccionar un punto aleatorio en cierta vecindad y luego aplicarle a ese punto búsqueda local. Como en los casos anteriores, si se encuentra una mejor solución, se re-emplaza la solución actual y se empieza otra vez con el primer esquema de vecindad. Si no se busca una mejora en el siguiente esquema de vecindad (ver tabla 4.6).
Se han propuesto diferentes variantes al algoritmo básico:
En esta, así como en otras técnicas que vamos a hacer, se han propuesto esquemas híbridos, e.g., VNS y búsuqeda Tabú, VNS y GRASP, VNS con satisfacción de restricciones, etc.