I believe this can be framed as a network flow problem and solved with linear programming. Most books on linear programming address such problems. For example here's a chapter from a book on optimization
In your case I would model your starting locations as sources, the cars as the product being shipped, the cities are the nodes, and the single sink is the final destination. The weights on the routes are distances.
A special case of the network flow problem is the "shortest route tree problem" (page 8 of the paper referenced above), which sounds like your exact problem, only in reverse: you start at a common point and move to the other nodes. The solution to your problem should be the same.