## 3 Novel Variable Neighborhood Search
### Description of Our Algorithm  
As does the original GVNS, our version of GVNS consists of a VND local search, a diversification procedure, and a neighborhood change step. In our method, the pipe-VND (exploitation in the same neighborhood while improvements are also being made) is used during the improvement phase. During the improvement phase of the pipe-VND, two classic local search strategies are applied: the relocate and the 2-opt. In the relocate, the solutions are obtained by removing a node and inserting it in a different position of the current route. In the 2-opt, the solutions are obtained by breaking two edges and reconnecting them in a different order.  
The biggest difference between our approach and the classic GVNS is in the diversification phase. The main use of a shaking function is to resolve local minima traps within a VNS procedure. In our approach, perturbation is achieved by adopting techniques from the field of quantum computation.  
Quantum-inspired procedures are not actual quantum algorithms designed to run on future quantum computers, but conventional, classical algorithms that utilize principles and ideas from the field of quantum computing. Quantum computing was envisioned by [PERSON] [31; 32], who was the first to observe that it is not possible to efficiently simulate an actual quantum system using a classicalcomputer. More in-depth information regarding quantum computation and its principles can be found in [33; 34].  
In our case, during each shaking call, a simulated quantum \(n\)-qubit register generates a complex \(n\)-dimensional \(unit\) vector. A quantum register is the quantum analogue of a classical processor register. The dimension \(n\) of the complex unit vector is greater than or equal to the dimension of the problem. Our algorithm takes as input the complex \(n\)-dimensional vector and produces a real \(n\)-dimensional vector. The \(i\)-th component, \(1\leq i\leq n\), of the real vector is equal to the modulus squared of the \(i\)-th component of the complex vector. Obviously, the components of the real vector are real numbers in the interval \([0,1]\).  
Each node of the current solution is associated with precisely one of the components of the real \(n\)-dimensional vector. In effect, the vector components are used as a flag for each node in the current solution. Under this correspondence between vector components and nodes, the sorting of the components of the real vector, will induce an identical ordering among the nodes in the solution. Thus, the ordered route produced after this shaking move will drive our exploration effort in another search space.  
At this point, it should be mentioned that the NN heuristic is used in order to produce an initial feasible solution (the first node is set as a depot). From an algorithmic perspective, the procedure is summarized in the next pseudocode fragment [35]. The solution method is provided in Algorithm 1:  
```
Data: an initial solution Result: an optimized solution
1 initialization of the feasibility distance matrix begin
2\(X\leftarrow\) nearest neighbor (NN) heuristic;
3 repeat
4\(X^{\prime}\leftarrow\) quantum-perturbation(\(X\))
5\(X^{\prime\prime}\leftarrow\) pipeVND(\(X^{\prime}\))
6 if\(X^{\prime\prime}\) is better than \(X^{\prime}\)then
7\(X\gets X^{\prime\prime}\)
8 end if
9
10 untiloptimal solution is found or time limit is met;
11
12 end while
```  
**Algorithm 1**Pseudocode of the novel general variable neighborhood search (GVNS)