A population diversity-controlled differential evolution for parameter estimation of solar photovoltaic models