VNS for the TSP and its variants

Similar documents
Vehicle Routing and Scheduling. Martin Savelsbergh The Logistics Institute Georgia Institute of Technology

3.4 Relaxations and bounds

Algorithms and Complexity theory

Chapter 3: Discrete Optimization Integer Programming

Exact and Heuristic Algorithms for the Symmetric and Asymmetric Vehicle Routing Problem with Backhauls

Exercises NP-completeness

The Traveling Salesman Problem with Pickup and Delivery. A polyhedral approach. IBM Research - Australia. Irina Dumitrescu

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.

A Variable Neighborhood Search Approach for the Two-Echelon Location-Routing Problem

Inspection Route Optimization

Combinatorial optimization problems

Notes on Logarithmic Lower Bounds in the Cell Probe Model

Week Cuts, Branch & Bound, and Lagrangean Relaxation

The One-Commodity Pickup and Delivery Travelling Salesman Problem on a Path or a Tree

Large Multiple Neighborhood Search for the Soft-Clustered Vehicle-Routing Problem

A maritime version of the Travelling Salesman Problem

ANT/OR. Risk-constrained Cash-in-Transit Vehicle Routing Problem. Luca Talarico, Kenneth Sörensen, Johan Springael. 19 June 2012

Introduction to Integer Programming

A Priori Route Evaluation for the Lateral Transhipment Problem (ARELTP) with Piecewise Linear Profits

Algorithms: COMP3121/3821/9101/9801

Discrete (and Continuous) Optimization WI4 131

Algorithm Design Strategies V

A Recourse Approach for the Capacitated Vehicle Routing Problem with Evidential Demands

Tree-width and algorithms

3.10 Lagrangian relaxation

Boosting Set Constraint Propagation for Network Design

Traveling Salesman Problem

ACO Comprehensive Exam March 20 and 21, Computability, Complexity and Algorithms

Chapter 3: Discrete Optimization Integer Programming

(0)

NP-Complete Problems

Disconnecting Networks via Node Deletions

Coin Changing: Give change using the least number of coins. Greedy Method (Chapter 10.1) Attempt to construct an optimal solution in stages.

Models and Cuts for the Two-Echelon Vehicle Routing Problem

CHAPTER 3 FUNDAMENTALS OF COMPUTATIONAL COMPLEXITY. E. Amaldi Foundations of Operations Research Politecnico di Milano 1

Lecture 8: Column Generation

Who Has Heard of This Problem? Courtesy: Jeremy Kun

Complexity of Routing Problems with Release Dates and Deadlines

Integer Linear Programming (ILP)

The minimum G c cut problem

July 18, Approximation Algorithms (Travelling Salesman Problem)

New Integer Programming Formulations of the Generalized Travelling Salesman Problem

An Optimization-Based Heuristic for the Split Delivery Vehicle Routing Problem

Advanced Implementations of Tables: Balanced Search Trees and Hashing

An Exact Algorithm for the Traveling Salesman Problem with Deliveries and Collections

Assignment 5: Solutions

1 Heuristics for the Traveling Salesman Problem

A fast metaheuristic for the travelling salesperson problem with hotel selection

Exact Solution of the Soft-Clustered Vehicle-Routing Problem

Theoretical Computer Science

Introduction to integer programming III:

Height, Size Performance of Complete and Nearly Complete Binary Search Trees in Dictionary Applications

Vehicle Routing with Traffic Congestion and Drivers Driving and Working Rules

1. (a) Explain the asymptotic notations used in algorithm analysis. (b) Prove that f(n)=0(h(n)) where f(n)=0(g(n)) and g(n)=0(h(n)).

Stronger Multi-Commodity Flow Formulations of the (Capacitated) Sequential Ordering Problem

Hamiltonian Graphs Graphs

Totally unimodular matrices. Introduction to integer programming III: Network Flow, Interval Scheduling, and Vehicle Routing Problems

The resource transfer problem

More on NP and Reductions

NP and Computational Intractability

Applied Integer Programming: Modeling and Solution

Analysis of Algorithms. Unit 5 - Intractable Problems

ARTICLE IN PRESS Discrete Applied Mathematics ( )

Branch-and-Bound. Leo Liberti. LIX, École Polytechnique, France. INF , Lecture p. 1

6.854 Advanced Algorithms

Graph Theory and Optimization Computational Complexity (in brief)

Data Structures in Java

Branch-and-Bound for the Travelling Salesman Problem

Introduction to Mathematical Programming IE406. Lecture 21. Dr. Ted Ralphs

Ant Colony Optimization: an introduction. Daniel Chivilikhin

Valid Inequalities and Separation for the Symmetric Sequential Ordering Problem

Part III: Traveling salesman problems

CMSC 451: Lecture 7 Greedy Algorithms for Scheduling Tuesday, Sep 19, 2017

Limitations of Algorithm Power

The Stochastic Vehicle Routing Problem

Branch-and-Price for Routing with Probabilistic Customers

AC64/AT64/ AC115/AT115 DESIGN & ANALYSIS OF ALGORITHMS

Unit 1A: Computational Complexity

TRAVELING SALESMAN PROBLEM WITH TIME WINDOWS (TSPTW)

Distance Metrics and Fitness Distance Analysis for the Capacitated Vehicle Routing Problem

A branch-and-cut algorithm for the Minimum Labeling Hamiltonian Cycle Problem and two variants

Lecture 4: An FPTAS for Knapsack, and K-Center

Extreme Point Solutions for Infinite Network Flow Problems

Institute of Operating Systems and Computer Networks Algorithms Group. Network Algorithms. Tutorial 3: Shortest paths and other stuff

Algorithms and Theory of Computation. Lecture 22: NP-Completeness (2)

Problem. Problem Given a dictionary and a word. Which page (if any) contains the given word? 3 / 26

ABHELSINKI UNIVERSITY OF TECHNOLOGY

Solving Elementary Shortest-Path Problems as Mixed-Integer Programs

Branch-and-cut (and-price) for the chance constrained vehicle routing problem

Preliminaries. Graphs. E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)}

Recoverable Robustness in Scheduling Problems

(tree searching technique) (Boolean formulas) satisfying assignment: (X 1, X 2 )

Data Structures and Algorithms (CSCI 340)

Integer Programming. Wolfram Wiesemann. December 6, 2007

Computational complexity theory

A Survey on Travelling Salesman Problem

A Local Branching Matheuristic for the Multi-Vehicle Routing Problem with Stochastic Demand

Algorithms: Lecture 12. Chalmers University of Technology

Computational Complexity and Intractability: An Introduction to the Theory of NP. Chapter 9

Transcription:

VNS for the TSP and its variants Nenad Mladenović, Dragan Urošević BALCOR 2011, Thessaloniki, Greece September 23, 2011 Mladenović N 1/37 Variable neighborhood search for the TSP and its variants

Problem formulation Problem formulation Notation General Variable Neighborhood Search Given a set of locations V with travel distances between them. Locations are numbered with numbers from 1 to n = V. Location with label 1 is depot. All other locations are identified with customers which can be divided into two groups Pickup customers or producers Delivery customers or consumers. It is known a quantity of commodity produced/requested by each of customers; A vehicle with given capacity starts and finish at depot and must visit each customers exactly once; 1-PDTSP consists of finding a minimum length tour for the vehicle which satisfies all customers. Mladenović N 2/37 Variable neighborhood search for the TSP and its variants

Previous work Introduction Problem formulation Notation General Variable Neighborhood Search Problem proposed by Hernández Pérez and Salazar Gonzáles There are a number of proposed methods for solving 1-PDTSP Hernández Pérez, Rodríguez Martín and Salazar Gonzáles proposed method based on GRASP and VND. Zhao et al. proposed method method based on Genetic algorithm Hernández Pérez and Salazar Gonzáles proposed exact method based on Branch and Bound able to solve instances with up to n = 60 locations. Mladenović N 3/37 Variable neighborhood search for the TSP and its variants

Notation Introduction Problem formulation Notation General Variable Neighborhood Search q i denotes quantity of commodity produced/demaned by customer at location i; If q i > 0 then customer i is pickup customer, otherwise it is delivery customer; Depot can be considered as customer with demand q 1 = n k=2 q k Mladenović N 4/37 Variable neighborhood search for the TSP and its variants

Problem formulation Notation General Variable Neighborhood Search Hamiltonian tours can be divided into feasible and non-feasible Let x = x 1, x 2,..., x n is Hamiltonian tour (x 1 = 1); We define load of vehicle after visiting customer x i in the following way L 1 (x) = q x1, Tour x is feasible if and only if max i {1,2,...,n} Tour x is infeasible if and only if Value max i {1,2,...,n} max i {1,2,...,n} we call the measure of infeasibility. L i (x) = L i 1 + q xi L i min L i Q i {1,2,...,n} L i min L i > Q i {1,2,...,n} L i min L i Q, i {1,2,...,n} Mladenović N 5/37 Variable neighborhood search for the TSP and its variants

GVNS Introduction Problem formulation Notation General Variable Neighborhood Search GVNS(x, l max, k max, t max ) 1 repeat 2 k 1 3 repeat 4 x Shake(x, k) 5 x VND(x, l max ) 6 NeighborhoodChange(x, x, k, k max ) 7 until k > k max 8 t CPUTime() 9 until t > t max Mladenović N 6/37 Variable neighborhood search for the TSP and its variants

Sequential VND Introduction General Variable Neighborhood Search General Variable Neighborhood Search General Variable Neighborhood Search The final solution of Seq-VND should be a local minimum with respect to all l max neighborhoods. The chances to reach a global minimum are larger than with a single neighborhood structure. The total size of Seq-VND is equal to the union of all neighborhoods used. If neighborhoods are disjoint (no common element in any two) then the following holds l max N Seq VND (x) = N l (x), x X. l=1 Mladenović N 7/37 Variable neighborhood search for the TSP and its variants

Nested VND Introduction General Variable Neighborhood Search General Variable Neighborhood Search General Variable Neighborhood Search Assume that we define two neighborhood structures (l max = 2). In the nested VND we in fact perform local search with respect to the first neighborhood in any point of the second. The cardinality of neighborhood obtained with the nested VND is product of cardinalities of neighborhoods included, i.e., l max N Nest VND (x) = N l (x), x X. l=1 The pure Nest-VND neighborhood is much larger than the sequential one. The number of local minima w.r.t. Nest-VND will be much smaller than the number of local minima w.r.t. Seq-VND. Mladenović N 8/37 Variable neighborhood search for the TSP and its variants

Mixed nested VND Introduction General Variable Neighborhood Search General Variable Neighborhood Search General Variable Neighborhood Search After exploring b (a parameter) neighborhoods, we switch from a nested to a sequential strategy. We can interrupt nesting at some level b (1 b l max ) and continue with the list of the remaining neighborhoods in sequential manner. If b = 1, we get Seq-VND. If b = l max we get Nest-VND. Since nested VND intensifies the search in a deterministic way, boost parameter b may be seen as a balance between intensification and diversification in deterministic local search with several neighborhoods. Its cardinality is clearly l max b 1 N Mix VND (x) = N l (x) + N l (x), x X. l=b l=1 Mladenović N 9/37 Variable neighborhood search for the TSP and its variants

2-opt Introduction 2-opt 3-opt 1-opt i 2.5-opt Differences Change of tour length is df = d(x i, x j )+d(x i+1, x j+1 ) d(x i, x i+1 ) d(x j, x j+1 Set of candidate pairs can be reduced to pairs (i, j) satisfying d(x i, x j ) < d(x i, x i+1 ) or d(x i+1, x j+1 ) < d(x i, x i+1 ) or d(x i, x j ) < d(x j, x j+1 ) or d(x i+1, x j+1 ) < d(x j, x j+1 ) Mladenović N 10/37 Variable neighborhood search for the TSP and its variants

3-opt Introduction 2-opt 3-opt 1-opt i 2.5-opt Differences Checking of new solution df = d(x i, x j+1 ) + d(x k, x i+1 ) + d(x j, x k+1 ) (d(x i, x i+1 ) + d(x j, x j+1 ) + d(x k, x k+1 )) We also reduce the set of candidate moves d(x i, x j+1 ) < d(x i, x i+1 ) and d(x i, x j+1 )+d(x j, x k+1 ) < d(x i, x i+1 )+d(x j, x j+1 ) Mladenović N 11/37 Variable neighborhood search for the TSP and its variants

Special cases Introduction 2-opt 3-opt 1-opt i 2.5-opt Differences If index j in 3-opt is set to i + 1, we get 2.5-opt: If index j in 2-opt is set to i + 2, we get 1-opt: Mladenović N 12/37 Variable neighborhood search for the TSP and its variants

1-PDTSP Introduction 2-opt 3-opt 1-opt i 2.5-opt Differences In 1-PDTSP, beside the length of the tour, we should check its feasibility; For example, in the solution x that belongs to 2 opt neighborhood of x, the links (i, i + 1) and (j, j + 1) are deleted and capacity of the vehicle is changed following the reverse order (from j to i + 1); We need to calculate capacities after each visit and then find their minimum and maximum. Mladenović N 13/37 Variable neighborhood search for the TSP and its variants

2-opt Feasibility checking 2-opt 3-opt 1-opt i 2.5-opt Differences Let us denote with L loads for initial tour and with L loads after 2-opt move New load after visiting location x k (any location between x i+1 and x j ) is L (x k ) = L i + q xj + q xj 1 + + q xk = q x1 + + q xj (q x1 + + q xk 1 )+ (q x1 + + q xi ) = L j + L i L k 1 For all other locations new load is same as previous load Because of that we have: max{l 1, L 2,..., L n} = max{ max{l 1,..., L i }, max{l j+1,..., L n }, L j + L i min{l i,..., L j 1 }} Mladenović N 14/37 Variable neighborhood search for the TSP and its variants

Description Application Application of advanced data structure In order to speedup calculating minimum and/or maximum, we use structure Binary Indexed Tree, BIT; This is structure providing efficiently computing minimum (maximum) of subsequence of any sequence whose elements may be changed during computation; This structure provides two type of operations on such array Changing value of any element of a sequence; Finding minimum (or maximum) of subsequence consisting of adjacent element of a sequence (query). Mladenović N 15/37 Variable neighborhood search for the TSP and its variants

Binary Indexed Trees (BIT) Description Application BIT is efficient data structure introduced by Fenwick (1994) for maintaining cumulative frequencies In our case it is used for efficient calculating local minima or local maxima of subsequence of a sequence whose elements change their values during computation (Almost) complete binary tree Leafs of the tree contain values of array; Each non-leaf vertex u contains minimum (maximum) of values stored in leafs of subtree rooted in u It is easy to conclude that height of tree is log 2 n (n is sequence cardinality). Mladenović N 16/37 Variable neighborhood search for the TSP and its variants

Description Application BIT - Finding minimum (maximum) of subsequence We find maximum of sub-sequence containing light gray elements; Instead of comparing each of these elements with current maximum we compare only values stored in dark gray nodes There are at most two dark colored nodes at each level of the tree (depending of subsequence) So, complexity of calculating maximum of subsequence with k elements is Θ(log k) = Θ(log n). Mladenović N 17/37 Variable neighborhood search for the TSP and its variants

Description Application BIT - Find maximum, second example Mladenović N 18/37 Variable neighborhood search for the TSP and its variants

Description Application Updating tree after setting value of any element Mladenović N 19/37 Variable neighborhood search for the TSP and its variants

Description Application Updating tree after setting value of any element Change the value of the element a i of an array a can influence the change in value stored only in nodes which are roots of subtrees containing leaf storing element a i In the previous example leaf containing value 4 change value, and new value is 11 (dark gray colored leaf) Nodes containing this leaf are on path from this leaf to root of BIT (other gray colored nodes) There are log n nodes on the path and because of that complexity of updating is Θ(log n) Mladenović N 20/37 Variable neighborhood search for the TSP and its variants

Using BIT in 2-opt for PDTSP Description Application For the current solution x we calculate loads of vehicle and create BIT with loads stored in leafs; For each 2-opt move (i, j) (i < j) we perform the following steps Check length of the tour after this move Check its feasibility by calculating maximal and minimal load Maximal load is calculated in the following way max(max{l 1,..., L i, max{l j+1,..., L n}, L j +L i min{l i, L i+1,..., L j 1 }) Minimal load is found in similar way min(min{l 1,..., L i }, min{l j+1,..., L n}, L j +L i max{l i, L i+1,..., L j 1 }) Mladenović N 21/37 Variable neighborhood search for the TSP and its variants

Description Application Properties of BIT for solving PD-TSP Proposition Updating the binary index tree after setting the element L i to the new value is executed in O(log n). Proposition Calculating the maximum value in interval [L i, L j ], j > i is in O(log n) time with BIT structure. Proposition Checking the feasibility of the 2-opt move for 1-PDTSP with BIT structure is in O(log n). Mladenović N 22/37 Variable neighborhood search for the TSP and its variants

Illustrative example Introduction Description Application Mladenović N 23/37 Variable neighborhood search for the TSP and its variants

Initial solution Introduction Initial solution Local Search Shaking Choose the first customer x 2 at random; Choose x i+1 among c = 20 closest customers of x i ; Consider only feasible sub-tours; Among c closest customers, search for those who could be feasibly added at the end of the tour T but not yet visited; select the customer with the largest demand; If such a customer does not exist, we search for all customers who have not appeared in the sub-tour T ; Let S be the set of customers who can be feasibly added to the sub-tour; Select the nearest customer from S with a probability of 0.9, or select a random customer from S with a probability of 0.1 If there is no customer that can be added (S = ), we add a random customer and continue. Mladenović N 24/37 Variable neighborhood search for the TSP and its variants

Local search for 1-PDTSP Initial solution Local Search Shaking Local search is Seq VND thorough the following neighborhoods 1 1-opt 2 2-opt 3 Forward and backward insertion Mladenović N 25/37 Variable neighborhood search for the TSP and its variants

Shaking Introduction Initial solution Local Search Shaking The simplest variant for shaking is to perform sequence of k moves (1 opt, 2 opt or insertion) But in that case we often do not get feasible solution We decide to make smart moves in order to produce feasible solution after perturbation. Mladenović N 26/37 Variable neighborhood search for the TSP and its variants

Maintaining feasibility of 3 opt Initial solution Local Search Shaking If we select indices i 1, i 3 i i 5 such that L i1 = L i3 = L i5 and perform modification as presented on figure we obtain feasible tour (if previous tout is feasible) We can prove that vehicle loads after visiting customers x i2, x i4 and x i6 are unchanged For example L (x i4 ) = q x1 + q x2 + + q xi1 + q xi4 = = L(x i1 ) + q xi4 = L(x i3 ) + q xi4 = L(x i4 ) Mladenović N 27/37 Variable neighborhood search for the TSP and its variants

Initial solution Local Search Shaking Maintaining feasibility of double bridge move Indices i 1, i 3, i 5 and i 7 are selected such that loads after visiting corresponding customers are same. Mladenović N 28/37 Variable neighborhood search for the TSP and its variants

Comparison of local search (neighborhoods) Mladenović N 29/37 Variable neighborhood search for the TSP and its variants

Comparison of local search Mladenović N 30/37 Variable neighborhood search for the TSP and its variants

n Q Local search Min. % dev Max. % dev Avg. % dev Av time 200 10 Forward-insertion 95.650 255.517 181.195 0.088 Backward-insertion 94.753 252.827 186.318 0.081 2 opt 13.882 242.910 32.433 0.138 Seq VND 2 12.275 242.910 27.808 0.163 Seq VND 3 8.991 242.910 24.309 0.478 Mix VND 1.269 242.910 12.958 2.989 400 10 Forward-insertion 78.320 218.770 165.603 0.385 Backward-insertion 81.881 218.770 169.416 0.317 2 opt 12.078 217.104 21.852 0.831 Seq VND 2 10.684 217.104 18.954 0.769 Seq VND 3 8.951 203.738 16.035 4.062 Mix VND 1.492 217.104 6.573 26.569 Table: Comparison of local search Mladenović N 31/37 Variable neighborhood search for the TSP and its variants

Comparison of shaking Parameters VNS (Fine shaking) VNS (Classical shaking) n Q Best Avg. Time Best Avg. Time 200 10 18699.1 18989.62 49.74 19658.3 24353.16 103.98 200 20 13385.1 13627.38 37.60 13879.1 14347.13 87.17 200 40 11223.8 11323.93 18.00 11279.4 11422.59 73.47 400 10 25545.1 25962.14 165.95 28176.1 34302.72 230.58 400 20 18518.9 18786.59 69.41 20128.5 20943.97 129.57 400 40 15680.0 15803.19 48.67 16101.8 16332.48 146.67 Mladenović N 32/37 Variable neighborhood search for the TSP and its variants

VND without and with 3-opt Parameters GVNS (with VND-2) GVNS (with VND-3) n Q Best Avg. Time Best Avg. Time 200 10 18699.1 18989.62 49.74 18709.1 19000.88 51.70 200 20 13385.1 13627.38 37.60 13391.4 13637.40 40.10 200 40 11223.8 11323.93 18.00 11236.4 11338.02 19.73 400 10 25545.1 25962.14 165.95 25555.6 25974.50 167.58 400 20 18518.9 18786.59 69.41 18530.7 18801.92 71.05 400 40 15680.0 15803.19 48.67 15687.2 15821.80 50.62 Table: Comparison of GVNS with VND-2 and VND-3 as local searches respectively Mladenović N 33/37 Variable neighborhood search for the TSP and its variants

Seq-VND or Mix-VND Parameters VNS with Seq-VND VNS with Mix-VND n Q Best Average Time Best Average Time 200 10 18699.1 18989.62 49.74 18578.8 18774.22 75.69 200 20 13385.1 13627.38 37.60 13319 13439.86 67.58 200 40 11223.8 11323.93 18.00 11214.8 11249.22 42.32 400 10 25545.1 25962.14 165.95 25467.2 25752.63 165.44 400 20 18518.9 18786.59 69.41 18407 18647.13 152.36 400 40 15680.0 15803.19 48.67 15602.9 15711.91 144.29 Table: Comparison of Seq-VND and Mix-VND Mladenović N 34/37 Variable neighborhood search for the TSP and its variants

Parameters Best VNS 1 VNS 2 GRASP VND GA CPU time n Q known Best Avg. Best Avg. Best Avg. Best Avg. VNS 1 VNS 2 GRASP 100 10 12718.60 0.29 1.52 0.0 0.35 1.88 4.62 0.96 1.85 9.96 23.79 8.85 100 20 9357.60 0.02 0.96 0.00 0.18 0.65 2.55 5.89 14.95 2.22 100 40 8165.40 0.00 0.20 0.00 0.04 0.00 0.57 1.84 5.97 0.69 200 10 18578.80 0.65 2.21 0.00 1.05 4.81 7.50 2.70 4.09 49.74 75.69 41.77 200 20 13319.00 0.50 2.32 0.00 0.91 4.58 6.86 37.60 67.58 17.37 200 40 11214.80 0.08 0.97 0.00 0.31 1.34 3.18 18.00 42.32 4.35 300 10 22935.30 0.83 2.39 0.00 1.47 5.30 7.67 4.20 5.62 104.61 122.83 117.86 300 20 16313.40 0.88 2.60 0.00 1.43 6.60 8.62 38.74 115.93 50.90 300 40 13671.40 0.41 1.40 0.00 0.56 2.85 4.80 24.91 88.63 12.89 400 10 25467.20 0.31 1.94 0.00 1.12 5.66 7.68 4.02 5.82 165.95 165.44 220.40 400 20 18407.00 0.61 2.06 0.00 1.30 6.49 8.61 69.41 152.36 91.73 400 40 15602.90 0.49 1.28 0.00 0.70 3.41 5.20 48.67 144.29 23.92 500 10 28774.20 0.00 1.54 0.10 1.28 5.80 7.76 5.57 7.37 124.14 209.76 391.01 500 20 20927.00 0.17 1.70 0.00 1.38 6.53 8.43 107.01 194.76 164.77 500 40 17495.50 0.41 1.50 0.00 0.86 4.47 6.10 89.81 193.52 43.98 1000 10 44744.20 0.96 19.74 0.00 1.52 349.59 393.22 1000 20 31661.10 1.64 3.57 0.00 1.56 7.69 8.95 478.08 441.03 618.33 1000 40 25450.00 1.20 2.66 0.00 1.28 6.64 8.14 474.72 430.16 440.00 Table: on large instances Mladenović N 35/37 Variable neighborhood search for the TSP and its variants

and future work We suggest GVNS for solving 1-PD-TSP which contains two NP-hard problems: find minimum TSP tour and find feasible tour; Classical k-opt neighborhoods are adapted; Binary index tree data structure used for efficient feasibility checking of 2-opt move; Both Sequential and mixed nested VND are used within GVNS; All best known solution improved on large benchmark instances (with up to 500 customers); We are applying similar approach for solving Travelling deliveryman problem (with and without profit); We are also working on PD-VRP. Mladenović N 36/37 Variable neighborhood search for the TSP and its variants

Thank you for your attention nenad.mladenovic@brunel.ac.uk Mladenović N 37/37 Variable neighborhood search for the TSP and its variants