This book covers local search for combinatorial optimization and its extension to mixed-variable optimization. Although not yet understood from the theoretical point of view, local search is the paradigm of choice for tackling large-scale real-life optimization problems. Today's end-users demand interactivity with decision support systems. For optimization software, this means obtaining good-quality solutions quickly. Fast iterative improvement methods, like local search, are suited to satisfying such needs. Here the authors show local search in a new light, in particular presenting a new kind of mathematical programming solver, namely LocalSolver, based on neighborhood search. First, an iconoclast methodology is presented to design and engineer local search algorithms. The authors' concern regarding industrializing local search approaches is of particular interest for practitioners. This methodology is applied to solve two industrial problems with high economic stakes. Software based on local search induces extra costs in development and maintenance in comparison with the direct use of mixed-integer linear programming solvers. The authors then move on to present the LocalSolver project whose goal is to offer the power of local search through a model-and-run solver for large-scale 0-1 nonlinear programming. They conclude by presenting their ongoing and future work on LocalSolver toward a full mathematical programming solver based on local search.