(58)【調査した分野】(Int.Cl.,DB名)
前記作成処理では、前記検討対象経路における最低運行間隔と、前記運行間隔と、に基づいて、前記移動体が前記ダイヤ作成対象の時間帯に前記検討対象経路を運行するダイヤを作成することを特徴とする請求項1に記載の運行計画サーバ。
前記第1の算出処理では、前記検討対象経路における前記ダイヤ作成対象の時間帯に変更不可能な便が存在しない場合、前記必要便数を算出することを特徴とする請求項1に記載の運行計画サーバ。
【発明を実施するための形態】
【0009】
本発明の実施例では、バス、路面電車、トロリーバス、水上バス(以下、単にバス)の運行計画をシミュレーションする。
【0010】
また、ダイヤとは、バスの運行計画を示す時刻表であり、路線上の各停留所の発着時刻が設定される。ダイヤは、たとえば、系統ごとに作成される。系統とは、バスの行先または途中経路が共通する路線の集合であり、同じ系統でも路線が異なる場合がある。路線とは、始点となる停留所から終点となる停留所までの経路である。同一路線であっても便によっては経路が異なる場合がある。たとえば、最終便の終点となる停留所は、経路の末尾の停留所ではなく、それよりもいくつか手前の停留所になる場合がある。
【0011】
発着時刻とは、出発時刻と到着時刻とのいずれか、または、出発時刻と到着時刻の両方である。なお、路線の停留所ごとに発着時刻が設定された経路を、便(または「スジ」ともいう)と称す。すなわち、便は、ある路線について各々発着時刻が設定された始点停留所から終点停留所までの一連の停留所の時系列データである。したがって、便の集合がダイヤとなる。ダイヤは、便を線図として表現することができる。以下、添付図面を用いて、本発明の実施例について説明する。
【0012】
<ダイヤ作成例>
図1Aは、本実施例にかかるダイヤ作成例1を示す説明図である。
図1Aは、移動需要の人数および発生時刻に応じてスジを設定することによりダイヤを作成する例である。具体的には、最低乗車人数を充足するようにスジが設定される。
図1Aの例では、スジs1〜s4が設定される。移動需要の人数および発生時刻に応じてスジs1〜s4が設定されるため、スジ間の運行間隔d1〜d3は、異なる時間間隔となる(結果的に同一になってもよい。)。
【0013】
図1Bは、本実施例にかかるダイヤ作成例2を示す説明図である。
図1Bは、運行間隔を一定にしてスジを設定することによりダイヤを作成する例である。具体的には、対象となる時間帯(たとえば、7:00〜7:59)における移動需要の総人数を集計することにより、当該時間帯における移動人数(たとえば、120人)が特定される。バスの乗車定員が40人とすると、当該時間帯では、3本(=120人/40人)のスジs1〜s3を設定すればよい。当該時間帯は、7:00〜7:59の60分であるため、スジs1〜s4(s4は次の時間帯の最初のスジ)の運行間隔は、20分(=60分/3本)となる。
【0014】
このようにして、本実施例では、ダイヤを自動作成することができる。なお、
図1Aおよび
図1Bに示したダイヤは、後述する運行計画サーバのディスプレイに表示される。
【0015】
<システム構成例>
図2は、運行管理システムのシステム構成例を示す説明図である。運行管理システム200は、運行計画サーバ201が、検索サーバ202、予約サーバ203、ロケーションサーバ204、およびダイヤ編成サーバ205に通信可能に接続されたシステムである。運行計画サーバ201は、
図1Aおよび
図1Bに示したように、管理者端末210からの操作によりバスの運行計画であるダイヤを作成したり、作成したダイヤで運行をシミュレーションしたりするサーバである。検索サーバ202は、利用者端末220からの要求に従い、経路(またはスジ)を検索するサーバである。検索サーバ202は、検索を要求したときの利用者端末220または中継した無線基地局の位置情報(たとえば、経度および緯度)を取得してもよい。
図1Aおよび
図1Bに示した移動需要の少なくとも一部は、たとえば、利用者端末220の利用者を元に作成される情報である。
【0016】
ロケーションサーバ204は、バス230の運行状況を管理するサーバである。バス230にはそれぞれ車載器240が搭載されており、ロケーションサーバ204と通信可能である。ロケーションサーバ204は、車載器240からバスの現在の位置情報を取得する。予約サーバ203は、利用者端末220からの座席の予約の受付や予約した座席、予約した利用者の情報を管理するサーバである。ダイヤ編成サーバ205は、ダイヤを編成するサーバである。ダイヤ編成サーバ205は、管理者端末210からの操作によりダイヤの修正が可能である。バスは、ダイヤ編成サーバ205に保持されるダイヤに従って運行する。
【0017】
<サーバのハードウェア構成例>
図3は、
図2に示した各サーバ201〜205(以下、総称して、サーバ300)のハードウェア構成例を示すブロック図である。サーバ300は、プロセッサ301と、記憶デバイス302と、入力デバイス303と、出力デバイス304と、通信インターフェース(通信IF305)と、を有する。プロセッサ301、記憶デバイス302、入力デバイス303、出力デバイス304、および通信IF305は、バスにより接続される。プロセッサ301は、サーバ300を制御する。記憶デバイス302は、プロセッサ301の作業エリアとなる。
【0018】
また、記憶デバイス302は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。記憶デバイス302としては、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリがある。入力デバイス303は、データを入力する。入力デバイス303としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナがある。出力デバイス304は、データを出力する。出力デバイス304としては、たとえば、ディスプレイ、プリンタがある。通信IF305は、ネットワークと接続し、データを送受信する。
【0019】
<各種テーブルの記憶内容例>
運行計画サーバ201が保持する各種テーブルの記憶内容例について説明する。各種テーブルは、あらかじめ運行計画サーバ201に与えられる情報である。なお、以後の説明では「テーブル」形式によって説明するが、必ずしもテーブルによるデータ構造で表現されていなくても良く、リスト、DB、キュー等のデータ構造やそれ以外で表現されていても良い。そのため、データ構造に依存しないことを示すために「テーブル」、「リスト」、「DB」、「キュー」等について単に「情報」と呼ぶことがある。また、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID」という表現を用いることが可能であり、これらについてはお互いに置換が可能である。
【0020】
図4は、車両情報テーブルの記憶内容例を示す説明図である。車両情報テーブル400は、バスの特徴を示すバス情報を管理するテーブルである。車両情報テーブル400は、車両ID項目と、定員項目と、CO
2排出量項目と、減価償却費項目と、騒音項目とを有し、各項目に値が設定されることで、エントリ単位でバスの特徴を示すバス情報を特定する。
【0021】
車両ID項目には、バスを一意に特定する識別情報である車両IDが格納される。定員項目には、そのバスに乗車可能な目安となる乗客人数である定員が格納される。CO
2排出量項目には、そのバスが運行中に排出するCO
2排出量が格納される。CO
2排出量は、CO
2の量である。なお、CO
2排出量のほかNO
X排出量でもよい。減価償却費項目には、そのバスの減価償却費が格納される。騒音項目には、そのバスが出す騒音の音量が格納される。騒音の音量は、たとえば、バスの車種により設定される。なお、これらの項目は一例であり、バスの燃費など格納することとしてもよい。
【0022】
図5は、停留所情報テーブルの記憶内容例を示す説明図である。停留所情報テーブル500は、停留所の特徴を示す停留所情報を管理するテーブルである。停留所情報テーブル500は、停留所ごとに、停留所ID項目と、停留所名項目と、位置情報項目とを有し、各項目に値が設定されることで、エントリ単位で停留所の特徴を示す停留所情報を特定する。なお、停留所情報には、既存の停留所の停留所情報のほか、新規路線や新規経路により追加される新規な停留所の停留所情報も含まれる。
【0023】
停留所ID項目には、停留所を一意に特定する停留所IDが格納される。停留所名項目には、その停留所に付与された名称(停留所名)が格納される。位置情報項目には、その停留所の位置情報(たとえば、緯度および経度)が格納される。
【0024】
図6は、乗務員情報テーブルの記憶内容例を示す説明図である。乗務員情報テーブル600は、乗務員の特徴を示す乗務員情報を管理するテーブルである。乗務員情報テーブル600は、乗務員ID項目と、個人情報項目と、人件費項目と、を有し、各項目に値が設定されることで、エントリ単位で乗務員の特徴を示す乗務員情報を特定する。
【0025】
乗務員ID項目には、乗務員を一意に特定する乗務員IDが格納される。個人情報項目には、その乗務員の氏名、所属、連絡先などの個人情報が格納される。人件費項目には、その乗務員が運行業務を遂行した場合の費用が格納される。例として、ある路線のバスを1便運転した場合の人件費が格納される。
【0026】
図7は、経路情報テーブルの記憶内容例を示す説明図である。経路情報テーブル700は、経路の特徴を示す経路情報を管理するテーブルである。経路情報テーブル700は、経路ID項目と、始点停留所情報項目と、経由停留所情報項目と、終点停留所情報項目と、を有し、各項目に値が設定されることで、エントリ単位で経路の特徴を示す経路情報を特定する。経路情報には、新規経路の経路情報と既存経路の経路情報が含まれる。
【0027】
経路ID項目には、経路を一意に特定する経路IDが格納される。ここでは、例として、「R1a」と「R1b」が格納されているが、R1aおよびR1bは、同一路線の上りの経路と下りの経路である(末尾のaが上り、bが下りを示す)。始点停留所情報項目には、始点停留所情報が格納される。始点停留所情報とは、始点、すなわち出発地点となる始点停留所の特徴を示す情報であり、たとえば、始点停留所の停留所IDと、始点停留所からの距離が格納される。
【0028】
経由停留所情報項目には、経由停留所情報が格納される。経由停留所情報とは、経由する停留所である経由停留所の特徴を示す情報であり、たとえば、始点停留所の停留所IDと、始点停留所からの距離が格納される。経由停留所情報は1以上格納される。終点停留所情報項目には、終点停留所情報が格納される。終点停留所情報とは、終点、すなわち最終到着地点となる終点停留所の特徴を示す情報であり、たとえば、終点停留所の停留所IDと、始点停留所からの距離が格納される。
【0029】
図8は、移動需要情報テーブルの記憶内容例を示す説明図である。移動需要情報テーブル800は、新規路線や新規経路に対する移動需要の特徴を示す移動需要情報を管理するテーブルである。移動需要とは、新規な停留所を経由するバスを利用して移動する需要であり、たとえば、バスに乗車したい乗客である。移動需要情報テーブル800は、移動需要ID項目と、発生情報項目と、乗車情報項目と、移動人数項目と、降車情報項目と、到着情報項目と、を有し、各項目に値が設定されることで、エントリ単位で移動需要の特徴を示す移動需要情報を特定する。
【0030】
移動需要ID項目には、移動需要を一意に特定する識別情報である移動需要IDが格納される。発生情報項目には、その移動需要が発生するであろう発生情報が格納される。たとえば、発生情報は、その移動需要の発生場所と、その移動需要の発生時刻である。発生場所には、たとえば、移動需要の自宅、移動需要が降車した駅などがある。
【0031】
乗車情報項目には、その移動需要の乗車情報が格納される。乗車情報とは、その移動需要が乗車したい停留所の停留所IDと、バスに乗車したい乗車時刻である。移動人数項目には、その移動需要に含まれる人数が格納される。降車情報項目には、その移動需要の降車情報が格納される。降車情報とは、その移動需要が乗車したバスから降車したい停留所の停留所IDと、降車したい乗車時刻である。到着情報項目には、その移動需要の到着情報が格納される。到着情報とは、その移動需要が到着したい到着場所および到着時刻である。到着場所には、たとえば、移動需要の勤務先や学校、乗車したい駅などがある。
【0032】
図9は、移動実績情報テーブルの記憶内容例を示す説明図である。移動実績情報テーブル900は、既存路線や既存経路に対する移動実績の特徴を示す移動実績情報を管理するテーブルである。移動実績情報テーブル900の各項目は、移動需要情報テーブル800と同一であるが、それぞれ意味が異なる。すなわち、発生情報は、移動需要が発生したことを示す情報であり、乗車情報は、移動需要が乗車した情報であり、移動人数は、移動した人数であり、降車情報は、移動需要が降車した情報であり、到着情報は、移動需要が到着した情報となる。
【0033】
図10は、スケジュール情報の記憶内容例を示す説明図である。スケジュール情報1000とは、ある路線のダイヤとそのダイヤで運行されるバスのバスIDおよび乗務員IDを関連付けた情報である。ダイヤは、たとえば、ダイヤ編成サーバ205から取得される。ここでは、ある路線Lのスケジュール情報1000を例に挙げる。スケジュール情報1000は、便ごとに、始点出発時刻、終点到着時刻、バスID、乗務員IDを有し、たとえば、曜日ごとにそれらの情報が格納される。
図10では、曜日単位のスケジュール情報1000を示したが日単位、週単位、隔週単位、月単位などでもよい。
【0034】
図11は、入力データの一例を示す説明図である。入力データ1100は、運行計画サーバ201に与えられる情報であり、ファイル形式で与えてもよく、管理者端末210から管理者の操作入力により与えてもよい。入力データ1100は、たとえば、経路IDと、出発時刻と、移動需要IDと、自動立案種別と、最低運行間隔と、期待乗車率と、最長待ち時間と、最低乗車人数と、を含む。出発時刻は、経路IDで特定される経路での始点停留所からの出発時刻である。自動立案種別とは、ダイヤの自動立案の種別であり、簡易自動立案と最適自動立案の2種類がある。最低運行間隔とは、自動立案において遵守すべき運行間隔の下限値である。期待乗車率とは、立案するダイヤで見込む乗車率である。最長待ち時間とは、自動立案において遵守すべき乗客の待ち時間の上限値である。最低乗車人数とは、自動立案において遵守すべき乗車人数の下限値である。
【0035】
<運行計画サーバ201による運行計画処理>
つぎに、運行計画サーバ201による運行計画処理について説明する。運行計画には、たとえば、以下の4種類のユースケース(UC1)〜(UC4)がある。
【0036】
(UC1)新規路線企画(既存路線が存在しない場合)
(UC2)新規路線企画(既存路線が存在する場合)
(UC3)ダイヤ改正
(UC4)当日またはそれ以降のダイヤ調整
【0037】
運行計画サーバ201は、上記のユースケース(UC1)〜(UC3)のいずれかの選択を受け付けて、選択されたユースケースにしたがって運行計画を立案する処理を実行する。なお、バスの運行には、移動需要を前提とした運行と、運行するバスの時間間隔である運行時隔(運転時隔ともいう。以下、単に「時隔」)を前提とした運行がある。本実施例では、
図1Aに示したように、移動需要に合わせてダイヤを立案する最適自動立案と、
図1Bに示したように、運行間隔を一定にする簡易自動立案と、がある。移動需要前提で運行する環境下では、最適自動立案と簡易自動立案のいずれも適用可能である。時隔前提で運行する環境下では、簡易自動立案を採用すればよい。
【0038】
図12は、運行計画サーバ201による運行計画処理例を示すフローチャートである。運行計画サーバ201は、検討対象経路を取得する(ステップS1201)。検討対象経路とは、新規路線についてダイヤを作成する場合には、ダイヤが設定されていない新規な経路であり、ダイヤを改正する場合には、改正対象となるダイヤが設定された既存の経路である。また、運行計画サーバ201は、具体的には、たとえば、入力データ1100の経路IDを参照して、
図7に示した経路情報テーブル700から該当するエントリを検討対象経路として取得する。運行計画サーバ201は、たとえば、入力データ1100の経路IDが「R2a」であれば、経路情報DBから経路IDが「R2a」のエントリを取得する。
【0039】
つぎに、運行計画サーバ201は、管理者の操作によりユースケースの選択を受け付ける(ステップS1202)。具体的には、たとえば、運行計画サーバ201は、出力デバイスであるディスプレイに表示された上記(UC1)〜(UC3)のユースケースからいずれかのユースケースの選択を管理者の操作により受け付ける。なお、(UC4)の場合は、別フローとなるため、ステップS1202では選択されない。
【0040】
そして、運行計画サーバ201は、選択ユースケースに関するダイヤ作成処理を実行する(ステップS1203)。選択ユースケースに関するダイヤ作成処理(ステップS1203)では、選択ユースケースに応じたダイヤが作成される。選択ユースケースに関するダイヤ作成処理(ステップS1203)については、ユースケースごとに処理が異なるため後述する。
【0041】
選択ユースケースに関するダイヤ作成処理(ステップS1203)の後、運行計画サーバ201は、車両および乗務員のリソース情報を取得する(ステップS1204)。車両および乗務員のリソース情報は管理者からの操作入力で取得してもよく、入力データ1100に含まれていてもよい。車両のリソース情報とは、作成したダイヤに利用されるバスの台数の上限値であり、乗務員のリソース情報とは、作成したダイヤに利用される乗務員の人数の上限値である。
【0042】
また、運行計画サーバ201は、
図10に示したスケジュール情報1000を取得する(ステップS1205)。そして、運行計画サーバ201は、取得したスケジュール情報1000と、車両情報テーブル400と、乗務員情報テーブル600と、を参照して、車両および乗務員のリソース情報による制約条件下で、作成したダイヤについて待機車両と待機乗務員を割り当てる(ステップS1206)。具体的には、たとえば、運行計画サーバ201は、作成したダイヤのあるスジについて、スケジュール情報1000において既存路線で運行していない待機車両のバスIDや既存路線でバスを運行していない乗務員の乗務員IDを特定し、当該あるスジに割り当てる。
【0043】
つぎに、運行計画サーバ201は、ステップS1207の割当が成功したか否かを判断する(ステップS1207)。成功の判断基準は、たとえば、車両および乗務員のリソース情報による制約条件を遵守して割り当てができたか否かである。たとえば、制約条件下で割り当てられた場合は成功(ステップS1207:Yes)であり、制約条件に違反した場合は失敗(ステップS1207:No)となる。
【0044】
失敗の場合(ステップS1207:No)、運行計画サーバ201は、管理者の操作入力により、制約条件であるリソース情報を変更し(ステップS1208)、ステップS1206に戻る。一方、成功の場合(ステップS1207:Yes)、運行計画サーバ201は、作成したダイヤについて評価値を算出する(ステップS1209)。評価値Eは、たとえば、下記式(1)により算出される。
【0045】
評価値E=A×バス定時性評価値+B×利便性評価値+C×収益性評価値+D×環境性評価値
・・・(1)
【0046】
上記式(1)において、A〜Dは重みであり、管理者からの操作入力で取得してもよく、入力データ1100に含まれていてもよい。バス定時性評価値とは、停留所に定刻に到着しなかった確率を示す遅延率である。たとえば、遅延した停留所の数/(定刻通り到着した停留所の数+遅延した停留所の数)により求めることができる。なお、新規路線のダイヤ作成の場合には、第1項であるA×遅延率は適用されない。
【0047】
利便性評価値とは、バスを利用する利用者(乗客)の利便性を示す指標値である。利便性評価値は、たとえば、下記式(2)により算出される。
【0048】
利便性評価値=B1×運行間隔+B2×混雑率・・・(2)
【0049】
上記式(2)において、B1、B2は重みであり、管理者からの操作入力で取得してもよく、入力データ1100に含まれていてもよい。運行間隔は、選択ユースケースに関するダイヤ作成処理(ステップS1203)で作成したダイヤにおいてバスが運行する時間間隔であり、選択ユースケースに関するダイヤ作成処理(ステップS1203)により算出される。
【0050】
混雑率とは、バスがどの程度混雑しているかを示す割合であり、たとえば、ある路線について、区間ごとに得られる乗車人数の最大値/バスの定員で算出される。乗車人数の最大値は、スジごとに得られた最大値の平均でもよく最大値や中央値、最小値、またはいずれかの値でもよい。
【0051】
収益性評価値とは、バスの事業者の収益性を示す指標値である。収益性評価値は、たとえば、下記式(3)により算出される。
【0052】
収益性評価値=C1×運賃収入+C2×人件費+C3×減価償却費・・・(3)
【0053】
上記式(3)において、C1〜C3は重みであり、管理者からの操作入力で取得してもよく、入力データ1100に含まれていてもよい。運賃収入は、作成したダイヤでの乗客一人あたりの運賃に乗客人数(移動需要情報テーブル800の移動人数)を乗じた値である。人件費は、作成したダイヤで運行する乗務員一人あたりの人件費であり、たとえば、
図6の乗務員情報テーブル600から取得される。減価償却費は、作成したダイヤで運行するバスの減価償却費であり、
図3のバス情報テーブルから取得される。
【0054】
環境性評価値とは、作成したダイヤで運行するバスが環境に与える影響を示す指標値である。環境性評価値は、たとえば、下記式(4)により算出される。
【0055】
環境性評価値=D1×CO
2排出量+D2×騒音・・・(4)
【0056】
上記式(4)において、D1、D2は重みであり、管理者からの操作入力で取得してもよく、入力データ1100に含まれていてもよい。CO
2排出量は、作成したダイヤで運行するバスが排出するCO
2の量であり、
図3のバス情報テーブルから取得される。騒音は、作成したダイヤで運行するバスの騒音であり、
図3のバス情報テーブルから取得される。
【0057】
ステップS1209で評価値を算出したあと、運行計画サーバ201は、作成したダイヤと算出した評価値を出力デバイスであるディスプレイに表示する(ステップS1210)。これにより、管理者は、評価値の大きさにより、作成されたダイヤを評価することができる。
【0058】
また、運行計画サーバ201は、評価値が基準値以上であるか否かを判断する(ステップS1211)。基準値以上でない場合(ステップS1211:No)、運行計画サーバ201は、管理者の操作により、入力データ1100や制約条件(リソース情報)、その他評価値の式(1)で用いた重みを変更し(ステップS1212)、ステップS1203またはステップS1206に戻る。いずれのステップに戻るかは、管理者の操作により決定される。
【0059】
一方、評価値が基準値以上である場合(ステップS1211:Yes)、運行計画サーバ201は、作成したダイヤが基準値以上の評価値であることを出力デバイス304であるディスプレイに表示する(ステップS1213)。これにより、一連の処理を終了する。このように、作成したダイヤについて評価値を算出して表示するため、管理者は、作成したダイヤが、運行にふさわしいか否かの判断を客観的におこなうことができる。
【0060】
<選択ユースケースが(UC1)である場合の選択ユースケースに関するダイヤ作成処理(ステップS1203)>
図13は、選択ユースケースが(UC1)である場合の選択ユースケースに関するダイヤ作成処理(ステップS1203)の一例を示すフローチャートである。
図13において、運行計画サーバ201は、入力データ1100の立案種別を参照して、簡易自動立案を実行すべきか最適自動立案を実行すべきかを判断する(ステップS1301)。簡易自動立案を実行する場合(ステップS1301:簡易)、運行計画サーバ201は、簡易自動立案によるダイヤ作成処理を実行して(ステップS1302)、ステップS1304に移行する。一方、最適自動立案を実行する場合(ステップS1301:最適)、運行計画サーバ201は、最適自動立案によるダイヤ作成処理を実行して(ステップS1303)、ステップS1304に移行する。
【0061】
図14は、
図13の簡易自動立案によるダイヤ作成処理(ステップS1302)の一例を示すフローチャートである。運行計画サーバ201は、未選択の時間帯があるか否かを判断する(ステップS1401)。ここで、時間帯とは、スジを作成するための時間幅であり、たとえば、1時間などの単位でもよく、午前、午後などの範囲でもよい。以下の処理においても同様である。
【0062】
未選択の時間帯がある場合(ステップS1401:Yes)、運行計画サーバ201は、未選択の時間帯を選択し(ステップS1402)、選択時間帯での簡易自動立案によるダイヤ作成処理を実行する(ステップS1403)。そして、ステップS1401に移行する。一方、ステップS1401で未選択の時間帯がない場合(ステップS1401:No)、ステップS1404に移行する。
【0063】
図15は、
図14の選択時間帯での簡易自動立案によるダイヤ作成処理(ステップS1403)の一例を示すフローチャートである。運行計画サーバ201は、選択時間帯の中に確定スジがあるか否かを判断する(ステップS1501)。確定スジとは、停留所の発着時刻が確定したスジであり、選択時間帯での簡易自動立案によるダイヤ作成処理(ステップS1503)により変更してはいけないスジである。確定スジの設定は、選択時間帯での簡易自動立案によるダイヤ作成処理(ステップS1503)の前に、管理者の操作により実行することができる。確定スジがある場合(ステップS1501:Yes)、選択時間帯での最適自動立案によるダイヤ作成処理を実行して(ステップS1508)、ステップS1501に移行する。選択時間帯での最適自動立案によるダイヤ作成処理(ステップS1508)の詳細については後述する。
【0064】
一方、確定スジがない場合(ステップS1501:No)、車両情報テーブル400、移動需要情報テーブル800、期待乗車率、最低運行間隔を読み込み(ステップS1502)、選択時間帯におけるスジの必要本数を算出する(ステップS1503)。たとえば、選択時間帯が7:00〜7:59の1時間とする。この選択時間帯において、運行計画サーバ201は、移動需要情報テーブル800のエントリのうち、出発時刻が選択時間帯の中にあるエントリを特定する。ここでは、例として、特定されたエントリの移動人数の総和が150人とする。バスの定員が50人とすると、1時間あたり3本バスを運行する必要がある。この3本が必要本数である。
【0065】
つぎに、運行計画サーバ201は、運行間隔を算出する。上述の例の場合、1時間あたり3本のバスを運行する必要があるため、運行間隔は20分と算出される。そして、運行計画サーバ201は、運行間隔が最低運行間隔を超過するか否かを判断する(ステップS1505)。運行間隔が最低運行間隔を超過する場合(ステップS1505:Yes)、ステップS1507に移行する。一方、運行間隔が最低運行間隔を超過しない場合(ステップS1505:No)、運行計画サーバ201は、運行間隔を最低運行間隔に設定して(ステップS1506)、ステップS1507に移行する。
【0066】
ステップS1507では、運行計画サーバ201は、選択時間帯におけるダイヤを、運行間隔を用いて停留所ごとに作成する。上記の例で、1時間に3本(運行間隔:20分)運行する場合、たとえば、運行計画サーバ201は、始点停留所について、7:00発、7:20発、7:40発という時刻を設定する。後続の停留所においては、運行計画サーバ201は、始点停留所からの距離に応じた運行時間分シフトした発着時刻を設定する。
【0067】
なお、始点停留所において、1本目を選択時間帯でのもっとも早い時刻として7:00としたが、その前の時間帯である6:00〜6:59における最終便の出発時刻から最低運行間隔を加算した時刻としてもよい。たとえば、6:00〜6:59の最終便の始発停留所の出発時刻が6:45である場合、運行間隔が20分であるため、運行計画サーバ201は、始点の停留所について、7:05発、7:25発、7:45発という時刻を設定する。この後、ステップS1501に移行する。このように、簡易自動立案によるダイヤ作成処理(ステップS1503)では、ダイヤ作成を高速に実行することができる。つぎに、最適自動立案について説明する。
【0068】
図16は、
図13に示した最適自動立案によるダイヤ作成処理(ステップS1303)の例を示すフローチャートである。運行計画サーバ201は、未選択の時間帯があるか否かを判断する(ステップS1601)。未選択の時間帯がある場合(ステップS1601:Yes)、運行計画サーバ201は、未選択の時間帯を選択し(ステップS1602)、選択時間帯での最適自動立案によるダイヤ作成処理を実行する(ステップS1603)。そして、ステップS1601に移行する。一方、ステップS1601で未選択の時間帯がない場合(ステップS1601:No)、ステップS1604に移行する。つぎに、選択時間帯での最適自動立案によるダイヤ作成処理(ステップS1603、ステップS1608)について説明する。
【0069】
図17〜
図19は、選択時間帯での最適自動立案によるダイヤ作成処理(ステップS1603)の例を示す説明図である。ここでは、選択時間帯を7:00〜8:00とする。また、各区間(隣接停留所間)の最低乗車人数を25人、最低運行間隔を10分とする。また、運行間隔設定情報1700とは、あらかじめ設定された複数の運行間隔を保持する情報である。最低運行間隔が10分であるため、運行間隔設定情報1700における初期位置を10分とする。また、A〜Gは停留所であり、Aが始点停留所、Gが終点停留所とする。なお、すでに停留所Aでの出発時刻を7:00とするスジが設定済みとする(既スジ)。
【0070】
最低運行間隔が10分であるため、始点停留所Aにおいて7:10発として検討対象スジを仮設定する。移動需要情報により、既スジと検討対象スジとの間の移動需要は、AB間で12人、AG間で16人、CD間で20人、DE間で7人、EG間で3人とする。
図16に示したように、各区間の乗車人数は、AB間で28人、BC間で28人、CD間で43人、DE間で43人、EF間で46人、FG間で23人となる。各区間の最低乗車人数は25人であるため、区間FGが充足していないことになる。したがって、運行計画サーバ201は、運行間隔情報を10分から12分にシフトする。
【0071】
図18は、運行間隔設定情報1700が20分にまでシフトした状態を示す。
図18の移動需要は
図17の移動需要と同じである。したがって、区間FGが充足していないことになる。20分の次の運行間隔は、最長待ち時間である30分であるため、運行間隔は30分で確定する。
【0072】
図19も、
図18と同様、運行間隔設定情報1700が20分にまでシフトした状態を示す。
図18との相違は、7:25にあらたな移動需要が追加された点である。これにより、
図19に示したように、各区間の乗車人数は、AB間で28人、BC間で28人、CD間で43人、DE間で47人、EF間で50人、FG間で27人となる。したがって、いずれの区間も、最低乗車人数以上であるため、運行間隔は20分で確定する。なお、
図17〜
図19の例では、最低運行間隔から開始して運行間隔を拡張し、最長待ち時間を超えない範囲で最適な運行間隔を探索する例について説明したが、最長待ち時間から開始して運行間隔を縮小し、最低運行間隔を下回らない範囲で、最適な運行間隔を探索することとしてもよい。
【0073】
図20は、
図16に示した選択時間帯での最適自動立案によるダイヤ作成処理(ステップS1603)の一例を示すフローチャートである。
図15のステップS1508も同様の処理となる。ここでは、
図17〜
図19の説明にあわせて、最低運行間隔から開始して運行間隔を拡張し、最長待ち時間を超えない範囲で最適な運行間隔を探索するフローチャートについて説明する。
【0074】
運行計画サーバ201は、移動需要情報テーブル800、入力データ1100(最長待ち時間、最低乗車人数、最低運行間隔)を読み込み(ステップS2001)、運行間隔を最低運行間隔に設定する(ステップS2002)。つぎに、運行計画サーバ201は、起点を設定する(ステップS2003)。起点とは、選択時間帯における始点停留所の出発時刻である。
【0075】
たとえば、選択時間帯が7:00〜7:59の場合、最初の1本目のスジを仮設定する場合は、運行計画サーバ201は、始点停留所において7:00発を設定する。なお、始点停留所において、1本目を選択時間帯でのもっとも早い時刻として7:00としたが、その前の時間帯である6:00〜6:59における最終便の出発時刻から最低運行間隔を加算した時刻としてもよい。たとえば、6:00〜6:59の最終便の始発停留所の出発時刻が6:55である場合、最低運行間隔が10分とすると、運行計画サーバ201は、始点停留所について、始点停留所において7:00発を設定する。2本目以降のスジは、直前のスジから最低運行間隔分あけた時刻にスジを仮設定すればよい。
【0076】
運行計画サーバ201は、起点を基準として、運行間隔でスジを引いた時の各区間の乗車人数を算出する(ステップS2004)。そして、運行計画サーバ201は、いずれの区間も最低乗車人数≦乗車人数を満たすか否かを判断する(ステップS2005)。満たす場合(ステップS2005:Yes)、運行計画サーバ201は、運行間隔を確定させて(ステップS2011)、ステップS2012に移行する。一方、満たさない場合(ステップS2006:No)、運行計画サーバ201は、運行間隔設定情報1700にしたがい、運行間隔を拡張する(ステップS2006)。
【0077】
そして、運行計画サーバ201は、直後の確定スジまで最低運行間隔分あいているか否かを判断する(ステップS2007)。あいていない場合(ステップS2007:No)、始点停留所において直後の確定スジから最低運行間隔分あけた時刻を起点に変更して(ステップS2008)、ステップS2004に戻る。
【0078】
一方、最低運行間隔分あいている場合(ステップS2007:Yes)、運行計画サーバ201は、運行間隔が最長待ち時間を下回っているか否かを判断する(ステップS2009)。下回っている場合(ステップS2009:Yes)、ステップS2004に戻る。一方、運行間隔が最長待ち時間を下回っていない場合(ステップS2009:No)、運行間隔を最長待ち時間に設定し(ステップS2010)、ステップS2012に移行する。ステップS2012において、運行計画サーバ201は、運行間隔を用いて停留所ごとにダイヤを作成する(ステップS2012)。これにより、スジが設定される。
【0079】
<選択ユースケースが(UC2)である場合の選択ユースケースに関するダイヤ作成処理(ステップS1603)>
図21は、選択ユースケースが(UC2)である場合の選択ユースケースに関するダイヤ作成処理(ステップS1203)の例1を示す説明図である。
図21では、既存路線の一部の停留所を経由する新規路線の運行計画を立案する例である。ここでは、例として、停留所A−B−C−Dを経由する経路が既存路線であり、停留所A−E−F−Gを経由する経路が新規路線である。停留所E,F,Gが新規停留所である。なお、Tは目的地点である。
【0080】
既存路線を利用しているある移動需要MDxの発生場所が、停留所Bと停留所Eとの間であるとする。また、移動需要MDxから停留所Bまでの距離をα、移動需要MDxから停留所Eまでの距離をβとする。新規路線が開通する場合に、移動需要MDxが停留所Bから停留所Eにシフトする確率、すなわち、シフト率X(E)は、たとえば、下記式(5)により算出することができる。
【0081】
X(E)=β/(α+β)・・・(5)
【0082】
したがって、運行計画サーバ201は、移動需要MDxの移動人数にシフト率X(E)を乗じた移動人数を用いて、新規路線の自動立案を実行することになる。
【0083】
図22は、選択ユースケースが(UC2)である場合の選択ユースケースに関するダイヤ作成処理(ステップS1203)の例2を示す説明図である。
図22も、既存路線の一部の停留所を経由する新規路線の運行計画を立案する例であるが、
図22の場合、ある移動需要MDyは、目的地点まで車で移動するものとする。ここで、移動需要MDyが停留所Eまで移動する移動時間をt2_1、移動需要MDyが停留所Gから目的地点Tまで移動する移動時間をt2_2、移動需要MDyが車で目的地点Tまで移動する移動時間をt3、その移動費用(ガソリン代など)をcc、新規路線において停留所Eから停留所Gまでのバスの移動時間をt1、その移動費用(ガソリン代など)をcbとする。これらの情報は、あらかじめ記憶デバイスに格納されているものとする。
【0084】
この場合、移動需要MDyが新規路線でバスを利用して目的地点Tまで移動する場合の利用効用Ubは、たとえば、下記式(6)により算出される。
【0085】
Ub=P0×cb+P1×t1+P2×(t2_1+t2_2)・・・(6)
【0086】
また、移動需要MDyがその発生場所から車を利用して目的地点Tまで移動する場合の利用効用Ucは、たとえば、下記式(7)により算出される。
【0087】
Uc=Q0×cc+Q1×t3・・・(7)
【0088】
なお、P0〜P2、Q0、Q1は、重みであり、管理者が自由に設定することができる。
【0089】
また、新規路線が開通する場合に、移動需要MDyが車から停留所Eにシフトする確率、すなわち、シフト率Y(E)は、たとえば、下記式(8)により算出することができる。
【0090】
Y(E)=Ub/(Ub+Uc)・・・(8)
【0091】
したがって、運行計画サーバ201は、移動需要MDyの移動人数にシフト率Y(E)を乗じた移動人数を用いて、新規路線の自動立案を実行することになる。
【0092】
図23は、選択ユースケースが(UC2)である場合の選択ユースケースに関するダイヤ作成処理(ステップS1203)の例2を示す説明図である。
図23も、既存路線の一部の停留所を経由する新規路線の運行計画を立案する例であるが、
図23の場合、既存路線群の中に新規路線が設定される例である。
【0093】
既存路線L1は、停留所A−B−Dを運行する経路であり、既存路線L2は、停留所C−B−Eを運行する経路である。新規路線L3は、停留所A−B−Cを運行する経路である。移動需要MDzは、停留所Aから路線L1のバスに乗車して停留所Bで降車し、停留所Bで路線L2のバスに乗り換えて停留所Dまで移動し、目的地点Tに徒歩で到達するものとする。
【0094】
ここで、既存路線L1での停留所Aから停留所Bまでの移動時間をtab、既存路線L2での停留所Bから停留所Cまでの移動時間をtbc、停留所Bでの既存路線L1から既存路線L2に乗り換えるための待ち時間をtb、新規路線L3により停留所Aから停留所Bを経由して乗り換えなしで停留所Cに移動する移動時間をtacとする。
【0095】
移動需要MDzが既存路線L1、L2から新規路線L3にシフトするシフト率Z(L3)は、たとえば、下記式(9)により算出される。
【0096】
Z(L3)=tac/(tab+tb+tbc)・・・(9)
【0097】
したがって、運行計画サーバ201は、移動需要MDzの移動人数にシフト率Z(L3)を乗じた移動人数を用いて、新規路線L3の自動立案を実行することになる。
【0098】
また、移動需要MDzが発生場所Sから車で目的地点Tまで移動するものとする。ここで、移動需要MDzが停留所Aまで移動する移動時間をtsa、移動需要MDzが停留所Cから目的地点Tまで移動する移動時間をtct、移動需要MDzが車で目的地点Tまで移動する移動時間をt_car、その移動費用(ガソリン代など)をcc、新規路線L3により停留所Aから停留所Bを経由して乗り換えなしで停留所Cに移動する場合の移動費用(ガソリン代など)をcbとする。
【0099】
移動需要MDzの新規路線L3の利用効用Ub(L3)は、たとえば、下記式(10)により算出される。
【0100】
Ub(L3)=P0×cb+P1×tac+P2×(tsa+tct)・・・(10)
【0101】
また、移動需要MDzがその発生場所Sから車を利用して目的地点Tまで移動する場合の利用効用Ucは、たとえば、下記式(11)により算出される。
【0102】
Uc=Q0×cc+Q1×t_car・・・(11)
【0103】
なお、P0〜P2、Q0、Q1は、重みであり、管理者が自由に設定することができる。
【0104】
また、新規路線L3が開通する場合に、移動需要MDzが車から停留所Aにシフトする確率、すなわち、シフト率Z(b)は、たとえば、下記式(12)により算出することができる。
【0105】
Z(L3)=Ub/(Ub+Uc)・・・(12)
【0106】
したがって、運行計画サーバ201は、移動需要MDzの移動人数にシフト率Z(L3)を乗じた移動人数を用いて、新規路線L3の自動立案を実行することになる。
【0107】
図24は、選択ユースケースが(UC2)である場合の選択ユースケースに関するダイヤ作成処理(ステップS1203)の一例を示すフローチャートである。まず、運行計画サーバ201は、入力情報設定処理を実行する(ステップS2401)。入力情報設定処理(ステップS2401)では、入力情報を設定する処理であり、たとえば、上述したシフト率を算出して、新規路線についての移動需要の乗車人数を設定するための処理である。
【0108】
このあと、運行計画サーバ201は、入力データ1100の立案種別を参照して、簡易自動立案を実行すべきか最適自動立案を実行すべきかを判断する(ステップS2402)。簡易自動立案を実行する場合(ステップS2402:簡易)、運行計画サーバ201は、簡易自動立案によるダイヤ作成処理を実行して(ステップS2403)、ステップS1604に移行する。簡易自動立案によるダイヤ作成処理(ステップS2403)は、
図13に示したステップS1302と同一処理であるため、説明を省略する。一方、最適自動立案を実行する場合(ステップS2402:最適)、運行計画サーバ201は、最適自動立案によるダイヤ作成処理を実行して(ステップS2404)、ステップS1604に移行する。最適自動立案によるダイヤ作成処理(ステップS2404)も、
図13に示したステップS1303と同一処理であるため、説明を省略する。
【0109】
図25は、
図24に示した入力情報設定処理(ステップS2401)の一例を示すフローチャートである。
図25において、運行計画サーバ201は、まず、移動需要情報テーブル800を参照して、未選択の移動需要エントリがあるか否かを判断する(ステップS2501)。未選択の移動需要エントリがある場合(ステップS2501:Yes)、未選択の移動需要エントリを選択する(ステップS2502)。
【0110】
そして、運行計画サーバ201は、選択エントリに乗車情報があるか否かを判断する(ステップS2503)。乗車情報がある場合(ステップS2503:Yes)、当該選択エントリの移動需要は、既存路線を利用していることを示す。したがって、運行計画サーバ201は、既存停留所から検討対象経路における新規停留所へのシフト率を算出する(ステップS2504)。具体的には、たとえば、
図21や
図23に示したように、運行計画サーバ201は、シフト率X(E)やシフト率Z(L3)を算出する。つぎに、運用計画サーバは、算出したシフト率に、選択エントリの移動人数を乗算する(ステップS2505)ことにより、新規路線のバスに乗車する移動人数を推定することができる。
【0111】
そして、運用計画サーバは、選択エントリの移動需要が新規路線において降車する停留所を特定して(ステップS2506)、ステップS2501に戻る。降車停留所は、たとえば、選択エントリの到着情報における到着場所(
図21、
図23でいう目的地点T)からもっとも近い新規路線の停留所とする。また、選択エントリの降車情報における降車停留所からもっとも近い新規路線の停留所としてもよい。また、新規路線の降車停留所は、あらかじめ設定しておいてもよい。
【0112】
また、ステップS2503において、選択エントリに乗車情報がない場合(ステップS2503:No)、選択エントリの移動需要は、既存路線を利用していないことを示す。たとえば、
図22、
図23に示したように、選択エントリの移動需要は、車で目的地点Tまで移動する。この場合、運行計画サーバ201は、
図22、
図23に示したように、選択エントリについて、新規路線の利用効用と車の利用効用を算出する(ステップS2507)。
【0113】
そして、運行計画サーバ201は、
図22、
図23に示したように、算出した新規路線の利用効用と車の利用効用とを用いて、新規路線へのシフト率を算出する(ステップS2508)。つぎに、運用計画サーバは、算出したシフト率に、選択エントリの移動人数を乗算する(ステップS2509)ことにより、新規路線のバスに乗車する移動人数を推定することができる。
【0114】
そして、運用計画サーバは、選択エントリの移動需要が新規路線において降車する停留所を特定して(ステップS2510)、ステップS2501に戻る。降車停留所は、たとえば、選択エントリの到着情報における到着場所(
図22、
図23でいう目的地点T)からもっとも近い新規路線の停留所とする。また、選択エントリの降車情報における降車停留所からもっとも近い新規路線の停留所としてもよい。また、新規路線の降車停留所は、あらかじめ設定しておいてもよい。
【0115】
ステップS2501において、未選択の移動需要エントリがない場合(ステップS2502:No)、ステップS2502に移行して、入力情報設定処理(ステップS2501)を終了する。これにより、既存路線が存在する地域に新規路線を計画する場合でもダイヤを作成することができる。
【0116】
<選択ユースケースが(UC3)である場合の選択ユースケースに関するダイヤ作成処理(ステップS1203)>
ユースケース(UC3)は、ダイヤを改正するユースケースである。具体的には、たとえば、運行計画サーバ201は、改正対象となる期間を選択して、選択期間についてのダイヤを改正する。ユースケース(UC3)では、検討対象経路として選択される経路は、既存路線の経路である。
【0117】
図26は、選択ユースケースが(UC3)である場合の選択ユースケースに関するダイヤ作成処理(ステップS1203)の一例を示すフローチャートである。まず、運行計画サーバ201は、検討対象経路についての移動実績情報を取得する(ステップS2601)。
【0118】
つぎに、運行計画サーバ201は、対象期間を選択して、対象期間についての移動履歴情報を取得する(ステップS2602)。対象期間とは、改正の対象となる期間であり、たとえば、平日、休日、祝祭日など特定の日でもよく、また、6:00〜8:59などの特定の時間帯でもよい。また、特定の日と特定の時間帯との組み合わせでもよい。
【0119】
また、移動履歴情報とは、対象期間におけるバスの移動履歴を示す情報である。たとえば、検討対象経路における区間ごとの乗車人数の最大値である。たとえば、検討対象経路が停留所A−B−C−Dを経由する経路とする。運行計画サーバ201は、移動実績情報を参照して、スジごとに区間AB,BC,CDの乗車人数を特定する。そして、運行計画サーバ201は、区間ごとに乗車人数の最大値を特定する。たとえば、区間ABについて、スジR1が20人、スジR2が3人、スジR3が15人とすると、スジR1の20人が採用される。
【0120】
つぎに、運行計画サーバ201は、移動実績情報テーブル900を参照して、スジごとに各停留所の発着時刻を平均化することにより、実績ダイヤを作成する(ステップS2603)。このあと、運行計画サーバ201は、実績ダイヤの評価値と実績ダイヤの作成元となる既存ダイヤの評価値とを算出する。評価値の算出方法は、上述した式(1)を適用してもよい。また、単に乗車人数の最大値をそれぞれの評価値としてもよい。算出した評価値は、出力デバイス304であるディスプレイに表示される。
【0121】
また、つぎに、運行計画サーバ201は、既存ダイヤを修正するか否かを判断する(ステップS2605)。たとえば、運行管理者は、ディスプレイに表示された評価値により、ダイヤ改正をするか否かを判断し、改正する場合には、入力デバイス303から改正ボタンを選択することで、ステップS2606に移行する。また、算出した評価値の差に基づいて、運行計画サーバ201が、改正の有無を判断してもよい。たとえば、差が所定以上ある場合には、運行計画サーバ201は、改正すると判断する。
【0122】
改正しない場合(ステップS2605:No)、ステップS1604に移行する。一方、改正する場合(ステップS2605:Yes)、運行計画サーバ201は、入力データ1100の立案種別を参照して、簡易自動立案を実行すべきか最適自動立案を実行すべきかを判断する(ステップS2606)。簡易自動立案を実行する場合(ステップS2606:簡易)、運行計画サーバ201は、移動実績情報を用いて、簡易自動立案によるダイヤ作成処理を実行して(ステップS2607)、ステップS1604に移行する。
【0123】
簡易自動立案によるダイヤ作成処理(ステップS2607)は、移動需要情報テーブル800の代わりに移動実績情報テーブル900を用いる点以外は、
図13に示したステップS1302と同一処理であるため、説明を省略する。一方、最適自動立案を実行する場合(ステップS2606:最適)、運行計画サーバ201は、移動実績情報テーブル900を用いて、最適自動立案によるダイヤ作成処理を実行して(ステップS2608)、ステップS1604に移行する。最適自動立案によるダイヤ作成処理(ステップS2604)も、移動需要情報テーブル800の代わりに移動実績情報テーブル900を用いる点以外は、
図13に示したステップS1303と同一処理であるため、説明を省略する。これにより、運行計画サーバ201は、移動実績を考慮して、ダイヤ改正をおこなうことができる。
【0124】
<選択ユースケースが(UC4)である場合の選択ユースケースに関するダイヤ作成処理(ステップS1203)>
ユースケース(UC4)は、当日またはそれ以降のダイヤ調整を示す処理である。たとえば、当日またはそれ以降において「気象変動やお祭り、花火大会などによる交通規制のため渋滞が予想される」といったあらかじめ事象が確定している場合に調整する場合や、当日「交通事故が発生した」といった突発的な事象が発生した場合に調整する処理である。前者を第1の調整処理、後者を第2の調整処理という。したがって、移動需要情報は、このような事象を考慮した情報となる。まず、第1の調整処理について説明する。
【0125】
図27は、第1の調整処理の調整例を示す説明図である。
図27において、縦軸は距離であり、停留所の位置を示す。また、横軸は時間を示す。実線のスジは計画ダイヤ、すなわち、既存のダイヤを示すスジであり、一点鎖線のスジは、第1の調整処理により増便されるスジである。また、
図27の例では、バスは、停留所Aを始点停留所として、B−C−D−E(終点停留所)の順に経由する。
【0126】
(a)の場合、あるスジs10に対する需要増が予想されるため、運行計画サーバ201は、スジs10よりも前に運行されるスジs0を増便する。(b)の場合、特定の運行区間(ここでは、停留所Bから停留所E間)および特定時間帯に対する需要増が予想されるため、運行計画サーバ201は、特定区間および特定時間帯に該当するスジs10よりも前に運行されるスジs0を増便する。(c)の場合、個別の停留所に移動需要増が予想されるため、運行計画サーバ201は、個別の需要増に対応すべく、スジs10よりも前に運行されるスジs0を増便する。具体的には、移動需要情報テーブル800を調整して、運行計画サーバ201は、スジを追加することで、ダイヤを調整する。ここで、(b)の場合について詳細に説明する。
【0127】
図28は、
図27(b)の場合の第1の調整処理例を示す説明図である。(1)まず、運行計画サーバ201は、運行管理者の操作により、特定の運行区間(停留所Bから停留所E間)および特定時間帯を示す領域Zに関係するスジを選択する。領域Zに関係するスジとは、たとえば、領域Zに重なっているスジである。
図27の例では、スジs11、s12である。領域Zには重なっていないが、領域Zの時間帯の経過後に最初に出現するスジs13を含める。また、例として、領域Zの移動需要を100人とする。また、スジs11については、停留所Aから停留所Eまで乗車する乗車人数が20人、スジs12、s13については、停留所Aから停留所Eまで乗車する乗車人数が15人とする。
【0128】
(2)では、運行計画サーバ201は、領域Zの移動需要を、スジs11〜s13により按分する。本例では、停留所Bの時点では、特定時間帯が10%、70%、20%で分割される。このため、スジs11には移動需要の10%が按分され、スジs12には移動需要の70%が按分され、スジs13には移動需要の20%が按分される。
【0129】
したがって、スジs11についての停留所Aから停留所Eまでの乗車人数は30人(=20+100×0.1)となり、スジs12についての停留所Aから停留所Eまでの乗車人数は85人(=15+100×0.7)となり、スジs13についての停留所Aから停留所Eまでの乗車人数は35人(=15+100×0.2)となる。
【0130】
そして、運行計画サーバ201は、各スジs11〜s13について求めた乗車人数が、所定の乗車人数を超えた場合に増便する。たとえば、所定の乗車人数が50人であるとすると、スジs12の乗車人数(85人)が所定の乗車人数を超える。したがって、運行計画サーバ201は、スジs11とスジs12との間にスジを追加することで増便する。
【0131】
図29は、第1の調整処理例を示すフローチャートである。まず、運行計画サーバ201は、運行管理者の操作により、需要増加パターンを選択する(ステップS2901)。具体的には、たとえば、運行計画サーバ201は、運行管理者の操作により、
図27(a)に示したような特定のスジに対する増便処理、
図27(b)に示したような特定区間および特定時間帯における増便処理、または、
図27(c)に示したような個別の移動需要に対する増便処理を選択する。
【0132】
そして、運行計画サーバ201は、どの需要増加パターンが選択されたかを判断する(ステップS2902)。
図27(a)に示したような特定のスジに対する増便処理が選択された場合(ステップS2902:特定スジ)、運行計画サーバ201は、特定のスジに対する増便処理を実行する(ステップS2903)。また、
図27(b)に示したような特定区間および特定時間帯における増便処理が選択された場合(ステップS2902:特定区間および特定時間帯)、特定区間および特定時間帯における増便処理を実行する(ステップS2904)。また、
図27(c)に示したような個別の移動需要に対する増便処理が選択された場合(ステップS2902:個別)、運行計画サーバ201は、個別の移動需要に対する増便処理を実行する(ステップS2905)。
【0133】
図30は、
図29に示した特定のスジに対する増便処理(ステップS2903)の一例を示すフローチャートである。運行計画サーバ201は、運行管理者の操作により、特定のスジの需要増を設定する(ステップS3001)。たとえば、運行計画サーバ201は、
図27(a)のスジs10に対し、需要増として100人を設定する。需要増は、特定のスジs1に対して見込まれる乗車人数の増加数である。
【0134】
つぎに、運行計画サーバ201は、特定のスジの乗車人数を算出する(ステップS3002)。具体的には、たとえば、運行計画サーバ201は、移動実績情報テーブル900を参照して、特定のスジs10の過去の乗車人数を算出する。過去の乗車人数は、直近の乗車人数でもよく、過去の乗車人数の平均値、中央値、最大値、最小値などの統計値でもよい。
【0135】
つぎに、運行計画サーバ201は、ステップS3002で算出した乗車人数にステップS3001で設定した需要増を加算した人数(以下、需要増による乗車人数)が、特定のスジを運行するバスの乗車定員に設計乗車率を乗じた人数よりも大きいか否かを判断する(ステップS3003)。大きくない場合(ステップS3003:No)、特定のスジに対する増便処理(ステップS3003)を終了する。
【0136】
一方、大きい場合(ステップS3003:Yes)、運行計画サーバ201は、特定のスジとその1つ前のスジとの間にスジを追加する(ステップS3004)。具体的には、たとえば、運行計画サーバ201は、需要増による乗車人数を、特定のスジを運行するバスの乗車定員に設計乗車率を乗じた人数で除算して、1本分(特定のスジs10分)引くことにより、追加するスジの本数を特定する。そして、運行計画サーバ201は、特定された本数分のスジを、特定のスジとその1つ前のスジとの間に等間隔で配置する。たとえば、需要増による乗車人数が120人、特定のスジを運行するバスの乗車定員に設計乗車率を乗じた人数が50人であるとすると、追加するスジの本数は1.4本(=120/50−1)となる。したがって、1本では不足するため、運行計画サーバ201は、小数点以下を繰り上げてスジを2本追加する。
【0137】
図31は、
図29に示した特定の運行区間および特定時間帯における増便処理(ステップS2904)の一例を示すフローチャートである。運行計画サーバ201は、運行管理者の操作で設定された特定の運行区間および特定時間帯において、該当するスジを特定し、各スジが占める時間割合を算出する(ステップS3101)。具体的には、たとえば、
図28に示したように、運行計画サーバ201は、領域Zに該当するスジs11〜s13を特定する。そして、運行計画サーバ201は、時間割合として、10%、70%、20%を算出する。
【0138】
つぎに、運行計画サーバ201は、運行管理者の操作により、特定の運行区間における乗車人数を設定する(ステップS3102)。具体的には、たとえば、運行計画サーバ201は、
図27および
図28に示したように、特定の運行区間における乗車人数として100人を設定する。そして、運行計画サーバ201は、乗車人数を時間割合で按分する(ステップS3103)。上記の例では、運行計画サーバ201は、特定の運行区間における乗車人数である100人を、10%、70%、20%で按分する。
【0139】
このあと、運行計画サーバ201は、特定の運行区間および特定時間帯に該当するスジの中に未選択のスジがあるか否かを判断する(ステップS3104)。未選択のスジがある場合(ステップS3104:Yes)、運行計画サーバ201は、未選択のスジを選択し(ステップS3105)、選択スジについて、按分した乗車人数が、選択スジを運行するバスの乗車定員に設計乗車率を乗じた人数を超えているか否かを判断する(ステップS3106)。なお、按分した乗車人数に対し特定の運行区間外の停留所から特定の運行区間内の停留所まで乗車する乗車人数を加算してもよい。
【0140】
超えていない場合(ステップS3106:No)、ステップS3104に戻る。一方、超えている場合(ステップS3106:Yes)、運行計画サーバ201は、選択スジとその1つ前のスジとの間にスジを追加して(ステップS3107)、ステップS3104に戻る。具体的には、たとえば、運行計画サーバ201は、按分した乗車人数を、選択スジを運行するバスの乗車定員に設計乗車率を乗じた人数で除算して、1本分(選択スジ分)引くことにより、追加するスジの本数を特定する。
【0141】
そして、運行計画サーバ201は、特定された本数分のスジを、特定のスジとその1つ前のスジとの間に等間隔で配置する。たとえば、
図28(2)に示したように、按分した乗車人数が85人、特定のスジを運行するバスの乗車定員に設計乗車率を乗じた人数が50人であるとすると、追加するスジの本数は0.7本(=85/50−1)となる。したがって、0本では不足するため、運行計画サーバ201は、小数点以下を繰り上げてスジを1本追加する。
【0142】
また、ステップS3104において、運行計画サーバ201は、未選択のスジがない場合(ステップS3104:No)、特定の運行区間および特定時間帯における増便処理(ステップS3104)を終了する。
【0143】
図32は、
図29に示した個別の移動需要に対する増便処理(ステップS2905)の一例を示すフローチャートである。運行計画サーバ201は、運行管理者の操作により、個別の移動需要が利用するスジを特定し(ステップS3201)、運行管理者の操作により、特定したスジまでの時間帯を選択する(ステップS3202)。そして、運行計画サーバ201は、ステップS3201の個別の移動需要を入力として、ステップS3202で選択された選択時間帯での最適自動立案によるダイヤ作成処理を実行する(ステップS3203)。選択時間帯での最適自動立案によるダイヤ作成処理(ステップS3203)は、
図20の選択時間帯での最適自動立案によるダイヤ作成処理(ステップS1601)と同一処理であるため、説明を省略する。
【0144】
これにより、運行計画サーバ201は、移動需要の増加パターンに応じたダイヤ調整を実行することができ、ダイヤ調整の自由度の向上を図ることができる。なお、上述した第1の調整処理に先立って、最適自動立案または簡易自動立案を用いて移動需要が増加する時間帯の予測ダイヤを作成することとしてもよい。これにより、作成した予測ダイヤや既存ダイヤ、実績ダイヤを表示することにより、運行管理者がダイヤ調整する場合の指標とすることができる。
【0145】
つぎに、第2の調整処理について説明する。上述したように、第2の調整処理は、当日、「交通事故が発生した」といった突発的な事象が発生した場合に調整する処理である。たとえば、第2の調整処理は、運行中のバスに遅延が発生した場合を契機としてイベントドリブン形式で実行される。第2の調整処理は、移動需要前提の場合と時隔前提の場合とに分けられる。まずは、移動需要前提の場合の第2の処理について説明する。
【0146】
図33は、移動需要前提の場合の当日のダイヤ調整例を示すフローチャートである。まず、運行計画サーバ201は、遅延がしきい値以上のスジを検出するまで待ち受ける(ステップS3301:No)。遅延とは、定刻から実際の到着時刻までの時間である。たとえば、運行計画サーバ201は、1回でも遅延がしきい値以上となったスジを検出してもよく、所定回数連続して遅延がしきい値以上となったスジを検出してもよい。検出されたスジを検討対象スジとする。
【0147】
検出された場合(ステップS3301:Yes)、運行計画サーバ201は、検討対象スジを運行するバスが折り返し便で運行されるか否かを判断する(ステップS3302)。折り返し便で運行されない場合(ステップS3302:No)、ダイヤ調整は不要であるため、一連の処理を終了する。一方、折り返し便で運行される場合(ステップS3302:Yes)、運行計画サーバ201は、検討対象スジを運行するバスの現在位置を、ロケーションサーバ204から取得する(ステップS3303)。そして、運行計画サーバ201は、検討対象スジを運行するバスの終点到着時刻を算出する(ステップS3304)。具体的には、たとえば、運行計画サーバ201は、検討対象スジを運行するバスの現在位置から終点停留所までの距離をバスの速度で除算することで求められる時間を、現在時刻に加算することで終点到着時刻を算出する。なお、途中の停留所での待機時間を加算してもよい。また、終点停留所の到着時刻に遅延分を加算することで終点到着時刻を算出してもよい。
【0148】
そして、運行計画サーバ201は、検討対象スジを運行するバスが、折り返し便の出発時刻に間に合うか否かを判断する(ステップS3305)。具体的には、たとえば、運行計画サーバ201は、ステップS3303で算出した終点到着時刻に、折り返し便のための準備時間を加算した時刻が、折り返し便の出発時刻以前の時刻であるか否かを判断する。折り返し便の出発時刻以前の時刻であれば、折り返し便に間に合い、そうでなければ、折り返し便に間に合わないと判断される。
【0149】
したがって、折り返し便に間に合う場合(ステップS3305:Yes)、ダイヤ調整は不要であるため、一連の処理を終了する。一方、折り返し便に間に合わない場合(ステップS3305:No)、運行計画サーバ201は、スケジュール情報1000を参照して、待機中のバスおよび待機中の乗務員があるか否かを判断する(ステップS3306)。
【0150】
待機中のバスおよび待機中の乗務員がある場合(ステップS3306:Yes)、運行計画サーバ201は、待機中のバスのバスIDと、待機中の乗務員の乗務員IDと、折り返し便の便IDとを、ダイヤ編成サーバ205に通知する(ステップS3307)。ダイヤ編成サーバ205は、通知された情報に従ってダイヤ編成を実行する。一方、待機中のバスまたは待機中の乗務員がない場合(ステップS3306:No)、運行計画サーバ201は、折り返し不可通知を、ダイヤ編成サーバ205に通知する(ステップS3308)。この場合、たとえば、折り返し便は欠便などの対応がなされることになる。
【0151】
図34は、時隔前提の場合の当日のダイヤ調整例を示すフローチャートである。まず、運行計画サーバ201は、先行バスとの時隔が運行間隔を超過したバスを検出するまで待ち受ける(ステップS3301:No)。たとえば、運行計画サーバ201は、1回でも超過したバスを検出してもよく、所定回数連続して超過したバスを検出してもよい。
【0152】
超過が検出された場合(ステップS3401:Yes)、運行計画サーバ201は、超過が検出されたバスが折り返し便で運行されるか否かを判断する(ステップS3402)。折り返し便で運行されない場合(ステップS3402:No)、ダイヤ調整は不要であるため、一連の処理を終了する。一方、折り返し便で運行される場合(ステップS3402:Yes)、運行計画サーバ201は、超過が検出されたバスの現在位置を、ロケーションサーバ204から取得する(ステップS3403)。そして、運行計画サーバ201は、超過が検出されたバスの終点到着時刻を算出する(ステップS3404)。具体的には、たとえば、運行計画サーバ201は、超過が検出されたバスの現在位置から終点停留所までの距離をバスの速度で除算することで求められる時間を、現在時刻に加算することで終点到着時刻を算出する。なお、途中の停留所での待機時間を加算してもよい。また、終点停留所の到着時刻に超過分を加算することで終点到着時刻を算出してもよい。
【0153】
そして、運行計画サーバ201は、超過が検出されたバスが、折り返し便の出発時刻に間に合うか否かを判断する(ステップS3405)。具体的には、たとえば、運行計画サーバ201は、ステップS3404で算出した終点到着時刻に、折り返し便のための準備時間を加算した時刻が、折り返し便の出発時刻以前の時刻であるか否かを判断する。折り返し便の出発時刻以前の時刻であれば、折り返し便に間に合い、そうでなければ、折り返し便に間に合わないと判断される。
【0154】
したがって、折り返し便に間に合う場合(ステップS3405:Yes)、ダイヤ調整は不要であるため、先行バスに対し待機指示をするようにロケーションサーバ204に通知して(ステップS3406)、一連の処理を終了する。一方、折り返し便に間に合わない場合(ステップS3405:No)、運行計画サーバ201は、スケジュール情報1000を参照して、待機中のバスおよび待機中の乗務員があるか否かを判断する(ステップS3407)。
【0155】
待機中のバスおよび待機中の乗務員がある場合(ステップS3407:Yes)、運行計画サーバ201は、待機中のバスのバスIDと、待機中の乗務員の乗務員IDと、折り返し便の便IDとを、ダイヤ編成サーバ205に通知する(ステップS3408)。ダイヤ編成サーバ205は、通知された情報に従ってダイヤ編成を実行する。一方、待機中のバスまたは待機中の乗務員がない場合(ステップS3407:No)、運行計画サーバ201は、折り返し不可通知を、ダイヤ編成サーバ205に通知する(ステップS3409)。この場合、たとえば、折り返し便は欠便などの対応がなされることになる。
【0156】
これにより、突発的な事象が生じた場合であっても当該事象による遅延/超過に応じてダイヤ調整することができる。
【0157】
図35は、最適自動立案または簡易自動立案によるシミュレーションで自動作成されたダイヤの表示例1を示す説明図である。ダイヤ3501は、上述した最適自動立案または簡易自動立案によるシミュレーションで自動作成されたダイヤである。運行計画サーバ201は、管理者が運行計画サーバ201の入力装置を操作して、ダイヤ3501の中のあるスジs335を選択することにより、選択スジs335に関する評価情報3510をダイヤ3501とともに表示画面3500に表示する。
【0158】
評価情報3510とは、評価項目ごとに実績値と最適化後の評価値とを含む情報である。評価項目とは、たとえば、上記式(1)で示したバス定時性評価値、利便性評価値、収益性評価値、環境性評価値などが挙げられる。各評価項目の実績値は、検索サーバ202、予約サーバ203、ロケーションサーバ204、およびダイヤ編成サーバ205のいずれかから取得されたデータであり、当該シミュレーション前のデータである。これにより、管理者は、ダイヤ3501とともにダイヤ3501内の選択スジs35に関する評価値を確認することができる。
【0159】
図36は、最適自動立案または簡易自動立案によるシミュレーションで自動作成されたダイヤの表示例2を示す説明図である。ダイヤ3601は、上述した最適自動立案または簡易自動立案によるシミュレーションで自動作成されたダイヤである。
図36の(A)は、ある経路のシミュレーション結果を示すダイヤ3601である。(A)において、管理者は、運行計画サーバ201の入力装置を操作して、ダイヤ3601の中のあるスジs362を選択し、確定スジに設定する。
【0160】
このあと、運行計画サーバ201は、同経路について、スジs362を確定スジとして、上述した最適自動立案または簡易自動立案による再シミュレーションを実行する。(B)は、上述した最適自動立案または簡易自動立案による再シミュレーション結果を示すダイヤ3701である。ダイヤ3701は、再シミュレーションにより得られるスジs370、s371s373と、再シミュレーションにおいて固定される確定スジs362と、を含む。すなわち、確定スジs362は、再シミュレーションによって変更されない。これにより、管理者は、ダイヤ作成後においても、当該ダイヤ3601の中から確定スジs362を設定して、再度ダイヤを自動作成することができる。
【0161】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
【0162】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【0163】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、ICカード、SDカード、DVD等の記録媒体に格納することができる。
【0164】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。