An Ant-Colony Approach to Scheduling Charging Sessions of Electric Vehicle Fleets With Heterogeneous Scheduling Constraints