Dynamic programming for the electric vehicle orienteering problem with multiple technologies