Solution to economic dispatch problem with valve-point loading effect by using catfish PSO algorithm