In this project, we study an Electric Vehicle Routing Problem with Pick-ups and Deliveries, Time Windows, and Recharging Stations on New York City Taxicab data. In order to solve this problem, we divide the problems into three phases: (i) grouping similar customer requests by identifying geographic zones and time slots; (ii) determine groups of passengers to be transported together; (iii) complete the vehicle itinerary between these groups of passengers. The first phase uses the clustering method k-means on the locations of pick-ups and deliveries of New York City taxicabs in january 2013. The second phase uses exact optimization methods, while the third uses metaheuristics methods.