A route search method, comprising: from map data including node data relating to nodes and link data relating to links, extracting nodes and links included in a map area in which a departure point and a destination point are included; the method being characterized in that for the links extracted, determining non negative link costs related to energy consumption or negative link costs related to energy regeneration; generating a first road network by, for each of the nodes and each of the links extracted, generating a plurality of duplicates thereof; generating a second road network by adding first additional links and second additional links to the first road network; and searching for a route from a duplicate of a node corresponding to the departure point to a duplicate of a node corresponding to the destination point, using the link costs determined and the second road network generated; wherein: the first additional links are links that replace the links between a first node and a second node in the first road network having negative link costs by links for which non negative link costs are set, and that connect the first node to another duplicate of the node corresponding to the second node determined based on the link cost of the link in the first road network; and the second additional links are links for which predetermined positive link costs are set, and each of which connects between duplicates of the node corresponding to the destination point. from map data including node data relating to nodes and link data relating to links, extracting nodes and links included in a map area in which a departure point and a destination point are included; the method being characterized in that for the links extracted, determining non negative link costs related to energy consumption or negative link costs related to energy regeneration; generating a first road network by, for each of the nodes and each of the links extracted, generating a plurality of duplicates thereof; generating a second road network by adding first additional links and second additional links to the first road network; and searching for a route from a duplicate of a node corresponding to the departure point to a duplicate of a node corresponding to the destination point, using the link costs determined and the second road network generated; wherein: the first additional links are links that replace the links between a first node and a second node in the first road network having negative link costs by links for which non negative link costs are set, and that connect the first node to another duplicate of the node corresponding to the second node determined based on the link cost of the link in the first road network; and the second additional links are links for which predetermined positive link costs are set, and each of which connects between duplicates of the node corresponding to the destination point. the first additional links are links that replace the links between a first node and a second node in the first road network having negative link costs by links for which non negative link costs are set, and that connect the first node to another duplicate of the node corresponding to the second node determined based on the link cost of the link in the first road network; and the second additional links are links for which predetermined positive link costs are set, and each of which connects between duplicates of the node corresponding to the destination point.