Optimizing solar PV systems