private void optimizeRoute() {
        final RouteOptimizationHelper roh = new RouteOptimizationHelper(new ArrayList<>(routeItemAdapter.getItems()));
        roh.start(this, (newRouteItems) -> {
            routeItemAdapter.setItems(newRouteItems);
            routeItemAdapter.notifyDataSetChanged();
        });
    }
experimental function for optimizing a route by using tsp-specific algorithm
main/src/main/java/cgeo/geocaching/maps/routing/RouteSortActivity.java