There are some people who want to travel from some pickup location to some drop location. All pickup locations are in city A and all drop locations are in city B. Where A != B. How to cluster people such that total distance travelled by car to pickup and drop all customers is minimised. Since most cars have capacity to carry 4 people, its desired to use full capacity of each car. Each cluster would be assigned to driver of car who can choose to reject trip in which case it would be passed to next driver.