JP2012242183A - Side-trip search device, method and program - Google Patents

Side-trip search device, method and program Download PDF

Info

Publication number
JP2012242183A
JP2012242183A JP2011110845A JP2011110845A JP2012242183A JP 2012242183 A JP2012242183 A JP 2012242183A JP 2011110845 A JP2011110845 A JP 2011110845A JP 2011110845 A JP2011110845 A JP 2011110845A JP 2012242183 A JP2012242183 A JP 2012242183A
Authority
JP
Japan
Prior art keywords
time
poi
point
user
departure
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2011110845A
Other languages
Japanese (ja)
Inventor
Gengo Suzuki
源吾 鈴木
Toshibumi Enomoto
俊文 榎本
Nobuyuki Kobayashi
伸幸 小林
Masashi Yamamuro
雅司 山室
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2011110845A priority Critical patent/JP2012242183A/en
Publication of JP2012242183A publication Critical patent/JP2012242183A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Navigation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

PROBLEM TO BE SOLVED: To enable a user to make a request for a search satisfying a time constraint of the user and to set a schedule including a waiting time.SOLUTION: A side-trip search device is configured to: acquire category information including a departure point, an arrival point, a side-trip point, and a user-specified time condition from the user; acquire side-trip points consistent with the category information by referring to a graph database; exclude a side-trip point, among the side trip points, inconsistent with information and a service time condition specified by the user; generate, with respect to the side-trip point which is not excluded, a schedule which satisfies the user-specified time condition and includes a departure time at the departure point, an arrival time at the side-trip point, a visit duration thereat, an ending time of a visit thereat, the departure time thereat, the arrival time at the arrival point and a waiting time; and search for a route which enables the user to receive a service at the side-trip point and takes a minimum required time in total from the departure point to the arrival point via the side-trip point.

Description

本発明は、寄り道検索装置及び方法及びプログラムに係り、特に、交通やグルメ等のインターネット上の検索サービス、カーナビ等のナビゲーションシステム、旅行日程作成支援のような計画作成支援等において、所定の地点を通過する経路のうち、最短の経路を探索するための寄り道検索装置及び方法及びプログラムに関する。   The present invention relates to a detour search device, method and program, and in particular, in a search service on the Internet such as traffic and gourmet, a navigation system such as a car navigation system, a plan creation support such as a travel schedule creation support, etc. The present invention relates to a detour search apparatus, method, and program for searching for the shortest path among paths passing through.

グラフにおける最短経路を求める技術として、ダイクストラ法、A*法等のグラフ探索技術が確立している(例えば、非特許文献1参照)。これらの技術は、ノード間の移動コスト(例:所要時間)が与えられたグラフにおいて、合計コストが最小となる「最短の」経路を求める手法である。この技術は鉄道網や道路網から所望のルートを探索するサービスに活用されている。   As techniques for obtaining the shortest path in a graph, graph search techniques such as Dijkstra method and A * method have been established (for example, see Non-Patent Document 1). These techniques are methods for obtaining a “shortest” route that minimizes the total cost in a graph in which a movement cost between nodes (eg, required time) is given. This technology is used in a service for searching for a desired route from a railway network or a road network.

一方、ユーザに対して、ユーザの希望や趣向等に応じて、行きたい場所を推薦するレコメンドサービスがある。レコメンドサービスとして、代表的な技術に以下の2つがある。   On the other hand, there is a recommendation service that recommends a place to be visited to the user according to the user's wishes or preferences. There are the following two typical technologies for recommendation services.

・位置情報を用いたグルメ情報等の推薦;
・経路探索時の経路の近辺の店・サービスの推薦;
前者は、ユーザがGPS機能を持つ携帯電話、スマートフォン等を持ち、その位置情報からその近くのユーザの希望や趣向にあった店を推薦するという技術である。
・ Recommendation of gourmet information using location information;
・ Recommendation of shops and services near the route when searching for routes;
The former is a technique in which a user has a mobile phone with a GPS function, a smartphone, and the like, and recommends a store in accordance with the user's desires and preferences from its location information.

後者は、カーナビ等で、目的地までの経路を検索したときに、その経路沿いのガソリンスタンドやファーストフード店等を表示するような技術である。   The latter is a technique for displaying a gas station, a fast food restaurant, or the like along a route when the route to the destination is searched by a car navigation system or the like.

グラフ情報を蓄積・検索する手段として、グラフデータベースが提案されている(例えば、非特許文献2参照)。   As a means for accumulating / retrieving graph information, a graph database has been proposed (see, for example, Non-Patent Document 2).

上記技術と関連するが目的が少し異なる、次のような要求がある。例えば、ユーザがどこかに出張するときに、必ずしも最短経路でなく、多少遠回りしてもよいから、その経路上で自分の好みの昼食をとってから目的地に到達したい、という要求である。この要求を満たす検索を「寄り道検索」と呼ぶことにする。このとき経由する経由地をPOI(Point Of Interest)と呼ぶ。ユーザからは、直接具体的なPOIを指定するのではなく、「寿司が食べたい」とか「銀行に行きたい」というような行きたい場所のカテゴリで指定されることを想定する。具体的なPOIが事前に決まっているのであれば、出発点−POI・POI−到達点の2つのルートを最短経路探索法で求めればよいので、技術的には既存の技術で解決できる。しかし、寄り道検索では、予めわからないPOIを探索しつつ、できるだけ最短経路に近いような経路を求めることが必要になる。寄り道検索については、ダイクストラ法をベースとした検索方式が提案されている。   There are the following requirements related to the above technology, but with slightly different purposes. For example, when a user makes a business trip somewhere, it is not always the shortest route, and it may be a little detour, so there is a request that the user wants to reach his destination after having his favorite lunch on the route. A search that satisfies this requirement will be referred to as a “detour search”. The waypoints that pass through this time are called POI (Point Of Interest). It is assumed that the user does not specify a specific POI directly, but specifies a category of a place where he / she wants to go, such as “I want to eat sushi” or “I want to go to the bank”. If a specific POI is determined in advance, two routes of the starting point-POI / POI-arrival point may be obtained by the shortest path search method, so that it can be technically solved by the existing technology. However, in the detour search, it is necessary to find a route that is as close as possible to the shortest route while searching for a POI that is not known in advance. For the detour search, a search method based on the Dijkstra method has been proposed.

以下に、具体的な寄り道検索の手法について説明する。   A specific approach for searching for a detour will be described below.

図1に、従来の寄り道検索しシステムの全体処理のフローチャートを示し、図2に従来のPOIチェック機能の処理のフローチャートを示す。   FIG. 1 shows a flowchart of the entire process of the conventional sidewalk search and system, and FIG. 2 shows a flowchart of the process of the conventional POI check function.

図2は、図1のS5,S6の「S側(E側)で確定したノードがPOIかチェック」の中のフローである。S側とE側のフローは共有される。   FIG. 2 is a flow in “Check if the node determined on the S side (E side) is POI” in S5 and S6 of FIG. The flows on the S side and E side are shared.

図1と図2のフローの基本的な考え方は以下の通りである。   The basic concept of the flow of FIGS. 1 and 2 is as follows.

・ダイクストラ法を出発点側(S側)と到着点側(E側)の両方から実行する;
・S側・E側からそれぞれスタートして、POIに到達したら、当該ノードへの経路を候補テーブルに登録する;
・候補テーブルにS側・E側から同じPOIに到達する経路があれば、それを結果テーブルに登録する;
・以上を終了条件を満たすまで繰り返す。
-The Dijkstra method is executed from both the departure point side (S side) and the arrival point side (E side);
Start from the S side and E side respectively, and when the POI is reached, register the route to the node in the candidate table;
If there is a route that reaches the same POI from the S side / E side in the candidate table, it is registered in the result table;
・ Repeat the above until the end condition is satisfied.

結果テーブルは、全体のコスト(=S側からのコスト+E側からのコスト)でソートされている。結果テーブルに含まれる要素の個数をk件と予め決めておき、最終的にそのk件の結果を返却することによって、最もコストの少ない上位k件の寄り道検索結果を返却することができる。   The result table is sorted by the total cost (= cost from the S side + cost from the E side). By predetermining the number of elements included in the result table as k, and finally returning the k results, the top k detour search results with the lowest cost can be returned.

探索終了条件は、ダイクストラ法で最短経路探索を行う場合はエンドコードが確定(コストが決定)すれば終了してかまわないが、寄り道検索の場合は、その判定法を用いることができない。寄り道検索の場合は、以下のように決定される。   The search termination condition may be terminated when the end code is fixed (cost is determined) when searching for the shortest path by the Dijkstra method, but in the case of a detour search, the determination method cannot be used. In the case of a detour search, it is determined as follows.

・既にk個の解が求められ、以下の条件がS側・E側の両方で成立するとき終了(よりコストの小さいルートは得られない)。   End when k solutions are already obtained and the following conditions are satisfied on both the S side and the E side (a route with a lower cost cannot be obtained).

条件:結果テーブルの最大コスト≦候補テーブルの最小コスト+現在ノードのコスト
・上記条件だけでは、k個の解が見つからないときに終了せずに延々と遠回りして解を探してしまう。よって、コストの現実的な値で上限を設け(例えば、180分以内のルートを求める)終了条件とする。
Condition: Maximum cost of result table ≦ Minimum cost of candidate table + cost of current node. Under the above condition alone, when k solutions are not found, the solution is not completed and searched for a solution. Therefore, an upper limit is set with a realistic value of cost (for example, a route within 180 minutes is obtained) as an end condition.

以下に図2の処理を説明する。   The processing of FIG. 2 will be described below.

ステップ101) 当該ノードのカテゴリがユーザによって指定されたカテゴリに一致しているかを判定し、一致していない場合は当該処理を終了する。   Step 101) It is determined whether or not the category of the node matches the category specified by the user. If the category does not match, the process ends.

ステップ102) カテゴリが一致している場合には、反対側(E側ならばS側、S側ならばE側)から当該ノードへの経路が候補テーブルに既に登録されているかを判定し、登録されている場合にはステップ103に移行し、登録されていない場合はステップ105に移行する。   Step 102) If the categories match, determine whether the route from the opposite side (S side if E side, E side if S side) to the node is already registered in the candidate table, and register If it has been registered, the process proceeds to step 103. If it is not registered, the process proceeds to step 105.

ステップ103) 結果テーブルに当該ノードへの経路と反対側からの経路を組にして登録する。   Step 103) The route from the opposite side to the route to the node is registered as a set in the result table.

ステップ104) 結果テーブルをコストでソートして当該処理を終了する。   Step 104) The result table is sorted by cost, and the process ends.

ステップ105) 候補テーブルに未登録の場合は、候補テーブルに当該ノードを登録し、当該処理を終了する。   Step 105) If the node is not registered in the candidate table, the node is registered in the candidate table, and the process is terminated.

五十嵐健夫「データ構造とアルゴリズム」(数理工学社,2007).Takeo Igarashi “Data Structure and Algorithm” (Mathematical Engineering, 2007). Neo4j http://now4j.org/Neo4j http://now4j.org/

上記寄り道検索において、寄り道をするときに、寄り道する店が開店していないと意味がない。店の開店時間は12時〜22時のように制限がある。この制限を満たすような店を寄り道して欲しい。例えば、夜遅めに出発するときには、閉店前に間に合うように出発点からなるべく近くの場所に寄り道する必要がある。これは開店時間だけでなく、「12時〜13時、ランチ2割引」や『17時以降、閉店前3割引』のような時間限定のタイムセールのときに来店したいという要求と同じ課題であるといえる。このような、時間制約を持つような寄り道検索を「タイムセール寄り道検索」と呼ぶ。上記では、開店時間などのPOIの時間制約を例として挙げたが、「その店で2時間ゆっくりしたい」「銀行でお金をおろすのでぎりぎりに間に合えばよい」と言うような、ユーザにとっての時間的な制約を満たすような検索要求もあり、これらを満たす検索も同様に「タイムセール寄り道検索」と呼ぶ。   In the above detour search, when detouring, there is no point if the detour store is not open. The opening time of the store is limited as from 12:00 to 22:00. I would like you to drop by a store that satisfies this restriction. For example, when leaving late at night, it is necessary to detour as close as possible from the departure point in time before closing. This is not only the opening time but also the same issue as the request to visit the store during time-limited time sales such as “12:00 to 13:00, 2 discounts for lunch” and “After 17:00, 3 discounts before closing” It can be said. Such a side trip search having a time constraint is called “time sale side trip search”. In the above, POI time constraints such as opening hours were taken as an example, but for users such as "I want to relax at the store for 2 hours" or "I just need to be close in time because I'll drop money at the bank" There are also search requests that satisfy various restrictions, and a search that satisfies these restrictions is also called “time sale detour search”.

タイムセール寄り道検索においては、基本的な時間制約をチェックする手順と条件が課題となる。通常の寄り道検索では全体所要時間は、出発点からPOIまでの所要時間と、POIから到達点までの所要時間を単純に足せばよいが、タイムセール寄り道検索の場合、待ち時間も許容することがサービス的に有効である。POIにサービス開始よりも5分早めに着いたとしても、待ち時間を含めればトータルの所要時間は小さい場合もある。このように、待ちも含めた全体スケジュールを提案できることが課題となる。   In the time sale detour search, the procedure and conditions for checking the basic time constraints become an issue. In ordinary sidewalk search, the total time required is simply to add the time required from the starting point to the POI and the time required from the POI to the arrival point. Service effective. Even if you arrive at POI 5 minutes earlier than the start of the service, the total required time may be small if you include the waiting time. Thus, it becomes a problem to be able to propose an entire schedule including waiting.

寄り道検索の従来手法はダイクストラ法をベースとしているが、ダイクストラ法は貪欲的な特徴を持ち、近傍のノードをすべて展開していく。よって、従来の寄り道検索手法において、全体の所要時間に予め制約をかけることによって、探索の発散を抑止している。この探索範囲の増大と、不自然な制約は大規模で複雑なネットワークに適用する上での課題である。タイムセール寄り道検索においては、時間制約を利用して、探索の範囲を狭められる可能性がある。ダイクストラ法では、所要時間に相当するエッジに与えられる数値をコストと呼ぶことが多いため(所要時間よりは広い意味)、今後、所要時間をコストと呼ぶことがある。   The conventional method of detour search is based on the Dijkstra method, but the Dijkstra method has greedy features and expands all nearby nodes. Therefore, in the conventional approach search method, the divergence of the search is suppressed by constraining the total required time in advance. This increase in search range and unnatural restrictions are challenges in applying to large and complex networks. In the time sale detour search, there is a possibility that the search range may be narrowed using time constraints. In the Dijkstra method, a numerical value given to an edge corresponding to a required time is often called a cost (meaning wider than the required time), and hence the required time may be called a cost in the future.

本発明は、上記の点に鑑みなされたもので、ユーザにとっての時間的な制約を満たすような検索要求に対応でき、かつ、待ち時間も含めたスケジューリングが可能な寄り道検索装置及び方法及びプログラムを提供することを目的とする。   The present invention has been made in view of the above points, and provides a detour search apparatus, method, and program capable of responding to a search request that satisfies time constraints for a user and capable of scheduling including waiting time. The purpose is to provide.

上記の課題を解決するため、本発明(請求項1)は、グラフにおける寄り道の最短経路を求める寄り道検索装置であって、
ノードのID、名前、カテゴリ情報を持つノード情報と、2つのノードIDの組で表現されるノード間の関係と該ノード間の移動所要時間を持つエッジ情報からなるグラフ情報と、ノードで実施されるサービスの開始・終了時刻とサービス内容を格納したグラフデータベースと、
ユーザから指定された、出発点、到達点、経由点を含むカテゴリ情報と、出発点での出発時刻の最大値及び最小値、該経由点での滞在時間の最大値及び最小値、該経由点での到着時刻の最大値及び最小値、該経由点での出発時刻の最大値及び最小値、該到達点での到着時刻の最大値及び最小値を含むユーザ指定時間条件を取得するユーザインタフェース手段と、
前記ユーザインタフェース手段で入力された前記カテゴリ情報に合致する経由点を、前記グラフデータベースを参照して取得するPOI(Point Of Interest)チェック手段と、
前記POIチェック手段で取得した前記経由点のうち、前記ユーザから指定された情報とサービス時間条件に合致しない経由点を排除するユーザ・サービス条件チェック手段と、
前記ユーザ・サービス条件チェック手段で排除されていない経由点について、ユーザ指定時間条件を満たし、出発点出発時刻、経由点到着時刻、経由点滞在時刻、経由点滞在終了時刻、経由点出発時刻、到達点到着時刻、及び待ち時間を含むスケジュールを生成し、該経由点においてサービスを受け、全体として最小の所要時間で、前記出発点から該経由点を経由し、前記到達点に至るルートを検索する全体スケジュール算出手段と、
を有する。
In order to solve the above-mentioned problem, the present invention (Claim 1) is a detour search device for obtaining a shortest detour in a graph,
Implemented on nodes, node information with node ID, name, category information, graph information consisting of edge information with relationship between nodes represented by a pair of two node IDs and travel time between the nodes, and node information A graph database that stores the service start and end times and service details;
Category information including departure point, destination point, and waypoint specified by the user, maximum and minimum values of departure time at the departure point, maximum value and minimum value of stay time at the waypoint, and the waypoint User interface means for acquiring user specified time conditions including maximum and minimum values of arrival time at the destination, maximum and minimum values of departure time at the waypoint, and maximum and minimum values of arrival time at the destination When,
POI (Point Of Interest) check means for obtaining a waypoint that matches the category information input by the user interface means with reference to the graph database;
Among the via points acquired by the POI check means, user service condition check means for excluding via points that do not match the service time condition with the information specified by the user;
For via points that are not excluded by the user service condition check means, satisfy the user specified time condition, departure point departure time, via point arrival time, via point stay time, via point stay end time, via point departure time, arrival point A schedule including a point arrival time and a waiting time is generated, a service is received at the waypoint, and a route from the departure point to the destination point via the waypoint is searched with a minimum required time as a whole. An overall schedule calculation means;
Have

また、本発明(請求項2)は、前記POIチェック手段の実施前に、前記ユーザの指定する条件に合致しない経由点を処理対象から除外する探索制限手段を更に有する・   In addition, the present invention (Claim 2) further includes a search restriction unit that excludes from the processing points a route point that does not match the condition specified by the user before the execution of the POI check unit.

本発明により、ユーザが求める寄り道要求に応えるナビゲーションサービスを実現できる。自分の好みの店を通る経路を求める、ATMの終了時間に間に合うような経路を求める、等のサービスを可能にする。また、探索制限の効果によって、探索範囲を限定し、レスポンスタイムを向上させることができる。但し、探索範囲の制限は、ユーザ指定条件に依存する。例えば、ユーザが非常に緩い条件を指定した場合(極端な例はどんな時間でもよいからサービスを受けたい)、探索範囲の制限の効果はなくなる。しかし、ランチタイム、宴会時間などのように時間が限定される場合、例えば、行きの探索範囲は、大まかにはスタート予定時刻から宴会開始までという範囲に限定され、無秩序な探索は抑制される効果がある。   According to the present invention, it is possible to realize a navigation service that responds to a detour request requested by a user. It enables services such as finding a route through your favorite store or finding a route in time for the ATM's end time. Further, the search range can be limited and the response time can be improved by the effect of the search restriction. However, the limitation of the search range depends on user-specified conditions. For example, when the user specifies a very loose condition (the extreme example is to receive a service at any time), the effect of limiting the search range is lost. However, when the time is limited, such as lunch time or banquet time, for example, the search range for going is roughly limited to the range from the scheduled start time to the start of the banquet, and random search is suppressed. There is.

従来の寄り道検索装置のフローチャートである。It is a flowchart of the conventional detour search device. 従来の寄り道検索装置におけるPOIチェック機能のフローチャートである。It is a flowchart of the POI check function in the conventional detour search device. 本発明の一実施の形態における寄り道検索装置の構成図である。It is a lineblock diagram of a detour search device in one embodiment of the present invention. 本発明の一実施の形態におけるタイムセール寄り道検索のフローチャート(方式1)である。It is a flowchart (scheme 1) of the time sale detour search in one embodiment of the present invention. 本発明の一実施の形態におけるユーザ条件とサービス条件の付き合わせ処理のフローチャートである。It is a flowchart of the matching process of the user condition and the service condition in an embodiment of the present invention. 本発明の一実施の形態におけるPOI滞在開始・終了とサービス条件の制約チェックの例である。It is an example of POI stay start / end and a service condition constraint check in an embodiment of the present invention. 本発明の一実施の形態におけるPOI滞在時間の制約チェックの例である。It is an example of restriction check of POI stay time in an embodiment of the present invention. 本発明の一実施の形態におけるコスト情報とPOI滞在開始・終了条件の制約チェックの例である。It is an example of a constraint check of cost information and POI stay start / end conditions in an embodiment of the present invention. 本発明の一実施の形態の戦略例における個別値の決定イメージである。It is a determination image of the individual value in the example of strategy of one embodiment of the present invention. 本発明の一実施の形態の戦略例における個別値の決定例である。It is an example of determination of the individual value in the example of strategy of one embodiment of the present invention. 本発明の一実施の形態における調製フェーズのイメージである。It is an image of the preparation phase in one embodiment of this invention. 本発明の一実施の形態のすぐ出発する戦略における時刻の決定イメージである。It is a determination image of the time in the strategy to start immediately of one embodiment of this invention. 本発明の一実施の形態におけるタイムセール寄り道検索のフローチャート(方式2)である。It is a flowchart (scheme 2) of the time sale detour search in one embodiment of this invention. 本発明の一実施の形態における方式2のタイムセール寄り道検索のS406の詳細動作のフローチャートである。It is a flowchart of detailed operation | movement of S406 of the time sale detour search of the system 2 in one embodiment of this invention. 本発明の一実施の形態における図13のS404の詳細なフローチャートである。It is a detailed flowchart of S404 of FIG. 13 in one embodiment of this invention. 本発明の一実施の形態における条件1〜4のイメージである。It is an image of conditions 1-4 in one embodiment of the present invention. 本発明の一実施例のグラフの例である。It is an example of the graph of one Example of this invention. 本発明の一実施例のグラフデータベース例である。It is an example of the graph database of one Example of this invention. 本発明の一実施例の出発路側のコストテーブルのイメージである。It is an image of the cost table of the departure road side of one Example of this invention. 本発明の一実施例の到着路側のコストテーブルのイメージである。It is an image of the cost table by the side of the arrival path of one Example of this invention. 本発明の一実施例の候補テーブルと結果テーブルの例である。It is an example of the candidate table and result table of one Example of this invention. 本発明の一実施例のタイムセール寄り道検索における値の指定例である。It is an example of designation | designated of the value in the time sale detour search of one Example of this invention. 本発明の一実施例のコスト情報とPOI滞在開始・終了事件のチェックの例である。It is an example of the cost information of one Example of this invention, and the check of a POI stay start / end case. 本発明の一実施例の全体コストを求めるときの個別値決定フェーズである。It is an individual value determination phase when calculating | requiring the whole cost of one Example of this invention. 本発明の一実施例の決定された個別値である。It is the determined individual value of one Example of this invention. 本発明の一実施例の調整フェーズのイメージである。It is an image of the adjustment phase of one Example of this invention.

以下図面と共に、本発明の実施の形態を説明する。   Embodiments of the present invention will be described below with reference to the drawings.

図3は、本発明の一実施の形態における寄り道検索装置の構成を示す。   FIG. 3 shows a configuration of a detour search device according to an embodiment of the present invention.

同図に示す寄り道検索装置は、コストテーブル101、グラフデータベース102、ユーザインタフェース部105、探索制御部110、POIチェック部120、コストテーブル更新部130、探索終了判定部140、ユーザ・サービス条件チェック部150、全体スケジュール算出部160、探索結果作成部170、探索制限部180、グラフDB制御部190から構成される。さらに、図示しないが、結果テーブルや候補テーブルを保持するメモリも具備する。   The detour search device shown in the figure includes a cost table 101, a graph database 102, a user interface unit 105, a search control unit 110, a POI check unit 120, a cost table update unit 130, a search end determination unit 140, and a user / service condition check unit. 150, an overall schedule calculation unit 160, a search result creation unit 170, a search restriction unit 180, and a graph DB control unit 190. Further, although not shown, a memory for holding a result table and a candidate table is also provided.

コストテーブル101は、探索されたノード、そのノードに至るまでのその時点での最小コスト、そのノードに至る一つ前のエッジの情報を持つ。また、コストテーブル101は、出発点から探索されたコストテーブル、到着点から探索されたコストテーブルの2つがある(図19,20)。   The cost table 101 includes the searched node, the minimum cost at that time until reaching the node, and information on the previous edge reaching the node. There are two cost tables 101: a cost table searched from the starting point and a cost table searched from the arriving point (FIGS. 19 and 20).

グラフデータベース102は、ノードのID、名前、カテゴリ情報からなるノード情報と、2つのノードIDの組で表現されるノード間の関係とノード間の移動所要時間からなるエッジ情報と、各ノードで実施されるサービスの開始・終了時刻、開店時間やタイムセール等の時間制約情報を、グラフデータモデルの形で二次記憶に永続的に記憶する(図18)。   The graph database 102 includes node information including node ID, name, and category information, edge information including a relationship between nodes expressed by a set of two node IDs, and time required for movement between the nodes, and is implemented at each node. The time constraint information such as the start / end time of the service to be performed, the opening time and the time sale is permanently stored in the secondary storage in the form of a graph data model (FIG. 18).

ユーザインタフェース部105は、ユーザが指定する出発点、到着点、行きたい場所のカテゴリ、時間制約を入力する機能を持つ。詳しくは、出発点、到達点、経由点を含むカテゴリ情報と、出発点での出発時刻の最大値及び最小値、該経由点での滞在時間の最大値及び最小値、該経由点での到着時刻の最大値及び最小値、該経由点での出発時刻の最大値及び最小値、該到達点での到着時刻の最大値及び最小値を含むユーザ指定時間条件を取得する。   The user interface unit 105 has a function of inputting a starting point, an arriving point, a category of a place to go to, and a time constraint specified by the user. Specifically, the category information including the departure point, the arrival point, and the waypoint, the maximum value and the minimum value of the departure time at the departure point, the maximum value and the minimum value of the stay time at the waypoint, and the arrival at the waypoint User specified time conditions including the maximum and minimum values of time, the maximum and minimum values of departure time at the waypoint, and the maximum and minimum values of arrival time at the arrival point are acquired.

探索制御部110は、ユーザインタフェース部105で指定された情報を元に、探索を実行し探索結果を作成するまでの全体の制御を行う。   The search control unit 110 performs overall control from execution of a search to creation of a search result based on information specified by the user interface unit 105.

POIチェック部120は、探索の途中で、ユーザが現在いる地点が指定されたカテゴリを満たすかどうか判定する機能を持つ。ユーザ・サービス条件チェック部150、全体スケジュール算出部160に問い合わせることにより、「寿司」「銀行」のようなカテゴリと一致していることをチェックし、計算されたコスト情報から、その地点に寄り道したときに所望の条件と合致しているか(開店時間やタイムセールに間に合ったか、2時間ゆっくりできるのか等)を判定する。   The POI check unit 120 has a function of determining whether a point where the user is currently satisfies a specified category during the search. By making inquiries to the user service condition check unit 150 and the overall schedule calculation unit 160, it is checked that they match the categories such as “sushi” and “bank”. Sometimes it is determined whether or not the desired conditions are met (whether it is in time for opening hours or time sale, or can it be slow for 2 hours, etc.).

コストテーブル更新部130は、ユーザが現在いる点の隣の全てのエッジを求め、もし、そのエッジを経由するルートが最小コストであれば、コストテーブル101を更新する機能を持つ。   The cost table updating unit 130 has a function of obtaining all edges adjacent to the point where the user is currently located, and updating the cost table 101 if the route passing through the edge is the minimum cost.

探索終了判定部140は、探索を終了してよいのかの判定を行う。判定は、
・出発店からPOIまでの経路と到着点からPOIまでの両方の経路が求められていること;
・事前に設定された個数の経路を導出していること;
・これ以上よりよいコストの経路が求められないこと;
・コストの限界値以下であること;
等を用いて判定を行う。
The search end determination unit 140 determines whether the search can be ended. Judgment is
-Both the route from the departure store to the POI and the route from the arrival point to the POI are required;
Deriving a preset number of routes;
-A route with a better cost is not required;
・ Below the limit of cost;
Etc. are used for determination.

ユーザ・サービス条件チェック部150は、POIチェック部120におけるPOIチェック時に、ユーザ条件とサービス条件を照らし合わせて、その矛盾があるかないのかの判定を行う機能を持つ。矛盾がある場合はPOIチェック部120にNGを返却する。   The user service condition check unit 150 has a function of checking whether there is a contradiction by comparing the user condition and the service condition when the POI check unit 120 performs the POI check. If there is a contradiction, NG is returned to the POI check unit 120.

全体スケジュール算出部160は、出発点〜POIの道のり(以降、「出発路」と呼ぶ)、POI〜到着点の道のり(以降、「到着路」と呼ぶ)に掛かるコストと、サービス条件を満たすように補正されたユーザ条件を受け取り、全体のスケジュールを算出する機能を持ち、その結果をPOIチェック部120に返却する。   The overall schedule calculation unit 160 satisfies the cost and service conditions for starting point to POI route (hereinafter referred to as “departure route”), POI to arrival point route (hereinafter referred to as “arrival route”). It receives the user condition corrected in the above, has a function of calculating the entire schedule, and returns the result to the POI check unit 120.

探索結果作成部170は、探索終了後に、コストテーブル101の情報から、全経路を構成する機能を持つ。終了点のコストテーブルから、順に前のコストテーブル101を追っていけば全経路を見つけることができる。   The search result creation unit 170 has a function of configuring all routes from the information in the cost table 101 after the search is completed. By following the previous cost table 101 in order from the cost table at the end point, all routes can be found.

探索制限部180は、探索している位置とユーザ条件からそれ以上展開する必要があるかを判定し、不要であれば、コストテーブル101のノードのコストを無限大にすることでノードの展開を停止させ、探索を制限する機能を持つ。   The search restriction unit 180 determines whether further expansion is necessary based on the position being searched and the user condition, and if unnecessary, expands the node by making the cost of the node in the cost table 101 infinite. It has the function to stop and limit the search.

グラフDB制御部190は、グラフデータベース102への検索機能を提供する。提供される機能としては、あるノードから隣のノードを求める、あるエッジの両側のノードを求める、などの基本的なグラフ情報を検索する機能である。   The graph DB control unit 190 provides a search function for the graph database 102. The provided functions include a function for searching basic graph information such as obtaining an adjacent node from a certain node and obtaining nodes on both sides of a certain edge.

上記の構成のうち、ユーザ・サービス条件チェック部150、全体スケジュール算出部160は、単なる寄り道検索ではなく、「タイムセール寄り道検索」を実施するために必要な機能である。太線で示された探索制御部180とPOIチェック部120は、タイムセール寄り道検索を実施するにあたって、追加された上記のユーザ・サービス条件チェック部150、全体スケジュール算出部160の機能を呼び出すところが従来の技術と異なる点である。なお、タイムセール寄り道検索では当然グラフデータベース102にPOIのサービス条件が追加される点で異なる。太い二重線で示された探索制御部180は、タイムセール寄り道検索において探索を効率的に実行するために必要な機能である。   Among the above-described configurations, the user / service condition check unit 150 and the overall schedule calculation unit 160 are functions necessary for performing “time sale side trip search” instead of mere side trip search. The search control unit 180 and the POI check unit 120 indicated by bold lines call the functions of the added user / service condition check unit 150 and the overall schedule calculation unit 160 when performing a time sale detour search. It is different from technology. It should be noted that the time sale detour search is naturally different in that POI service conditions are added to the graph database 102. The search control unit 180 indicated by a thick double line is a function necessary for efficiently executing a search in a time sale detour search.

<タイムセール寄り道検索>
以下に、タイムセール寄り道検索の実現法について説明する。
<Time sale trip search>
Below, the realization method of a time sale detour search is demonstrated.

最初に実現するために必要となる情報の定義について説明する。この情報については、サービス提供側の情報とユーザ側の都合の情報の2種類がある。それぞれを「サービス条件」「ユーザ条件」と呼ぶことにする。最初にサービス条件について説明する。   First, the definition of the information necessary for realizing will be described. There are two types of this information: information on the service providing side and information on convenience on the user side. These are called “service conditions” and “user conditions”. First, service conditions will be described.

<サービス条件>
・タイムセールの開始時刻:service_start
・タイムセールの終了時刻:service_end
・タイムセールのサービス内容:serice_content
タイムセールの開始時刻、終了時刻はその名とおりの定義であり、ランチサービスならば、"service_start = 11:30・service_end = 14:00"等となる。また、開店時刻、閉店時刻もこの値を使用することとする。
<Service conditions>
・ Time sale start time: service_start
・ Time sale end time: service_end
・ Time sale service: serice_content
The start time and end time of the time sale are defined as the name suggests. For a lunch service, “service_start = 11: 30 • service_end = 14: 00” or the like. Also, this value is used for the opening time and closing time.

また、以下の例では、電車網を意識した例で説明するが、電車の始発・終電を考慮した検索が可能になっている。電車の始発時刻・終電時刻は、駅を表すノードの"serive_start"と"service_end"であると定義することにする。電車網を検索する場合、本来は時刻表と乗り継ぎの関係も考慮する必要があるが、それは容易であるため、単純化のために、ここでは考慮しないことにする。   Further, in the following example, an example in which the train network is taken into account will be described. However, a search considering the first and last trains can be performed. The start time and the last train time of the train are defined as “serive_start” and “service_end” of the node representing the station. When searching for a train network, it is originally necessary to consider the relationship between timetables and connections, but since this is easy, it will not be considered here for simplicity.

"service_content"はタイムセールのサービス内容であり、例えば、『ランチ食べ放題』や、『残り商品全品3割引』、等といった値をとり得る。ユーザが希望するサービス内容を指定することを考えると、例えば、「ランチand 3割引」、等の組合せの指定がある。そのためには、"serivce_content"を構造化し、検索可能にする必要があるが、その方法は容易であるため、ここでは、"serivce_content"は一つの項目として構造化されていないと想定する。   “service_content” is the service content of the time sale, and can take values such as “all-you-can-eat lunch”, “3 discounts on all remaining products”, and the like. In consideration of designating the service content desired by the user, for example, there is designation of a combination such as “lunch and 3 discount”. For that purpose, “serivce_content” needs to be structured and searchable. However, since the method is easy, it is assumed here that “serivce_content” is not structured as one item.

次に、ユーザ条件について定義する。   Next, user conditions are defined.

<ユーザ条件>
・出発点を出発する時刻の最大値と最小値をそれぞれかstart_max、start_min;
・POI滞在時間の最大値と最小値を、pos_stay_max、pos_stay_min;
・POI到着時刻の最大値と最小値を、poi_start_max、poi_start_min;
・POI出発時刻の最大値と最小値を、poi_end_max、poi_end_min;
・到着点へ到着する時刻の最大値と最小値を、end_max、end_min;
これらの定義の意味を説明する。出発点の最大値は「できるだけ遅く出発する時刻」、最小値は「できるだけ早く出発する時刻」を意味する。以下にその例を示す。
<User conditions>
・ The maximum and minimum time of departure from the starting point are respectively start_max and start_min;
・ The maximum and minimum values of POI stay time are pos_stay_max and pos_stay_min;
-POI arrival time maximum and minimum values are poi_start_max, poi_start_min;
・ Poi_end_max, poi_end_min are the maximum and minimum POI departure times;
・ Maximum and minimum time of arrival at the arrival point, end_max, end_min;
The meaning of these definitions will be explained. The maximum value of the starting point means “time to depart as late as possible”, and the minimum value means “time to depart as early as possible”. An example is shown below.

(1)POIの滞在時間:
・最低1時間はゆっくり食をしたい場合、"poi_stay_min = 60"とする。
(1) POI stay time:
・ If you want to eat slowly for at least one hour, set "poi_stay_min = 60".

・2時間で食事を切り上げたい場合、"poi_stay_max = 120"とする。   ・ If you want to round up the meal in 2 hours, set "poi_stay_max = 120".

・チケット購入のように、窓口に滑り込みで間に合えばよいという場合、"poi_stay_max( = poi_stay_min)= 0"とすればよい。   ・ If you just need to slip into the window like ticket purchase, you can set “poi_stay_max (= poi_stay_min) = 0”.

・POI到着時刻は、食事を遅くとも19:00から始めたい場合は、"poi_start_max = 19:00"とする。   ・ The POI arrival time should be "poi_start_max = 19:00" if you want to start eating at 19:00 at the latest.

・食事を18:00より前には始めたくない場合は、"poi_start_ min = 18:00"とする。   ・ If you do not want to start meals before 18:00, use "poi_start_min = 18:00".

(2)POI出発時刻:
・食事を22時には必ず切り上げる場合は、"poi_end_max = 22:00"とする。
(2) POI departure time:
・ If the meal is always rounded up at 22:00, “poi_end_max = 22: 00”.

・食事を21:00までは必ず時間をかけて食べる場合は、"poi_end_min = 21:00"とする。   ・ If you want to eat until 21:00, you must use "poi_end_min = 21:00".

(3)到着時刻
・到着する時刻の最大値は、遅くなっても24:00には帰宅したい場合は、"end_max = 24:00"とする。
(3) Arrival time-The maximum value of the arrival time is "end_max = 24: 00" if you want to go home at 24:00 even if it is late.

・23:00にならないと家の鍵が開かないので、それよりも遅く帰る必要があるという場合は、"end_min = 23:00"とする。   ・ The house key will not open until 23:00, so if you need to go home later than that, set "end_min = 23: 00".

タイムセール寄り道検索を実現するためには、ユーザ・サービス条件チェック部150において、ユーザ条件とサービス条件が合致するかをチェックしながら探索を行う必要がある。そのチェックの仕方により2つの方式がある。   In order to realize a time sale detour search, the user / service condition check unit 150 needs to perform a search while checking whether the user condition matches the service condition. There are two methods depending on the method of checking.

一つはタイムセール条件を最後にチェックする方式であり、寄り道が完成するタイミングで、タイムセール条件を満たすかどうかチェックする方式である。(請求項1,3に対応)
もう一つは、タイムセール条件を事前にチェックする方式であり、寄り道が完成していない時点でも、タイムセール条件を利用すると探索を停止できるケースがある。その条件を積極的に利用して、事前に探索範囲を狭める方式である。(請求項2、4に対応)
以下に、上記の2つの方式について詳細に説明する。
One is a method of checking the time sale condition last, and is a method of checking whether the time sale condition is satisfied at the timing when the detour is completed. (Corresponding to claims 1 and 3)
The other is a method of checking the time sale condition in advance, and there are cases where the search can be stopped by using the time sale condition even when the detour is not completed. This is a method in which the search range is narrowed in advance by actively using the conditions. (Corresponding to claims 2 and 4)
Hereinafter, the above two methods will be described in detail.

<方式1:タイムセール条件を最後にチェックする方式>
寄り道が完成するのは、POIチェックの処理内であるので、その処理をタイムセールに対応するよう前述の図2のフローを図4のように変更する。
<Method 1: Method to check time sale conditions last>
Since the detour is completed within the POI check process, the flow shown in FIG. 2 is changed as shown in FIG. 4 so that the process corresponds to the time sale.

以下に、変更箇所を説明する。なお、図2と同一処理には図2と同一のステップ番号を付与し、その説明を省略する。   Below, a change part is demonstrated. Note that the same processing as in FIG. 2 is assigned the same step number as in FIG. 2, and description thereof is omitted.

ステップ201) 両側からのルートが発見された後(ステップ102、Yes)に、ユーザ・サービス条件チェック部150は、そのルートがタイムセールに関するユーザ条件・サービス条件を満たすかどうかをチェックする。ここで、ユーザ条件とサービス条件をチェックし矛盾する場合には排除される。もし、満足しない場合(例:タイムセール時間内に寄り道できない場合)は、POIチェックはNGとなり停止する。ここまでの処理で、行き・帰り・POI滞在の「時間(の長さ)」が決定される。   Step 201) After the routes from both sides are found (step 102, Yes), the user / service condition check unit 150 checks whether or not the route satisfies the user conditions / service condition regarding the time sale. Here, if the user condition and the service condition are checked and contradicted, they are eliminated. If you are not satisfied (eg, if you cannot detour within the time sale time), the POI check will be NG and stop. By the processing so far, the “time (length)” of going / returning / POI staying is determined.

ステップ202) 全体スケジュール算出部160は、全体スケジュールを算出し、結果テーブルに登録する。ここでは、待ち時間がある場合も考慮して、出発時刻、経由点出発時刻等の全体スケジュールを求めて、結果テーブルに登録する。通常の寄り道検索では、S側とE側のコストを単純に加えたものであるが、タイムセール寄り道検索の場合は、それでは不十分である。サービスが始まるまで、待たされる可能性があるからである。待ちのあるなしで、コストの順番が逆転する可能性がある。最終的なコストは、出発時刻と到着時刻の差となる。このステップで行きから帰りまでの全ての「時刻」が決定される。   Step 202) The overall schedule calculation unit 160 calculates the overall schedule and registers it in the result table. Here, in consideration of the case where there is a waiting time, the entire schedule such as the departure time and the waypoint departure time is obtained and registered in the result table. In the normal side trip search, the costs on the S side and E side are simply added, but in the case of the time sale side trip search, this is insufficient. This is because there is a possibility of waiting until the service starts. The cost sequence can be reversed without waiting. The final cost is the difference between departure time and arrival time. In this step, all “time” from going to returning is determined.

次に、ユーザ・サービス条件チェック150による突合せ(比較)について説明する。   Next, the matching (comparison) by the user service condition check 150 will be described.

図5は、本発明の一実施の形態におけるユーザ条件とサービス条件の突合せ処理のフローチャートである。   FIG. 5 is a flowchart of the user condition / service condition matching process according to the embodiment of the present invention.

ステップ301) 最初に、「POI滞在開始・滞在終了条件とサービス条件に矛盾がない」ことをチェックする。図6にその状況を示す。"poi_start"、"poi_end"はそれぞれPOI開始・終了時刻の候補となる「区間」であり、"poi_stay"はPOI滞在時間の「長さ」を表している(最大値がpoi_stay_max、最小値がpoi_stay_min)。"service"はサービス条件を表す区間である。POIの滞在開始と滞在終了はサービス時間に含まれる必要があるため、以下の関係が成り立つ必要がある(サービスは1区間で表現されると仮定している)。   Step 301) First, it is checked that “the POI stay start / stay end condition and the service condition are consistent”. FIG. 6 shows the situation. “poi_start” and “poi_end” are “intervals” that are candidates for POI start / end times, respectively, and “poi_stay” represents the “length” of POI stay time (maximum value is poi_stay_max, minimum value is poi_stay_min ). “service” is a section representing a service condition. Since the POI stay start and stay end need to be included in the service time, the following relationship needs to be satisfied (assuming that the service is expressed in one section).

service_start≦poi_start_max
poi_end_min≦service_end
ステップ302) 次に、POI滞在開始区間とPOI滞在終了区間を補正する。サービス区間に含まれないPOI滞在開始・終了区間は実質的に除外してよいので、POI滞在開始区間・終了区間とサービス区間で交わりをとり、それを補正されたPOI滞在開始区間・終了区間として今後の処理で使用する(図6の"poi_start'"と"poi_end'")。
service_start ≦ poi_start_max
poi_end_min ≦ service_end
Step 302) Next, the POI stay start section and the POI stay end section are corrected. Since POI stay start / end sections that are not included in the service section may be substantially excluded, the POI stay start section / end section and the service section are crossed and corrected POI stay start / end sections Used in future processing ("poi_start '" and "poi_end'" in FIG. 6).

ステップ303) 次に「補正されたPOI滞在開始・滞在終了条件とPOI滞在時間に矛盾がない」ことをチェックする。図7にPOI滞在時間と開始時間・終了時間の関係を示す。図7に示すように、滞在時間の長さが滞在開始・終了時間に対して短い場合(ケース1)は矛盾である。OKである条件は以下で表現される。   Step 303) Next, it is checked that there is no contradiction between the corrected POI stay start / stay end condition and the POI stay time. FIG. 7 shows the relationship between POI stay time and start / end time. As shown in FIG. 7, the case where the length of stay time is shorter than the stay start / end time (case 1) is contradictory. The condition that is OK is expressed below.

前者が"poi_stay"が短い場合の排除、後者が"poi_stay"が長い場合の排除である。   The former is exclusion when "poi_stay" is short, and the latter is exclusion when "poi_stay" is long.

poi_end'_min < poi_start'_max + poi_stay_min
poi_start'_min + poi_stay_max ≦ poi_end'_max
ステップ304) 次に、コストテーブル101とグラフデータベース102を参照して、POIまでのコスト情報とPOI滞在情報に矛盾がないかをチェックする。S側からのPOIまでのコストを"cost_s"、E側からPOI案でのコストを"cost_e"とする。図8にそれらの相対関係を示す。制約を満たさないケースとして、行くときのコストが大きすぎてPOI滞在開始に間に合わないケース(ケース1)、帰るときのコストが大きすぎて目的地到着に間に合わないケース(ケース2)がある。また、「待ち」を許容する場合は、ケース3のようにPOIに到着してからPOI滞在開始まで待ったり、POI滞在終了してから、移動するまで待つというケースは許容することができる。
poi_end'_min <poi_start'_max + poi_stay_min
poi_start'_min + poi_stay_max ≤ poi_end'_max
Step 304) Next, referring to the cost table 101 and the graph database 102, it is checked whether the cost information up to POI and the POI stay information are consistent. The cost from the S side to the POI is “cost_s”, and the cost from the E side to the POI plan is “cost_e”. FIG. 8 shows their relative relationship. Cases that do not satisfy the constraints include a case (Case 1) where the cost of going too far is too late to start the POI stay (Case 1), and a case where the cost of returning is too large to be in time for arrival at the destination (Case 2). When “waiting” is allowed, the case of waiting until the POI stay starts after arriving at the POI as in Case 3 or waiting until moving after the POI stay ends can be allowed.

この条件で式を書くと以下のようになる。この条件をチェックする。   If you write an expression under this condition, it will be as follows. Check this condition.

start_min + cost_s < poi_start'_max
start_end'_min + cost_e < end_max
また、出発から到着までのトータルの長さが区間の最大幅を超えないようにする必要があるので(ケース5)、以下の条件をチェックする。
start_min + cost_s <poi_start'_max
start_end'_min + cost_e <end_max
In addition, since the total length from departure to arrival must not exceed the maximum width of the section (Case 5), the following conditions are checked.

cost_s + poi_stay_min + cost_e < end_max - start_min
これでユーザ条件とサービス条件の付き合わせは完了である。
cost_s + poi_stay_min + cost_e <end_max-start_min
This completes the association between the user condition and the service condition.

ステップ202) 次に、全体スケジュール算出部160は、待ち時間を含めた全体スケジュールを算出し、結果テーブルに登録する。この前のステップ201のチェックによって、「時間(の長さ)」について矛盾するような条件は排除されているが、これまで与えられた制約では、いつ出発し、POIに滞在し、目的地に到着するという「時刻」は一意には決定されない(全体コストは一意に決まらない)。全体のプランを決定するためには、時間制約を持つ、寄り道検索に対す戦略の知識が必要である。ここでは、代表的な戦略例に基づいて全体プランを決定し、全体コストを求める方法を提示する。この戦略は単純化されており、現実のアプリケーション上必ずしも有効とは限らない。実際にはアプリケーションに適した戦略を実現する必要があるが、それは下記戦略の応用で容易に実現できる。   Step 202) Next, the overall schedule calculation unit 160 calculates the overall schedule including the waiting time and registers it in the result table. The previous check in step 201 eliminates inconsistent conditions for “time (length)”, but with the constraints given so far, when we leave, stay at POI, The “time” of arrival is not uniquely determined (the overall cost is not uniquely determined). In order to determine the overall plan, it is necessary to have a knowledge of strategies for searching for detours with time constraints. Here, a method for determining an overall plan based on a representative strategy example and obtaining an overall cost is presented. This strategy is simplified and not always effective in real applications. In practice, it is necessary to realize a strategy suitable for the application, but this can be easily realized by applying the following strategy.

まず、説明のために幾つかの用語を定義する。   First, some terms are defined for explanation.

・全体の出発と到着の時刻を、total_start、total_endとする。   ・ The departure and arrival times of the whole are assumed to be total_start and total_end.

・総コスト(出発してから到着するまでの時間をtotal_costとする。   -Total cost (The time from departure to arrival is defined as total_cost.

・自明な関係として、total_cost = total_end - total_startが成り立つ(関係1)
・実際にPOIに滞在する時間の開始時刻と終了時刻をそれぞれ、poi_stay_start、poi_stay_endとする(宴会の開始と終了時刻のイメージ)
・POIに到着する時刻と出発する時刻をpoi_arrive、poi_leaveとする。
・ As an obvious relationship, total_cost = total_end-total_start holds (Relation 1)
・ The start time and end time of the actual stay at POI are poi_stay_start and poi_stay_end, respectively (image of banquet start and end time)
・ The arrival time and departure time at POI are poi_arrive and poi_leave.

・自明な関係として、poi_arrive = total_start + cost_sが成り立つ(関係2)。   As an obvious relationship, poi_arrive = total_start + cost_s holds (Relationship 2).

・自明な関係として、total_end = poi_leave + cost_eが成り立つ(関係3)。   -As an obvious relationship, total_end = poi_leave + cost_e holds (Relationship 3).

やや用語が紛らわしいが、POIへの滞在とは、POIの店に入っていた時間のイメージであり、POIの到着・出発時刻とは区別をしていることに注意されたい。POIへの滞在を比喩的に理解するために、今後、滞在を「宴会」の開始・終了を例として表現することがある。これからの目標は、戦略に応じて、"total_start"、"poi_arrive"、"poi_stay_start"、"poi_stay_end"、"poi_leave"、"total_end"の6つの値を決定することである(実質的には関係2,3があるので4つ決定すればよい。また、これらが決めれば関係1により"total_cost"も決定する)。以下の例では簡単のために、POIへの滞在時間(宴会時間)は固定であるとする。これは、POI滞在時間の最大値と最小値が等しいことを意味する(この値を"poi_stay"とする)ので、式で表現すると以下が成り立つ。   Although the terminology is somewhat confusing, it should be noted that staying at POI is an image of the time at which POI was in the store, and is distinct from POI arrival and departure times. In order to understand the stay at POI figuratively, we may express the stay as an example of the start and end of a “banquet” in the future. The goal in the future is to determine six values of “total_start”, “poi_arrive”, “poi_stay_start”, “poi_stay_end”, “poi_leave”, “total_end” according to the strategy (substantially relationship 2) , 3, so it is sufficient to determine four, and if these are determined, “total_cost” is also determined by relation 1). In the following example, for the sake of simplicity, it is assumed that the staying time (banquet time) at the POI is fixed. This means that the maximum value and the minimum value of the POI staying time are equal (this value is referred to as “poi_stay”).

poi_stay_min = poi_stay_max
<戦略例>できるだけ待ちをなくし、かつ早く行動する:
この戦略の特徴を以下に示す。
poi_stay_min = poi_stay_max
<Strategy example> Take action as quickly as possible without waiting:
The characteristics of this strategy are as follows.

・できるだけ早く宴会を開始する;
・できるだけ早く帰宅しようとする;
・待ち時間はできるだけ発生させない→出発は宴会開始に近づける;
スケジュールの算出は、「個別値決定フェーズ」と「調整フェーズ」の2つのフェーズによって構成される。
・ Start a banquet as soon as possible;
・ Trying to go home as soon as possible;
・ Let's wait as little as possible → Departure approaches the start of the banquet;
The calculation of the schedule is composed of two phases of “individual value determination phase” and “adjustment phase”.

個別値決定フェーズとは、まず、全体としてスケジュールの整合性は無視し、出発時刻(Start)、到着時刻(End)、経由地滞在開始(POI)の3つの値をそれぞれの制約条件を元に決定する。   In the individual value determination phase, the consistency of the schedule as a whole is ignored, and the three values of departure time (Start), arrival time (End), and transit stop (POI) are based on the respective constraints. decide.

調整フェーズでは、前に決定された値から全体スケジュールとして矛盾しないような調整を行う。   In the adjustment phase, adjustment is performed so as not to contradict the entire schedule from the previously determined values.

●個別値決定フェーズ:
図9に個別値決定フェーズのイメージを示す。このフェーズでは、大きく、出発路の区間(S区間。ケース1〜3)、到着路の区間(E区間。ケース1,2)、滞在地の区間(P区間。ケース1,2)の3つの区間を決める。この戦略における出発路区間は、cost_sの値が小さいときは、許容されるぎりぎりの(start_max)に出発し、POI到着後宴会開始まで待つことになる(ケース1)。"cost_s"がだんだん大きくなり待ちが短くなり、"poi_arrive"が"poi_start_min"に到着すると、次に"total_start"が前倒しされる(ケース2)。"total_start"が"start_min"に到達した時点で、"poi_arrive"が後ろにずれていく(ケース3)。"cost_s"の最大値は"poi_start_max - start_min"で、これより大きくなることはない(既にそのケースは事前に除外されている)。
● Individual value determination phase:
FIG. 9 shows an image of the individual value determination phase. In this phase, there are three major sections: a departure route section (S section, cases 1 to 3), an arrival path section (E section; cases 1 and 2), and a stay section (P section. Cases 1 and 2). Determine the interval. When the cost_s value is small, the departure route section in this strategy starts at the limit (start_max) that is allowed, and waits until the start of the banquet after arrival at POI (Case 1). When “cost_s” becomes larger and waiting time becomes shorter, and “poi_arrive” arrives at “poi_start_min”, “total_start” is moved forward (case 2). When “total_start” reaches “start_min”, “poi_arrive” shifts backward (case 3). The maximum value of "cost_s" is "poi_start_max-start_min" and will not be larger than this (the case has already been excluded in advance).

到着路区間は"cost_e"の値が小さいときは、許容されるぎりぎり(end_min)に到着するようにPOIを出発する。宴会終了後POI出発まで待つことになる(ケース1)。"cost_e"がだんだん大きくなり待ちが短くなり、"poi_leave"が"por_end_min"に到達すると、次に、"total_end"が後ろにずれる(ケース2)。"cost_e"の最大値は"end_max - poi_end_min"で、これより大きくなることはない(既にそのケースは事前に除外されている)。   When the value of “cost_e” is small in the arrival path section, the POI is departed so as to arrive at the allowable limit (end_min). After the banquet, wait until POI departure (Case 1). When “cost_e” becomes larger and waiting time becomes shorter and “poi_leave” reaches “por_end_min”, “total_end” is shifted backward (case 2). The maximum value of "cost_e" is "end_max-poi_end_min" and will not be larger than this (the case has already been excluded in advance).

滞在区間は、POI滞在時間(poi_stay)が小さいときは、許容されるぎりぎり(poi_end_min)に収容するように宴会が行われる(ケース1)。POI滞在時間がだんだん大きくなり"poi_stay_start"が"por_start_min"に到達すると、次に"poi_stay_end"が後ろにずれる(ケース2)。POI滞在時間の最大値は"poi_end_max - poi_start_min"で、これより大きくなることはない。   In the stay section, when the POI stay time (poi_stay) is small, a banquet is held so as to be accommodated at the allowable limit (poi_end_min) (case 1). When POI stay time gradually increases and “poi_stay_start” reaches “por_start_min”, “poi_stay_end” is shifted backward (case 2). The maximum POI stay time is "poi_end_max-poi_start_min", which will never be greater.

上記の戦略例において決定された個別値を図10に示す。   The individual values determined in the above strategy example are shown in FIG.

●調整フェーズ:
次に、調整フェーズについて説明する。上記のパターンの組合せによって全体が決定されるが、調整が必要な場合として、一般的には以下の2つがある。
● Adjustment phase:
Next, the adjustment phase will be described. Although the whole is determined by the combination of the above patterns, there are generally the following two cases where adjustment is necessary.

・各区間の間に空きがある場合;
・各区間に重なりがある場合;
しかし、POI滞在時間を固定としたために、空きがある場合は、それは待ち時間となり、調整の余地はない。次に、重なりがある場合の解決法を図11に示す。上記の個別値決定では可能な限り、前倒しになるようにスケジュールが決定されているので、重なりが発生した場合は、後ろの区間を後ろにずらすという対応をすればよい。S区間とP区間が重なったら、P区間を後ろにずらし(調整1後)、更にP区間とE区間が重なったらE区間を後ろにずらす(調整2後)。その結果、"total_end"が"end_max"を超えることがないように事前に除外されている。
・ When there is a space between each section;
・ When there is overlap in each section;
However, since the POI stay time is fixed, if there is a vacancy, it becomes a waiting time and there is no room for adjustment. Next, FIG. 11 shows a solution when there is an overlap. In the above-described individual value determination, the schedule is determined to be advanced as much as possible. Therefore, if overlap occurs, it is only necessary to shift the back section backward. When the S section and the P section overlap, the P section is shifted backward (after adjustment 1), and when the P section and the E section overlap further, the E section is shifted backward (after adjustment 2). As a result, “total_end” is excluded in advance so as not to exceed “end_max”.

上記の戦略例とやや違う戦略の例としては、すぐに出発したいというパターンがある。その場合の時刻決定イメージを図12に示す。この場合、必ず"start_min"に出発し、早く着いたら待つ、という動きになる。P区間、E区間については上記戦略例をそのまま利用できる。調整フェーズについても同じである。   An example of a strategy that is slightly different from the above strategy example is that you want to start immediately. The time determination image in that case is shown in FIG. In this case, you must start at "start_min" and wait if you arrive early. The above strategy example can be used as it is for the P and E sections. The same applies to the adjustment phase.

<方式2:タイムセール条件を事前にチェックする方式>
方式2は、タイムセール条件を積極的に利用して、事前に探索範囲を狭める方式である。アルゴリズムの中で、事前に探索範囲を狭められる箇所は、以下の3つの時点である。
<Method 2: Method to check time sale conditions in advance>
Method 2 is a method of narrowing the search range in advance by actively using time sale conditions. There are three points in the algorithm where the search range can be narrowed in advance.

・Step1:ノードへの最短距離が確定する時点;
・Step2:POIを発見する時点;
・Step3:POIへの両側からのパスが見つかる時点;
前述の方式1は、最後のチェックタイミングであるStep3で全てのチェックを行う方式であったといえる。上記のStep1〜3のチェックを加えた処理フローを図13と図14に示す。図14は、図13におけるステップ406の「S側(E側)で確定したノードがPOIかチェック」の中でフローである。(S側とE側ではフローは共有される)。
Step1: When the shortest distance to the node is determined;
・ Step 2: When POI is discovered;
-Step 3: When the path from both sides to POI is found;
It can be said that the above-described method 1 is a method in which all checks are performed in Step 3, which is the last check timing. The processing flow to which the above Steps 1 to 3 are added is shown in FIGS. FIG. 14 is a flow in “Check if node determined on S side (E side) is POI” in step 406 in FIG. 13. (The flow is shared between S side and E side).

図13では、S側、E側それぞれのコスト確定後に(ステップ402,403の処理後)そのノードに対するチェックを行っている(ステップ404)。この時点で探索候補から排除できると、その後のノード展開数を大幅に減らすことができる。ステップ404におけるチェックの詳細を図15に示す。当該処理は探索制限部180で行われる。ここでは、S側、E側それぞれの確定ノードに対して、条件チェックを行い、チェックが満たされない場合は(ステップ601,602、No)、当該ノードのコストを無限大にしている(ステップ603)。当該ノードのコストが無限大である場合、そのノードの先はコストが無限大になるので展開されることはない。   In FIG. 13, after the cost determination on each of the S side and the E side (after the processing of steps 402 and 403), the node is checked (step 404). If it can be excluded from search candidates at this point, the number of subsequent node expansions can be greatly reduced. Details of the check in step 404 are shown in FIG. This process is performed by the search restriction unit 180. Here, a condition check is performed on each of the determined nodes on the S side and the E side. If the check is not satisfied (No in Steps 601 and 602), the cost of the node is set to infinity (Step 603). . If the cost of the node is infinite, the point beyond that node is not expanded because the cost is infinite.

図14では、当該ノードがPOIであることがわかったら(ステップ501、Yes)、次に上記のStep2(POIを発見する時点)のチェックを行う。チェックが満たされない場合は(ステップ502、No)、当該ノードは候補テーブルにも、結果テーブルにも追加されることはない。よって、無駄な候補テーブル、結果テーブルの要素を作成する必要がないので、処理量を削減することができる。両側からPOIへのパスが見つかった後に(ステップ503、Yes)、Step3(POIへの両側からのパスが見つかる時点)のチェックを行う(ステップ505)。これは、前述した方式1のタイミングと同じであり、この条件を満たさない場合は(ステップ505、満足しない)、結果テーブルへの登録がキャンセルされる。   In FIG. 14, when it is found that the node is POI (Yes in Step 501), the above Step 2 (at the time when POI is found) is checked. If the check is not satisfied (step 502, No), the node is not added to the candidate table or the result table. Therefore, since it is not necessary to create useless candidate table and result table elements, the processing amount can be reduced. After the path from both sides to POI is found (step 503, Yes), Step 3 (when the path from both sides to POI is found) is checked (step 505). This is the same as the timing of the method 1 described above. If this condition is not satisfied (step 505, not satisfied), the registration in the result table is cancelled.

次に、上記のStep1〜3でそれぞれ可能なチェックについてまとめる。全部で7つのチェック条件がある(以下の条件が満たされる場合にOKとなる)。これらのチェックを実現するのが探索制限部180となる。   Next, the possible checks in Steps 1 to 3 will be summarized. There are a total of seven check conditions (OK if the following conditions are met): The search restriction unit 180 implements these checks.

・条件1:S側から探索し、POIに到達する前に"poi_start"区間を過ぎないこと;
・条件2:E側から探索し、POIに到達する前に"poi_end"区間を過ぎないこと;
・条件3:S側から探索し、そのコストに滞在時間の最小値を加えたとき、"poi_end"区間をすぎないこと;
・条件4:E側から探索し、そのコストに滞在時間の最小値を加えたとき、"poi_start"区間をすぎないこと;
・条件5:図6に示した、POI滞在開始・終了とサービス条件の制約チェック;
・条件6:図7に示した、POI滞在時間の制約チェック;
・条件7:図8に示した、S側からのコスト情報とPOI滞在終了の制約チェック;
・条件8:図8に示した、E側からのコスト情報とPOI滞在終了の制約チェック;
・条件9:図8に示した、全体のコスト情報の制約チェック;
上記の条件1〜4は、POIに到達する前にチェックできるので、Step1でのチェックが可能である。Step1での探索制限部180による処理は図15に示すとおりであり、Step1で修正された例を図16に示す。一方、条件5〜8は、POIに到達しないとチェックができないが、両側からコストを要求していないので、Step2(POIを発見する時点)でのチェックが可能である。条件9は、両側からのコストが必要なので、Step3(POIへの両側からのパスが見つかる時点)でのチェックが必要である(条件5,6は複数の式、それ以外は一つの式で一つの条件としているが、ここでは、S側、E側、POIの単位で条件としている)。
・ Condition 1: Search from the S side and pass the “poi_start” section before reaching the POI;
・ Condition 2: Search from the E side and do not pass the "poi_end" section before reaching the POI;
・ Condition 3: When searching from the S side and adding the minimum value of the stay time to the cost, it should not be more than the “poi_end” section;
・ Condition 4: When searching from the E side and adding the minimum value of the stay time to the cost, there should be only “poi_start” section;
・ Condition 5: POI stay start / end and service condition constraint check shown in FIG. 6;
Condition 6: POI stay time constraint check shown in FIG. 7;
・ Condition 7: Cost information from S side and restriction check of POI stay end shown in FIG. 8;
・ Condition 8: Cost information from E side and restriction check of POI stay end shown in FIG. 8;
・ Condition 9: Overall cost information constraint check shown in FIG. 8;
Since the above conditions 1 to 4 can be checked before reaching the POI, the check in Step 1 is possible. The processing by the search restriction unit 180 in Step 1 is as shown in FIG. 15, and an example corrected in Step 1 is shown in FIG. On the other hand, conditions 5 to 8 cannot be checked unless the POI is reached, but since costs are not requested from both sides, it is possible to check at Step 2 (at the time of finding the POI). Condition 9 requires costs from both sides, so it is necessary to check at Step 3 (when the path from both sides to POI is found) (Conditions 5 and 6 are multiple expressions, otherwise one is one expression) Here, the conditions are in units of S side, E side, and POI).

上記の条件1〜9を表す式を以下に示す。   The formulas representing the above conditions 1 to 9 are shown below.

・条件1:start_min + cost_s ≦ pos_start_max
・条件2:poi_endo_min + cost_e ≦ end_max
・条件3:start_min + cost_s + poi_stay_min ≦ poi_end_max
・条件4:poi_start_min ≦ end_max - (cost_e + poi_stay_min)
・条件5:service_start ≦ poi_start_max, poi_end_min ≦ service_end
・条件6:poi_end'_min < poi_start'_max + poi_stay_min,
poi_start'_min +poi_stay_max ≦ poi_end'_max
・条件7:start_min + cost_s ≦ poi_start'_max
・条件8:poi_end'_min + coste ≦ end_max
・条件9:cost_s + poi_stay_min + cost_e < end_max - start_min
探索制限部180において、これらの条件をチェックすることにより、探索範囲の絞込みができ、同じ結果を効率よく得ることができる。
・ Condition 1: start_min + cost_s ≤ pos_start_max
・ Condition 2: poi_endo_min + cost_e ≦ end_max
・ Condition 3: start_min + cost_s + poi_stay_min ≤ poi_end_max
・ Condition 4: poi_start_min ≦ end_max-(cost_e + poi_stay_min)
・ Condition 5: service_start ≦ poi_start_max, poi_end_min ≦ service_end
・ Condition 6: poi_end'_min <poi_start'_max + poi_stay_min,
poi_start'_min + poi_stay_max ≤ poi_end'_max
・ Condition 7: start_min + cost_s ≤ poi_start'_max
・ Condition 8: poi_end'_min + coste ≦ end_max
・ Condition 9: cost_s + poi_stay_min + cost_e <end_max-start_min
By checking these conditions in the search restriction unit 180, the search range can be narrowed down and the same result can be obtained efficiently.

<終了条件の修正>
タイムセール寄り道検索では、POI滞在時間を考慮する必要があるため、通常の寄り道検索で使われた以下の終了条件をそのまま使うことができない。
<Correction of end condition>
In the time sale detour search, it is necessary to consider the POI stay time, so the following end conditions used in the normal detour search cannot be used as they are.

結果テーブルの最大コスト≦候補テーブルの最小コスト+現在のノードのコスト
修正された終了条件は以下のようになる。
The maximum cost of the result table ≦ the minimum cost of the candidate table + the cost of the current node The corrected end condition is as follows.

POI滞在含む結果の最大コスト≦候補テーブルの最小コスト+現在ノードのコスト
+ poi_stay_min
Maximum cost of results including POI stay ≤ Minimum cost of candidate table + Cost of current node + poi_stay_min

以下に、本発明の実施例を説明する。   Examples of the present invention will be described below.

<寄り道検索>
以下に寄り道探索の実施例を説明する。
<Departure search>
In the following, an embodiment of the detour search will be described.

例で用いるグラフを図17に示す。同図において、○と☆はノードであり、☆はPOIであり、○はそれ以外である。Sが出発地で、Eが目的地である。ノード間にはエッジが定義されており、その上の数字はノード間の移動コストを表す(単純化のためにコストの単位は分・時等ではなく何らかの単位時間とする)。このグラフをグラフデータベース102として表現した例を図18に示す。同図の例では、グラフデータベース102は関係データベースのような表形式で表現しているが、ノードの関係をポインタで表現したり、関係データベース以外でも実装は可能である。グラフデータベース102の機能としては、「ノード名を指定してノードidを取得」、「ノードidを取得してそれに繋がるエッジを取得」等を仮定する。これらは例えば、関係データベースで容易に実装できる。   A graph used in the example is shown in FIG. In the figure, ○ and ☆ are nodes, ☆ is a POI, and ○ is the other. S is the departure place and E is the destination. Edges are defined between the nodes, and the number above them represents the movement cost between the nodes (for the sake of simplicity, the unit of cost is not a minute / hour, but a unit time). An example in which this graph is expressed as a graph database 102 is shown in FIG. In the example shown in the figure, the graph database 102 is expressed in a tabular form like a relational database, but the node relation can be expressed by a pointer or can be implemented by other than the relational database. As the function of the graph database 102, “specify a node name to obtain a node id”, “obtain a node id and obtain an edge connected to it”, and the like are assumed. These can be easily implemented in a relational database, for example.

寄り道検索を実行した場合のコストテーブル101のイメージを図19(出発路側)、図20(到着路側)に示す。それぞれ、S、Eを出発点としたダイクストラ探索の実行であり、前述の非特許文献1等に示されている方法と同じである。但し、POIに到達した場合に、候補テーブルにノード(とそこまでのコスト)の登録を行う。例えば、出発路側コストテーブルにおいて、Step3でP1が確定しており、候補として「スタート側から,P1に到達,コストは3」という情報が登録されている。   FIGS. 19 (departure route side) and FIG. 20 (arrival route side) show an image of the cost table 101 when the detour search is executed. Each is execution of a Dijkstra search starting from S and E, which is the same as the method described in Non-Patent Document 1 and the like. However, when the POI is reached, the node (and the cost up to that point) is registered in the candidate table. For example, in the departure road side cost table, P1 is determined in Step 3, and information “reach P1 from start side, cost is 3” is registered as a candidate.

図21に候補テーブルと結果テーブルを示す。例えば、同図中のStep7において、S側とE側に共通するP2というPOIが出現したので、それを結果テーブルに登録している(P2,P+12)。同図の数値が足し算になっているのは、S側からのコストとE側からのコストを後での説明上明記しておくためである。同図に示す結果テーブルはトータルコストでソートされている。よってこの場合の求める寄り道経路は、P1を経由する経路であり、トータルのコストは"18"である。具体的な経路は、ダイクストラ法と同様の方法で求めることができる(例:各ノードの前のノードを保存しておく)。   FIG. 21 shows a candidate table and a result table. For example, in Step 7 in the figure, a POI called P2 that is common to the S side and the E side appears, and is registered in the result table (P2, P + 12). The reason why the numbers in the figure are added is that the cost from the S side and the cost from the E side are clearly specified in the later explanation. The result table shown in the figure is sorted by total cost. Therefore, the detour route to be obtained in this case is a route via P1, and the total cost is “18”. A specific route can be obtained by a method similar to the Dijkstra method (for example, a node before each node is stored).

<タイムセール寄り道検索>
次に、タイムセール寄り道検索の実施例を示す。
<Time sale trip search>
Next, an example of time sale detour search will be shown.

対象となるグラフは上記と同じ例を利用する。   The target graph uses the same example as above.

各時間の指定例を図22に示す。数直線は時間を表し、単位はグラフ上のコストと同じ単位であると仮定する。例えば、"start_min"の値は時刻0であり、"poi_start_min"は時刻13である。これから、時間に関する条件チェックの実施例を説明する。   An example of designation of each time is shown in FIG. The number line represents time, and the unit is assumed to be the same unit as the cost on the graph. For example, the value of “start_min” is time 0, and “poi_start_min” is time 13. Now, an example of a condition check relating to time will be described.

まず、「POI滞在開始・終了条件とサービス条件に矛盾がない」チェック(図6)について述べる。   First, a check (FIG. 6) of “no conflict between POI stay start / end conditions and service conditions” will be described.

図22中にP1〜P5のサービス時間例を示した。この例では、P2の終了が矛盾となっており(poi_end_min ≦ service_endを満たさない)、候補から除外される。サービス条件を加味し、POI滞在開始・終了条件は補正されるが、その例を同じ図中に示してある(P1の例)。数直線としての交わりを求めている。このように補正された区間で以後の議論を続ける必要があるが、今後の議論では簡単のために、P1〜P5のサービス条件を全て、13〜28と仮定し、ここでは補正が発生しない、とする。   FIG. 22 shows an example of service times P1 to P5. In this example, the end of P2 is inconsistent (poi_end_min ≦ service_end is not satisfied), and is excluded from the candidates. The POI stay start / end conditions are corrected in consideration of the service conditions, but the example is shown in the same figure (example of P1). We are looking for fellowship as a number line. It is necessary to continue the following discussion in the section corrected in this way, but in the future discussion, for the sake of simplicity, it is assumed that all service conditions of P1 to P5 are 13 to 28, and no correction occurs here. And

<「補正されたPOI滞在開始・終了条件とPOI滞在時間に矛盾がない」チェック>
次に、「補正されたPOI滞在開始・終了条件とPOI滞在時間に矛盾がない」チェック(図7)について述べる。この例では、POI滞在時間が5〜15(例:"poi_stay_min = 5 and poi_stay_max = 15")であれば、この制約は満たされる。今後は、"poi_stay_min = poi_stay_max = 10"(ちょうど10だけ滞在する)と仮定して説明する。
<Check that there is no contradiction between the corrected POI stay start / end conditions and POI stay time>
Next, the check (FIG. 7) of “there is no contradiction between the corrected POI stay start / end conditions and the POI stay time” will be described. In this example, if the POI stay time is 5 to 15 (eg, “poi_stay_min = 5 and poi_stay_max = 15”), this constraint is satisfied. In the following, it is assumed that “poi_stay_min = poi_stay_max = 10” (just 10 stays).

「コスト情報とPOI滞在開始・終了条件の矛盾」チェック(図8)について述べる。条件式
start_min + cost_s < poi_start'_max
start_end'_min + cost_e < end_max
cost_s + poi_stay_min + cost_e < end_max - start_min
が満たされるかどうかをチェックする。そのチェックの様子を図23に示す。例えば、P1において、"start_min + cost_s"は、"poi_start'_max"を超えるので条件を満たさない。この時点で、P5はPOIの候補から除外される。トータルのコストチェックについては、"end_max − stat_min"の値が38で、"cost_s + poi_stay_min + cost_e"の値が28〜36なので満たされる(P5は満たされないが既に除外されている)。
A check on “Contradiction between cost information and POI stay start / end conditions” (FIG. 8) will be described. Conditional expression
start_min + cost_s <poi_start'_max
start_end'_min + cost_e <end_max
cost_s + poi_stay_min + cost_e <end_max-start_min
Check if is satisfied. The state of the check is shown in FIG. For example, in P1, “start_min + cost_s” exceeds “poi_start'_max”, so the condition is not satisfied. At this point, P5 is excluded from the candidate POI. The total cost check is satisfied because the value of “end_max−stat_min” is 38 and the value of “cost_s + poi_stay_min + cost_e” is 28 to 36 (P5 is not satisfied but has already been excluded).

<「待ち時間も含めた全体コストを求める」の処理>
「待ち時間も含めた全体コストを求める」(図14のS506)の実施例を示す。
<Processing “Calculate overall cost including waiting time”>
An example of “determining the total cost including the waiting time” (S506 in FIG. 14) is shown.

個別値決定フェーズであるが、そのイメージを示した図9を本実施例に適用したものを図24に示す。ケース1、ケース2等に示した数直線と値は、それぞれの場合のスレッシュホールドとなっている。例えば、S区間のケース1は区間の先頭が時間0〜5の場合であり、ケース2は区間の終点が13〜18の場合である。   FIG. 24 shows an individual value determination phase in which FIG. 9 showing its image is applied to this embodiment. The number lines and values shown in Case 1, Case 2, etc. are the thresholds in each case. For example, Case 1 of the S section is a case where the head of the section is time 0-5, and Case 2 is a case where the end point of the section is 13-18.

実施例に従って、場合を決定して個別の値(total_startとpoi_leave)を決めた結果を図25に示す。また、P区間についても決定する必要があるが、本実施例では、"poi_stay = 10"であったから、場合はケース1であり、"poi_stay_start"は10となる。   FIG. 25 shows the result of determining cases and determining individual values (total_start and poi_leave) according to the embodiment. Further, although it is necessary to determine the P section as well, in this embodiment, since “poi_stay = 10”, the case is case 1 and “poi_stay_start” is 10.

調整フェーズの例を図26に示す。P1,P2,P4は重なりがないので調整の必要がない。P1は出発路で待ちが生じるパターンとなっている。P3は重なりがあるので、後ろにずらして最終的な結果を得る。これらの最終結果から、全体のコスト(total_end − total_start)が求まる。図26の右端にその値を示す。最小となるのは、P2を経由するケースであることがわる。時間的な制約を考慮しない寄り道検索では、P1を経由する経路が最適解であったが、P1を経由する場合、P1の位置が出発点に近いためにPOIに早く到着してしまい、待ちが発生する。それでP2が逆転している。これは例えて言えば、宴会に丁度よい時間にPOIを訪れることができていないということである。つまり、このタイムセール寄り道検索を用いることによって、興味のある場所に最適な時間に訪れることが可能になる。   An example of the adjustment phase is shown in FIG. P1, P2, and P4 do not need to be adjusted because there is no overlap. P1 has a pattern of waiting on the departure route. Since P3 has an overlap, shift back to get the final result. From these final results, the total cost (total_end−total_start) is obtained. The value is shown at the right end of FIG. It can be seen that the minimum is the case via P2. When searching for a detour that does not take into account time constraints, the route via P1 was the optimal solution.However, when routed via P1, the location of P1 is close to the starting point, so it arrives at the POI early and waits. Occur. So P2 is reversed. For example, this means that you have not been able to visit POI at the right time for a banquet. In other words, by using this time sale detour search, it is possible to visit a place of interest at an optimal time.

<方式2:条件評価を先に行う場合>
最後に方式2(条件評価を先に行う場合)について説明する。
<Method 2: When condition evaluation is performed first>
Finally, method 2 (when condition evaluation is performed first) will be described.

当該方式2を採用する場合、本実施例においては、図23でNGとなったP5を最終的なチェックではなく、出発路側の探索でP5に到達した時点で、それ以降の探索を停止することができる。本実施例の図19では、P5に到達する時点が、step11であるため、ステップ数の削減とはなっていないが、一般的には、展開数を削減することに貢献することができる。   When this method 2 is adopted, in this embodiment, P5 which is NG in FIG. 23 is not a final check, but the search after that is stopped when P5 is reached by the search on the departure road side. Can do. In FIG. 19 of the present embodiment, since the time point of reaching P5 is step 11, it is not a reduction in the number of steps, but in general, it can contribute to a reduction in the number of developments.

なお、上記の実施の形態における図3に示す寄り道検索装置の構成要素の動作をプログラムとして構築し、寄り道検索装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。   In addition, the operation of the components of the detour search device shown in FIG. 3 in the above embodiment is constructed as a program, installed and executed on a computer used as the detour search device, or distributed via a network. Is possible.

本発明は、上記の実施の形態及び実施例に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。   The present invention is not limited to the above-described embodiments and examples, and various modifications and applications can be made within the scope of the claims.

100 寄り道検索装置
101 コストテーブル
102 グラフデータベース
105 ユーザインタフェース部
110 探索制御部
120 POIチェック部
130 コストテーブル更新部
140 探索終了判定部
150 ユーザ・サービス条件チェック部
160 全体スケジュール算出部
170 探索結果作成部
180 探索制限部
190 グラフデータベース制御部
DESCRIPTION OF SYMBOLS 100 Side trip search apparatus 101 Cost table 102 Graph database 105 User interface part 110 Search control part 120 POI check part 130 Cost table update part 140 Search end determination part 150 User service condition check part 160 Overall schedule calculation part 170 Search result creation part 180 Search restriction unit 190 Graph database control unit

Claims (5)

グラフにおける寄り道の最短経路を求める寄り道検索装置であって、
ノードのID、名前、カテゴリ情報を持つノード情報と、2つのノードIDの組で表現されるノード間の関係と該ノード間の移動所要時間を持つエッジ情報からなるグラフ情報と、ノードで実施されるサービスの開始・終了時刻とサービス内容を格納したグラフデータベースと、
ユーザから指定された、出発点、到達点、経由点を含むカテゴリ情報と、出発点での出発時刻の最大値及び最小値、該経由点での滞在時間の最大値及び最小値、該経由点での到着時刻の最大値及び最小値、該経由点での出発時刻の最大値及び最小値、該到達点での到着時刻の最大値及び最小値を含むユーザ指定時間条件を取得するユーザインタフェース手段と、
前記ユーザインタフェース手段で入力された前記カテゴリ情報に合致する経由点を、前記グラフデータベースを参照して取得するPOI(Point Of Interest)チェック手段と、
前記POIチェック手段で取得した前記経由点のうち、前記ユーザから指定された情報とサービス時間条件に合致しない経由点を排除するユーザ・サービス条件チェック手段と、
前記ユーザ・サービス条件チェック手段で排除されていない経由点について、ユーザ指定時間条件を満たし、出発点出発時刻、経由点到着時刻、経由点滞在時刻、経由点滞在終了時刻、経由点出発時刻、到達点到着時刻、及び待ち時間を含むスケジュールを生成し、該経由点においてサービスを受け、全体として最小の所要時間で、前記出発点から該経由点を経由し、前記到達点に至るルートを検索する全体スケジュール算出手段と、
を有することを特徴とする寄り道検索装置。
A detour search device for finding the shortest path of detour in a graph,
Implemented on nodes, node information with node ID, name, category information, graph information consisting of edge information with relationship between nodes represented by a pair of two node IDs and travel time between the nodes, and node information A graph database that stores the service start and end times and service details;
Category information including departure point, destination point, and waypoint specified by the user, maximum and minimum values of departure time at the departure point, maximum value and minimum value of stay time at the waypoint, and the waypoint User interface means for acquiring user specified time conditions including maximum and minimum values of arrival time at the destination, maximum and minimum values of departure time at the waypoint, and maximum and minimum values of arrival time at the destination When,
POI (Point Of Interest) check means for obtaining a waypoint that matches the category information input by the user interface means with reference to the graph database;
Among the via points acquired by the POI check means, user service condition check means for excluding via points that do not match the service time condition with the information specified by the user;
For via points that are not excluded by the user service condition check means, satisfy the user specified time condition, departure point departure time, via point arrival time, via point stay time, via point stay end time, via point departure time, arrival point A schedule including a point arrival time and a waiting time is generated, a service is received at the waypoint, and a route from the departure point to the destination point via the waypoint is searched with a minimum required time as a whole. An overall schedule calculation means;
A detour search device characterized by comprising:
前記POIチェック手段の実施前に、前記ユーザの指定する条件に合致しない経由点を処理対象から除外する探索制限手段を更に有する
請求項1記載の寄り道探索装置。
2. The detour search device according to claim 1, further comprising a search restriction unit that excludes, from the processing target, via points that do not match the conditions specified by the user before the POI check unit is implemented.
グラフにおける寄り道の最短経路を求める寄り道検索方法であって、
ノードのID、名前、カテゴリ情報を持つノード情報と、2つのノードIDの組で表現されるノード間の関係と該ノード間の移動所要時間を持つエッジ情報からなるグラフ情報と、ノードで実施されるサービスの開始・終了時刻とサービス内容を格納したグラフデータベースを有する装置において、
ユーザインタフェース手段が、ユーザから指定された、出発点、到達点、経由点を含むカテゴリ情報と、出発点での出発時刻の最大値及び最小値、該経由点での滞在時間の最大値及び最小値、該経由点での到着時刻の最大値及び最小値、該経由点での出発時刻の最大値及び最小値、該到達点での到着時刻の最大値及び最小値を含むユーザ指定時間条件を取得するユーザ入力ステップと、
POI(Point Of Interest)チェック手段が、前記ユーザ入力ステップで入力された前記カテゴリ情報に合致する経由点を、前記グラフデータベースを参照して取得するPOIチェックステップと、
ユーザ・サービス条件チェック手段が、前記POIチェックステップで取得した前記経由点のうち、前記ユーザから指定された情報とサービス時間条件に合致しない経由点を排除するユーザ・サービス条件チェックステップと、
全体スケジュール算出手段が、前記ユーザ・サービス条件チェックにおいて排除されていない経由点について、ユーザ指定時間条件を満たし、出発点出発時刻、経由点到着時刻、経由点滞在時刻、経由点滞在終了時刻、経由点出発時刻、到達点到着時刻、及び待ち時間を含むスケジュールを生成し、該経由点においてサービスを受け、全体として最小の所要時間で、前記出発点から該経由点を経由し、前記到達点に至るルートを検索する全体スケジュール算出ステップと、
を有することを特徴とする寄り道検索方法。
A detour search method for finding the shortest path of detour in a graph,
Implemented on nodes, node information with node ID, name, category information, graph information consisting of edge information with relationship between nodes represented by a pair of two node IDs and travel time between the nodes, and node information In a device having a graph database storing service start / end times and service contents,
The user interface means the category information including the departure point, the arrival point, and the waypoint designated by the user, the maximum value and the minimum value of the departure time at the departure point, and the maximum value and the minimum time of stay at the waypoint. A user-specified time condition including a value, a maximum value and a minimum value of the arrival time at the waypoint, a maximum value and a minimum value of a departure time at the waypoint, and a maximum value and a minimum value of the arrival time at the destination A user input step to obtain;
POI (Point Of Interest) check means, a POI check step for obtaining a waypoint that matches the category information input in the user input step with reference to the graph database;
User service condition check means, the user service condition check step of eliminating the via point that does not match the information specified by the user and the service time condition among the via points acquired in the POI check step,
The whole schedule calculation means satisfies the user-specified time condition for the waypoints not excluded in the user service condition check, and the departure point departure time, waypoint arrival time, waypoint stay time, waypoint stay end time, waypoint A schedule including a point departure time, an arrival point arrival time, and a waiting time is generated, and a service is received at the waypoint, and the route travels from the departure point via the waypoint to the arrival point with a minimum required time as a whole. An overall schedule calculation step for searching the route to reach,
A detour search method characterized by comprising:
前記POIチェックステップの実施前に、前記ユーザの指定する条件に合致しない経由点を処理対象から除外する探索制限ステップを更に行う
請求項3記載の寄り道探索方法。
4. The detour search method according to claim 3, further comprising a search restriction step of excluding from the processing points via points that do not match the conditions specified by the user before the execution of the POI check step.
コンピュータを、
請求項1または2に記載の寄り道検索装置の各手段として機能させるための寄り道検索プログラム。
Computer
A detour search program for functioning as each means of the detour search device according to claim 1.
JP2011110845A 2011-05-17 2011-05-17 Side-trip search device, method and program Withdrawn JP2012242183A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011110845A JP2012242183A (en) 2011-05-17 2011-05-17 Side-trip search device, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011110845A JP2012242183A (en) 2011-05-17 2011-05-17 Side-trip search device, method and program

Publications (1)

Publication Number Publication Date
JP2012242183A true JP2012242183A (en) 2012-12-10

Family

ID=47464056

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011110845A Withdrawn JP2012242183A (en) 2011-05-17 2011-05-17 Side-trip search device, method and program

Country Status (1)

Country Link
JP (1) JP2012242183A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110967016A (en) * 2019-11-22 2020-04-07 中国人民解放军63629部队 Off-line planning method and device for aircraft route and computer equipment
JP2021081269A (en) * 2019-11-18 2021-05-27 エヌ・ティ・ティ・コムウェア株式会社 Route search device, route search method, and program
WO2022249368A1 (en) * 2021-05-26 2022-12-01 日本電信電話株式会社 Information processing device, improved trajectory construction method, and program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021081269A (en) * 2019-11-18 2021-05-27 エヌ・ティ・ティ・コムウェア株式会社 Route search device, route search method, and program
JP7304273B2 (en) 2019-11-18 2023-07-06 エヌ・ティ・ティ・コムウェア株式会社 Route search device, route search method, and program
CN110967016A (en) * 2019-11-22 2020-04-07 中国人民解放军63629部队 Off-line planning method and device for aircraft route and computer equipment
WO2022249368A1 (en) * 2021-05-26 2022-12-01 日本電信電話株式会社 Information processing device, improved trajectory construction method, and program

Similar Documents

Publication Publication Date Title
US9946978B2 (en) System and method for itinerary planning
KR102514131B1 (en) A method and a computer system for providing a route or a route duration for a journey from a source location to a target location
US10977584B2 (en) Information processing apparatus information processing method and storage medium
US20120330698A2 (en) System for Destination-Based Travel Planning and Booking
JP7285583B2 (en) Information processing system
EP4019903A1 (en) Dynamic tourist travel planner service
JP2009217397A (en) Schedule management system, schedule management method, schedule management program, and recording medium
Bucher et al. A heuristic for multi-modal route planning
JP2013250081A (en) Route search system, route search method, and route search program
JP2012242183A (en) Side-trip search device, method and program
EP1577642A1 (en) Behavior support method and apparatus
Casey et al. Critical review of time-dependent shortest path algorithms: A multimodal trip planner perspective
JP4555895B2 (en) Guide route search device, guide route search method, guide route search program, navigation device
US10036647B2 (en) Systems and methods for the determination of a user&#39;s 4D trajectory
JP2018045634A (en) Information processing system, information processing program and information processing method
JP2005164384A (en) System for searching route, server, portable terminal, device for searching route, program for searching route
KR102007270B1 (en) Method and mobile terminal for providing travel scheduling with intuitive user interface
Aissat et al. Carpooling as complement to multi-modal transportation
JP2007218742A (en) Route searching device and system
JP7472441B2 (en) System and method, computer system and program for reserving a work booth based on a customer&#39;s public transportation choices
JP6626262B2 (en) Route search system, method and program
JP6663897B2 (en) Information processing apparatus, information processing method and program
JP6367544B2 (en) Information processing system, information processing method, and information processing program
KR102607904B1 (en) Method for sharing guide information based on user experience and apparatus for performing the method
JP7272988B2 (en) Information processing device, information processing method, and system

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140805