three_opt

rubin_sim.scheduler.utils.three_opt(route, dist_matrix)

Iterates over all possible 3-optional transformations.

Parameters:
routelist

The indices of the route

dist_matrixnp.array

Distance matrix for the towns

Returns:
min_routelist

The new route

min_lengthfloat

The length of the new route