Optimizing traffic light controllers with evolutionary algorithms