## VNS 1. incumbent = initial solution 2. loop 1. select candidate 2. if candidate better than incumbent 1. incumbent = candidate 2. reset neighborhood 3. else 1. if last neighborhood return incumbent 2. select next neighborhood ## SA 1. incumbent = initial solution 2. loop 1. select candidate 2. if candidate is accepted wrt to acceptance probability 1. incumbent = candidate ## Tabu search 1. incumbent = initial solution 2. loop 1. select candidate which is not tabu, or is aspirated 2. if candidate is better than incumbent 1. incumbent = candidate 2. update tabu list ## LNS 1. incumbent = initial solution 2. best solution = incumbent 3. loop 1. select candidate by destroying and then repairing the incumbent 2. if candidate is accepted 1. incumbent = candidate 3. if candidate is better than best solution 1. best solution = candidate ## General idea for framework 1. incumbent = initial solution 2. best solution = initial solution 3. loop while termination criteria not satisfied 1. select candidate 2. if accept candidate 1. incumbent = candidate 3. if candidate is better than best solution 1. best solution = candidate 4. return best solution