Searching for optimal solar-cell architectures