I have a number of cities. I can travel from any city to any another city but I can't know what cities are in my route. I know only the distance (or traveling time, cost) from start to finish point. Think like it's airway.
I also have a list of deals (multiple per city) that I can complete by travelling from one city to another (1 deal - 1 travel). A deal profit is a one-directional and is once-applied (revisiting allowed but will not bring a profit) positive number between two cities. Multiple deal-starting cities can target the same one end-city.
I can't do more than one deal at a time and I have a limited number of money in my pockets. Some deals I can even partially complete because of luck of money. So I may return to the deal-starting city and complete the next part of the deal.
How can I build cities-deals schedule to make the best profit at smallest time? Oh, and I can ignore deals. The goal is not to achieve every deal but to make better profit per time. Any ready alghorithms?
Now I'm just using greedy alghorithm and go from one most profitable (per travel distance from current location) deal to another.