Skip to main content
. 2012 Dec;39(12):3215–3228. doi: 10.1016/j.cor.2012.04.007
sInitialSolution, InitializeScores(π),i0
repeat
 if i=ωthen
 NChooseDestroyOperator(DL,π)
 else
 NChooseDestroyOperator(DS,π)
 end if
 N+ChooseRepairOperator(R,π)
 sDestroyAndRepair(s,N,N+)
 if i=ωthen
 sLocalSearch(s)
 ss // free pass
 i0
 else iff(s)<(1+θ)f(s)then
 sLocalSearch(s)
 end if
 iff(s)<f(s)then
 ss
 i0
 else
 ii+1
 end if
 iff(s)<f(s)then
 ss
 end if
 Update scores (π)
until the stopping condition is met
return s