Non-covalent interactions are an important topic in chemistry, and in particular, in computational chemistry. One of the more unique and well-known forms of non-covalent interactions is π -π stacking, which is a significant factor in phenomena as diverse as the stacking of DNA bases, the origin of optoelectronic properties in organic electronic materials, and the nanoaggregation of petroleum asphaltenes. Despite the ubiquitous nature of π -π interactions, they are still not completely understood, particularly in cases where multiple aromatic rings are fused together. In computational studies of non-covalent complexes and other flexible systems, finding the lowest-energy structure or structures is of the utmost importance. If computations are done on higher-energy structures, without taking the lowest-energy structures into account, then the results will have no relation to experiments, as they represent conformations that have a very low probability of occurring at equilibrium. Thus, many algorithms have been developed to try to find as many conformations of a given system as possible. When working with flexible systems, best practice is to perform computations on the full ensemble of structures, and present the results for any given system as a Boltzmann-weighted average of the results for all members of the ensemble. Unfortunately, many interesting systems contain numerous atoms and therefore, a concomitant large number of degrees of freedom.