Optimization: principles and algorithms, by Michel Bierlaire
chap27 Directory Reference

## Files

file  bestInsert.m [code]
Identifies the best insertion in a tour for the TSP.

file  getTourList.m [code]
Transforms a tour stored as a sequence of cities into a list of successors.

file  getTourSequence.m [code]
Transform tour stored as list of successor, into a sequence of cities.

file  insertCity.m [code]
Inserts a city in a tour for the TSP.

file  knapsackGreedy.m [code]
Solves the knapsack problem using the greedy heuristic described in section 27.1.1 of [1].

file  ksLocalSearchDeterministic.m [code]
Algorithm 27.3: local search for the knapsack problem.

file  ksLocalSearchRandom.m [code]
Implementation of a variant of the local search algorithm with random neighbors for the knapsack problen.

file  ksRandomNeighbor.m [code]
Algorithm 27.5: neighborhood for the knapsack problem.

file  ksSimulatedAnnealing.m [code]
Algorithm 27.7: simulated annealing for the knapsack problem.

file  ksVns.m [code]
Algorithm 27.5: VNS for the knapsack problem.

file  randomFromAtoB.m [code]
Compute a random integer between A and B.

file  run2702.m [code]
Runs example 27.2 of [1], solving the problem using the greedy heuristic.

file  run2702greedy.m [code]
Runs example 27.2 of [1], solving the problem using the greedy heuristic.

file  run2702localSearchDeterministic.m [code]
Runs example 27.2 of [1], solving the problem using the local search method (Table 27.6)

file  run2702localSearchRandom.m [code]
Runs example 27.2 of [1], solving the problem using the local search method with random neighbors.

file  run2702simAnn.m [code]
Runs example 27.2 of [1], solving the problem using the simulated annealing method (see Section 27.4.1 of [1]).

file  run2702vns.m [code]
Runs example 27.2 of [1], solving the problem using the VNS method.

file  run2703insertion.m [code]
Runs example 27.3 of [1], solving the problem using the greedy heuristic (Algorithm 27.2, Table 27.2, Figure 27.4)

file  run2703localSearch.m [code]
Runs Algorithm 27.3 on example 27.3 of [1], solving the TSP with local search (Figure 27.11, Table 27.7, Figure 27.12)

file  run2703nearestNeighbor.m [code]
Runs example 27.3 of [1], solving the problem using the greedy heuristic (Algorithm 27.1)

file  run2703nearestNeighrbor.m [code]
Runs example 27.3 of [1], solving the problem using the greedy heuristic.

file  run2703simAnn.m [code]
Runs example 27.3 of [1], solving the problem using simmulated annealing (Section 27.4.2 of [1] ).

file  run2703vns.m [code]
Runs example 27.3 of [1], solving the problem using VNS (Section 27.3.2 of [1] ).

file  subtourLength.m [code]
Calculate the length of a subtour of the TSP.

file  tspInsertion.m [code]
Algorithm 27.2: insertion heuristic for TSP.

file  tspInsertionLocalSearch.m [code]
Local search method for the TSP based on the insertion heuristic, as described in Section 27.3.2 of [1].

file  tspLocalSearch.m [code]
Algorithm 27.3: local search for the TSP.

file  tspNearestNeighbor.m [code]
Algorithm 27.1: nearest neighbor heuristic for TSP.

file  tspSimulatedAnnealing.m [code]
Algorithm 27.7: simulated annealing for the TSP.

file  tspTourLength.m [code]
Calculate the length of a tour of the TSP.

file  tspVns.m [code]
Implements the VNS to solve the TSP, as described in Section 27.3.2 of [1].

file  twoOpt.m [code]
Perform a 2-opt operation of a list of cities.

file  twoOptNeighborhood.m [code]
Generate the 2-opt neightborhood for the TSP.

file  twoOptRandomNeighbor.m [code]
Generate one random 2-opt neighbor for the TSP.