On-demand high-capacity ride-sharing via dynamic trip-vehicle assignment