Concepts of Combinatorial Optimization