This book presents basic optimization principles and gradient-based algorithms to a general audience in a brief and easy-to-read form, without neglecting rigor. The text is structured to let professionals apply optimization theory and algorithms to their own practical fields of interest, such as engineering, physics, chemistry, or business economics. Most importantly, due attention is paid to the difficulties - such as noise, discontinuities, expense of function evaluations, and the existence of multiple minima - that often unnecessarily inhibit the use of gradient-based methods. In a separate chapter on new gradient-based methods developed by the author and his coworkers, it is shown how these difficulties may be overcome without losing the desirable features of classical gradient-based methods. The text includes theorems of special interest, and many worked examples.