This book develops models, results and algorithms for optimizing public transportation from a customer-oriented viewpoint. The methods used are based on graph-theoretic approaches and integer programming. The specific topics are all motivated by real-world examples which occurred in practical projects: location of stops, management of delay, and tariff zone design. An appendix summarizes some of the basics of optimization needed to interpret the material in the book.