MCPcopy Create free account
hub / github.com/Valdecy/pyCombinatorial / insertion_operators

Function insertion_operators

pyCombinatorial/algorithm/alns.py:92–104  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

90
91# Function: Insertion
92def insertion_operators():
93 def cheapest_insertion(removed_nodes, city_tour, distance_matrix):
94 for node in removed_nodes:
95 best_insertion_cost = float('inf')
96 best_insertion_index = -1
97 for i in range(1, len(city_tour) + 1):
98 insertion_cost = (distance_matrix[city_tour[i - 1]][node] + distance_matrix[node][city_tour[i % len(city_tour)]] - distance_matrix[city_tour[i - 1]][city_tour[i % len(city_tour)]])
99 if (insertion_cost < best_insertion_cost):
100 best_insertion_cost = insertion_cost
101 best_insertion_index = i
102 city_tour.insert(best_insertion_index, node)
103 return city_tour
104 return [cheapest_insertion]
105
106############################################################################
107

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected