We describe a simulated annealing algorithm that can find molecules with large hyperpolarizabilities. This program represents each molecule as a SMILES string and modifies this string using seven mutation operators. We use the semi-empirical quantum chemistry program MOPAC to calculate the average hyperpolarizability. After a few iterations our algorithm significantly increased the value of this property.