How does Jsprit try to decrease the number of Vehicle while finding the optimal set of Routes

I am astonished as to how the Jsprit tries to reduce the number of Vehicles and at the same time, finding the optimal path. Any references?

Perhaps I have found it. It puts cost for using Vehicle also. In order to reduce cost, it tries to use less number of vehicle.