1. A method, performed by one or more computing devices, comprising: receiving input information associated with an electricity distribution network; receiving information associated with one or more electric vehicles within the electricity distribution network; determining, for each of the one or more electric vehicles, a recharging schedule for a specified period of time, the recharging schedule being based on at least the input information; and for at least one unit of time during the specified period of time: adjusting the recharging schedule for at least one of the one or more electric vehicles based at least in part on a determination of one or more system constraint violations in the electricity distribution network caused by recharging the one or more electric vehicles; and wherein the determining comprises: receiving information associated with one or more customer recharging schedules, each customer recharging schedule being associated with one of the one or more electric vehicles; and optimizing a total demand of the electricity distribution network based on the one or more customer recharging schedules.