Text this: State of charge estimation for lithium-ion battery based on random forests technique with gravitational search algorithm