This thesis describes a method for automatically generating and evaluating small-scale off-grid energy systems. Such systems are comprised of components such as solar panels, residential-scale wind turbines, batteries, inverters and charge controllers. These disparate components are assembled into feasible networks through the use of topological optimization and graph grammar rules....