An adaptive charging control strategy for ultracapacitor light rail vehicles