(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-16
(45)【発行日】2025-01-24
(54)【発明の名称】情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
G08G 1/123 20060101AFI20250117BHJP
【FI】
G08G1/123 A
(21)【出願番号】P 2023143804
(22)【出願日】2023-09-05
(62)【分割の表示】P 2021116520の分割
【原出願日】2020-06-26
【審査請求日】2023-09-06
(31)【優先権主張番号】P 2019122019
(32)【優先日】2019-06-28
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】518011448
【氏名又は名称】株式会社NearMe
(74)【代理人】
【識別番号】100114557
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】▲高▼原 幸一郎
(72)【発明者】
【氏名】細田 謙二
【審査官】西堀 宏之
(56)【参考文献】
【文献】特許第7378831(JP,B2)
【文献】国際公開第2014/002267(WO,A1)
【文献】特開2004-192264(JP,A)
【文献】特開2019-096263(JP,A)
【文献】特開2000-030193(JP,A)
【文献】国際公開第2019/030835(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G08G 1/00-99/00
(57)【特許請求の範囲】
【請求項1】
車両を利用する乗客の乗車地点又は降車地点と、該乗客の乗車時刻又は降車時刻とを示す乗客情報を取得する取得部と、
前記乗客情報に基づき、前記乗客を乗車又は降車させて運行する経路を示す
複数の前記車両の運行計画を生成する生成部とを備え、
前記取得部は、前記乗客が希望する乗車時刻又は降車時刻と、前記車両が前記乗客を乗車又は降車させる乗車時刻又は降車時刻との間で許容される許容時間を含む前記乗客情報を取得し、
前記生成部は、前記許容時間の範囲内で前記乗車時刻又は降車時刻を定めた前記運行計画を生成し、
前記生成部が生成する前記運行計画における前記乗客の乗車時刻又は降車時刻が、該乗客の希望する乗車時刻又は降車時刻とは異なる場合、前記許容時間に応じて前記乗客の乗車料金を設定する設定部
と、
前記乗客の乗車時刻又は降車時刻と、該乗客の希望する乗車時刻又は降車時刻との差分が前記許容時間以上となる前記運行計画を承認するか否かの入力を前記乗客から受け付ける受付部とを備え、
前記運行計画を承認する旨の入力を受け付けた場合、前記生成部は、前記差分が前記許容時間以上となる前記運行計画を生成する
ことを特徴とする情報処理装置。
【請求項2】
前記車両は、複数の前記乗客が相乗りする車両であり、
前記乗客情報に基づき、前記乗客を複数の集合に分類する分類部を備え、
前記生成部は、前記集合毎に、複数の前記乗客を乗車又は降車させて運行する経路を示す前記運行計画を生成する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記取得部は、前記車両の利用を所定の時点までに既に予約している前記乗客の乗車地点又は降車地点と、該乗客の乗車時刻又は降車時刻とを示す第1乗客情報を取得し、
前記分類部は、前記第1乗客情報に基づき、前記既に予約している乗客を前記複数の集合に分類し、
前記取得部は更に、前記車両の利用を前記所定の時点以降に申し込んだ新たな前記乗客の乗車地点又は降車地点と、該乗客の乗車時刻又は降車時刻とを示す第2乗客情報を取得し、
前記第2乗客情報を取得した場合、前記分類部は、該第2乗客情報に基づき、前記既に予約している乗客の前記集合に前記新たな乗客を分類すべきか否かを判定し、
前記新たな乗客を前記集合に分類すべきと判定した場合、前記生成部は、前記既に予約している乗客が属する前記集合に変更が生じない範囲で、前記集合に対応する前記車両に前記新たな乗客を乗車又は降車させるように、生成済みの前記運行計画を更新する
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記取得部は、前記新たな乗客の需要に関連する需要情報、又は前記車両の供給に関連する供給情報を取得し、
前記生成部は、前記需要情報又は供給情報に応じて前記車両に空き座席を設けた前記運行計画を生成する
ことを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記生成部は、複数の前記車両のうち、車両基地に待機している前記車両の待機台数を参照して前記運行計画を生成する
ことを特徴とする請求項1~
4のいずれか1項に記載の情報処理装置。
【請求項6】
前記生成部は、前記乗客が希望する乗車地点とは異なる乗車地点で前記乗客を乗車させる方が運行時間が短くなる場合、前記異なる乗車地点で前記乗客を乗車させる前記運行計画を生成し、
前記運行計画で定めた乗車地点を前記乗客に通知する通知部を備える
ことを特徴とする請求項1~
5のいずれか1項に記載の情報処理装置。
【請求項7】
前記生成部は、前記乗客が希望する乗車地点が位置する車線とは反対側の車線に位置する乗車地点で前記乗客を乗車させる前記運行計画を生成する
ことを特徴とする請求項
6に記載の情報処理装置。
【請求項8】
前記生成部は、現在の前記車両の運行経路上において、前記乗客が希望する乗車地点から最も近い地点で前記乗客を乗車させる前記運行計画を生成する
ことを特徴とする請求項
6に記載の情報処理装置。
【請求項9】
車両を利用する乗客の乗車地点又は降車地点と、該乗客の乗車時刻又は降車時刻とを示す乗客情報を取得し、
前記乗客情報に基づき、前記乗客を乗車又は降車させて運行する経路を示す
複数の前記車両の運行計画を生成する
処理をコンピュータが実行する情報処理方法であって、
前記乗客が希望する乗車時刻又は降車時刻と、前記車両が前記乗客を乗車又は降車させる乗車時刻又は降車時刻との間で許容される許容時間を含む前記乗客情報を取得し、
前記許容時間の範囲内で前記乗車時刻又は降車時刻を定めた前記運行計画を生成し、
生成する前記運行計画における前記乗客の乗車時刻又は降車時刻が、該乗客の希望する乗車時刻又は降車時刻とは異なる場合、前記許容時間に応じて前記乗客の乗車料金を設定
し、
前記乗客の乗車時刻又は降車時刻と、該乗客の希望する乗車時刻又は降車時刻との差分が前記許容時間以上となる前記運行計画を承認するか否かの入力を前記乗客から受け付け、
前記運行計画を承認する旨の入力を受け付けた場合、前記差分が前記許容時間以上となる前記運行計画を生成する
処理をコンピュータが実行することを特徴とする情報処理方法。
【請求項10】
車両を利用する乗客の乗車地点又は降車地点と、該乗客の乗車時刻又は降車時刻とを示す乗客情報を取得し、
前記乗客情報に基づき、前記乗客を乗車又は降車させて運行する経路を示す
複数の前記車両の運行計画を生成する
処理をコンピュータに実行させるプログラムであって、
前記乗客が希望する乗車時刻又は降車時刻と、前記車両が前記乗客を乗車又は降車させる乗車時刻又は降車時刻との間で許容される許容時間を含む前記乗客情報を取得し、
前記許容時間の範囲内で前記乗車時刻又は降車時刻を定めた前記運行計画を生成し、
生成する前記運行計画における前記乗客の乗車時刻又は降車時刻が、該乗客の希望する乗車時刻又は降車時刻とは異なる場合、前記許容時間に応じて前記乗客の乗車料金を設定
し、
前記乗客の乗車時刻又は降車時刻と、該乗客の希望する乗車時刻又は降車時刻との差分が前記許容時間以上となる前記運行計画を承認するか否かの入力を前記乗客から受け付け、
前記運行計画を承認する旨の入力を受け付けた場合、前記差分が前記許容時間以上となる前記運行計画を生成する
処理をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
バス等の交通機関において、乗客からの利用要求に応じて運行経路を動的に計画するデマンドバスシステムが提案されている。例えば特許文献1では、利用者からの利用要求に応じてバスの運行計画を生成するデマンド型運行管理システムであって、第1利用者が乗降する第1の乗降地点と、第2利用者が乗降する第2乗降地点との中間地点を停車位置とした運行計画を生成するデマンド型運行管理システムが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に係る発明は、基準運行ダイヤで予め定められた運行ルートから時間的に許容された範囲内で運行できるよう運行計画を生成するものであり、許容範囲外の運行計画を生成することができない。
【0005】
一つの側面では、運行計画の動的生成を好適に行うことができる情報処理装置等を提供することを目的とする。
【課題を解決するための手段】
【0006】
一つの側面に係る情報処理装置は、車両を利用する乗客の乗車地点又は降車地点と、該乗客の乗車時刻又は降車時刻とを示す乗客情報を取得する取得部と、前記乗客情報に基づき、前記乗客を乗車又は降車させて運行する経路を示す複数の前記車両の運行計画を生成する生成部とを備え、前記取得部は、前記乗客が希望する乗車時刻又は降車時刻と、前記車両が前記乗客を乗車又は降車させる乗車時刻又は降車時刻との間で許容される許容時間を含む前記乗客情報を取得し、前記生成部は、前記許容時間の範囲内で前記乗車時刻又は降車時刻を定めた前記運行計画を生成し、前記生成部が生成する前記運行計画における前記乗客の乗車時刻又は降車時刻が、該乗客の希望する乗車時刻又は降車時刻とは異なる場合、前記許容時間に応じて前記乗客の乗車料金を設定する設定部と、前記乗客の乗車時刻又は降車時刻と、該乗客の希望する乗車時刻又は降車時刻との差分が前記許容時間以上となる前記運行計画を承認するか否かの入力を前記乗客から受け付ける受付部とを備え、前記運行計画を承認する旨の入力を受け付けた場合、前記生成部は、前記差分が前記許容時間以上となる前記運行計画を生成することを特徴とする。
【発明の効果】
【0007】
一つの側面では、運行計画の動的生成を好適に行うことができる。
【図面の簡単な説明】
【0008】
【
図1】運行計画システムの構成例を示す模式図である。
【
図4】ユーザDB、バスDB、運転手DB、及び運行計画DBのレコードレイアウトの一例を示す説明図である。
【
図8A】運行計画の更新処理に関する説明図である。
【
図8B】運行計画の更新処理に関する説明図である。
【
図10】運行状況確認画面の一例を示す説明図である。
【
図11】サーバが実行する処理手順の一例を示すフローチャートである。
【
図12】端末が実行する処理手順の一例を示すフローチャートである。
【
図14】運行計画の一覧画面の一例を示す説明図である。
【
図15A】運転手情報の表示画面の一例を示す説明図である。
【
図15B】運転手情報の表示画面の一例を示す説明図である。
【
図16】運転手端末の表示画面の一例を示す説明図である。
【
図17】事業者端末が実行する処理手順の一例を示すフローチャートである。
【
図18】運転手端末が実行する処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、本発明をその実施の形態を示す図面に基づいて詳述する。
(実施の形態1)
図1は、運行計画システムの構成例を示す模式図である。本実施の形態では、複数の乗客が相乗りする車両(バス)の運行計画を動的に生成する運行計画システムについて説明する。運行計画システムは、情報処理装置1、ユーザ端末2、2、2…、バス3、事業者端末4、運転手端末5を含む。各装置は、インターネット等のネットワークNを介して相互に通信接続されている。なお、本実施の形態では、車両の一例としてバスをあげるが、バスでなくとも、乗用車、シャトル等複数の乗客を乗車させることができる乗り物であれば、車両の種類は限定されない。
【0010】
本実施の形態では、所定の出発地と目的地との間を往復するバス3について運行計画を生成する。例えばバス3は、ホテルを出発地とし、空港を目的地とするシャトルバスであるが、出発地及び目的地は特に限定されない。本実施の形態では、本システムの会員として予め登録されているユーザからのバス3の利用要求に応じて、バス3の運行経路、運行時刻等を動的に変更した運行計画を生成する。
【0011】
情報処理装置1は、種々の情報処理、情報の送受信が可能な情報処理装置であり、例えばサーバ装置、パーソナルコンピュータ等である。本実施の形態では情報処理装置1がサーバ装置であるものとし、以下では簡潔のためサーバ1と読み替える。サーバ1は、各ユーザからバス3の利用要求を受け付け、運行計画を生成してバス3の運転手に通知する。
【0012】
ユーザ端末2は、本システムを利用するユーザ(乗客)が操作する端末装置であり、例えばスマートフォン、タブレット端末等の携帯端末である。ユーザ端末2には、本システムに係る機能を実現するためのアプリケーションプログラムが予めインストールされており、ユーザ端末2は、当該アプリケーションプログラムを実行して後述の処理を行う。サーバ1は、ユーザ端末2から利用要求を受け付けて運行計画を生成する。
【0013】
バス3は、上述の如く出発地と目的地との間を往復するシャトルバスであり、サーバ1からの指示に従って運転手が運転を行うデマンドバスである。なお、バス3はデマンドバスと呼ばれる車両(バス)に限定されず、サーバ1からの指示に従って運行する車両であればよい。また、
図1では図示の便宜上、バス3を一台のみ図示してあるが、本実施の形態では複数のバス3の運行計画を生成するものとする。例えばサーバ1は、運転手が携帯する携帯端末(運転手端末5)等との間で通信を行い、バス3の運行計画を運転手に通知すると共に、バス3の位置情報(例えばGPS(Global Positioning System)座標値)を逐次取得し、管理する。
【0014】
事業者端末4は、バス3を運行する運行事業者(バス会社)の端末装置であり、例えばパーソナルコンピュータ等である。運転手端末5は、個々のバス3の運転手が携帯する端末装置であり、例えばスマートフォン、タブレット端末等である。サーバ1は、ユーザからの利用要求に応じて生成された運行計画を事業者端末4、運転手端末5等に通知し、バス3を運行させる。
【0015】
なお、本システムと連携してバス3を運行させる運行事業者は単一であってもよく、複数であってもよい。また、本実施の形態ではバス3の運転手と連携する際に、携帯端末である運転手端末5と通信を行うが、例えばバス3に搭載された車載システムと通信を行い、運行計画を運転手に通知するようにしてもよい。
【0016】
図2は、サーバ1の構成例を示すブロック図である。サーバ1は、制御部11、主記憶部12、通信部13、及び補助記憶部14を備える。
制御部11は、一又は複数のCPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)等の演算処理装置を有し、補助記憶部14に記憶されたプログラムP1を読み出して実行することにより、種々の情報処理、制御処理等を行う。主記憶部12は、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)、フラッシュメモリ等の一時記憶領域であり、制御部11が演算処理を実行するために必要なデータを一時的に記憶する。通信部13は、通信に関する処理を行うための通信モジュールであり、外部と情報の送受信を行う。
【0017】
補助記憶部14は、大容量メモリ、ハードディスク等の不揮発性記憶領域であり、制御部11が処理を実行するために必要なプログラムP1、その他のデータを記憶している。また、補助記憶部14は、ユーザDB141、バスDB142、運転手DB143、及び運行計画DB144を記憶している。ユーザDB141は、ユーザの情報を格納するデータベースである。バスDB142は、バス3の情報を格納するデータベースである。運転手DB143は、バス3を運転する運転手の情報を格納するデータベースである。運行計画DB144は、バス3の運行計画に関する情報を格納するデータベースである。
【0018】
なお、補助記憶部14はサーバ1に接続された外部記憶装置であってもよい。また、サーバ1は複数のコンピュータからなるマルチコンピュータであっても良く、ソフトウェアによって仮想的に構築された仮想マシンであってもよい。
【0019】
また、本実施の形態においてサーバ1は上記の構成に限られず、例えば操作入力を受け付ける入力部、画像を表示する表示部等を含んでもよい。また、サーバ1は、CD(Compact Disk)-ROM、DVD(Digital Versatile Disc)-ROM等の可搬型記憶媒体1aを読み取る読取部を備え、可搬型記憶媒体1aからプログラムP1を読み取って実行するようにしても良い。あるいはサーバ1は、半導体メモリ1bからプログラムP1を読み込んでも良い。
【0020】
図3は、ユーザ端末2の構成例を示すブロック図である。ユーザ端末2は、制御部21、主記憶部22、通信部23、表示部24、入力部25、位置情報取得部26、補助記憶部27を備える。
制御部21は、一又は複数のCPU、MPU等の演算処理装置を有し、補助記憶部27に記憶されたプログラムP2を読み出して実行することにより、ユーザ端末2に係る種々の情報処理、制御処理等を行う。主記憶部22は、RAM等の一時記憶領域であり、制御部21が演算処理を実行するために必要なデータを一時的に記憶する。通信部23は、通信を行うためのアンテナ、処理回路等を含み、外部と情報の送受信を行う。表示部24は、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ等の表示装置であり、制御部21から与えられた画像を表示する。入力部25は、タッチパネル、メカニカルキー等の操作インターフェイスであり、操作内容を制御部21に入力する。位置情報取得部26は、ユーザ端末2の位置情報(例えばGPS座標値)を取得する通信モジュールである。補助記憶部27はROM(Read Only Memory)等の不揮発性記憶領域であり、制御部21が処理を実行するために必要なプログラムP2、その他のデータを記憶している。
【0021】
なお、ユーザ端末2は、可搬型記憶媒体2aを読み取る読取部を備え、可搬型記憶媒体2aからプログラムP2を読み取って実行するようにしても良い。あるいはユーザ端末2は、半導体メモリ2bからプログラムP2を読み込んでも良い。
【0022】
図4は、ユーザDB141、バスDB142、運転手DB143、及び運行計画DB144のレコードレイアウトの一例を示す説明図である。
ユーザDB141は、ユーザID列、ユーザ名列、アドレス列、ユーザ情報列を含む。ユーザID列は、各ユーザを識別するためのユーザIDを記憶している。ユーザ名列、アドレス列、ユーザ情報列はそれぞれ、ユーザIDと対応付けて、ユーザの氏名、メールアドレス、及びその他のユーザ情報を記憶している。ユーザ情報列には、例えばユーザの年齢、性別、国籍、所属団体(会社等)、趣味、居住エリア、ユーザのランク(バス3の利用頻度等に応じた顧客優良度)などの属性情報(乗客属性情報)が記憶されている。
【0023】
バスDB142は、バスID列、運行会社列、バス情報列を含む。バスID列は、各バス3を識別するためのバスIDを記憶している。運行会社列及びバス情報列はそれぞれ、バスIDと対応付けて、運行会社(運行事業者)の社名、及びバス3に関する情報を記憶している。バス情報列には、例えばバス3の乗車可能人数、座席番号等のほかに、バス3の評価値を表す車両ランク、各座席の評価値を表す座席ランク、女性専用車両であるか否か、福祉車両であるか否か、車両内で提供するサービス(例えば観光ガイドサービス、マッサージサービス、ネイルサービス等)などの属性情報(車両属性情報)が記憶されている。
【0024】
運転手DB143は、運転手ID列、運転手名列、運転バス列、運転手属性列を含む。運転手ID列は、バス3を運転する運転手を識別するための運転手IDを記憶している。運転手名列、運転バス列、及び運転手属性列はそれぞれ、運転手IDと対応付けて、運転手の氏名、運転するバス3のバスID、及び運転手に関するその他の情報を記憶している。運転手属性列には、例えば運転手が会話可能な言語、ユーザからの運転手の評価値、性別等の運転手属性情報が記憶されている。
【0025】
運行計画DB144は、バスID列、現在位置列、運行計画列を含む。バスID列は、各バス3を識別するためのバスIDを記憶している。現在位置列及び運行計画列はそれぞれ、バスIDと対応付けて、バス3の現在位置、及びバス3の運行計画に関する情報を記憶している。例えば運行計画列には、バス3が順次停車を予定している第1地点、第2地点…それぞれについて、各地点の位置、到着予定時刻、乗降人数等が記憶されている。
【0026】
図5は、地点指定画面の一例を示す説明図である。以下では本実施の形態の概要を説明する。
上述の如く、バス3は出発地と目的地との間を往復するシャトルバスであり、出発地で乗客を乗車させて目的地へと向かうと共に、目的地で再び乗客を乗車させて出発地へと戻る。なお、バス3が停車する地点は出発地及び目的地の2地点に限定されず、出発地及び目的地の間のその他の地点でも乗客を乗車又は降車させるようにしてもよい。サーバ1は、各ユーザのユーザ端末2からバス3の利用要求を受け付け、目的地に向かう往路と、出発地に戻る復路とを規定する運行計画を生成する。
【0027】
ユーザ端末2はまず、
図5に示す地点指定画面を表示し、ユーザが乗車を希望する希望乗車地点と、降車を希望する希望降車地点との指定入力を受け付ける。なお、以下の説明では便宜上、ユーザが乗車を希望する希望乗車地点と、降車を希望する希望降車地点とを総称する場合に、単に「希望地点」と記す。例えばユーザ端末2は、地点指定画面において地図画像を表示し、ユーザから希望地点の指定入力を受け付ける。あるいはユーザ端末2は、希望地点についてテキスト入力を受け付け、入力されたテキストに基づいて候補地をサーバ1に検索させて、候補地から希望地点の指定入力を受け付けるようにしてもよい。また、ユーザ端末2は、予め候補地として登録されている地点を複数表示し、表示した候補地から希望地点の指定入力を受け付けるようにしてもよい。また、ユーザ端末2は、位置情報取得部26を介して取得した位置情報に基づきユーザの現在位置を割り出し、ユーザの現在位置を希望乗車地点として指定するようにしてもよい。
【0028】
図6は、バス予約画面の一例を示す説明図である。地点指定画面で希望地点の指定入力を完了後、ユーザ端末2は
図6に示すバス予約画面に遷移する。
ユーザ端末2は、バス予約画面の上部に、バス3の出発地及び目的地を示す地図画像を表示する。また、ユーザ端末2はバス予約画面に時刻アイコン61、荷物アイコン62、人数アイコン63をそれぞれ表示する。
【0029】
まずユーザ端末2は、時刻アイコン61への操作入力を受け付けた場合、時刻指定欄64をポップアップ表示する。ユーザ端末2は時刻指定欄64により、希望乗車時刻又は希望降車時刻の指定入力を受け付ける。希望乗車時刻及び希望降車時刻は、ユーザがバス3への乗車を希望する時刻、及び目的地でバス3からの降車を希望する時刻である。例えばユーザ端末2は、希望乗車時刻又は希望降車時刻のいずれか一方について指定入力を受け付ける。なお、以下の説明では便宜上、希望乗車時刻及び希望降車時刻を総称する場合、単に「希望時刻」と記す。
【0030】
また、ユーザ端末2は、荷物アイコン62又は人数アイコン63への操作入力を受け付けた場合、荷物/人数指定欄65をポップアップ表示する。ユーザ端末2は荷物/人数指定欄65により、ユーザが持つ荷物情報(例えば、荷物の種類(バッグ、スーツケース等)、重さ、大きさ、数等)、及び乗車するユーザの人数について指定入力を受け付ける。
【0031】
サーバ1は、上述の如くユーザ端末2に入力された各種情報、すなわち希望地点、希望時刻、荷物情報、人数等を示す乗客情報をユーザ端末2から取得し、利用要求を受け付ける。サーバ1は、取得した乗客情報に基づき、各バス3がユーザ(乗客)を乗車又は降車させながら運行する経路を規定する運行計画を生成する。
【0032】
なお、本実施の形態ではバス3がユーザ(及びユーザの手荷物)のみ乗せて運行するものとするが、本実施の形態はこれに限定されるものではなく、荷物のみの運送依頼を受け付けてもよい。ここで言う荷物は、例えばバス3に乗車しないものの、ホテルへの荷物の運搬を希望するユーザの荷物のように、バス3の乗客と無関係の荷物を含む。例えばサーバ1は、上記の乗客情報のほかに、目的地への運送を希望する荷物の運送依頼(例えば発送地、目的地、希望発送時刻、希望到着時刻等を含む)をユーザ端末2から受け付ける。この場合にサーバ1は、荷物も乗客(ユーザ)と同様に乗車物の一つと捉え、下記のクラスタリングを行って運行計画を生成する。このように、サーバ1はユーザに加えて荷物を運送する運行計画を生成してもよい。
【0033】
図7は、運行計画生成処理に関する説明図である。
図7に基づき、運行計画の生成処理の概要について説明する。
サーバ1は、各ユーザのユーザ端末2、2、2…から、希望地点及び希望時刻を含む乗客情報(第1乗客情報)を取得する。サーバ1は、各ユーザからの乗客情報が示す希望地点及び希望時刻に基づき、各ユーザを複数のクラスタ(集合)に分類するクラスタリングを行う。
【0034】
図7に、クラスタリングに係るベクトル空間を概念的に図示する。
図7において横軸は時間を、縦軸は地理的空間(地点)を表す。また、横軸を挟んで上側は往路におけるベクトル空間を、下側は復路におけるベクトル空間を表す。また、縦軸の点線は所定時間(例えば30分間)毎に区切られる時間帯の境界を表す。なお、実際には3次元以上の多次元空間でクラスタリングを行うが、
図7では図示の便宜上、ベクトル空間を2次元で図示している。
【0035】
サーバ1は、各ユーザの希望地点及び希望時刻に基づき、各ユーザをベクトル空間にマッピングする。そしてサーバ1は、所定時間で区切った時間帯毎に、一又は複数のユーザをグルーピングするクラスタリングを行い、各クラスタを生成していく。クラスタリングの手法は特に限定されないが、例えばサーバ1は、k-means法、c-means法等の手法を用いてクラスタを生成する。
【0036】
なお、サーバ1が所定の時間帯毎にクラスタリングを行うのは、本実施の形態では空港への送迎を想定しているため、航空機の離発着時刻の所定時間前までに送迎が完了するようにするためである。所定時間で区切った時間帯毎にクラスタを生成することで、目的地への送迎を好適に行うことができる。
【0037】
本実施の形態でバス3は、出発地及び目的地の間を往復するシャトルバスであるため、サーバ1は、往路で乗車するユーザと、復路で乗車するユーザとを別々にクラスタリングする。すなわち、サーバ1は、バス3の目的地を希望降車地点とする乗客情報をユーザ端末2から取得した場合、当該ユーザ端末2のユーザは往路側のベクトル空間にマッピングし、クラスタリングを行う。バス3の目的地を希望乗車地点とする乗客情報をユーザ端末2から取得した場合、当該ユーザ端末2のユーザは復路側のベクトル空間にマッピングし、クラスタリングを行う。
【0038】
サーバ1は、希望地点及び希望時刻が近接する一又は複数のユーザをグルーピングし、クラスタを生成する。サーバ1は、上記のクラスタリング結果に基づき、各バス3の運行計画を生成する。
【0039】
具体的には、サーバ1は、各クラスタにバス3を割り当て、クラスタ毎に各ユーザを乗車させる運行計画を生成する。例えばサーバ1は、
図7に示すように、ある時間帯の往路(又は復路)のクラスタに一のバス3を割り当てた後、次の時間帯で当該バス3に割り当てる復路のクラスタを選択し、当該クラスタに属するユーザを乗降させるように運行させる。さらにサーバ1は、次の時間帯の往路のクラスタを選択し、運行させる。サーバ1は、本システムで運行を指示する複数のバス3、3、3…にそれぞれクラスタの割り当てを行い、全てのクラスタについてユーザを乗車させるよう運行計画を生成する。
【0040】
例えばサーバ1は、クラスタ内の各ユーザの希望地点がそれぞれ異なる場合、各ユーザを乗車又は降車させる乗車地点又は降車地点(以下、適宜に「乗降地点」と記す)と、各ユーザを乗車又は降車させる乗車時刻又は降車時刻(以下、適宜に「乗降時刻」と記す)とを定め、各ユーザを乗車又は降車させながら運行する最適経路を推定する。サーバ1は、個々のクラスタについて最適経路を推定し、運行計画を完成させる。
【0041】
本実施の形態でサーバ1は、上記の運行計画を、巡回セールスマン問題の手法を用いて生成する。すなわちサーバ1は、複数のバス3、3、3…が与えられる場合に、バス3、3、3…により全てのユーザを乗降させる組合せの最適解を見つけるという組み合わせ最適化問題に帰着させて運行計画を生成する。例えばサーバ1は、各ユーザの待ち時間、クラスタ間のバス3の待機時間、バス3の運行時間、運行距離等に基づき、運行計画を評価するためのコスト値を算出する。サーバ1は、コスト値が最小化するように運行計画を生成する。
【0042】
この場合にサーバ1は、個々のバス3の総運行時間、出発地と目的地との間の往復回数等について制約条件を設け、制約条件下で運行計画を生成するようにしてもよい。これにより、バス3の運転手の労働環境の管理を好適に行うことができる。
【0043】
また、サーバ1は、全てのバス3、3、3…のうち、乗客が無乗車であるバス3の台数に応じて各バス3の運行計画を生成すると好適である。乗客が無乗車であるバス3とは、例えば所定の車両基地に待機していて運行していないバス3、乗客を乗せずに路上で待機しているバス3、乗客を乗車させずに運行しているバス3(回送しているバス3)などである。例えばサーバ1は、車両基地に待機している待機台数が多いほどコスト値を低く算出することで、全体としてバス3の運行台数を減らすように運行計画を生成する。また、例えばサーバ1は、路上に待機しているバス3の台数、又は乗客を乗車させずに運行しているバス3の台数が少ないほどコスト値が低くなるように算出することで、バス3の運行の無駄を減らすように運行計画を生成する。これにより、乗客数の偏りが解消され、適切なバス3の運行を行うことができる。
【0044】
なお、巡回セールスマン問題は運行計画の最適化手法の一例であって、サーバ1は他のアルゴリズムに基づいて運行計画の最適化を行ってもよい。
【0045】
運行計画の生成は、一度だけ行ってもよいし、定期的又は予約状況の変化等に応じて複数回行ってもよい。例えばサーバ1は、所定の予約確定時点(例えば、バスの運営会社への運行当日に手配するバスの台数を発注する期限(例えば運行当日の午前0時)までに、バス予約画面を介して予約を申し込んだユーザについて運行計画を生成し、予約を確定させる。この場合にサーバ1は、予定確定時点までクラスタの生成を繰り返し、運行計画を逐次的に生成する。例えばサーバ1は、既にユーザA、Bをあるクラスタに分類して運行計画を生成済みであっても、新たにユーザCからバス3の利用要求(予約)を受け付けた場合に、ユーザBを除外してユーザA、Cを同じクラスタに分類する方が運行計画のコストが低い場合、ユーザA、Cを同じクラスタとして再度クラスタリングを行う。このように、サーバ1は、ユーザが属するグループ(クラスタ)を繰り返し入れ替え、運行計画を逐次的に生成する。予約確定時点を経過した場合は予約済みのユーザについてグループの入れ替えは生じず、後述の運行計画の更新処理はグループの入れ替えが生じない範囲で行われる。
【0046】
上記の運行計画の生成時に、サーバ1は、ユーザを乗車又は降車させる乗降時刻が、ユーザが指定した希望時刻とは異なる時刻とした運行計画を生成してもよい。例えばサーバ1は、利用要求を受け付ける場合に、希望時刻からユーザが許容する許容時間の設定入力を受け付け、乗客情報としてユーザ端末2から取得する。サーバ1は、
図7で示すように、許容時間の範囲内でベクトル空間上のユーザの位置を変動させ、ユーザを乗車させるバス3を決定する。
【0047】
この場合、後述するように、サーバ1は許容時間に応じてユーザの乗車料金を変動させると好適である。これにより、運行計画の最適化を容易に行うことができる。
【0048】
また、サーバ1は、乗降時刻だけでなく、ユーザを乗車又は降車させる乗車地点又は降車地点を、ユーザの希望地点とは異なる地点としてもよい。例えば、サーバ1は、希望地点とは異なる地点で乗車させる方が運行時間が基準時間以上短くなる場合、希望地点とは異なる地点としてもよい。例えばサーバ1は、ユーザの希望乗車地点がある道路の一の車線側の地点である場合において、反対車線の地点で乗車させる方が運行時間が短くなる場合、反対車線の地点を乗車地点とする。あるいはサーバ1は、現在のバス3の経路上において、ユーザの希望乗車地点から最も近い地点を乗車地点としてもよい。その際、乗車地点を、地図上の目印となる地点(交差点、施設など)としてもよい。
【0049】
この場合、例えばサーバ1は、後述するように、実際に設定される乗車地点をユーザ端末2に通知すると好適である。これにより、ユーザを乗車地点に容易に誘導することができる。
【0050】
また、サーバ1は、希望地点及び希望時刻以外の情報を参照してユーザを乗車させるバス3の割り当て(マッチング)を行い、運行計画を生成してもよい。例えばサーバ1は、各ユーザの年齢、性別、国籍等の属性情報(乗客属性情報)に基づいてクラスタリング(分類)を行い、ユーザを乗車させるバス3を選択する。例えばサーバ1は、ユーザ同士の属性情報のマッチングを行い、属性情報が同一又は類似するユーザを同一のクラスタに分類し、バス3を割り当てる。これにより、例えば女性専用車両を設けるなど、適宜にバス3の運用を行うことができる。
【0051】
なお、上記はユーザの属性情報を用いた割り当ての一例であって、本実施の形態はこれに限定されるものではない。例えばサーバ1は、ユーザの所属団体(会社等)に応じて、同業者は同じバス3に割り当てられないようにしてもよい。また、サーバ1は、趣味が共通するユーザを同じバス3に優先的に割り当てるようにしてもよい。あるいはサーバ1は、ランク(顧客優良度)が高いユーザを優先的に割り当てるようにしてもよい。このように、ユーザの属性情報に基づく割り当てには種々の方法が考えられる。
【0052】
また、例えばサーバ1は、ユーザの属性情報以外にも、バス3の運転手の属性情報(運転手属性情報)に基づいてクラスタリングを行い、バス3の割り当てを行ってもよい。運転手の属性情報は、例えば運転手の技能(会話可能言語等)、ユーザからの評価などである。例えばサーバ1は、ユーザの属性情報と運転手の属性情報とのマッチングを行い、ユーザを乗車させるバス3を選択する。これにより、例えばユーザが外国人観光客である場合に、ユーザの国籍に対応する言語を会話可能な運転手のバス3を割り当てるなど、適切な運用を行うことができる。
【0053】
また、例えばサーバ1は、バス3自体の属性情報(車両属性情報)に基づいてクラスタリングを行い、バス3の割り当てを行ってもよい。バス3の属性情報は、例えばバス3の評価値を表す車両ランク、各座席の評価値を表す座席ランク、女性専用車両であるか否か、福祉車両であるか否か、車内で提供するサービスなどである。例えばサーバ1は、ユーザ端末2から乗客情報としてバス3の車両ランク、座席ランク等の希望条件を取得した場合、バス3の属性情報とのマッチングを行い、バス3を選択する。
【0054】
上記のマッチング(クラスタリング)を行う上で、例えばサーバ1は、ユーザ端末2から利用要求を受け付ける場合に、同乗者、運転手、バス3等について希望条件の入力を受け付け、希望条件に従ってマッチングを行ってもよい。また、例えばサーバ1は、希望条件の入力を受け付けずとも、ユーザDB141、バスDB142、運転手DB143等の各データベースに格納された属性情報を参照し、マッチングを自動的に行ってもよい。
【0055】
図8は、運行計画の更新処理に関する説明図である。本実施の形態でサーバ1は、ユーザ端末2から利用要求を継続的に受け付け、運行計画をリアルタイムで更新していく。
図8では、運行計画の更新処理について、処理内容を概念的に図示している。
【0056】
図8Aでは、運行計画を変更し、新たに利用要求を受け付けたユーザをバス3に追加乗車させる場合の処理内容を概念的に図示している。ユーザ端末2から新たなユーザの乗客情報(第2乗客情報)を取得した場合、サーバ1は、新たに取得した乗客情報が示す希望地点及び希望時刻に基づき、当該新たなユーザを、既にバス3を予約済みのユーザのクラスタに分類すべきか否かを判定する。すなわち、サーバ1は、
図8Aにおいて太線で示すように、新たなユーザを希望地点及び希望時刻に基づいてベクトル空間にマッピングし、クラスタリングを行った結果、当該ユーザが、予約済みのユーザのクラスタであって、運行計画を生成済みのクラスタに分類されたか否かを判定する。生成済みのクラスタに分類された場合、サーバ1は、当該クラスタの運行計画に係る運行経路、運行時刻等を変更し、当該ユーザを乗車させるように運行計画を更新する。
【0057】
図8Bは、バス3が次に乗車させるユーザのクラスタを動的に生成する処理内容を概念的に図示している。上述の如く、サーバ1は各クラスタにバス3を割り当て、クラスタ毎にバス3の運行計画を生成する。本実施の形態においてサーバ1は、少なくともバス3が一のクラスタに係る運行計画に従って運行を開始した後の所定のタイミングで、当該一のクラスタに続く次のクラスタを生成してバス3を割り当て、次の運行計画を生成する。
【0058】
例えばサーバ1は、一のクラスタに係る運行計画の運行完了後、又は当該運行計画に従って運行を開始してから運行が完了するまでの間のタイミングで、現在の時間帯の次の時間帯を希望時刻とするユーザのクラスタリングを行い、新たにクラスタを生成する。この場合にサーバ1は、予約済みのユーザについてグループ(クラスタ)の入れ替えを生じない範囲で、新たなユーザを含めたクラスタリングを行う。サーバ1は、新たに生成したクラスタから、当該バス3を次に割り当てるべきクラスタを選択し、選択したクラスタの運行計画を生成する。これによりサーバ1は運行計画を更新し、更新した運行計画に係る運行経路、運行時刻等を運転手に通知し、バス3を運行させる。
【0059】
このように、サーバ1は一のクラスタについてバス3の運行開始後に次のクラスタを生成するようにすることで、新たに利用要求を受け付けたユーザを次の運行計画で最大限含めるようにすることができ、運行計画を好適に更新することができる。
【0060】
図6に戻って説明を続ける。希望時刻、荷物情報、人数等の指定入力が完了した場合、ユーザ端末2はユーザの乗客情報をサーバ1に送信する。この場合、上述の如くサーバ1は、当該ユーザを含む各乗客の乗客情報に基づいて運行計画を生成する。ユーザ端末2は、生成された運行計画に従って予約されたバス3の情報(運行案内)をサーバ1から取得し、バス予約画面に表示する。
【0061】
例えばユーザ端末2は、予約されたバス3の名称等を表示すると共に、乗車料金を表示する。また、ユーザ端末2は、バス3の運行経路を地図画像上に表示する。より詳細には、ユーザ端末2は、運行経路に加えて当該バス3に乗車する場合の所要時間及び乗車料金を表示すると共に、他の交通手段(例えばタクシー)を利用した場合の所要時間及び乗車料金を併せて表示する。
【0062】
この場合にサーバ1は、ユーザの乗降時刻が希望時刻とは異なる運行計画を生成した場合、ユーザが許容した許容時間に応じて乗車料金を規定料金からディスカウントした金額に設定し、ディスカウント後の乗車料金をユーザ端末2に表示させる。これにより、運行計画の最適化を容易にすることができる。
【0063】
なお、本実施の形態では乗降時刻と希望時刻との差分が許容時間内である場合に乗降時刻が希望時刻と異なる運行計画を生成するものとするが、本実施の形態はこれに限定されるものではない。例えばサーバ1は、許容時間以上であっても、ディスカウントした金額をユーザ端末2に出力してユーザから承認を得た場合、乗降時刻と希望時刻との差分が許容時間以上の運行計画を生成してもよい。
【0064】
図9は、予約確認画面の一例を示す説明図である。
図6のバス予約画面においてユーザ端末2は、表示したバス3を予約するか否か、ユーザから入力を受け付けてサーバ1に通知する。予約された場合、サーバ1は運転経路等を運転手端末5に通知して運行させる。ユーザ端末2は、バス予約画面から
図9の予約確認画面に遷移し、バス3の予約が完了したことをユーザに提示する。
【0065】
なお、本実施の形態ではユーザ(乗客)からのみ予約の確認を受けるが、後述する実施の形態3のように、バス3の運行会社からも確認(承認)を受けるようにすると好適である。バス3の運行会社、及び個々の運転手向けのGUI(Graphical User Interface)上の処理について、詳しくは実施の形態3で説明する。
【0066】
図10は、運行状況確認画面の一例を示す説明図である。
図9の予約確認画面を表示後、ユーザ端末2は
図10の運行状況確認画面に遷移し、サーバ1と通信を行いながら、予約したバス3の運行状況(運行案内)をリアルタイムで表示する。
【0067】
例えばユーザ端末2は、
図10左側の運行状況確認画面に示すように、地図画像を表示し、地図画像上に、ユーザの現在位置を示すユーザアイコン101と、バス3の停車予定位置(乗車地点)を示す停車位置アイコン102とを表示する。上述の如く、ユーザが希望した希望乗車地点とは異なる乗車地点の運行計画が生成された場合に、
図10に示すように、サーバ1は実際の乗車地点をユーザ端末2に通知して停車位置アイコン102を表示させることで、円滑なバス3の運行を行うことができる。また、ユーザの現在位置を併せて表示させることで、さらに円滑なバス3の運行を行うことができる。
【0068】
また、ユーザ端末2は、バス3の現在位置と、バス3の停車予定位置との距離から推定される到着予想時間を併せて表示する。バス3の現在位置が表示中の地図画像上の位置まで移動した場合、ユーザ端末2は、
図10右側の運行状況確認画面に示すように、バス3の現在位置を示すバスアイコン103を表示する。
【0069】
また、例えばユーザ端末2は、バス情報欄104を画面下部に表示し、予約したバス3の情報(例えば自動車登録番号)を表示する。また、例えばユーザ端末2は、バス情報欄104内に、バス3の運転手と連絡を取るための通話アイコン105、及びメッセージアイコン106を表示する。通話アイコン105又はメッセージアイコン106への操作入力を受け付けた場合、ユーザ端末2はサーバ1を経由して、運転手端末5との間で通話、又はメッセージの送受信を行う。また、さらにバス情報欄104に対する上方向へのスワイプ操作を受け付けた場合、ユーザ端末2は、予約時に登録された乗車人数、荷物情報、目的地又は出発地、乗車料金等を表示する。
【0070】
なお、上記でサーバ1は、バス3を予約したユーザのユーザ端末2に当該バス3の運行状況を通知して表示させるものとしたが、本実施の形態はこれに限定されるものではない。例えばサーバ1は、バス3を予約していない他のユーザ(乗客候補者)のユーザ端末2にも運行状況を通知し、当該バス3の利用要求を受け付けるようにしてもよい。例えばサーバ1は、生成済みの運行計画を参照して、運行中のバス3の空き状況を判定する。座席に空きがあると判定した場合、サーバ1は、当該バス3の現在位置、目的地、空き乗車可能人数等を他のユーザのユーザ端末2に通知し、利用要求を受け付ける。あるいはサーバ1は、ウエブサイト、所定箇所に設置された電光掲示板、旅行ツアー会社等に宛てて出力し、利用要求を受け付けてもよい。このように、バス3の空き状況を出力し、出力先から利用要求を受け付けることで、バス3を急に利用したい場合などに、ユーザは現在運行しているバス3の空き状況を考慮して好適に利用要求を行うことができる。
【0071】
なお、バス3の空き状況をユーザに通知する際に、例えばサーバ1は、ユーザのスケジュールを外部のAPI(スケジューラ)から取得して乗車見込みの有無を判定し、乗車見込みがあると判定したユーザに対して空き状況を通知するようにしてもよい。なお、乗車見込みの有無は、例えば航空機への搭乗又は降機の予定の有無、イベントへの参加の予定の有無、ホテルでのチェックイン又はチェックアウトの有無などで判定する。これにより、バス3の利用を好適に促すことができる。
【0072】
図11は、サーバ1が実行する処理手順の一例を示すフローチャートである。
図11に基づき、サーバ1が実行する処理内容について説明する。
サーバ1は、各ユーザのユーザ端末2、2、2…から乗客情報(第1乗客情報)を取得し、利用要求を受け付ける(ステップS11)。乗客情報は、少なくとも希望地点(希望乗車地点又は希望降車地点)と、希望時刻(希望乗車時刻又は希望降車時刻)とを含む。より具体的には、乗客情報は、希望地点及び希望時刻の他に、乗降人数、荷物情報、希望時刻と実際の乗車時刻との許容時間等を含む。
【0073】
サーバ1は、各ユーザの希望地点及び希望時刻に基づき、各ユーザを複数のクラスタ(集合)に分類する(ステップS12)。そしてサーバ1は、各クラスタにバス3を割り当て、クラスタ毎にユーザを乗降させる運行計画を生成する(ステップS13)。この場合にサーバ1は、希望地点及び希望時刻以外に、乗客属性情報、運転手属性情報、車両属性情報等も参照してユーザを乗車させるバス3を選択し、運行計画を生成してもよい。
【0074】
サーバ1は、生成した運行計画に応じて乗車料金を設定し、乗車料金を含むバス3の情報(運行案内)をユーザ端末2に通知する(ステップS14)。例えばサーバ1は、ユーザがバス3に乗車する乗車時刻が希望時刻と異なる場合に、ユーザが設定した許容時間に応じて乗車料金を設定する。サーバ1は、乗車料金以外に、バス3の運行経路、所要時間等の情報をユーザ端末2に通知し、バス3の予約を確定させるか否か、応答を受け付ける。バス3の予約を確定させる旨の応答をユーザ端末2から受け付けた場合、サーバ1は運行計画を確定し、運転手端末5に運行経路等を通知する(ステップS15)。
【0075】
サーバ1はさらに、ステップS11で利用要求を受け付けたユーザ(既に予約している乗客)とは異なる新たなユーザのユーザ端末2から、乗客情報(第2乗客情報)を取得して利用要求を受け付ける(ステップS16)。サーバ1は、新たに取得した乗客情報に基づき、当該ユーザを既に生成済みのクラスタに分類すべきか否かを判定する(ステップS17)。生成済みのクラスタに分類すべきと判定した場合(S17:YES)、サーバ1は、分類すべきと判定したクラスタに対応するバス3の運行計画を、当該ユーザを乗車させるように運行経路、運行時刻等を変更して更新する(ステップS18)。
【0076】
ステップS18の処理を終了後、又はステップS17でNOの場合、サーバ1は、バス3の次の運行計画を生成すべき所定のタイミングであるか否かを判定する(ステップS19)。ステップS19で判定基準とするタイミングは、少なくともバス3が現在の運行計画に従い、割り当てられたクラスタのユーザを乗降させるべく運行を開始した後のタイミングである。例えばサーバ1は、バス3が当該クラスタに係る運行計画について運行完了したタイミング、又は運行を開始してから運行が完了するまでの間のタイミングであるか否かを判定する。
【0077】
次の運行計画を生成すべきタイミングであると判定した場合(S19:YES)、サーバ1は、予約済みのユーザで未送迎のユーザと、ステップS16で新たに乗客情報を取得したユーザとを複数のクラスタに分類するクラスタリングを行い、新たにクラスタを生成する(ステップS20)。そしてサーバ1は、新たに生成したクラスタにバス3を割り当て、新たな運行計画を生成する(ステップS21)。
【0078】
サーバ1は、バス3の運行を終了する所定の終了条件(例えば営業時間の終了)を満たしたか否かを判定する(ステップS22)。ステップS19又はS22でNOの場合、サーバ1は処理をステップS16に戻す。ステップS22でYESの場合、サーバ1は一連の処理を終了する。
【0079】
図12は、ユーザ端末2が実行する処理手順の一例を示すフローチャートである。
図12に基づき、ユーザ端末2が実行する処理内容について説明する。
ユーザ端末2は、地点入力画面を表示して希望地点の入力を受け付け、サーバ1に送信する(ステップS41)。ユーザ端末2はバス予約画面に遷移し、希望時刻、乗車人数、荷物情報等の入力を受け付けてサーバ1に送信する(ステップS42)。
【0080】
ユーザ端末2は、ステップS41、S42で入力した各情報に基づき運行計画を生成したサーバ1から、ユーザに配車されるバス3の情報(運行案内)を取得してバス予約画面に表示する(ステップS43)。例えばユーザ端末2は、バス3の乗車料金、所要時間等のほかに、他の交通機関を利用した場合の乗車料金、所要時間等を表示する。ユーザ端末2は、ユーザからの操作入力に従って、バス3の利用予約を確定するか否かを判定する(ステップS44)。
【0081】
予約を確定すると判定した場合(S44:YES)、ユーザ端末2は予約確認画面を表示した後、配車状況確認画面に遷移して、現在のバス3の運行状況(運行案内)を表示する(ステップS45)。例えばユーザ端末2は、ユーザの現在位置、ユーザがバス3に乗車する乗車位置、バス3の到着時間、バス3の現在位置等を表示する。ユーザ端末2は、バス3が乗車地点に到着してユーザが乗車したか否かを判定する(ステップS46)。乗車していないと判定した場合(S46:NO)、ユーザ端末2は処理をステップS45に戻して運行状況の表示を継続する。ステップS44でNO、又はステップS46でYESの場合、ユーザ端末2は一連の処理を終了する。
【0082】
以上より、本実施の形態1によれば、バス3の利用を既に予約しているユーザ(乗客)の乗客情報(第1乗客情報)と、新たにバス3の利用要求を行ったユーザの乗客情報(第2乗客情報)とに基づき、好適に運行計画の動的生成を行うことができる。
【0083】
また、本実施の形態1によれば、乗客情報が示す乗降地点及び乗降時刻に基づいてクラスタリングを行い、クラスタ毎に運行計画を生成することで、複数のユーザが相乗りするバス3の運行計画を好適に生成することができる。
【0084】
また、本実施の形態1によれば、新たに利用要求を受け付けたユーザを既存のクラスタに分類すべきか否かを判定し、分類すべきと判定した場合に、当該ユーザを乗降させるよう当該クラスタの運行計画を更新することで、運行計画のリアルタイムでの更新を好適に行うことができる。
【0085】
また、本実施の形態1によれば、ユーザ(乗客)、運転手、バス3(車両)等の属性情報に応じてユーザを乗降させるバス3を選択することで、より好適な運行計画を生成することができる。
【0086】
また、本実施の形態1によれば、所定の出発地と目的地との間を往復するバス3について、往路及び復路の運行計画を動的に生成することができる。
【0087】
また、本実施の形態1によれば、運行計画を生成する複数のバス3、3、3…のうち、ユーザが無乗車であるバス3の台数に応じて運行計画を生成することで、バス3、3、3…全体で運行効率を最適化することができる。
【0088】
また、本実施の形態1によれば、希望乗車地点とは異なる乗車地点で乗客を乗車させる場合に、実際の乗車地点をユーザに通知することで、ユーザの利便性を高めることができる。
【0089】
また、本実施の形態1によれば、希望乗降時刻と実際の乗降時刻との間に許容時間を設けることで、運行計画の最適化を容易にすることができる。また、許容時間に応じて乗車料金を変動させることで、運行計画の最適化にユーザを協力させるインセンティブを与えることができる。
【0090】
また、本実施の形態1によれば、バス3の利用を予約していないユーザに、座席の空き状況を含むバス3の運行状況を通知することで、ユーザの利便性を向上させることができる。
【0091】
(変形例1)
実施の形態1では、予約済みのユーザ以外の新たなユーザからバス3の利用要求を受けて運行計画を生成する旨を説明した。しかし、当該新たなユーザは現にバス3の利用要求(予約)を行うユーザのみならず、バス3の利用が予測されるユーザであってもよい。
【0092】
例えばサーバ1は、予約済みのユーザ以外に、バス3の利用が見込まれる他のユーザ(新たなユーザ)によるバス3の需要値を予測し、予測した需要値から運行計画を生成してもよい。当該需要値は、例えば出発地(ホテル等)、目的地(空港等)、その他の地点におけるユーザの流出入に関する値を予測した予測値である。ホテルを例にした場合、例えばサーバ1は、ホテルにおけるチェックイン又はチェックアウトの時間帯、ホテルの部屋数等から、ホテルに宿泊するユーザから受け付ける利用要求の希望地点及び希望時刻(第2乗客情報)を予測する。また、空港を例にした場合、例えばサーバ1は、航空機の運航ダイヤから、空港を利用するユーザから受け付ける利用要求の希望地点及び希望時刻を予測する。サーバ1は、外部システム(例えば旅行サイト、航空機の予約サイト等)から、これらの需要値に関連する需要情報を取得し、運行計画の生成に用いる。
【0093】
具体的には、サーバ1は、需要値の高低に応じてバス3の運行台数を定め、当該運行台数で運行を行う運行計画を生成する。例えばサーバ1は、需要値が高い日時は運行台数を多くし、バス3、3、3…にユーザを分散して乗車させることで、当日新たに利用要求を受け付けた場合にも対応可能とする。また、サーバ1は、需要値が低い日時は運行台数を減らし、一台当たりの乗車人数が多くなるように運行計画を生成することで、確保するバス3、3、3…の台数を減らす。
【0094】
なお、上記ではホテル及び空港を例にバス3の需要情報について説明したが、本実施の形態はこれに限定されるものではなく、需要情報は、新たなユーザからの利用要求を予測可能な何らかのデータであればよい。例えばサーバ1は、外部システム経由で需要情報を取得することなく、過去の運行計画から需要値を予測して新たな運行計画の生成に用いてもよい。
【0095】
また、例えばサーバ1は、バス3の需要値ではなく、新たなユーザを乗降させることが可能か否か、バス3の供給値(供給情報)を予測して運行計画に用いてもよい。バス3の供給値は、例えば各バス3の乗車率、あるいはバス3、3、3…全体での運行台数等であり、バス3によって全てのユーザを乗降させることが可能か否か、バス3の供給力を示すデータである。例えばサーバ1は、過去の運行計画を参照して時間帯別にバス3の乗車率、運行台数を予測し、予測した乗車率等から各時間帯の運行計画を生成する。これにより、例えばサーバ1は、時間帯によってはバス3を満席にせず、一定の空き座席を設けて運行計画を生成するなど、好適に運行計画を生成することができる。
【0096】
上述の如く、サーバ1は、新たなユーザによるバス3の需要情報又は供給情報に基づき、運行計画を生成してもよい。この場合にサーバ1は、需要情報又は供給情報に応じてユーザの乗車料金を設定すると好適である。例えばサーバ1は、需要値が高く、多くのユーザの利用が見込まれる時間帯の場合に、乗車料金を高く設定する。また、例えばサーバ1は、供給値が低く、バス3の空き座席が少ないと見込まれる時間帯の場合に、乗車料金を高く設定する。これにより、各ユーザの利用頻度を分散させ、バス3の運行をスムーズにすることが期待できる。
【0097】
(変形例2)
実施の形態1では、ユーザは一の地点(乗車地点)から他の地点(降車地点)まで全ての経路をバス3で移動する形態について説明した。しかし、当該一の地点から他の地点までの移動の一部にバス3以外の公共交通機関を組み合わせてもよい。
【0098】
公共交通機関は、例えば航空機、鉄道などであるが、バス3以外の移動手段であればよく、特に限定されない。サーバ1は、ユーザがこれらの公共交通機関を利用することを前提に運行計画を生成してもよい。
【0099】
例えばサーバ1は、ユーザが希望する希望乗車地点及び希望降車地点の間の一部を公共交通機関で移動した方が料金が安くなる場合、公共交通機関とバス3とを組み合わせて利用することをユーザに提案する。例えばサーバ1は、ユーザの乗客情報(希望地点、希望時刻等)を取得してバス3の利用要求を受け付けた場合に、希望乗車地点及び希望降車地点の間を全てバス3で移動する運行計画と、公共交通機関及びバス3を組み合わせた運行計画とを各々生成する。なお、公共交通機関(航空機、鉄道等)とバス3とを組み合わせて移動経路を生成する手段は公知なので、ここでは説明を省略する。サーバ1は、前者の運行計画に基づくバス3の料金と、後者の運行計画に基づく料金(公共交通機関の料金及びバス3の料金の合算値)とを算出し、後者の料金が前者の料金よりも低い場合に、公共交通機関を組み合わせた運行計画を採用する。例えばサーバ1は、採用した運行計画の情報をユーザ端末2に出力し、ユーザから承認を得る。
【0100】
また、例えばサーバ1は、ユーザが希望する2地点の間の一部をバス3が運行不可能な場合、公共交通機関とバス3とを組み合わせて利用することをユーザに提案する。このケースは、長距離移動(例えば東京~福岡間)を行うケースが考えられる。例えばサーバ1は、2地点の間の距離、移動時間等が所定の閾値以上であるか否かを判定し、閾値以上の場合、公共交通機関を組み合わせた運行計画(例えば東京~羽田間をバス3で移動し、羽田~福岡間を航空機で移動する計画)を生成する。
【0101】
上述の如く、バス3だけでなく公共交通機関も組み合わせて運行計画を生成してもよい。
【0102】
(実施の形態2)
実施の形態1では、バス3が所定の目的地との間を往復するシャトルバスである形態について説明した。しかし、バス3は特定の目的地を有さず、一定の地域を巡回してユーザを乗降させるデマンドバスであってもよい。本実施の形態では、バス3が一定の地域を巡回するデマンドバスである形態について説明する。
【0103】
図13は、実施の形態2の概要を示す説明図である。
図13では、本実施の形態に係るクラスタリング時のベクトル空間を概念的に図示している。
図13に基づき、本実施の形態の概要を説明する。
【0104】
上述の如く、本実施の形態においてバス3は特定の出発地及び目的地を有さず、一定の地域を巡回して各ユーザを乗降させる。従ってサーバ1は、往路及び復路でベクトル空間を区分せず、代わりにバス3が巡回する地域を所定単位で分割した地区毎に区分する。また、時間軸を所定単位の時間帯毎に区分することは、実施の形態1と同様である。これにより、
図13に示すように、サーバ1は地区及び時間帯別にベクトル空間を区分する。
【0105】
サーバ1は、各ユーザのユーザ端末2から取得した乗客情報に基づき、各ユーザをベクトル空間にマッピングする。そしてサーバ1は、各ユーザを複数のクラスタに分類する。運行計画を生成する場合に、サーバ1は、ある時間帯のクラスタにバス3を割り当てて運行計画を生成した後、次の時間帯のクラスタのうち、いずれかの地区のクラスタを割り当てて次の運行計画を生成する。サーバ1は、実施の形態1と同様に、例えば巡回セールスマン問題の手法を用いて運行計画の最適化を行う。
【0106】
この場合にサーバ1は、実施の形態1と同様に、無乗車のバス3の台数に応じて運行計画を生成すると好適である。具体的には、サーバ1は、無乗車のバス3の台数が少ないほどコスト値が低く計算することで、全てのバス3、3、3…に乗客が分散して乗車するように運行計画を生成する。
【0107】
上述の如く、実施の形態1に係る運行計画システムを、特定の目的地を有しない巡回型のデマンドバスに応用することもできる。バス3の運行形態が異なる点以外は実施の形態1と同様であるため、本実施の形態ではフローチャートその他の詳細な説明を省略する。
【0108】
(実施の形態3)
実施の形態1では、各ユーザ(乗客)からバス3の利用要求を受け付けてクラスタリングを行い、クラスタ毎に運行計画を生成してバス3を運行させる旨を説明した。本実施の形態では、実際に運行事業者にバス3を運行させる際の処理として、生成した運行計画を運行事業者に係る各運転手及びバス3に割り当てると共に、割り当てられた運行計画に従った運転経路をバス3の運転手(運転手端末5)に提示する処理について説明する。
【0109】
図14は、運行計画の一覧画面の一例を示す説明図である。上述の如く、サーバ1はクラスタ毎に運行計画を生成する。本実施の形態では、サーバ1は各クラスタに対応する運行計画を事業者端末4に配信し、
図14の一覧画面に表示させる。本実施形態は、例えば、バス3の利用要求を受け付けたユーザに基づく新たなクラスタを生成した上で、クラスタ毎の新たな運行計画に対し、バス3を配車する場面(具体的には、所定日時に、自宅から、空港に向かう人々のクラスタを生成した上で、運行計画を生成し、所定日時に人々の自宅から空港を走行するバスを配車する場面等)、あるいは、既に生成された運行計画があり、当該運行計画に割り当てられたバス3が走行中に、バス3の利用要求を受け付けたユーザを既に生成されたクラスタに分類をし、既に生成された運行計画に当該ユーザの乗車又は降車を含める場面(具体的には、走行中のタクシーの近隣にいるユーザが利用要求をした場合に、当該ユーザを当該タクシーに乗車させる場面)のいずれにも用いることができる。
【0110】
例えば事業者端末4は、出発地及び目的地、運行時間帯、乗客の人数、各乗客の荷物情報などを含む各運行計画の情報を一覧表示する。また、例えば事業者端末4は、各運行計画について、事業者端末4が自動的に割り当てた運転手及びバス3をそれぞれ、運転手表示欄41、バス表示欄42にデフォルト表示する。例えば運転手表示欄41、バス表示欄42はそれぞれ、プルダウンによる操作入力が可能となっており、運転手及びバス3の設定変更(設定入力)が可能となっている。経路表示44を選択した場合、運行計画の出発地、乗車地、降車地、目的地の地点を経由した経路が表示される。
【0111】
事業者端末4が運行計画に運転手を自動的に割り当てる際に、後述する
図15Aの各運転手のスケジュール(各車両のスケジュールであってもよい。本実施の形態において以下同じ。)を参照し、運行計画における出発時間及び到着時間の間の時間帯のスケジュールに空きがある運転手(スケジュール上、運送可能な運転手)を割り当てる。その際、スケジュールに空きがある運転手が複数いる場合は、運行計画に乗車する乗客情報(使用言語、出身国、住所、位置情報等)、運転手情報(使用言語、乗客からの評価、位置情報等)、車両情報(車両ランク、座席ランク、空き座席の乗車可能人数等)等に基づき、適切な運転手を割り当てることとしてもよい。また、スケジュールに空きがある運転手が複数いる場合、乗客と、近接した位置に所在する運転手を割り当ててもよい。具体的には、乗客の位置情報(GPS情報)と、運転手の位置情報(GPS情報)が近い運転手を割り当てることとしてもよい。また、乗客の入力した乗車地点及び乗車時間と、運転手の業務スケジュールから予測される乗車時間における所在地点が、近い運転手を割り当てることとしてもよい(例えば、運行計画において乗客が14時に羽田空港から乗車することを希望している場合に、運転手のスケジュールが、13時45分に羽田空港で降車させるスケジュールであったときは、当該運転手を当該運行計画に割り当てる)。
【0112】
また、事業者端末4が運行計画に車両(あるいは当該車両を運転する運転手)を自動的に割り当てる際に、運行計画に含まれる乗客の人数、乗客の荷物情報に基づき、バス3の車両情報に含まれる乗車可能人数、積載可能荷物量から、運送可能な乗客の人数、乗客の荷物量であるか否かを判断し、運送可能な車両(あるいは当該車両を運転する運転手)を、割り当てることとしてもよい。この場合、運行計画に含まれる乗客の人数が、車両情報に含まれる乗車可能人数以下であれば、乗客を運送可能と判断してもよい。また、運行計画に含まれる乗客の荷物情報が、車両情報に含まれる積載可能荷物量の範囲内であれば、荷物を運送可能と判断してもよい。さらに、運行計画に含まれる乗客の荷物情報が、車両情報に含まれる積載可能荷物量の範囲に含まれない場合であって、運行計画に含まれる乗客の人数が、車両情報に含まれる乗車可能人数を下回る場合は、車両中の乗客が乗車していない座席に、車両情報に含まれる積載可能荷物量の範囲を上回る運行計画に含まれる乗客の荷物情報に対応する荷物を積載することが可能であると判断したときに、荷物を運送可能と判断してもよい。車両中の乗客が乗車していない座席に、車両情報に含まれる積載可能荷物量の範囲を上回る運行計画に含まれる乗客の荷物情報に対応する荷物を積載することが可能であるか否かの判断は、例えば、荷物1個を、車両の乗車人数1人と換算して(あるいは荷物の種類ごとに、乗車人数何人分に換算するかをあらかじめパラメーターとして定めておき、当該パラメーターに基づき、換算してもよい)、運行計画に含まれる車両の乗車人数と当該換算した人数の合計が、車両情報に含まれる乗車可能人数以下であれば、荷物を積載することが可能であると判断してもよい。なお、ここでは、乗客が所持する荷物を例に説明したが、乗客が所持しない荷物(乗客以外の者が所持する荷物、例えば、荷物のみを車両で運送する場合)であってもよい。
【0113】
事業者端末4が運行計画に運転手又は車両を自動的に割り当てる際に、運行計画における出発地、乗車地、降車地又は目的が、事業者のサービス提供エリア(運転することが可能な地域)でなかった場合は、当該運行計画には運転手又は車両を割り当てない処理をしてもよい。
【0114】
上述の処理により、事業者端末4は、運転手及び車両のスケジュール、乗客情報、運転手情報、車両情報等を参照して、運行計画に割り当てる運転手及び車両を判定してデフォルト表示する。運転事業者はデフォルト表示された運転手及び車両の割り当てに対し、運転手表示欄41及びバス表示欄42を操作して任意の割り当ての設定変更を行う。
【0115】
図15は、運転手情報の表示画面の一例を示す説明図である。事業者端末4は、運行事業者からの操作入力に応じて、
図14の一覧画面から、
図15Aのスケジュール画面、又は
図15Bのプロフィール画面に切り換えて表示する。
【0116】
スケジュール画面は、当該運行事業者の下で運転に従事する各運転手の業務スケジュール(運行スケジュール)をタイムチャートで一覧表示する表示画面である。また、例えばスケジュール画面には、各運転手の勤務時間も併せて表示される。サーバ1は、事業者端末4からスケジュール画面の出力要求を受けて、運行計画DB144を参照してスケジュール画面を生成し、事業者端末4に配信して表示させる。
【0117】
プロフィール画面は、各運転手の氏名、電話番号等の書誌的事項のほかに、運転手の属性情報(
図15Bでは会話可能言語)を一覧表示する表示画面である。事業者端末4からの出力要求に応じて、サーバ1はプロフィール画面を生成し、事業者端末4に表示させる。
【0118】
なお、本実施の形態では運転手情報のみを表示するものとして説明を行うが、例えば事業者端末4は、運行事業者が所有する各バス3の運行スケジュール、乗車可能人数、積載可能荷物量、車種等の車両情報も一覧表示するようにしてもよい。これにより、運行事業者は車両情報を把握してバス3の割り当てを容易に行うことができる。
【0119】
スケジュール画面及びプロフィール画面により、運行事業者は各運転手のスケジュール、及びプロフィール(特に運転手の属性情報)を容易に確認することができる。
図14に戻って、運行事業者は運転手表示欄41及びバス表示欄42を操作し、デフォルトで自動的に割り当てられた運転手及びバス3の割り当ての設定変更の入力を行う。上述の処理により、事業者端末4が自動的に決定した運転手及びバス3の割り当てを修正し、運行計画をより適切なものにすることができる。
【0120】
なお、本実施の形態では事業者端末4が運転手及びバス3の割り当てを自動的に設定し、運行事業者が手動で変更するものとするが、事業者端末4は運転手及びバス3の割り当てを行わずに、運行事業者が手動で設定(判定)するものとしてもよい。すなわち、事業者端末4が運転手及び/又はバス3の割り当てを判定可能であればよく、当該処理は事業者端末4が自動的に判定を行ってもよく、手動入力の結果に応じて判定を行ってもよい。
【0121】
また、上記では、運転手の業務スケジュールから、バス3の出発時間及び到着時間の間に空きがある運転手を運行計画に割り当てるものとしたが、これとは逆に、運行計画に応じて運転手の業務スケジュール(すなわち、業務のシフト)を変更してもよい。例えば事業者端末4は、各運転手の月当たりの業務時間、一日当たりの業務時間、必要な休日日数、運転(走行)可能な一日当たりの最大走行距離などを保持したテーブルを参照して、運転手を各バス3の運行計画に割り当てていき、業務スケジュールを生成して運行事業者(あるいは運転手)に提示して承認を得る。このように、運転手のスケジュールから割り当てを行うのではなく、運行計画に割り当て可能なように運転手のスケジュールを変更してもよい。
【0122】
また、運転手のスケジュールを変更する場合、変形例1で説明した需要情報も考慮してスケジュールの変更を行ってもよい。例えば事業者端末4は、バス3の需要値(ユーザ乗降数の予測値)が一定値以上であるか否かを判定し、一定値以上であると判定した場合は業務時間等の上限値を引き上げてスケジュールを生成する。このように、バス3の需要も考慮して運転手のスケジュールを変更してもよい。
【0123】
図14に基づき説明を続ける。事業者端末4は、各運行計画に対応して、承認ボタン43を表示する。承認ボタン43への操作入力を受け付けた場合、
図14のように「承認する」及び「お断りする」の操作メニューがプルダウン表示され、運行計画を承認するか否か、操作入力を受け付ける。なお、既に承認済みの運行計画については、承認ボタン43が「承認済み」の表示に変更される。この場合、事業者端末4は、当該運行計画を承認する旨をサーバ1に通知(出力)する。
【0124】
例えばサーバ1は、複数の運行事業者と連携しており、各運行事業者の事業者端末4に運行計画を配信(出力)する。例えばサーバ1は、
図14の画面を全ての事業者端末4に表示をし、事業者毎に先着順で承認を受けつけることとしてもよい。あるいはサーバ1は、各事業者の優先順位に係るテーブルを保有しており、優先順位の高い事業者に対し、順番に、各運行計画を表示し、承認を得られた場合に承認を受け付け、承認を得られなかった場合に、承認が得られるまで、次順位の事業者に、各運行計画の表示を繰り返し、承認を得ることとしてもよい。一の運行事業者の事業者端末4から承認を受け付けた場合、サーバ1は、他の運行事業者の事業者端末4で表示する一覧画面から、承認された運行計画を消去する。
【0125】
なお、本実施の形態でサーバ1は、運行計画を事業者端末4に出力し、運行事業者が運行計画を承認するものとしたが、運行計画を運転手端末5に出力し、運転手から承認を受け付けるようにしてもよい。
【0126】
以上の実施形態では、運行事業者は、事業者端末4に表示された各運行計画を承認するか否かを説明してきたが、運行事業者は、複数の運行計画を1つの運行計画に集約して、承認してもよい。すなわち、区間および時間が近接しており、集約しても、運行可能な運行計画がある場合、運行事業者が、集約可能な運行計画を選択した上で、集約することを選択することにより、事業者端末4には、集約された運行計画が表示される。運行事業者は、事業者端末4を用いて、当該集約された運行計画を承認することができる。
【0127】
なお、上記では先着順で運行計画の承認(受注)を受け付けることにしたが、本実施の形態はこれに限定されるものではない。例えばサーバ1は、運行事業者が運行計画を請け負う受注代金に応じて、いずれの運行事業者に委託するかを決定してもよい。例えば事業者端末4は、「承認する」の操作入力を受け付けた場合、さらに運行計画の受注代金の入力を受け付けてサーバ1に通知する。サーバ1は、各運行事業者の事業者端末4から受注代金に関する通知を受信し、例えば受注代金が最も低い運行事業者への委託を決定する。受注代金に応じて運行計画の委託先を決定することで、送迎サービスを好適に実施することができる。
【0128】
この場合に、サーバ1は、運行計画を配信してから受注代金の通知を受け付けるまでに、制限時間(例えば5分間)を設けると好適である。制限時間を設けることにより、運行計画の早急な承認(受注)を促すことができる。
【0129】
また、上記では、運行事業者が、運行計画の承認(受注)を手動で行っていたが、事業者端末4が、運行計画の承認(受注)を自動的に行ってもよい。例えば、事業者端末4は、運転手及びバス3の割り当てられる処理が行われた運行計画を全て自動的に承認する(この場合、運転手及びバス3の割り当てられる処理が、承認の処理を含む処理としてもよい)こととしてもよい。また、事業者端末4は、運転手及びバス3の割り当てられる処理が行われた運行計画のうち、所定の条件(例えば、出発地と目的地の距離が所定距離以上であることや、乗車人数が所定人数以上であること等)を満たした運行計画を自動的に承認することとしてもよい。
【0130】
他にも、サーバ1は、複数の運行事業者が「承認する」の操作入力を受け付けた場合に、運行事業者を決定する方法として、運行事業者情報(乗客からの評価、サービス提供エリア等)、乗客情報(使用言語、出身国、住所、性別等)、運転手情報(使用言語、乗客からの評価、性別等)、車両情報(乗車可能人数、ランク等)、受注代金等の要素の全部又は一部の要素に基づいて、運行事業者を決定してもよい。
【0131】
事業者端末4から運行計画の承認を受け付けた場合、サーバ1は、乗車時刻、乗車地点等のほかに、運行事業者、バス3の種類等を含む電子メール、ショートメールメッセージ等(不図示)をユーザ端末2に通知する。この場合に、例えばサーバ1は、開封(閲覧)確認の要求付きの電子メール等を生成して、ユーザ端末2に通知する。当該通知が開封された場合、ユーザ端末2は、通知が開封された旨をサーバ1に自動的に返信する。サーバ1は、当該返信を受信した場合、運行計画が確定した旨を事業者端末4に通知する。以上の処理により、ユーザと運行事業者との間を仲介するオペレータを不要として、運行計画を確定させることができる。
【0132】
運行事業者が、運行計画を承認した後も、当該運行計画に分類可能な乗客を、当該運行計画に分類することとしてもよい。
【0133】
図16は、運転手端末5の表示画面の一例を示す説明図である。運行計画が確定した場合、サーバ1は、当該運行計画に関する情報を、担当する運転手の運転手端末5に配信し、
図16の画面を表示させる。
【0134】
例えば運転手端末5はまず、
図16左側に示すように、当日運転手が担当する各運行計画(往路又は復路の便)を一覧表示する。運行計画を示す各テキストがタップされた場合、運転手端末5は、各ユーザの乗降時刻と、乗降地点とをプルダウン表示する。
【0135】
例えば運転手端末5は、いずれかの運行計画を選択する選択入力を受け付け、選択された運行計画に係る経路を示す
図16中央の画面に遷移する。なお、例えば運転手端末5は、運行開始時刻になった場合に
図16中央の画面を自動的に表示するようにしてもよい。
図16中央に示すように、運転手端末5は、バス3の現在位置から、ユーザを乗車又は降車させる乗降地点に向かう運行経路を示す地図画像を表示する。
【0136】
以下の説明では簡潔のため、出発地から出発したバス3が各地点でユーザを乗車させ、目的地に向かう往路についてのみ説明を行う。
【0137】
運転手端末5はまず、最初のユーザの乗車地点に向かう運行経路を表示する。また、運転手端末5は運行経路のほかに、乗車地点を示す住所、乗車させるユーザ名等の情報を画面下部に表示する。また、例えば運転手端末5は、当該乗車地点に到着すべき到着予定時刻、乗車地点から発車すべき発車予定時刻、現在位置からの距離、現在位置から予測される残り運行時間等を表示する。
【0138】
また、例えば運転手端末5は画面下部に、表示中の乗車地点で乗車させるユーザと連絡を取るための通話アイコン161、メッセージアイコン162等のオブジェクトを表示する。通話アイコン161又はメッセージアイコン162への操作入力を受け付けた場合、運転手端末5は、サーバ1を経由して当該ユーザのユーザ端末2との間で通話又はメッセージの送信を行う。
【0139】
例えば運転手端末5は、運転手からの操作入力に応じて、画面下部の表示を、
図16右側の表示に切り換える。具体的には、運転手端末5は、乗車地点に到着した旨を入力するための到着ボタン163を画面下部に表示する。なお、例えば運転手端末5は、バス3の現在位置と乗車地点との距離等に応じて到着ボタン163を自動的に表示するなどしてもよい。
【0140】
乗車地点に到着した場合、運転手は到着ボタン163をタップする。運転手端末5は、到着ボタン163への操作入力を受け付けた場合、乗車地点に到着したことを判定し、サーバ1を経由して、バス3が到着した旨をユーザ端末2に通知する。例えば運転手端末5は、電子メール、ショートメールメッセージ等の手段で通知を行ってもよく、あるいはユーザ端末2への通話発信を行ってもよい。これにより、バス3が到着したことを早急にユーザに報知することができる。また、運転手は到着ボタン163をタップせずとも、運転手端末5が、バス3の位置情報から、乗車地点に到着したことを判定した場合に、運転手端末5はサーバ1を経由して、バス3が到着した旨をユーザ端末2に通知する。
【0141】
ユーザの乗車が完了した場合、サーバ1は、次の乗車地点への経路に切り換えて運転手端末5に表示させる。例えば運転手端末5が、到着ボタン163と同様のオブジェクト(ボタン)を表示し、運転手からの操作入力を受け付けることで、ユーザが乗車したか否かを判定する。あるいはサーバ1は、バス3及びユーザ(ユーザ端末2)それぞれの位置情報に基づいて乗車したか否かを判定するなどしてもよい。ユーザが乗車した場合、運転手端末5は次のユーザの乗車地点への経路を表示し、運行を再開させる。
【0142】
なお、乗車時刻になってもユーザが乗車地点に到着しない場合、すなわち乗り遅れる場合、サーバ1はユーザの乗車予定をキャンセルしてもよい。例えばサーバ1は、乗車時刻までに到着ボタン163が操作されず、ユーザが乗車していないと判定した場合、乗車をキャンセルするか否かをユーザ端末2に問い合わせる。なお、上記と同様にサーバ1は、ユーザが乗車したか否かを位置情報等に基づいて自動的に判定してもよい。問い合わせに対し、キャンセルを承認する旨の応答をユーザ端末2から取得した場合、サーバ1はユーザの乗車予定をキャンセルし、その旨を運転手端末5に通知する。
【0143】
ユーザが乗り遅れた場合、サーバ1は、別のバス3に当該ユーザを乗車させてもよい。例えばサーバ1は、付近を運行しているバス3の内、空き座席があるバス3を運行計画DB144から特定し、当該バス3の運転手の運転手端末5にユーザを乗車させるよう通知する。
【0144】
なお、上記ではユーザの到着が遅れる場合について説明したが、バス3の到着が遅れる、又は早まる場合もあり得る。その場合にサーバ1は、各バス3、3、3…の運行状況に応じて、ユーザを乗車させるバス3を変更してもよい。例えばサーバ1は、ユーザが乗車予定のバス3の運行予定が遅れている場合(各ユーザの乗降を予定している各乗降地点への到着時刻が、予定されている乗降時刻よりも一定時間以上遅れている場合)において、後続のバス3(出発地及び目的地が先行のバス3と同じであり、かつ、出発時刻が先行のバス3よりも遅いバス3)の運行予定も遅れている場合、後続のバス3に乗車させる。また、例えばサーバ1は、ユーザが乗車予定のバス3の運行予定が早まっている場合(各ユーザの乗降を予定している各乗降地点への到着時刻が、予定されている乗降時刻よりも一定時間以上早い場合)において、先行のバス3の運行予定も早まっている場合、先行のバス3に乗車させる。このように、サーバ1は、バス3、3、3…の運行状況に応じてユーザを乗車させるバス3を変更するよう運行計画を修正(更新)してもよい。
【0145】
一の乗車地点でユーザの乗車を確認(判定)した場合、例えばサーバ1は、次の乗車地点で乗車するユーザのユーザ端末2に、前の乗車地点で他のユーザ(先客)が乗車したこと、及びバス3が次の乗車地点に到着する到着予想時刻を通知するようにしてもよい。これにより、各ユーザはバスの運行状況を正確に知ることができ、利便性を向上させることができる。
【0146】
各乗車地点でユーザが乗車する毎に、運転手端末5は運行経路を切り換えて表示する。最終的に全てのユーザを乗車させた場合、運転手端末5は目的地(空港等)への運行経路を表示し、バス3を目的地に運行させる。
【0147】
復路の場合、運転手端末5は出発地(空港等)から各ユーザの降車地点への経路を順次表示する。この場合、例えば運転手端末5は、出発地に到着した場合に到着ボタン163への操作入力を受け付け、各ユーザのユーザ端末2にバス3が到着した旨を通知して、乗車させる。運転手端末5は、バス3の運行状況に応じて各ユーザの降車地点への経路を表示し、降車地点を通過する毎に運行経路を切り換え、バス3が各降車地点に向かうよう経路案内を行う。
【0148】
図17は、事業者端末4が実行する処理手順の一例を示すフローチャートである。
図17に基づき、事業者端末4が実行する処理内容について説明する。
事業者端末4はサーバ1から、各ユーザからの利用要求(乗客情報)に基づいて生成された運行計画を複数取得する(ステップS301)。事業者端末4は、運行計画の内容と、運転手のスケジュール、車両のスケジュール、乗客情報、運転手情報、車両情報等とに基づき、各運行計画に割り当てる運転手及び車両を判定する(ステップS302)。事業者端末4は、取得した複数の運行計画を一覧表示する(ステップS303)。この場合に事業者端末4は、ステップS302で判定した運転手及び車両を割り当てた運行計画の一覧を表示する。
【0149】
事業者端末4は、運行事業者からの操作入力に従い、当該運行事業者の下でバス3の運転に従事する各運転手の運転手情報を一覧表示する(ステップS304)。例えば事業者端末4は、
図15で例示したように、各運転手のバス3の運行スケジュール、運転手属性情報を含む各運転手のプロフィール等を一覧表示する。事業者端末4は、運行事業者からの操作入力に従って運行計画の一覧画面に戻り、各運行計画に割り当てる運転手及び車両の設定入力を受け付ける(ステップS305)。なお、運転手が決まれば、車両は当該運転手の使用する車両が決まる場合もあることから、車両の情報の入力を受けることは必須でない。逆に、車両が決まれば、当該車両を運転する運転手が決まる場合もあることから、運転手の情報の入力を受けることは必須でない。
【0150】
事業者端末4は、運行事業者からの操作入力に基づき、運行計画を承認するか否かを判定する(ステップS306)。運行計画を承認すると判定した場合(S306:YES)、事業者端末4は、運行計画を承認する旨をサーバ1に通知する(ステップS307)。ステップS307の処理を実行後、又はステップS306でNOの場合、事業者端末4は一連の処理を終了する。
【0151】
図17には図示しないが、S307の後のサーバ1の処理について、説明する。サーバ1は、事業者端末4から、運行事業者が、運行計画を承認する旨の通知を受信した場合、当該受信に基づき、運行計画に、運行事業者(当該運行事業者の運転手又は車両であってもよい)を割り当てる処理をする。このように、運行計画に、運行事業者を割り当てる処理をした後も、当該運行計画に対応するクラスタに、新たに利用要求をした乗客が分類され、当該運行計画が修正されてもよい。運行計画の修正には、当該修正後の運行計画を運行事業者が承認することを条件としてもよい。また、このような運行計画の修正は、運行開始時刻から所定時間前まで行うことができることとしてもよい。さらに、運行開始時刻から所定時間前の時間に、運行計画が確定したこととして、当該運行計画に基づき運送する各ユーザに対し、各ユーザの乗車時間を通知してもよい。
【0152】
図17では、事業者端末4が、事業者端末4が実行する処理手順の一例を示すフローチャートとして説明をしたが、S301~S305までの処理をサーバ1が行い、運転手及び車両が設定された運行計画を、事業者端末4に送信し、事業者端末4が、当該運行計画を承認するか否かを判定する(ステップS306)こととしてもよい。
【0153】
図18は、運転手端末5が実行する処理手順の一例を示すフローチャートである。
図18に基づき、運転手端末5が実行する処理内容について説明する。
運転手端末5はサーバ1から、各ユーザからの利用要求(乗客情報)に基づいて生成された運行計画を取得する(ステップS321)。例えば運転手端末5は、運転手が当日運行予定の一又は複数の運行計画の情報を取得する。運転手端末5は、取得した一又は複数の運行計画を表示し、運行経路を表示する運行計画の選択入力を受け付ける(ステップS322)。
【0154】
運転手端末5は、選択された運行計画について、各ユーザを乗車させる運行経路を表示する(ステップS323)。例えばステップS323で、まず運転手端末5は最初に乗車させるユーザの乗車地点に向かう経路を表示する。例えば運転手端末5は、乗車地点に向かう経路のほかに、当該乗車地点の到着予定時刻、当該乗車地点からの発車予定時刻、現在位置からの距離、残り運行時間等を表示する。また、例えば運転手端末5は、当該乗車地点で乗車させるユーザと連絡を取るためのオブジェクト(通話アイコン161、メッセージアイコン162等)を表示する。
【0155】
運転手端末5は、連絡オブジェクトへの操作入力に応じて、乗車予定のユーザとの間で連絡を取るか否かを判定する(ステップS324)。連絡を取ると判定した場合(S324:YES)、運転手端末5は、サーバ1を経由して、表示中の乗車地点に対応するユーザのユーザ端末2との間で通話、又はメッセージの送信を行う(ステップS325)。
【0156】
ステップS324でNO、又はステップS325の処理を実行後、運転手端末5は、到着ボタン163への操作入力に基づき、バス3が乗車地点に到着したか否かを判定する(ステップS326)。到着していないと判定した場合(S326:NO)、運転手端末5は処理をステップS324に戻す。到着したと判定した場合(S326:YES)、運転手端末5はサーバ1を経由して、到着した乗車地点に対応するユーザのユーザ端末2に、バス3が到着した旨を通知する(ステップS327)。
【0157】
運転手端末5は、運転手からの操作入力に応じて、ユーザが乗車したか否かを判定する(ステップS328)。乗車していないと判定した場合(S328:NO)、運転手端末5は処理を待機する。ユーザが乗車したと判定した場合(S328:YES)、運転手端末5は、全てのユーザを乗車させたか否かを判定する(ステップS329)。全てのユーザを乗車させていないと判定した場合(S329:NO)、運転手端末5は、次のユーザの乗車地点への経路に切り換えて表示し(ステップS330)、処理をステップS324に戻す。全てのユーザを乗車させたと判定した場合(S329:YES)、運転手端末5は目的地への経路を表示し(ステップS331)、一連の処理を終了する。
【0158】
なお、運転手端末5は、目的地に到達した場合、サーバ1に対し、目的地に到達したことを通知してもよい。サーバ1は、目的地に到達した場合に、ユーザに対し、目的地に到達したことを通知すると共に、ユーザの乗車代金の支払いに関する処理を行ってもよい。
【0159】
以上より、本実施の形態3によれば、サーバ1が自動生成した運行計画の円滑な遂行を支援することができる。
【0160】
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0161】
1 サーバ(情報処理装置)
11 制御部
12 主記憶部
13 通信部
14 補助記憶部
P1 プログラム
141 ユーザDB
142 バスDB
143 運転手DB
144 運行計画DB
2 ユーザ端末
21 制御部
22 主記憶部
23 通信部
24 表示部
25 入力部
26 位置情報取得部
27 補助記憶部
P2 プログラム
3 バス(車両)
4 事業者端末
5 運転手端末