Classical scheduling problems (like job-shop or RCPSP) are among the most difficult problems studied in combinatorial optimization. Still, they are far from accounting for all the complexity of industrial scheduling applications. Since more than 20 years, our team at ILOG (now IBM) develops and integrates a large panel of techniques from AI (constraint programming, temporal reasoning, learning, ...) and OR (mathematical programming, graph algorithms, local search, ...) to solve our customers most complex scheduling problems. These works have lead to the design of CP Optimizer, a generic solver based on a very expressive (but still, quite concise) mathematical modeling language to formulate complex scheduling problems. The models are solved with an automatic search algorithm that is exact, efficient, robust and continuously improving. This talk gives a short overview of CP Optimizer.