def make_itinerary(start_lat, start_lng, start_time, end_lat, end_lng, end_time): itinerary = [] current_time = start_time lat, lng = start_lat, start_lng activities = algorithms2.pollHereAttractions(lat, lng) distance_scaling = algorithms2.pollHereTravelTime(start_lat, start_lng, end_lat, end_lng) # Main loop while (end_time - current_time) > time_to_end(lat, lng, end_lat, end_lng) and len(activities) > 0: best_score = -100 # set to lowest score best_activity = "null" travel_time = algorithms2.pollHereTravelTime(lat, lng, end_lat, end_lng) for activity in activities: #print (activity.name, travel_time, best_activity) if end_time - current_time > travel_time + activity.duration(): current_score = activity.value(itinerary) if current_score > best_score: best_score = current_score best_activity = activity if best_activity == "null": break current_time = add_transportation(itinerary, current_time, lat, lng, best_activity.lat, best_activity.lng) itinerary.append(best_activity) #print itinerary activities.remove(best_activity) current_time += best_activity.duration() lat,lng = best_activity.lat, best_activity.lng add_transportation(itinerary, current_time, lat, lng, end_lat, end_lng) return itinerary
def make_itinerary(start_lat, start_lng, start_time, end_lat, end_lng, end_time): itinerary = [] current_time = start_time lat, lng = start_lat, start_lng activities = algorithms2.pollHereAttractions(lat, lng) distance_scaling = algorithms2.pollHereTravelTime(start_lat, start_lng, end_lat, end_lng) # Main loop while (end_time - current_time) > time_to_end( lat, lng, end_lat, end_lng) and len(activities) > 0: best_score = -100 # set to lowest score best_activity = "null" travel_time = algorithms2.pollHereTravelTime(lat, lng, end_lat, end_lng) for activity in activities: #print (activity.name, travel_time, best_activity) if end_time - current_time > travel_time + activity.duration(): current_score = activity.value(itinerary) if current_score > best_score: best_score = current_score best_activity = activity if best_activity == "null": break current_time = add_transportation(itinerary, current_time, lat, lng, best_activity.lat, best_activity.lng) itinerary.append(best_activity) #print itinerary activities.remove(best_activity) current_time += best_activity.duration() lat, lng = best_activity.lat, best_activity.lng add_transportation(itinerary, current_time, lat, lng, end_lat, end_lng) return itinerary
def time_to_end(start_lat, start_lng, end_lat, end_lng): return algorithms2.pollHereTravelTime(start_lat, start_lng, end_lat, end_lng)