Skip to main content
. 2021 May 20;21(10):3557. doi: 10.3390/s21103557
Algorithm 1. The Procedure of the Conventional VNS
1: Let s be the initial solution, Nk be the shaking neighborhood structures, k=1,,kmax and Nl be the local search neighborhood structures, l=1,,lmax. Set k=1.
2: Repeat
3: {Shaking procedure}
4: s=Shaking(s,Nk) //Shaking procedure
5: {Local Search}
6: forl=1tolmaxdo //Local search
7:   s=LocalSearch(s,Nl)//perform local search onswith neighborhood structure Nl
8:   if f(s)>f(s)//checking ifsis improved
9: s=s
10: l=1//turn to the first neighborhood structure for local search
11:   else
12: l=l+1//turn to the next neighborhood structure for local search
13: end for
14: {Accept decision}
15: if f(s)>f(s)//checking ifs is improved
16:   s=s
17:   k=1//turn to the first neighborhood structure for shaking
18: else
19:   k=k+1//turn to the next neighborhood structure for shaking
20: end if
21: Until the upper limit T of time or the maximum number of iterations Zmax is reached