We study the problem of minimizing overall trip time for battery electric vehicles in road networks. As battery capacity is limited, stops at charging stations may be inevitable. Careful route planning is crucial, since charging stations are scarce and recharging is time-consuming. We extend the Constrained Shortest Path problem for electric vehicles with realistic models of charging stops, including varying charging power and battery swapping stations. While the resulting problem is N P-hard, we propose a combination of algorithmic techniques to achieve good performance in practice. Extensive experimental evaluation shows that our approach (CHArge) enables computation of optimal solutions on realistic inputs, even of continental scale. Finally, we investigate heuristic variants of CHArge that derive high-quality routes in well below a second on sensible instances. Related Work. Classic route planning approaches apply Dijkstra's algorithm [18] to a graph representation of the transportation network, using fixed scalar arc weights corresponding to, e. g., driving time. For faster queries, speedup techniques have been proposed, with different benefits in terms of preprocessing time and space, query speed, and simplicity [2]. A* search [32] uses vertex potentials to guide the search towards the target. A successful variant, ALT (A*, Landmarks, Triangle Inequality) [27], obtains good potentials from precomputed distances to selected landmark vertices. Contraction Hierarchies (CH) [24], on the other hand, iteratively contract vertices in increasing order of (heuristic) importance during preprocessing, maintaining distances between all remaining vertices by adding shortcut arcs where necessary. The CH query is then bidirectional, starting from source and target, and proceeds only from less important to more important vertices. Combining both techniques, Core-ALT [4] contracts all but the most important vertices (e. g., the top 1 %), performing ALT on the remaining core graph. This approach can also be extended to more complex scenarios, such as edge constraints to model, e. g., maximum allowed vehicle height or weight [23]. More recently, techniques (including variants of CH and ALT) were introduced that allow an additional customization after preprocessing, to account for dynamic or user-dependent metrics [11,17,19]. Also, approaches towards extended scenarios exist, such as batched shortest paths [12] or shortest via paths [1,14]. Here, a common approach is to make use of a relatively fast target selection phase, precomputing distances to relevant points of interest to enable faster queries. However, these techniques were only evaluated for single-criterion search, where the distance between two vertices is always a unique scalar value. For multi-criteria scenarios, on the other hand, problem complexity and solution sizes increase significantly, and practical approaches are only known for basic problem variants [21,23,56]. For a more complete overview of techniques and combinations, see Bast et al. [2].Regarding rout...