This chapter discusses simulated annealing and generalizations. The simulated annealing algorithm as it is known today is used to determine equilibrium distributions of canonical ensembles of particles that interact through some specified potential. Optimization with the simulated annealing method requires (1) the specification of one single-valued objective function with either a closed form expression or a procedure and prescription of its computation, (2) description of the space of independent variables (arguments of the objective function) and the region in which the solution will be sought, (3) definition of a neighborhood of a point in the space of independent variables, (4) a procedure that generates a pseudo-random walk through con...