Photovoltaic MPPT algorithm based on adaptive particle swarm optimization neural-fuzzy control