Preliminary version in Proceedings of 33rd STOC, Crete, 443--452, 2001.
A preliminary version appeared in the Proceedings of the 26th Symposium on the Theory of Computing, Montreal, Canada, 422--431, 1994. This paper received the Fulkerson Prize (see also here) awarded jointly between the American Mathematical Society and the Mathematical Programming Society, and also the SIAM Activity group on Optimization Prize (in May 1999) awarded by the Society for Industrial and Applied Mathematics. Some citations at Google Scholar or at citeseer.