Optimization and Machine Learning Methods for Solving Combinatorial Problems in Urban Transportation