The Complexity of Optimization Problems
Many important problems in computer science, such as CLIQUE, COLORING, and TRAVELLING SALESPERSON, arise naturally as optimization problems. Typically one considers these problems as decision procedures, which are often in NP, and one shows intractibility by showing them NP-complete. We generalize the notion of an NP problem, in a manner analogous to Valiant's class #P, by considering the optimization version of the problem itself, and we show that this idea yields a natural class of problems that we call OptP. This class allows us to make finer distinctions on the complexity of optimization problems than is possible in NP. For example, assuming P $\neq$ NP, we can show that TRAVELLING SALESPERSON is strictly harder than CLIQUE and CLIQUE is strictly harder than BIN PACKING. We then relate OptP to the class of functions computable in polynomial time with an oracle for NP, by showing that every $P^{SAT}$ function decomposes into an OptP function followed by a polynomial-time computation. This allows us to clear up a misconception on the role of uniqueness for the problem of UNIQUELY OPTIMAL TRAVELLING SALESPERSON as considered by Papadimitriou is the 1982 FOCS conference.