Combinatorial optimization, graph theory, design and analysis of algorithms for discrete optimization problems.