Ongoing developments in the synthesis of nanostructured materials have led to a boom in the number of fabricatable nanomaterials. However, while there is a large body of<br>work on how to fabricate increasingly complex nanostructures, there are relatively few systematic approaches for selecting which structures to fabricate so as to optimize for a particular functionality. In this thesis, we present a generic framework for modeling the design of nanostructured materials as mathematical optimization problems. Our work takes advantage of results from computationally demanding models (e.g. energies from<br>quantum chemical calculations or kinetics from Monte Carlo simulations) from which it regresses simplified structure-function relationships that can be used in conjunction<br>with a supervisory optimization algorithm to guide the design of highly functional nanostructures. We develop detailed mathematical optimization models for extended<br>heterogeneous catalyst surfaces, doped perovskite oxygen carriers, and Wigner crystals while highlighting the ability of our approach to address a wide range of other material<br>systems. In addition to detailed models, we have developed a general purpose Python package called MatOpt for streamlining the process of specifying optimizing materials<br>and for lowering the barriers for applying mathematical optimization to materials problems. Our work provides systematic approaches for managing the combinatorial<br>complexity of the nanomaterials design space and demonstrates the value of process systems engineering principles applied in new contexts.