May 6, 2024

VND metaheuristic

The Variable Neighborhood Descent (VND) is a metaheuristic optimization algorithm used in solving combinatorial optimization problems.

The Variable Neighborhood Descent (VND) is a metaheuristic optimization algorithm used in solving combinatorial optimization problems. It is developed as an extension of the local search paradigm. The algorithm systematically explores different neighborhoods around a given solution in order to iteratively improve upon it. The key of VND lies in its ability to keep searching in different type of neighborhoods if a better solution is not found.

First of all, let me explain what is a neighbourhood. A neighbourhood in this context refers to a set of solutions that are obtained by applying a specific transformation or perturbation to the current solution. These transformations can vary depending on the problem domain and typically involve operations such as swapping, insertion, or removal of elements.

At its core, VND starts with an initial solution and iteratively explores the possible solutions within a given neighbourhood (operator). If a better solution is not found in this operator, then it explores another operator. It keeps working like this until it finds a better solution or until it has explored all the operators. If a better solution is found, the current solution is updated and it starts again exploring from the first neighbourhood. If all operators are explored and no better solution in found, the algorithm ends.

.VND flow diagram. [Source: Ramos et al.]

This adaptive approach allows VND to balance exploration and exploitation, thereby enabling it to efficiently navigate complex search spaces and find high-quality solutions. Despite its effectiveness, VND does have some limitations. Like many metaheuristic algorithms, its performance heavily depends on the choice of neighborhood structures and the size of the problem.

Variable Neighborhood Descent has been successfully applied to a wide range of combinatorial optimization problems, including vehicle routing, scheduling, and graph coloring.

Menu