Hi i want to do a trip planner application using android studio application using java i have set up firebase, google maps and places apis.
From user inputs of several saved locations, i hope to create an optimised schedule/iternary that
- considers travel time (google maps api can grab this data, assume we use car)
- considers how long people typically spend here (google maps function)
- considers opening and closing hours (google maps api can grab this data and algo will consider this)
- considers distance (google maps api can grab this data and i wan to cluster it accordingly like places within a 1km radius u wanna visit them all tgt in 1 day)
- includes time you leave hotel (user input, 9am leave hotel)
- includes duration of your stay (user input 3 days, 2 nights)
eg of the schedule day 1 - 9am - leave hotel travel 45 mins to place_1 945am spend 2 hours here at place_1 1145am - leave place_1 to go lunch eating_place_1 15 mins away 12pm - lunch for 1.5 hours 130pm - travel 30 mins to place_2 2pm - spend 3 hours at place_2 5pm - leave 15 mins for dinner at eating_place_2 515pm - dinner for 1 hour 615pm - leave 45 mins for place_3 7pm - spend 2 hours at place_3 9pm - travel 30 mins back to hotel
day 2 - 9am ....
day 3 ...
are there any algorithms that you can think of which we may utilise?
So far i was considering looking at travelling salesman problem, dijsktra algorithm and branch and bound algorithm. I tried searching for scheduling algorithms as well.
using android studios java
I have built the UI interface and included the relevant APIS, but now just thinking of how to implement the algorithm