The advent of rapid, reliable and cheap computing power over the last decades has transformed many, if not most, fields of science and engineering. The multidisciplinary field of optimization is no exception. First of all, with fast computers, researchers and engineers can apply classical optimization methods to problems of larger and larger size. In addition, however, researchers have developed a host of new optimization algorithms that operate in a rather different way than the classical ones, and that allow practitioners to attack optimization problems where the classical methods are either not applicable or simply too costly (in terms of time and other resources) to apply. This book is intended as a course book for introductory courses in stochastic optimization algorithms (in this book, the terms optimization method and optimization algorithm will be used interchangeably), and it has grown from a set of lectures notes used in courses, taught by the author, at the international master programme Complex Adaptive Systems at Chalmers University of Technology in Goteborg, Sweden.Thus, a suitable audience for this book are third and fourth-year engineering students, with a background in engineering mathematics (analysis, algebra, and probability theory) as well as some knowledge of computer programming.