A novel hybrid algorithm based on rat swarm optimization and pattern search for parameter extraction of solar photovoltaic models