A First Course in Combinatorial Optimization, CAMBRIDGE TEXT IN APPLIED MATHEMATICS