One of the most important factors in the efficiency of bulk heterojunction solar cells is the balance between transporting an exciton to the interface between materials and transporting the electrons and holes out of the cell without having them meet their opposite, also at an interface. One can obtain efficiencies larger by several factors by optimizing the morphology of the interface between the two materials. It is currently unknown, however, what the optimal morphology is given realistic parameters for the exciton/hole/electron transport speeds. We are using kinetic Monte Carlo and various optimization techniques to solve this inverse problem and find optimal solar cell morphologies, with an eye toward general rules that can be used for real device construction.