For several decades, simulation has been used as a descriptive tool by the operations research community in the modeling and analysis of a wide variety of complex real systems. With recent developments in simulation optimization and advances in computing technology, it now becomes feasible to use simulation as a prescriptive tool in decision support systems. In this paper, we present a comprehensive survey on techniques for simulation optimization with emphasis given on recent developments. We classify the existing techniques according to problem characteristics such as shape of the response surface (global as compared to local optimization), objective functions (single or multiple objectives) and parameter spaces (discrete or continuous parameters). We discuss the major advantages and possible drawbacks of the different techniques. A comprehensive bibliography and future research directions are also provided in the paper.