HOME

TheInfoList



OR:

Variable neighborhood search (VNS), proposed by Mladenović & Hansen in 1997, is a
metaheuristic In computer science and mathematical optimization, a metaheuristic is a higher-level procedure or heuristic designed to find, generate, or select a heuristic (partial search algorithm) that may provide a sufficiently good solution to an optimizati ...
method for solving a set of
combinatorial optimization Combinatorial optimization is a subfield of mathematical optimization that consists of finding an optimal object from a finite set of objects, where the set of feasible solutions is discrete or can be reduced to a discrete set. Typical combi ...
and global optimization problems. It explores distant neighborhoods of the current incumbent solution, and moves from there to a new one if and only if an improvement was made. The local search method is applied repeatedly to get from solutions in the neighborhood to local optima. VNS was designed for approximating solutions of discrete and continuous optimization problems and according to these, it is aimed for solving
linear program Linear programming (LP), also called linear optimization, is a method to achieve the best outcome (such as maximum profit or lowest cost) in a mathematical model whose requirements are represented by linear relationships. Linear programming i ...
problems, integer program problems, mixed integer program problems, nonlinear program problems, etc.


Introduction

VNS systematically changes the neighborhood in two phases: firstly, descent to find a
local optimum In applied mathematics and computer science, a local optimum of an optimization problem is a solution that is optimal (either maximal or minimal) within a neighboring set of candidate solutions. This is in contrast to a global optimum, which i ...
and finally, a perturbation phase to get out of the corresponding valley. Applications are rapidly increasing in number and pertain to many fields:
location theory Location theory has become an integral part of economic geography, regional science, and spatial economics. Location theory addresses questions of what economic activities are located where and why. Location theory or microeconomic theory generally ...
,
cluster analysis Cluster analysis or clustering is the task of grouping a set of objects in such a way that objects in the same group (called a cluster) are more similar (in some sense) to each other than to those in other groups (clusters). It is a main task of ...
,
scheduling A schedule or a timetable, as a basic time-management tool, consists of a list of times at which possible task (project management), tasks, events, or actions are intended to take place, or of a sequence of events in the chronological order ...
,
vehicle routing The vehicle routing problem (VRP) is a combinatorial optimization and integer programming problem which asks "What is the optimal set of routes for a fleet of vehicles to traverse in order to deliver to a given set of customers?" It generalises t ...
,
network design Network planning and design is an iterative process, encompassing topological design, network-synthesis, and network-realization, and is aimed at ensuring that a new telecommunications network or service meets the needs of the subscriber and op ...
, lot-sizing,
artificial intelligence Artificial intelligence (AI) is intelligence—perceiving, synthesizing, and inferring information—demonstrated by machines, as opposed to intelligence displayed by animals and humans. Example tasks in which this is done include speech re ...
, engineering, pooling problems, biology,
phylogeny A phylogenetic tree (also phylogeny or evolutionary tree Felsenstein J. (2004). ''Inferring Phylogenies'' Sinauer Associates: Sunderland, MA.) is a branching diagram or a tree showing the evolutionary relationships among various biological spec ...
,
reliability Reliability, reliable, or unreliable may refer to: Science, technology, and mathematics Computing * Data reliability (disambiguation), a property of some disk arrays in computer storage * High availability * Reliability (computer networking), a ...
, geometry, telecommunication design, etc. There are several books important for understanding VNS, such as: ''Handbook of Metaheuristics'', 2010, Handbook of Metaheuristics, 2003 and Search methodologies, 2005. Earlier work that motivated this approach can be found in # Davidon, W.C. # Fletcher, R., Powell, M.J.D. # Mladenović, N. and # Brimberg, J., Mladenović, N. Recent surveys on VNS methodology as well as numerous applications can be found in 4OR, 2008 and Annals of OR, 2010.


Definition of the problem

Define one deterministic
optimization problem In mathematics, computer science and economics, an optimization problem is the problem of finding the ''best'' solution from all feasible solutions. Optimization problems can be divided into two categories, depending on whether the variables ...
with \min , (1) where ''S'', ''X'', ''x'', and ''f'' are the solution space, the feasible set, a feasible solution, and a real-valued
objective function In mathematical optimization and decision theory, a loss function or cost function (sometimes also called an error function) is a function that maps an event or values of one or more variables onto a real number intuitively representing some "cos ...
, respectively. If ''S'' is a finite but large set, a combinatorial optimization problem is defined. If , there is continuous optimization model. A solution is optimal if . Exact algorithm for problem (1) is to be found an optimal solution ''x*'', with the validation of its optimal structure, or if it is unrealizable, in procedure have to be shown that there is no achievable solution, i.e., X =\varnothing, or the solution is unbounded. CPU time has to be finite and short. For continuous optimization, it is reasonable to allow for some degree of tolerance, i.e., to stop when a feasible solution x^ has been found such that or Some heuristics speedily accept an approximate solution, or optimal solution but one with no validation of its optimality. Some of them have an incorrect certificate, i.e., the solution x_h obtained satisfies for some \epsilon, though this is rarely small. Heuristics are faced with the problem of local optima as a result of avoiding boundless computing time. A local optimum x_L of problem is such that where N(x_) denotes a neighborhood of x_


Description

According to (Mladenović, 1995), VNS is a metaheuristic which systematically performs the procedure of neighborhood change, both in descent to local minima and in escape from the valleys which contain them. VNS is built upon the following perceptions: # A local minimum with respect to one neighborhood structure is not necessarily a local minimum for another neighborhood structure. # A global minimum is a local minimum with respect to all possible neighborhood structures. # For many problems, local minima with respect to one or several neighborhoods are relatively close to each other. Unlike many other metaheuristics, the basic schemes of VNS and its extensions are simple and require few, and sometimes no parameters. Therefore, in addition to providing very good solutions, often in simpler ways than other methods, VNS gives insight into the reasons for such a performance, which, in turn, can lead to more efficient and sophisticated implementations. There are several papers where it could be studied among recently mentioned, such as (Hansen and Mladenović 1999, 2001a, 2003, 2005; Moreno-Pérez et al.;)


Local search

A local search heuristic is performed through choosing an initial solution x, discovering a direction of descent from ''x'', within a neighborhood ''N(x)'', and proceeding to the minimum of ''f(x)'' within ''N(x)'' in the same direction. If there is no direction of descent, the heuristic stops; otherwise, it is iterated. Usually the highest direction of descent, also related to as best improvement, is used. This set of rules is summarized in Algorithm 1, where we assume that an initial solution ''x'' is given. The output consists of a local minimum, denoted by ''x, and its value. Observe that a neighborhood structure ''N(x)'' is defined for all ''x ∈ X''. At each step, the neighborhood ''N(x)'' of ''x'' is explored completely. As this may be time-consuming, an alternative is to use the first descent heuristic. Vectors x^i \in N(x) are then enumerated systematically and a move is made as soon as a direction for the descent is found. This is summarized in Algorithm 2.


Algorithm 1: Best improvement (highest descent) heuristic

Function BestImprovement(x)
  1: repeat
  2:     x' ← x
  3:     x ← argmin_, y ∈ N(x)
  4: until ( f(x) ≥ f(x') )
  5: return x'


Algorithm 2: First improvement (first descent) heuristic

Function FirstImprovement(x)
  1: repeat
  2:    x' ← x; i ← 0
  3:    repeat
  4:       i ← i + 1
  5:       x ← argmin, x^i ∈ N(x)
  6:    until ( f(x) < f(x^i) or i = , N(x),  )
  7: until ( f(x) ≥ f(x') )
  8: return x'
Let one denote \mathcal_k(k=1, . . . ,k_) , a finite set of pre-selected neighborhood structures, and with \mathcal_k(x) the set of solutions in the ''kth'' neighborhood of ''x''. One will also use the notation \mathcal_k(x), k = 1, . . . , k'_ when describing local descent. Neighborhoods \mathcal_k(x) or \mathcal_k(x) may be induced from one or more
metric Metric or metrical may refer to: * Metric system, an internationally adopted decimal system of measurement * An adjective indicating relation to measurement in general, or a noun describing a specific type of measurement Mathematics In mathem ...
(or quasi-metric) functions introduced into a solution space ''S''. An optimal solution x_ (or
global minimum In mathematical analysis, the maxima and minima (the respective plurals of maximum and minimum) of a function, known collectively as extrema (the plural of extremum), are the largest and smallest value of the function, either within a given ran ...
) is a feasible solution where a minimum of problem is reached. We call ''x' ∈ X'' a local minimum of problem with respect to \mathcal_k(x) , if there is no solution x \in \mathcal_k(x) \subseteq X such that f(x) < f(x'). In order to solve problem by using several neighborhoods, facts 1–3 can be used in three different ways: (i) deterministic; (ii)
stochastic Stochastic (, ) refers to the property of being well described by a random probability distribution. Although stochasticity and randomness are distinct in that the former refers to a modeling approach and the latter refers to phenomena themselv ...
; (iii) both deterministic and stochastic. We first give in Algorithm 3 the steps of the neighborhood change function which will be used later. Function NeighborhoodChange() compares the new value f(x') with the incumbent value f(x) obtained in the neighborhood k (line 1). If an improvement is obtained, k is returned to its initial value and the new incumbent updated (line 2). Otherwise, the next neighborhood is considered (line 3).


Algorithm 3: – Neighborhood change

Function NeighborhoodChange (x, x', k)
 1: if f (x') < f(x) then
 2:    x ← x'     // Make a move
 3:    k ← 1      // Initial neighborhood
 4: else
 5:    k ← k+1    // Next neighborhood
When VNS does not render a good solution, there are several steps which could be helped in process, such as comparing first and best improvement strategies in local search, reducing neighborhood, intensifying shaking, adopting VND, adopting FSS, and experimenting with parameter settings. The Basic VNS (BVNS) method (''Handbook of Metaheuristics'', 2010) combines deterministic and stochastic changes of neighborhood. Its steps are given in Algorithm 4. Often successive neighborhoods \mathcal_k will be nested. Observe that point ''x is generated at random in Step 4 in order to avoid cycling, which might occur if a deterministic rule were applied. In Step 5, the best improvement local search (Algorithm 1) is usually adopted. However, it can be replaced with first improvement (Algorithm 2).


Algorithm 4: Basic VNS

Function VNS (x, kmax, tmax)
 1: repeat
 2:    k ← 1
 3:    repeat
 4:       x' ← Shake(x, k)                   // Shaking
 5:       x'' ← BestImprovement(x' )         // Local search
 6:       x ← NeighbourhoodChange(x, x'', k) // Change neighbourhood
 7:    until k = kmax
 8:    t ← CpuTime()
 9: until t > tmax


VNS variants

The basic VNS is a best improvement descent method with randomization. Without much additional effort, it can be transformed into a descent-ascent method: in NeighbourhoodChange() function, replace also ''x'' by ''x"'' with some probability, even if the solution is worse than the incumbent. It can also be changed into a first improvement method. Another variant of the basic VNS can be to find a solution ''x in the 'Shaking' step as the best among b (a parameter) randomly generated solutions from the ''k''th neighborhood. There are two possible variants of this extension: (1) to perform only one local search from the best among b points; (2) to perform all b local searches and then choose the best. In paper (Fleszar and Hindi) could be found algorithm.


Extensions

* VND :The variable neighborhood descent (VND) method is obtained if a change of neighborhoods is performed in a deterministic way. In the descriptions of its algorithms, we assume that an initial solution ''x'' is given. Most local search heuristics in their descent phase use very few neighborhoods. The final solution should be a local minimum with respect to all k_ neighborhoods; hence the chances to reach a global one are larger when using VND than with a single neighborhood structure. * RVNS :The reduced VNS (RVNS) method is obtained if random points are selected from \mathcal_k(x) and no descent is made. Rather, the values of these new points are compared with that of the incumbent and an update takes place in case of improvement. It is assumed that a stopping condition has been chosen like the maximum
CPU time CPU time (or process time) is the amount of time for which a central processing unit (CPU) was used for processing instructions of a computer program or operating system, as opposed to elapsed time, which includes for example, waiting for inpu ...
allowed t_ or the maximum number of iterations between two improvements. :To simplify the description of the algorithms it is used t_ below. Therefore, RVNS uses two parameters: t_ and k_. RVNS is useful in very large instances, for which local search is costly. It has been observed that the best value for the parameter k_ is often 2. In addition, the maximum number of iterations between two improvements is usually used as a stopping condition. RVNS is akin to a Monte-Carlo method, but is more systematic. * Skewed VNS :The skewed VNS (SVNS) method (Hansen et al.) addresses the problem of exploring valleys far from the incumbent solution. Indeed, once the best solution in a large region has been found, it is necessary to go some way to obtain an improved one. Solutions drawn at random in distant neighborhoods may differ substantially from the incumbent and VNS can then degenerate, to some extent, into the Multistart heuristic (in which descents are made iteratively from solutions generated at random, a heuristic which is known not to be very efficient). Consequently, some compensation for distance from the incumbent must be made. * Variable Neighborhood Decomposition Search :The variable neighborhood decomposition search (VNDS) method (Hansen et al.) extends the basic VNS into a two-level VNS scheme based upon decomposition of the problem. For ease of presentation, but without loss of generality, it is assumed that the solution x represents the set of some elements. * Parallel VNS :Several ways of parallelizing VNS have recently been proposed for solving the p-Median problem. In García-López et al.  three of them are tested: (i) parallelize local search; (ii) augment the number of solutions drawn from the current neighborhood and make a local search in parallel from each of them and (iii) do the same as (ii) but update the information about the best solution found. Three Parallel VNS strategies are also suggested for solving the
Travelling purchaser problem The traveling purchaser problem (TPP) is an NP-hard problem studied in theoretical computer science. Given a list of marketplaces, the cost of travelling between different marketplaces, and a list of available goods together with the price of each ...
in Ochi et al. * Primal-dual VNS :For most modern heuristics, the difference in value between the optimal solution and the obtained one is completely unknown. Guaranteed performance of the primal heuristic may be determined if a
lower bound In mathematics, particularly in order theory, an upper bound or majorant of a subset of some preordered set is an element of that is greater than or equal to every element of . Dually, a lower bound or minorant of is defined to be an element ...
on the objective function value is known. To this end, the standard approach is to relax the integrality condition on the primal variables, based on a mathematical programming formulation of the problem. :However, when the dimension of the problem is large, even the relaxed problem may be impossible to solve exactly by standard commercial solvers. Therefore, it seems a good idea to solve dual relaxed problems heuristically as well. It was obtained guaranteed bounds on the primal heuristics performance. In Primal-dual VNS (PD-VNS) (Hansen et al.) one possible general way to attain both the guaranteed bounds and the exact solution is proposed. * Variable Neighborhood Branching :The mixed integer linear programming (MILP) problem consists of maximizing or minimizing a linear function, subject to equality or inequality constraints, and integrality restrictions on some of the variables. * Variable Neighborhood Formulation Space Search :FSS is a method which is very useful because, one problem could be defined in addition formulations and moving through formulations is legitimate. It is proved that local search works within formulations, implying a final solution when started from some initial solution in first formulation. Local search systematically alternates between different formulations which was investigated for
circle packing In geometry, circle packing is the study of the arrangement of circles (of equal or varying sizes) on a given surface such that no overlapping occurs and so that no circle can be enlarged without creating an overlap. The associated '' packing de ...
problem (CPP) where
stationary point In mathematics, particularly in calculus, a stationary point of a differentiable function of one variable is a point on the graph of the function where the function's derivative is zero. Informally, it is a point where the function "stops" inc ...
for a
nonlinear programming In mathematics, nonlinear programming (NLP) is the process of solving an optimization problem where some of the constraints or the objective function are nonlinear. An optimization problem is one of calculation of the extrema (maxima, minima or sta ...
formulation of CPP in
Cartesian coordinates A Cartesian coordinate system (, ) in a plane is a coordinate system that specifies each point uniquely by a pair of numerical coordinates, which are the signed distances to the point from two fixed perpendicular oriented lines, measured in t ...
is not strictly a stationary point in
polar coordinates In mathematics, the polar coordinate system is a two-dimensional coordinate system in which each point on a plane is determined by a distance from a reference point and an angle from a reference direction. The reference point (analogous to the or ...
.


Applications

Applications of VNS, or of varieties of VNS are very abundant and numerous. Some fields where it could be found collections of scientific papers: * Industrial applications * Design problems in communication * Location problems * Data mining * Graph problems *
Knapsack A backpack—also called knapsack, schoolbag, rucksack, rucksac, pack, sackpack, booksack, bookbag or backsack—is, in its simplest frameless form, a fabric sack carried on one's back and secured with two straps that go over the shoulders ...
and packing problems * Mixed integer problems * Time tabling *
Scheduling A schedule or a timetable, as a basic time-management tool, consists of a list of times at which possible task (project management), tasks, events, or actions are intended to take place, or of a sequence of events in the chronological order ...
*
Vehicle routing problem The vehicle routing problem (VRP) is a combinatorial optimization and integer programming problem which asks "What is the optimal set of routes for a fleet of vehicles to traverse in order to deliver to a given set of customers?" It generalises t ...
s *
Arc routing Arc routing problems (ARP) are a category of general routing problems (GRP), which also includes node routing problems (NRP). The objective in ARPs and NRPs is to traverse the edges and nodes of a graph, respectively. The objective of arc routing p ...
and waste collection * Fleet sheet problems * Extended vehicle routing problems * Problems in biosciences and chemistry * Continuous optimization * Other optimization problems * Discovery science


Conclusion

VNS implies several features which are presented by Hansen and Mladenović and some are presented here: # Simplicity: VNS is simple, clear and universally applicable # Precision: VNS is formulated in precise mathematical definitions # Coherence: all actions of the heuristics for solving problems follow from the VNS principles # Effectiveness: VNS supplies optimal or near-optimal solutions for all or at least most realistic instances # Efficiency: VNS takes a moderate computing time to generate optimal or near-optimal solutions # Robustness: the functioning of the VNS is coherent over a variety of instances # User friendliness: VNS has no parameters, so it is easy for understanding, expressing and using # Innovation: VNS is generating new types of application # Generality: VNS is inducing to good results for a wide variety of problems # Interactivity: VNS allows the user to incorporate his knowledge to improve the resolution process # Multiplicity: VNS is able to produce a certain near-optimal solutions from which the user can choose; Interest in VNS is growing quickly, evidenced by the increasing number of papers published each year on this topic (10 years ago, only a few; 5 years ago, about a dozen; and about 50 in 2007). Moreover, the 18th EURO mini-conference held in Tenerife in November 2005 was entirely devoted to VNS. It led to special issues of IMA Journal of Management Mathematics in 2007, European Journal of Operational Research (http://www.journals.elsevier.com/european-journal-of-operational-research/), and Journal of Heuristics (https://www.springer.com/mathematics/applications/journal/10732/) in 2008.


References

{{Reflist


External links


EURO Mini Conference XXVIII on Variable Neighbourhood Search

The 5th International Conference on Variable Neighborhood Search

The 8th International Conference on Variable Neighborhood Search
Search algorithms Travelling salesman problem