A distributed parallel firefly algorithm with communication strategies and its application for the control of variable pitch wind turbine.