A controller, comprising: a non-transitory computer memory component storing a set of computer-executable instructions, a list of braking intervals for a plurality of vehicles operating on an electric transportation line, and a list of acceleration intervals for the plurality of vehicles; and a processing component configured to execute the set of computer-executable instructions to at least operate on the list of braking intervals and the list of acceleration intervals to reduce an energy consumption of the electric transportation line over a period of time by shifting one or more acceleration intervals of the list of acceleration intervals in time with respect to one or more braking intervals of the list of braking intervals characterised in that the computer-executable instructions include the step of performing a dedicated greedy algorithm that uses an objective function which describes an optimization problem which involves minimizing, by synchronizing between movements of braking and movements of accelerations over a time period represented by a set of time slots, the resulting energy consumption of each time slot, wherein said dedicated greedy algorithm shifts at least one acceleration interval belonging to a neighborhood of each braking interval, by bringing a starting time of said acceleration interval closest to a braking interval's starting time, wherein the neighborhood of a braking interval is the set of acceleration intervals that can be synchronized during at least one predetermined time slot, wherein the acceleration interval is delayed or advanced accordingly with allowed intervals as defined by an optimisation window matrix defining a pool of intervals, and in that once an acceleration interval has been shifted, it is removed from the pool of intervals and cannot be shifted anymore. a non-transitory computer memory component storing a set of computer-executable instructions, a list of braking intervals for a plurality of vehicles operating on an electric transportation line, and a list of acceleration intervals for the plurality of vehicles; and a processing component configured to execute the set of computer-executable instructions to at least operate on the list of braking intervals and the list of acceleration intervals to reduce an energy consumption of the electric transportation line over a period of time by shifting one or more acceleration intervals of the list of acceleration intervals in time with respect to one or more braking intervals of the list of braking intervals characterised in that the computer-executable instructions include the step of performing a dedicated greedy algorithm that uses an objective function which describes an optimization problem which involves minimizing, by synchronizing between movements of braking and movements of accelerations over a time period represented by a set of time slots, the resulting energy consumption of each time slot, wherein said dedicated greedy algorithm shifts at least one acceleration interval belonging to a neighborhood of each braking interval, by bringing a starting time of said acceleration interval closest to a braking interval's starting time, wherein the neighborhood of a braking interval is the set of acceleration intervals that can be synchronized during at least one predetermined time slot, wherein the acceleration interval is delayed or advanced accordingly with allowed intervals as defined by an optimisation window matrix defining a pool of intervals, and in that once an acceleration interval has been shifted, it is removed from the pool of intervals and cannot be shifted anymore.