A GSO-based algorithm for combined heat and power dispatch problem with modified scrounger and ranger operators. (25th June 2017)