Computational complexity, originating from the interactions between computer science and numerical optimization, is one of the major theories that have revolutionized the approach to solving optimization problems and to analyzing their intrinsic difficulty. This book deals with the themes of approximation and complexity.