Data-driven optimization has been an emerging field of sciences, engineering, and applied mathematics since the early 1960s. The increasing computation power, the ability to collect fast and reliable data due to digitization, and the increasing complexity of underlying mathematical models amplified the necessity of developing fast and efficient data-driven algorithms for mathematical optimization. In this chapter, we review data-driven optimization algorithms, starting from the earlier developments with direct search algorithms, and proceeding with model-based approaches and the most recent algorithmic developments to handle various classes of problems including mixed-integer nonlinear optimization. We also provide an extensive demonstration of how these techniques can be used to solve tailored classes of optimization problems with a focus on data-driven mixed-integer nonlinear bi-level optimization and constrained multiobjective optimization.