  This article provides an introduction to and review of the field of
computer-aided molecular design (CAMD). It is intended to be approachable for
the absolute beginner as well as useful to the seasoned CAMD practitioner. We
begin by discussing various quantitative structure-property relationships
(QSPRs) which have been demonstrated to work well with CAMD problems. The
methods discussed in this article are (1) group contribution methods, (2)
topological indices, and (3) signature descriptors. Next, we present general
optimization formulations for various forms of the CAMD problem. Common design
constraints are discussed and structural feasibility constraints are provided
for the three types of QSPRs addressed. We then detail useful techniques for
approaching CAMD optimization problems, including decomposition methods,
heuristic approaches, and mathematical programming strategies. Finally, we
discuss many applications that have been addressed using CAMD.
