(57)【要約】【課題】少ない車両を効率的に利用し、変動する需要に対応する。【解決手段】旅客が乗降する車両１１１〜１１３，１２１〜１２５が構成する複数の隊列と、複数の隊列への車両１１１〜１１３，１２１〜１２５の所属を含む運行計画を設定し、複数の隊列の運行を管理する運行管理装置１０１と、を有し、隊列は、車両１１１〜１１３，１２１〜１２５への乗降地点を含む軌道を運行計画に従って隊列毎に車両１１１〜１１３，１２１〜１２５が一体となって運行し、所属する車両の追加および削減が可能であり、運行管理装置１０１は、乗降地点を指定した車両の乗車要求を受け付け、乗車要求と車両１１１〜１１３，１２１〜１２５の乗車可能な旅客の人数とに基づいて、複数の隊列間で所属する車両を融通するように運行計画を変更する。【選択図】図１
2019028527.tif 000002
【特許請求の範囲】
【請求項１】
旅客が乗降する車両が構成する複数の隊列と、
前記複数の隊列への車両の所属を含む運行計画を設定し、前記複数の隊列の運行を管理する運行管理装置と、を有し、
前記隊列は、前記車両への乗降地点を含む軌道を前記運行計画に従って前記隊列毎に前記車両が一体となって運行し、所属する車両の追加および削減が可能であり、
前記運行管理装置は、前記乗降地点を指定した車両の乗車要求を受け付け、前記乗車要求と前記車両の乗車可能な旅客の人数とに基づいて、前記複数の隊列間で所属する車両を融通するように前記運行計画を変更する、隊列交通システム。
【請求項２】
前記運行管理装置は、第１の隊列に所属する第１の車両の人数閾値を超える旅客の行先が前記第１の隊列の運行計画にて経由しない乗降地点であるとき、前記第１の車両の所属を、当該乗降地点を経由する第２の隊列に変更する、請求項１に記載の隊列交通システム。
【請求項３】
前記運行管理装置は、第１の隊列における車両の乗車予定人数が第１の閾値を超える場合、乗車予定人数が第２の閾値を下回る第２の隊列に所属する車両の所属を前記第１の隊列に変更する、請求項１に記載の隊列交通システム。
【請求項４】
前記運行管理装置は、第１の隊列における輸送容量が第３の閾値を下回る場合、輸送容量が第４の閾値を超える第２の隊列に所属する車両の所属を前記第１の隊列に変更する、請求項１に記載の隊列交通システム。
【請求項５】
前記運行管理装置は、行先が同一の旅客が乗車する車両が同一となるように前記運行計画を設定する、請求項１に記載の隊列交通システム。
【請求項６】
旅客が乗降する車両が複数の隊列を構成して走行する隊列交通を制御する隊列交通制御方法であって、
前記複数の隊列は、前記車両への乗降地点を含む軌道を運行計画に従って前記隊列毎に前記車両が一体となって運行し、所属する車両の追加および削減が可能であり、
前記複数の隊列への車両の所属を含む運行計画を設定し、前記複数の隊列の運行を管理する運行管理装置が、前記乗降地点を指定した車両の乗車要求を受け付け、前記乗車要求と前記車両の乗車可能な旅客の人数とに基づいて、前記複数の隊列間で所属する車両を融通するように前記運行計画を変更する、隊列交通制御方法。
【請求項７】
前記運行管理装置が、第１の隊列に所属する第１の車両の人数閾値を超える旅客の行先が前記第１の隊列の運行計画にて経由しない乗降地点であるとき、前記第１の車両の所属を、当該乗降地点を経由する第２の隊列に変更する、請求項６に記載の隊列交通制御方法。
【請求項８】
前記運行管理装置が、第１の隊列における車両の乗車予定人数が第１の閾値を超える場合、乗車予定人数が第２の閾値を下回る第２の隊列に所属する車両の所属を前記第１の隊列に変更する、請求項６に記載の隊列交通制御方法。
【請求項９】
前記運行管理装置が、第１の隊列における輸送容量が第３の閾値を下回る場合、輸送容量が第４の閾値を超える第２の隊列に所属する車両の所属を前記第１の隊列に変更する、請求項６に記載の隊列交通制御方法。
【請求項１０】
前記運行管理装置が、行先が同一の旅客が乗車する車両が同一となるように前記運行計画を設定する、請求項６に記載の隊列交通制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の車両が仮想的な連結により隊列を構成して軌道上を走行するシステムの運行管理に関する。
【背景技術】
【０００２】
高速鉄道や高速バス等の着座を前提としている交通システムでは、乗車可能な旅客の最大数は座席数により制限される。そのため、需要の変動等により多数の旅客からの予約が同じ時間帯の同じ路線に集中した場合、満席のため乗車できない旅客が発生するという問題があった。
【０００３】
ここで、鉄道システムに関して、利用者からの乗車要求に対し、空席が足りない場合に運行計画を修正して編成内の車両数を増やし、修正後の運行計画に基づいて座席の割当てを行う技術が、例えば特許文献１に開示されている。特許文献１に記載の技術によれば、多数の旅客からの予約が集中した場合であっても座席確保が可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２０７７９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１には、車両数を増やす際の車両確保方法については開示されておらず、需要変動に備えて予備車両を増加させた場合、車両運用効率の低下を招いてしまう虞があった。従って、少ない車両数で効率的に需要変動へ対応する点について改善の余地があった。
【０００６】
本発明は、数が限られた車両を効率的に利用し、変動する需要に対応することができる、隊列交通システム及び隊列交通制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様による隊列交通システムは、旅客が乗降する車両で構成される複数の隊列と、前記複数の隊列への車両の所属を含む運行計画を設定し、前記複数の隊列の運行を管理する運行管理装置と、を有し、前記隊列は、前記車両への乗降地点を含む軌道を前記運行計画に従って前記隊列毎に前記車両が一体となって運行し、所属する車両の追加および削減が可能であり、前記運行管理装置は、前記乗降地点を指定した車両の乗車要求を受け付け、前記乗車要求と前記車両の乗車可能な旅客の人数とに基づいて、前記複数の隊列間で所属する車両を融通するように前記運行計画を変更する。
【発明の効果】
【０００８】
本発明によれば、旅客需要の少ない区間を走行する予定の車両を旅客需要の多い区間を走行する予定の隊列へと融通することが可能となり、限られた車両数で効率的な旅客輸送を実現できる。
【図面の簡単な説明】
【０００９】
【図１】本発明の隊列交通システムの実施の一形態を示す図である。
【図２】本発明の隊列交通システムの動作の一例を説明するための図である。
【図３】本発明の隊列交通システムの動作の一例を説明するための図である。
【図４】本発明の隊列交通システムの動作の一例を説明するための図である。
【図５】図１に示した運行管理装置のハードウェア構成を示す図である。
【図６】図１に示した運行管理装置のソフトウェア構成を示す図である。
【図７】図６に示した隊列情報テーブルのデータ構成例を示す図である。
【図８】図６に示した隊列運行計画テーブルのデータ構成例を示す図である。
【図９】図６に示した車両情報テーブルのデータ構成例を示す図である。
【図１０】図６に示した車両運行計画テーブルのデータ構成例を示す図である。
【図１１】図６に示した隊列分割併合テーブルのデータ構成例を示す図である。
【図１２】図６に示した旅客予約情報テーブルのデータ構成例を示す図である。
【図１３】図６に示した旅客隊列割当テーブルのデータ構成例を示す図である。
【図１４】図６に示した隊列乗換人数情報テーブルのデータ構成例を示す図である。
【図１５】図６に示した隊列輸送人数情報テーブルのデータ構成例を示す図である。
【図１６】図６に示した隊列乗換中間情報テーブルのデータ構成例を示す図である。
【図１７】図１に示した運行管理装置が隊列の分割併合計画を更新する際の処理の流れを示すフローチャートである。
【図１８】図１７に示した処理６００の流れを示すフローチャートである。
【図１９】図１８に示した処理９００の流れを示すフローチャートである。
【図２０】図１７に示した処理７００の流れを示すフローチャートである。
【図２１】図１７に示した処理８００の流れを示すフローチャートである。
【発明を実施するための形態】
【００１０】
まず、本願発明の隊列交通システムの背景となった技術について概説する。
【００１１】
近年、無線通信技術の高度化に伴い、自動車等の車両を電子的に連結させ、同期的な走行制御を行うことが可能となってきた。このような技術を用いることで、複数の車両が隊列を構成して旅客や貨物の輸送を行う隊列交通システムを実現できる。隊列交通システムでは、先頭車両は通常の自動車と同様に有人での操縦が行われるが、後続車両は自動で前方車両への追従走行を行うことで無人運転が可能となる。隊列交通システムでは、隊列の運転操作に関する認知、判断、制御は先頭車両のドライバが担うため、後続車両の運転システムを車両単独で自動運転する場合に比べて簡易なものとすることができる。
【００１２】
以下に、上記のようにして実現される隊列交通システムの実施の形態について図面を参照して説明する。
【００１３】
図１は、本発明の隊列交通システムの実施の一形態を示す図である。
【００１４】
図１に示すように、本形態による隊列交通システム１００は、運行管理装置１０１と、隊列の先頭車両１１１〜１１３と、隊列の後続車両１２１〜１２５と、旅客端末１３１と、運行管理装置１０１と隊列の先頭車両１１１〜１１３および隊列の後続車両１２１〜１２５とを繋ぐ通信伝送路１４１と、運行管理装置１０１と旅客端末１３１とを繋ぐ通信伝送路１４２から構成される。
【００１５】
運行管理装置１０１は、複数の隊列への車両の所属を含む運行計画を設定し、複数の隊列の運行を管理する。
【００１６】
旅客端末１３１は、旅客が操作可能なものであって、駅に設置された端末や、スマートフォン等の携帯端末等が考えられる。また、通信伝送路１４１，１４２は、例えばＷｉ−Ｆｉを用いた無線ネットワークにより実現される。
【００１７】
先頭車両１１１〜１１３は、上述したように通常の自動車と同様に有人での操縦が行われるものであり、運行管理装置１０１が設定した運行計画に従って後続車両１２１〜１２５と連結されることで隊列を構成し、隊列の先頭車両となる。
【００１８】
後続車両１２１〜１２５は、上述したように自動で前方車両への追従走行を行うことで無人で走行するものであって、運行管理装置１０１が設定した運行計画に従って先頭車両１１１〜１１３と連結されることで隊列を構成し、隊列の後続車両となる。
【００１９】
なお、本形態においては、先頭車両の数が３であるが、先頭車両の数はこれに限定されるものではなく、１台以上の一般的な台数の先頭車両に対して本形態を同様に適用できる。また、後続車両や旅客端末についても同様である。
【００２０】
次に、本形態による隊列交通システムの詳細な説明に先立ち、本願発明による動作の概要と効果について概説する。
【００２１】
図２〜図４は、本発明の隊列交通システムの動作の一例を説明するための図である。なお、図２、図３、図４は時系列の順となっている。
【００２２】
本例においては、隊列交通システム１００の初期状態が図２に示す状態となっている。
【００２３】
本例では、隊列の停車および旅客の乗降を行う乗降地点として、駅２０１〜２０７が設置されている。また、隊列が運行する起動となる道路として、駅２０１から駅２０２、駅２０３、駅２０４を経由して駅２０５までを結ぶ道路と、駅２０３から駅２０６を経由し駅２０７までを結ぶ道路の２本が設置されている。これらの道路は、駅２０３で交わっている。
【００２４】
また、先頭車両１１１には、後続車両１２１，１２２，１２３が後部に連結して隊列を構成しており、先頭車両１１２には、後続車両１２４が後部に連結して隊列を構成しており、先頭車両１１３には、後続車両１２５が後部に連結して隊列を構成している。本例では説明を簡単にするため各車両は満席とする。各車両内の旅客の行先はすべて同一であるものとし、先頭車両１１１および後続車両１２１には駅２０５行きの旅客が乗車しており、後続車両１２２，１２３および先頭車両１１３には駅２０３行きの旅客が乗車しており、先頭車両１１２および後続車両１２４，１２５には駅２０１行きの旅客が乗車しているものとする。先頭車両１１１が率いる隊列は駅２０５行き、先頭車両１１２が率いる隊列は駅２０１行き、先頭車両１１３が率いる隊列は駅２０３行きとし、各隊列は終着駅に到着後、折り返しを行いこれまでに走行した経路を戻るものとする。先頭車両１１１，１１２，１１３の初期位置はそれぞれ駅２０２，２０５，２０７とする。また、駅２０３では、駅２０１に向かう旅客が隊列の予約待ちをしているものとする。
【００２５】
図２に示した状態から時間が経過し、図３に示すように各隊列が駅２０３付近に到達すると、後続車両１２５の旅客の行先は駅２０１であるため、当初の運行計画では旅客は駅２０３において先頭車両１１３が率いる隊列から、駅２０１を行先とする隊列へと乗り換えなければならない。
【００２６】
ここで、本形態においては、運行管理装置１０１が、先頭車両１１３が率いる隊列から先頭車両１１２が率いる隊列へ、予め定められた閾値以上の旅客が乗り換えることを検知し、後続車両１２５の運行計画を、駅２０３において先頭車両１１３が率いる隊列から分離し、先頭車両１１２が率いる隊列へ連結するように変更する。これにより、後続車両１２５の旅客は乗り換えを行うこと無く駅２０１へと移動することができ、先頭車両１１２が率いる隊列が満席である場合に旅客が乗り換え乗車できないといった事態も回避できる。
【００２７】
また、図２に示した状態では先頭車両１１２が率いる隊列は満席であるため、駅２０３から駅２０１へ向かう旅客は、先頭車両１１２が率いる隊列に乗車することができない。
【００２８】
ここで、本形態においては、運行管理装置１０１が、後続車両１２２に乗車している旅客が駅２０３で降車することを検知し、後続車両１２２の運行計画を、駅２０３において先頭車両１１１が率いる隊列から分離し、先頭車両１１２が率いる隊列へ連結するように変更する。これにより、駅２０３で予約待ちをしている駅２０１行きの旅客は先頭車両１１２が率いる隊列に乗車することができる。
【００２９】
さらに、後続車両１２５が、先頭車両１１３が率いる隊列から分離するため、先頭車両１１３が率いる隊列は所属する車両数が１となり、旅客の輸送容量が非常に小さくなる。
【００３０】
ここで、本形態においては、運行管理装置１０１が、先頭車両１１３が率いる隊列の輸送容量が閾値以下となったことを検知し、後続車両１２３の運行計画を、駅２０３において先頭車両１１１が率いる隊列から分離し、先頭車両１１３が率いる隊列へ連結するように変更する。これにより、先頭車両１１３が率いる隊列は最低限の輸送容量を確保することができる。
【００３１】
上記のようにして運用計画が変更されて隊列間にて所属する車両が融通され、車両の入れ替えが完了すると、隊列交通システム１００は図４に示す状態となる。
【００３２】
上述したように、先頭車両１１１〜１１３および後続車両１２１〜１２５は、運行管理装置１０１が設定した運行計画に従って隊列を構成し、旅客が車両に乗降する乗降地点となる駅２０１〜２０７を含む軌道となる道路を隊列ごとに一体となって運行することになる。
【００３３】
〈ハードウェア構成〉
以下に、図１に示した運行管理装置１０１のハードウェア構成について説明する。
【００３４】
図５は、図１に示した運行管理装置１０１のハードウェア構成を示す図である。
【００３５】
図１に示した運行管理装置１０１のハードウェアは、図５に示すように、中央処理装置２１０と、主記憶装置２２０と、内部バス２３０と、バスインタフェース２４０と、外部バス２５０と、入出力装置２６０と、入出力装置インタフェース２６１と、大容量記憶装置２７０と、大容量記憶装置インタフェース２７１と、通信装置２８０と、通信装置インタフェース２８１とから構成されている。
【００３６】
中央処理装置２１０は、プログラム実行等の演算を行うためのプロセッサである。主記憶装置２２０は、プログラム実行時の処理領域として、また先頭車両１１１〜１１３、後続車両１２１〜１２５および旅客端末１３１との送受信に使用するデータの一時格納領域として使用され、例えばＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）などの基本プログラムや基本データを格納する。更に主記憶装置２２０は、運行管理装置１０１が有するソフトウェア（旅客情報管理部３１０、運行管理部３２０、分割併合計画変更部３３０（図６参照））を実現するプログラムおよび各種テーブルをプログラム実行時に一時的に格納する。
【００３７】
中央処理装置２１０と主記憶装置２２０とは内部バス２３０により接続されており、内部バス２３０は、バスインタフェース２４０を介して外部バス２５０に接続されている。
【００３８】
入出力装置２６０は、ディスプレイやキーボード、マウスなど、ユーザとのインターフェースデバイスおよび外部媒体に読み書き可能なドライブ装置などである。ユーザは、キーボードやマウスなどのインターフェースデバイスを用いてプログラムの実行を制御することができる。
【００３９】
大容量記憶装置２７０は、例えばＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）といった装置であり、基本プログラムや処理結果、旅客情報管理部３１０、運行管理部３２０、分割併合計画変更部３３０を実現するプログラムなどを永続的に記憶することができる。中央処理装置２１０は、各種処理実行の際に大容量記憶装置２７０にアクセスし、これらプログラムを主記憶装置２２０に読み出して実行する。
【００４０】
通信装置２８０は、例えばＷｉ−Ｆｉなどを用いて外部装置と接続するための装置であり、ネットワークを通じて運行管理装置１０１と他装置との間で情報の入出力を行うことができる。通信装置２８０を用いることにより、先頭車両１１１〜１１３、後続車両１２１〜１２５および旅客端末１３１との情報の送受信が可能となる。
【００４１】
入出力装置２６０と大容量記憶装置２７０と通信装置２８０は、それぞれ入出力装置インタフェース２６１と大容量記憶装置インタフェース２７１と通信装置インタフェース２８１を介して外部バス２５０と接続されている。入出力装置２６０や大容量記憶装置２７０、通信装置２８０を含めた構成を運行管理装置１０１であるとしてもよい。
【００４２】
〈ソフトウェア構成、テーブル構成〉
以下に、図１に示した運行管理装置１０１のソフトウェア構成について説明する。
【００４３】
図６は、図１に示した運行管理装置１０１のソフトウェア構成を示す図である。
【００４４】
図１に示した運行管理装置１０１のソフトウェアは、図６に示すように、少なくとも旅客情報管理部３１０と、運行管理部３２０と、分割併合計画変更部３３０とを備える。各部の詳細については後述する。また、運行管理装置１０１は少なくとも、隊列情報テーブル４１１と、隊列運行計画テーブル４１２と、車両情報テーブル４１３と、車両運行計画テーブル４１４と、隊列分割併合テーブル４１５と、旅客予約情報テーブル４２１と、旅客隊列割当テーブル４２２と、隊列乗換人数情報テーブル４３１と、隊列輸送人数情報テーブル４３２と、隊列乗換中間情報テーブル４３３とを備える。
【００４５】
図７は、図６に示した隊列情報テーブル４１１のデータ構成例を示す図である。
【００４６】
この隊列情報テーブル４１１は、隊列交通システム１００内にある各隊列の構成や状態に関する情報を管理するテーブルである。
【００４７】
隊列情報テーブル４１１は図７に示すように、１つの隊列に対して１レコードずつ作成される。隊列情報テーブル４１１における各レコードは、フィールドとして、隊列ＩＤと、先頭車両と、後続車両と、現在位置とを持つ。隊列ＩＤは隊列の識別子を表す。また、先頭車両は、隊列を先頭で率いる車両の識別子である。また、後続車両は、隊列に所属する車両のうち先頭車両を除いたすべての車両の識別子が格納される。また、現在位置は、隊列の先頭車両の位置を表し、例えば地図座標情報や基準駅からの距離など、隊列の位置を一意に定めることができる情報が格納される。図７に示す例では、隊列２１１が、先頭車両１１１と後続車両１２１〜１２３とから構成され、現在位置が、座標＃１であることが表されている。
【００４８】
図８は、図６に示した隊列運行計画テーブル４１２のデータ構成例を示す図である。
【００４９】
隊列運行計画テーブル４１２は、各隊列の運行計画を管理するテーブルである。隊列運行計画テーブル４１２のレコードは図８に示すように、隊列が、ある駅を発車して次の駅に到着するまでの運行計画の各々に対して１レコードずつ作成される。図８に示す例では、隊列２１１が駅２０１を出発してから駅２０２に到着するまでの計画を表す隊列計画＃１と、駅２０２を出発してから駅２０３に到着するまでの計画を表す隊列計画＃２とが示されている。隊列運行計画テーブル４１２は、隊列計画ＩＤと、隊列ＩＤと、発駅と、発時刻と、着駅と、着時刻と、運行状態とをフィールドとして持つ。隊列計画ＩＤは、各々のレコードの識別子を表す。また、隊列ＩＤは、隊列の識別子である。また、発駅は、隊列の出発駅である。また、発時刻は、隊列が発駅を出発する時刻である。また、着駅は、隊列の到着駅である。また、着時刻、は隊列が着駅に到着する時刻である。また、運行状態は、隊列が当該運行計画に従って走行している状態を表し、例えば値として「運行済」「運行中」「未運行」を持つ。図８に示す例では、隊列２１１が、駅２０１を１０：００に出発し、駅２０２に１０：０４に到着する隊列計画が隊列計画＃１として設定され、すでに運行済である旨が表されている。また、隊列２１１が、その後、駅２０２を１０：０５に出発し、駅２０３に１０：１０に到着する隊列計画が隊列計画＃２として設定され、まだ運行されていない旨が表されている。そして、この隊列運行計画テーブル４１２と隊列情報テーブル４１１とを合わせることで、隊列計画＃１，＃２によって運行される隊列２１１が、先頭車両１１１と後続車両１２１〜１２３とから構成されることが表される。
【００５０】
図９は、図６に示した車両情報テーブル４１３のデータ構成例を示す図である。
【００５１】
車両情報テーブル４１３は、隊列交通システム１００内にある全ての先頭車両および後続車両についての情報を管理するテーブルである。車両情報テーブル４１３は図９に示すように、各々の先頭車両および後続車両に対して１レコードずつ作成される。車両情報テーブル４１３は、車両ＩＤと、装置アドレスと、車両種別と、定員と、車椅子とをフィールドとして持つ。車両ＩＤは、車両の識別子を表す。また、装置アドレスは、運行管理装置１０１と車両が通信を行うためのアドレスである。この値は、例えばＩＰ通信を通信方式として採用した場合、ＩＰアドレスとなる。例えば、図９に示す例では、先頭車両１１１にはＩＰアドレス「１９２．１６８．１．１１１」が割り当てられている。また、車両種別は、車両の種別を表しており、例えば先頭車両や後続車両といった値が格納される。また、定員は、車両に乗車可能な旅客の最大数を表している。また、車椅子は、車両が車椅子の乗車が可能な設備を備えているか否かを表している。なお、車両情報テーブル４１３は、女性専用車両や多言語案内が可能な車両など、旅客を車両に割り当てる際の基準となる車両の属性情報が他にある場合は、これらの情報に関するフィールドを追加してもよい。
【００５２】
図１０は、図６に示した車両運行計画テーブル４１４のデータ構成例を示す図である。
【００５３】
車両運行計画テーブル４１４は、各車両の運行計画を管理するテーブルである。隊列交通システム１００では車両は走行時に必ずいずれかの隊列に属するため、本形態では、車両と隊列運行計画テーブル４１２のレコードを紐付けることにより車両の運行計画を表現する。車両運行計画テーブル４１４は図１０に示すように、車両が、ある駅を発車して次の駅に到着するまでの計画の各々に対して１レコードずつ作成される。車両運行計画テーブル４１４は、車両計画ＩＤと、車両ＩＤと、隊列計画ＩＤと、運行状態とをフィールドとして持つ。車両計画ＩＤは、各々のレコードの識別子を表す。また、車両ＩＤは、車両の識別子である。また、隊列計画ＩＤは、隊列運行計画テーブル４１２のレコードの識別子である。また、運行状態は、車両が当該運行計画に従って走行している状態を表し、例えば値として「運行済」「運行中」「未運行」を持つ。図１０に示す例では、車両運用計画＃１は後続車両１２１が、隊列計画＃１に従って走行することを表している。隊列運行計画テーブル４１２において、隊列計画＃１は、隊列２１１が駅２０１を出発してから駅２０２に到着するまでの計画を表しているため、後続車両１２１は駅２０１から駅２０２の区間では隊列２１１に所属して走行することが分かる。また、運行状態が運行済であるため、後続車両１２１は既に本レコードが示す運行計画に従って走行を完了したことが分かる。
【００５４】
図１１は、図６に示した隊列分割併合テーブル４１５のデータ構成例を示す図である。
【００５５】
隊列分割併合テーブル４１５は、隊列を分割し車両を隊列から離脱させる計画および、車両を隊列へと併合する計画を管理するテーブルである。隊列分割併合テーブル４１５は図１１に示すように、隊列の分割および併合が行われる各々の計画について１レコードずつ作成される。隊列分割併合テーブル４１５は、分割併合ＩＤと、隊列ＩＤと、車両ＩＤと、駅と、区分と、実行時刻とをフィールドとして持つ。分割併合ＩＤは、各々のレコードの識別子を表す。また、隊列ＩＤは、分割または併合を行う隊列の識別子である。また、車両ＩＤは、分割により隊列から分割するまたは、隊列へと併合する車両の識別子である。また、駅は、分割または併合を行う駅である。また、区分は、分割と併合のいずれを実施するかである。また、実行時刻は、分割または併合を実行する時刻である。図１１に示す例では、分割併合＃１は、隊列２１１が駅２０３で後続車両１２２を切り離すことを示し、分割併合＃２は、隊列２１２が駅２０３で後続車両１２２を併合することを示している。隊列分割併合テーブル４１５は、隊列運行計画テーブル４１２と車両運行計画テーブル４１４に含まれる情報を統合することで作成できる。例えば、車両運行計画テーブル４１４に示される同一の後続車両を有する２つの隊列計画について、隊列運行計画テーブル４１２にて異なる隊列が表されている場合、その後続車両は、２つの隊列に共通する駅にて隊列から分割あるいは併合されることになる。
【００５６】
図１２は、図６に示した旅客予約情報テーブル４２１のデータ構成例を示す図である。
【００５７】
旅客予約情報テーブル４２１は、旅客端末から受信した旅客の予約情報を管理するテーブルである。旅客予約情報テーブル４２１は図１２に示すように、各々の旅客予約に対して１レコードずつ作成される。旅客予約情報テーブル４２１は、旅客予約ＩＤと、乗車駅と、降車駅と、乗車希望時刻と、属性とをフィールドとして持つ。旅客予約ＩＤは、各々の旅客予約の識別子を表す。また、乗車駅は、予約した旅客が乗車する駅である。また、降車駅は、予約した旅客が降車する駅である。また、乗車希望時刻は、旅客が乗車駅での乗車を希望する時刻である。また、属性は、旅客を車両に割り当てる際に用いる旅客の属性情報であり、例えば旅客が車椅子乗車を希望するか否かである。なお、性別や旅客案内言語など、旅客を車両に割り当てる際に考慮する情報が他にある場合は適宜値の種類を増やしても良い。図１２に示す例では、１０：００に駅２０１から乗車し、駅２０５で降車する予約が旅客予約＃１として表され、１０：１０に駅２０３から乗車し、駅２０３で降車する予約が旅客予約＃２として表されている。
【００５８】
図１３は、図６に示した旅客隊列割当テーブル４２２のデータ構成例を示す図である。
【００５９】
旅客隊列割当テーブル４２２は、旅客がいつどの隊列、車両に乗車するかを表すテーブルである。旅客隊列割当テーブル４２２は図１３に示すように、旅客予約情報テーブル４２１における旅客予約のレコードと隊列運行計画テーブル４１２における隊列計画のレコードとの組に対して１レコードずつ作成される。旅客隊列割当テーブル４２２は、隊列割当ＩＤと、旅客予約ＩＤと、隊列計画ＩＤと、ステータスと、車両ＩＤと、車両確定状態とをフィールドとして持つ。隊列割当ＩＤは、各々のレコードの識別子を表す。また、旅客予約ＩＤは、旅客予約情報テーブル４２１のレコードの識別子である。また、隊列計画ＩＤは、隊列運行計画テーブル４１２の識別子である。また、ステータスは、旅客の隊列への割当状況を表しており、少なくとも「乗車中」「乗車継続」「予約確定」「仮予約」の４種類の値を持つ。また、車両ＩＤは、車両情報テーブル４１３のレコードの識別子であるが、旅客が乗車する車両が未定の場合はブランクが格納される。また、車両確定状態は、車両ＩＤで示される車両へ旅客が乗車することが確定しているか否かを表す。図１３に示す例では、旅客予約情報テーブル４２１にて示される旅客予約＃１について、隊列計画＃１，＃２が割り当てられている。そして、隊列計画＃１については、隊列計画＃１にて運行される隊列２１１（隊列運行計画テーブル４１２参照）に所属する先頭車両１１１（隊列情報テーブル４１１参照）に旅客が乗車することが確定され、すでに乗車中であることが表されている。また、隊列計画＃２については、隊列計画＃２にて運行される隊列２１１（隊列運行計画テーブル４１２参照）に所属する先頭車両１１１（隊列情報テーブル４１１参照）に旅客が継続して乗車することが確定されているものの、この隊列２１１がまだ運行されていないことで、ステータスが乗車継続であることが表されている。
【００６０】
図１４は、図６に示した隊列乗換人数情報テーブル４３１のデータ構成例を示す図である。
【００６１】
隊列乗換人数情報テーブル４３１は、それぞれの駅における２つの隊列の間の乗り換え人数を表すテーブルである。隊列乗換人数情報テーブル４３１は図１４に示すように、乗り換えが行われる２つの隊列と乗り換え場所の駅の組に対して１レコードずつ作成される。隊列乗換人数情報テーブル４３１は、隊列乗換ＩＤと、駅と、乗換元隊列と、乗換先隊列と、乗換人数と、乗換リンクＩＤとをフィールドとして持つ。隊列乗換ＩＤは、各々のレコードの識別子を表す。また、駅は、乗り換えが行われる駅である。また、乗換元隊列は、乗り換えのために旅客が降車する隊列である。また、乗換先隊列は、乗り換えを行う旅客が乗車する隊列である。また、乗換人数は、乗換元隊列から乗換先隊列へ乗り換えを行う旅客の人数である。ここで、乗換元隊列から乗換先隊列へ車両が融通されるとき、すなわち、車両が所属する隊列が変更されるとき、その車両に乗車したまま隊列間を移動する旅客は乗換人数には含めない。また、乗換リンクＩＤは、後述する隊列乗換中間情報テーブル４３３のレコードの識別子である。図１４に示す例では、駅２０３にて隊列２１２から隊列２１１に乗り換える旅客が１０人であり、その逆に、駅２０３にて隊列２１１から隊列２１２に乗り換える旅客が３人であることが表される。
【００６２】
図１５は、図６に示した隊列輸送人数情報テーブル４３２のデータ構成例を示す図である。
【００６３】
隊列輸送人数情報テーブル４３２は図１５に示すように、隊列運行計画テーブル４１２の各レコードに対して１レコードずつ作成される。隊列輸送人数情報テーブル４３２は、隊列計画ＩＤと、旅客人数と、隊列輸送容量とをフィールドとして持つ。隊列計画ＩＤは、隊列運行計画テーブル４１２のレコードの識別子である。また、旅客人数は、隊列計画ＩＤで示される隊列、区間において乗車する旅客の人数を表す。また、隊列輸送容量は、隊列計画ＩＤで示される隊列、区間において乗車可能な旅客の最大数を表す。本形態では、分割併合により隊列に所属する車両数が増減するため、隊列は走行する区間ごとに輸送容量が異なる可能性がある。図１５に示す例では、隊列計画＃１の旅客人数は１５人、最大輸送容量は２０人となっている。これは隊列計画＃１に関する隊列運行計画テーブル４１２のレコードにより、隊列２１１は、駅２０１から駅２０２へ向かう区間において最大２０人の旅客を乗車させることが可能であるが、実際に乗車予定の旅客の数は１５人であることを表している。
【００６４】
図１６は、図６に示した隊列乗換中間情報テーブル４３３のデータ構成例を示す図である。
【００６５】
隊列乗換中間情報テーブル４３３は、旅客の駅での乗り換えを表すテーブルである。隊列乗換中間情報テーブル４３３は図１６に示すように、各旅客の乗り換え１回ずつに対して１レコードずつ作成される。隊列乗換中間情報テーブル４３３は、乗換リンクＩＤと、乗換元隊列割当ＩＤと、乗換先隊列割当ＩＤとをフィールドとして持つ。乗換リンクＩＤは、各々のレコードの識別子を表す。また、乗換元隊列割当ＩＤ、乗換先隊列割当ＩＤは旅客隊列割当テーブル４２２のレコードの識別子である。
【００６６】
〈処理の流れ〉
以下に、図１に示した運行管理装置１０１における隊列交通制御方法について説明する。以下で説明する運行管理装置１０１の動作方法に対応する各種動作は、運行管理装置１０１がメモリ等に読み出して実行するプログラムによって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
【００６７】
図１７は、図１に示した運行管理装置１０１が隊列の分割併合計画を更新する際の処理の流れを示すフローチャートである。なお、分割併合計画とは、運行管理装置１０１が設定する隊列の運行計画の一部であり、車両の隊列への所属を変更するためのものである。
【００６８】
運行管理装置１０１は、立ち上げられた後、隊列の分割併合計画の更新処理を実行するプログラムが起動されたときに処理５００を開始し、処理５１０、処理５２０、処理５３０、処理６００、処理７００、処理８００、処理５４０、処理５５０を実行する。
【００６９】
処理５１０は、処理５２０、処理５３０、処理６００、処理７００、処理８００、処理５４０、処理５５０を反復する処理である。反復は予め定められた時間間隔で周期的に実行され、例えば１０秒周期で実行される。
【００７０】
処理５２０は、現在の隊列交通システム１００の運行状況に従って隊列および車両の状態を更新する処理であり、運行管理部３２０により実行される。
【００７１】
運行管理部３２０は、処理５２０において、隊列情報テーブル４１１および隊列運行計画テーブル４１２の更新を行う。隊列情報テーブル４１１の更新は、例えば隊列への車両の併合が完了した際に、隊列情報テーブル４１１における後続車両のフィールドに、併合された車両の識別子を加え、その後、隊列の先頭車両から受信した位置情報を、現在位置のフィールドに反映させる処理として実現できる。隊列運行計画テーブル４１２の更新は、例えば隊列情報テーブル４１１の現在位置の前回状態と今回状態とを比較することで、運行状態を未運行から運行中へ、あるいは運行中から運行済に更新する処理として実現できる。また、道路渋滞などにより運行管理装置１０１がオペレータから発車時刻の変更指示を受信した際には、当該変更指示を隊列運行計画テーブル４１２へ反映させる処理も行う。
【００７２】
処理５３０は、旅客の予約情報を更新、集計する処理であり、旅客情報管理部３１０により実行される。
【００７３】
旅客情報管理部３１０は、処理５３０において、旅客端末１３１から受信した旅客の予約情報を旅客予約情報テーブル４２１へ反映させ、その後、旅客隊列割当テーブル４２２、隊列乗換人数情報テーブル４３１および隊列輸送人数情報テーブル４３２をそれぞれ更新する。
【００７４】
旅客情報管理部３１０における旅客隊列割当テーブル４２２の更新手順について以下に説明する。
【００７５】
まず、旅客隊列割当テーブル４２２のすべてのレコードのステータスを更新する。ステータスの更新では、隊列運行計画テーブル４１２にて対応する隊列計画ＩＤのレコードのステータスが運行中の場合、ステータスに乗車中を設定するとともに、車両確定状態に確定を設定する。また、旅客隊列割当テーブル４２２内に旅客予約ＩＤと車両ＩＤが自身と等しい他のいずれかのレコードのステータスが乗車中であるものを含む場合、その旅客が他の隊列計画で示される次の区間においても継続して同一の車両に乗車することとなるため、ステータスに乗車継続を設定する。隊列運行計画テーブル４１２のレコードのステータスが運行済の場合はレコードを削除する。
【００７６】
次に、旅客予約情報テーブル４２１のレコードのうち、新たに追加されたレコードを抽出する。
【００７７】
次に、抽出された各々のレコードに対して、後述する隊列運行計画抽出手順に従って隊列運行計画テーブル４１２の中からレコード群を抽出する。
【００７８】
次に、隊列運行計画テーブル４１２から抽出されたレコードと旅客予約情報テーブル４２１のレコードの組の各々について、対応するレコードを旅客隊列割当テーブル４２２に追加作成する。追加作成するレコードでは、隊列計画ＩＤに隊列運行計画テーブル４１２のレコードの識別子を、旅客予約ＩＤに旅客予約情報テーブル４２１のレコードの識別子を、ステータスに仮予約を、車両確定状態に未定をそれぞれ設定する。隊列割当ＩＤは他のレコードと重複しない任意の値で良い。また、車両ＩＤはブランクでよい。
【００７９】
ここで、隊列運行計画抽出手順について以下に説明する。
【００８０】
まず、隊列運行計画テーブル４１２のレコードのうち、運行状態が未運行のものを抽出する。
【００８１】
次に、抽出されたレコードのうち、同じ発駅を持ち、かつ同じ着駅を持つものをグループ化する。
【００８２】
次に、各グループの中から、発時刻が最も早いレコードを抽出する。
【００８３】
次に、得られたレコード群の各々をノードとし、各々のノードから、当該ノードの着駅と一致する発駅を持つ別のノードに対して有向リンクを張ることで有向グラフを生成する。
【００８４】
次に、旅客予約情報テーブル４２１の乗車駅を発駅とするノードから、有向リンクを順方向に辿っていくことで旅客予約情報テーブル４２１の降車駅に辿り着くすべてのパスを抽出する。
【００８５】
次に、抽出されたパスのうち、パス上のノードが最も少ないものを選ぶ。
【００８６】
最後に、パス上のノードに対応するレコードを抽出する。
【００８７】
旅客情報管理部３１０における隊列乗換人数情報テーブル４３１の更新手順について以下に説明する。
【００８８】
まず、隊列乗換人数情報テーブル４３１および隊列乗換中間情報テーブル４３３の全レコードを削除する。
【００８９】
次に、旅客隊列割当テーブル４２２の各々のレコードをノードとし、隊列運行計画テーブル４１２を参照し、各々のノードから、当該ノードの隊列計画ＩＤの着駅と一致する隊列計画ＩＤの発駅を持つ別のノードに対して有向リンクを張ることで有向グラフを生成する。
【００９０】
次に、各々の有向リンクの中から、始点側のノードの隊列計画の隊列ＩＤと終点側のノードの隊列計画の隊列ＩＤが異なるものを全て抽出する。
【００９１】
次に、抽出された有向リンクの各々について、隊列乗換中間情報テーブル４３３のレコードを作成する。この際、レコードの乗換リンクＩＤは他のレコードと重複のない任意の値を、乗換元隊列割当ＩＤは始点側ノードの識別子を、乗換先隊列割当ＩＤは終点側ノードの識別子をそれぞれ設定する。
【００９２】
次に、車両運行計画テーブル４１４および旅客隊列割当テーブル４２２を参照し、隊列乗換中間情報テーブル４３３のレコードのうち、乗換元隊列割当ＩＤの車両ＩＤと乗換先隊列割当ＩＤの車両ＩＤとが異なるものを抽出する。
【００９３】
最後に、抽出された各々のレコードと対応する隊列乗換人数情報テーブル４３１のレコードを更新する。対応するレコードは、乗換元隊列割当ＩＤの着駅と駅とが、乗換元隊列割当ＩＤの隊列ＩＤと乗換元隊列とが、乗換先隊列割当ＩＤの隊列ＩＤと乗換先隊列とがそれぞれ一致するレコードとする。レコードの更新は、対応レコードの乗換人数に１を加算することで実現できる。なお、対応レコードがない場合は、隊列乗換人数情報テーブル４３１に新規のレコードを追加する。この際、乗換人数には１人と設定する。
【００９４】
旅客情報管理部３１０における隊列輸送人数情報テーブル４３２の更新手順について以下に説明する。
【００９５】
まず、隊列輸送人数情報テーブル４３２の全レコードを削除する。
【００９６】
次に、隊列運行計画テーブル４１２の各々のレコードに対して、同一の隊列計画ＩＤを持つレコードを隊列輸送人数情報テーブル４３２に追加する。この際、レコードの隊列輸送容量と旅客人数には初期値として０人を設定する。
【００９７】
次に、隊列輸送人数情報テーブル４３２の各々のレコードに対して隊列輸送容量を設定する。隊列輸送容量は、まず隊列情報テーブル４１１から対応するレコードを検索し、次に先頭車両と後続車両にそれぞれ設定されている車両に対応するレコードを車両情報テーブル４１３から抽出し、最後に抽出されたレコードの定員に設定されている人数の総和を取ることで算出できる。
【００９８】
最後に、隊列輸送人数情報テーブル４３２の各々のレコードに対して旅客人数を設定する。旅客人数は、旅客隊列割当テーブル４２２から同一の隊列計画ＩＤを持つ全てのレコードの総数として算出できる。
【００９９】
処理６００、処理７００、処理８００は、分割併合計画変更部３３０により実行される処理である。
【０１００】
以下に、処理６００の詳細について説明する。
【０１０１】
図１８は、図１７に示した処理６００の流れを示すフローチャートである。
【０１０２】
処理６００は、旅客の行先に基づいて隊列の分割併合計画を変更するものである。
【０１０３】
処理６０１は、駅での乗換人数が閾値を超える２つの隊列の組を抽出する処理である。本処理は、隊列乗換人数情報テーブル４３１から乗換人数が閾値を超えるレコードを抽出することで実現できる。なお、閾値の定め方としては、例えば、車両の乗車定員の平均値に０．５などの係数をかけたものとすればよい。あるいは、過去の輸送状況のログデータより車両の平均乗車人数を算出し、その値に例えば１．２などの係数をかけたものとしてもよい。この際、平均乗車人数は輸送区間や時間帯ごとに分けて算出してもよい。
【０１０４】
処理６１０は、処理６０１で抽出された各々のレコードについて、処理６１１、処理６１２、処理６１３、処理６１４、処理９００、処理６２１を反復する処理である。
【０１０５】
処理６１１は、反復対象のレコードの乗換元隊列から分割の候補となる車両を選定する処理である。分割の候補となる車両は、例えば分割が行われる駅で乗り換える旅客の乗車人数が最も多い車両とすればよい。もしくは、分割が行われる駅で乗り換える旅客の乗車人数から分割が行われる駅で乗り換えない旅客の乗車人数を減算した値が最も大きな車両としてもよい。もしくは、分割が行われる駅で乗り換えない旅客の乗車人数が０人である車両としてもよい。もしくは、分割が行われる駅で乗り換える旅客の乗車人数と乗り換えない旅客の乗車人数に対して何らかの演算を加えた数値を基準として車両を決定してもよい。
【０１０６】
各々の車両について、分割が行われる駅で乗り換える旅客の人数と乗り換えない旅客の人数は、隊列乗換人数情報テーブル４３１の乗換リンクＩＤを起点とし、隊列乗換中間情報テーブル４３３、旅客隊列割当テーブル４２２を辿っていくことで集計することができる。
【０１０７】
なお、分割が望ましくない車両については予め候補から除外してもよい。分割が望ましくない車両とは、例えば、分割により、旅客隊列割当テーブル４２２の車両確定状態が確定であるレコードの車両ＩＤについて変更が必要となるような車両である。
【０１０８】
処理６１２は、処理６１１で得られた車両を乗り換え元の隊列から乗り換え先の隊列へと融通した場合に、乗り換え元の隊列の輸送力が不足するか否かを確認する処理である。これは、例えば、車両を融通した後の隊列の車両構成に従って隊列情報テーブル４１１を更新し、次に、上述した隊列輸送人数情報テーブル４３２の更新手順に従って隊列輸送人数情報テーブル４３２を更新し、最後に、隊列輸送人数情報テーブル４３２の隊列輸送容量が旅客人数を下回っていないかを判定すればよい。
【０１０９】
処理６１３は、処理６１２の判定結果に応じて処理フローを分岐させる処理である。処理６１３の結果、車両を融通した後でも乗り換え元の隊列の輸送力が不足しないことが判明した場合は処理６１４を実行する。そうでない場合は処理９００を実行する。
【０１１０】
処理６１４は、処理６１１で得られた車両を乗り換え元の隊列から乗り換え先の隊列へと融通するように分割併合計画を変更修正する処理である。処理６１４では、処理６１２で実施した隊列情報テーブル４１１と上述した隊列輸送人数情報テーブル４３２の更新内容を確定させ、その後、車両運行計画テーブル４１４および旅客隊列割当テーブル４２２を更新する。
【０１１１】
車両運行計画テーブル４１４の更新手順について以下に説明する。
【０１１２】
まず、車両運行計画テーブル４１４のレコードのうち、車両ＩＤが処理６１１で得られた車両であり、かつ隊列計画ＩＤが車両融通後の計画であるものを全て削除する。
【０１１３】
次に、隊列運行計画テーブル４１２から、乗り換え先の隊列の計画であり、かつ車両融通後に関するレコードを抽出する。
【０１１４】
次に、抽出されたレコードの各々について、対応するレコードを車両運行計画テーブル４１４に追加する。追加されたレコードについて、車両計画ＩＤは他のレコードと重複しない任意の値を、車両ＩＤは処理６１１で得られた車両を、隊列計画ＩＤは対応する隊列運行計画テーブル４１２のレコードの識別子を、運行状態は未運行をそれぞれ設定する。
【０１１５】
旅客隊列割当テーブル４２２の更新手順について以下に説明する。
【０１１６】
まず、車両融通の時点で融通車両に乗車している旅客に関するレコードを更新する。これは、当該旅客に関するレコードのうち、隊列計画ＩＤが現在から車両融通直後までの間のものについて、車両ＩＤに処理６１１で得られた車両を、車両確定状態に確定を、ステータスに乗車継続をそれぞれ設定すればよい。
【０１１７】
次に、車両融通時点で乗車している旅客の数が車両の定員より少ない場合、車両を融通する駅で乗り換えを行う旅客に関するものであり、かつステータスが予約確定であり、かつ隊列計画ＩＤが現在から車両融通直後までの間のレコードについて、定員を超えない範囲で、車両ＩＤに処理６１１で得られた車両を、車両確定状態に確定をそれぞれ設定する。
【０１１８】
処理９００は、処理６１３において車両を融通した後に乗り換え元の隊列の輸送力が不足すると判定された場合に実行する処理である。処理９００では、輸送力に余裕がある別の隊列から車両を融通するように分割併合計画を修正する。処理９００の詳細は後述する。処理６００から処理９００を呼び出す際には、例えば輸送力の不足を判定する基準として「隊列輸送人数情報テーブル４３２の旅客人数が隊列輸送容量を超えていること」を与える。
【０１１９】
処理６２１は、処理９００の結果に応じて処理フローを分岐させる処理である。処理９００の結果、車両融通が成功した場合は処理６１４を実行する。そうでない場合は処理６１０の次の反復を実行する。
【０１２０】
上記一連の処理により、ある隊列に所属する車両の人数閾値を超える旅客の行先がその隊列の運行計画にて経由しない乗降地点である場合に、その車両の所属を、その乗降地点を経由する隊列に変更するように車両を融通することになる。これにより、多くの旅客が、車両を乗り換えることなく行先に到達することができる。
【０１２１】
以下に、処理９００の詳細について説明する。
【０１２２】
図１９は、図１８に示した処理９００の流れを示すフローチャートである。
【０１２３】
処理９００は、処理９１０、処理９１１、処理９１２、処理９２０、処理９２１、処理９３０、処理９３１、処理９３２、処理９３３、処理９３４、処理９００、処理９４１を実行する処理である。ここで、処理９００の実行の際には、呼び出し元の処理から輸送力の不足を判定する基準を受け取る。
【０１２４】
処理９１０は、輸送力が不足する区間が無くなるまで処理９１１、処理９１２、処理９２０、処理９２１、処理９３０、処理９３１、処理９３２、処理９３３、処理９３４、処理９００、処理９４１を反復する処理である。ここで、輸送力が足りない区間の有無は、呼び出し元の処理から受け取った輸送力の不足を判定する基準に従う。
【０１２５】
処理９１１は、隊列の輸送力が最も不足する区間を選ぶ処理である。処理９１０についても説明したように、これは呼び出し元の処理から受け取った輸送力の不足を判定する基準に従う。
【０１２６】
処理９１２は、隊列の現在位置から輸送力が不足している区間までの間にある駅を抽出する処理である。駅の抽出は、例えば輸送力が不足している区間に対応する隊列計画ＩＤを隊列運行計画テーブル４１２のレコードの中から検索し、現在走行中の隊列計画ＩＤから検索されたレコードに至るまでの隊列計画から着駅を順次取り出していけばよい。
【０１２７】
処理９２０は、処理９１２で抽出された各々の駅に対して処理９２１、処理９３０、処理９３１、処理９３２、処理９３３、処理９３４、処理９００、処理９４１を反復する処理である。
【０１２８】
処理９２１は、輸送力が不足している隊列よりも先に、処理９２０の反復対象となっている駅を通る隊列を抽出する処理である。これは隊列運行計画テーブル４１２の着駅および着時刻を参照することで実現できる。
【０１２９】
処理９３０は、処理９２１で抽出された各々の隊列に対して処理９３１、処理９３２、処理９３３、処理９３４、処理９００、処理９４１を反復する処理である。
【０１３０】
処理９３１は、処理９３０で反復対象となっている隊列に属する車両のうち、処理９２０の駅を走行した後の区間において、予約が確定している旅客の数が最も少ないものを抽出する処理である。これは、例えば当該区間、隊列に対応する旅客隊列割当テーブル４２２のレコードを車両ＩＤでグループ化し、車両確定状態が確定となっているものが最も少ないグループの車両ＩＤを決定することにより実現できる。
【０１３１】
処理９３２は、処理９３１で抽出された車両を輸送力が不足している隊列に移し替えることで、処理９３０の隊列の輸送力が不足するか否かを判定する処理である。これは、前述の処理６１２と同様の手段により実現できる。
【０１３２】
処理９３３は、処理９３２の判定結果に応じて処理フローを分岐させる処理である。処理９３２の結果、車両を融通した後でも処理９３０の隊列の輸送力が不足しないことが判明した場合は処理９３４を実行する。そうでない場合は処理９００を実行する。
【０１３３】
処理９３４は、処理９３１にて抽出された車両が処理９３０の隊列から融通先の隊列へと移動するように分割併合計画を修正する処理である。これは、上述した処理６１４と同様の手段により実現できる。
【０１３４】
処理９４１は、処理９００の結果に応じて処理フローを分岐させる処理である。処理９００の結果、車両融通が成功した場合は処理９３４を実行する。そうでない場合は処理９３０の次の反復を実行する。
【０１３５】
以下に、処理７００の詳細について説明する。
【０１３６】
図２０は、図１７に示した処理７００の流れを示すフローチャートである。
【０１３７】
処理７００は、処理７０１、処理７１０、処理９００を実行する処理である。
【０１３８】
処理７０１は、いずれかの走行区間において旅客輸送数が閾値を超える隊列を抽出する処理である。処理７０１は、例えば、隊列輸送人数情報テーブル４３２から旅客人数と隊列輸送容量の比が第１の閾値を超えるレコードの隊列計画ＩＤを抽出し、隊列運行計画テーブル４１２を用いてそれらの隊列計画ＩＤから隊列ＩＤを得ることで実現できる。閾値は例えば０．９といった定数とすればよい。
【０１３９】
処理７１０は、処理７０１で得られた隊列の各々について、前述の処理９００を反復する処理である。処理７００から処理９００を呼び出す際には、輸送力の不足を判定する基準として処理７０１と同一の基準を与える。
【０１４０】
そして、処理９００において、輸送力に余裕がある別の隊列、例えば、乗車予定人数が第２の閾値を下回る隊列に所属する車両を、処理７０１にて抽出された隊列に併合させる。
【０１４１】
上記一連の処理により、ある隊列における乗車予定人数が閾値を超える場合に、乗車予定人数が閾値を下回る隊列に所属する車両の所属を、乗車予定人数が閾値を超える隊列に変更するように車両を融通することになる。これにより、空席が目立つ隊列の車両を有効に活用することができる。
【０１４２】
以下に、処理８００の詳細について説明する。
【０１４３】
図２１は、図１７に示した処理８００の流れを示すフローチャートである。
【０１４４】
処理８００は、処理８０１、処理８１０、処理９００を実行する処理である。
【０１４５】
処理８０１は、いずれかの走行区間において隊列の輸送容量が第３の閾値を下回る隊列を抽出する処理である。処理８０１は、例えば、隊列輸送人数情報テーブル４３２から隊列輸送容量の値が閾値以下のレコードの隊列計画ＩＤを抽出し、隊列運行計画テーブル４１２を用いてそれらの隊列計画ＩＤから隊列ＩＤを得ることで実現できる。第３の閾値となる輸送容量は、例えば１０人などの定数とすればよい。あるいは、隊列の平均定員数に０．３といった係数をかけ合わせたものを用いてもよい。
【０１４６】
処理８１０は、処理８０１で得られた隊列の各々について、前述の処理９００を反復する処理である。処理８００から処理９００を呼び出す際には、輸送力の不足を判定する基準として処理８０１と同一の基準を与える。
【０１４７】
そして、処理９００において、輸送力に余裕がある別の隊列、例えば、輸送容量が第４の閾値を超える隊列に所属する車両を、処理８０１にて抽出された隊列に併合させる。
【０１４８】
上記一連の処理により、ある隊列における輸送容量が第３の閾値を下回る場合、輸送容量が第４の閾値を超える隊列に所属する車両の所属を、輸送容量が第３の閾値を下回る隊列に変更するように車両を融通することになる。これにより、輸送容量が低下し、旅客が所望の行先の隊列の車両に乗車できなくなることが回避される。
【０１４９】
以上で分割併合計画変更部３３０の実行処理は終了し、駅での乗換旅客数、予約待ち人数、車両空き人数に基づいて隊列の分割併合計画が修正された。
【０１５０】
再び、図１７の説明に戻る。分割併合計画変更部３３０の実行処理が終了した後は、処理５４０に移る。
【０１５１】
処理５４０は、旅客への車両割当を更新する処理であり、旅客情報管理部３１０により実行される。
【０１５２】
旅客情報管理部３１０は、処理５４０においてまず、旅客隊列割当テーブル４２２からステータスが仮予約のレコードを抽出する。仮予約のレコードは、予約は受け付けられているものの、乗車する車両がまだ決まっていないものである。
【０１５３】
次に、これらのレコードについて、旅客隊列割当テーブル４２２への登録が早い順にステータスを予約確定へと移行させる。ただし、隊列の乗車人数が最大輸送容量を超えている場合はステータスを変更しない。予約確定は、乗車する車両が決定し、後述するように車両ＩＤが設定されたことを表す。
【０１５４】
次に、旅客隊列割当テーブル４２２から車両ＩＤが空欄のレコードを抽出する。
【０１５５】
次に、これらのレコードに対して車両ＩＤを設定する。設定する車両ＩＤは、例えば、旅客が乗車する隊列を構成する車両のうち、定員に空きがあり、かつ当該旅客と行先を同じくする旅客の乗車人数が最も多いものとすればよい。行先が同一の旅客が乗車する車両が同一となるようにしてもよい。あるいは、複数の行先をその方面に合わせてグループとして纏め、グループを同じくする旅客を同じ車両に纏めてもよい。図２に示した駅の配置を例として挙げると、例えば、駅２０３を経由した駅２０２行きと、駅２０３を経由した駅２０１行きとを同じ方面のグループとして扱えばよい。グループの決定方法としては、例えば、駅を主要駅とそれ以外とに区分し、隣接する２つの主要駅を結ぶ有向リンクを作成し、行先が有効リンク上にある旅客は、有効リンクの終点となっている駅を代表してその行先とみなせばよい。あるいは、車椅子の旅客は車椅子乗車が可能な車両に割り当てるなど、旅客属性と車両属性により割当車両を決定してもよい。なお、主要駅の候補としては、分岐駅や乗換駅、乗降が多い駅などを設定することが考えられる。このように、行先が同一の旅客を纏めることで、旅客は少ない乗り換えで行先に到達することができる。
【０１５６】
処理５５０は、分割併合タイミングが来た隊列、車両に対して分割併合指示を行う処理であり、運行管理部３２０により実行される。
【０１５７】
運行管理部３２０は、処理５５０においてまず、隊列分割併合テーブル４１５の全レコードを削除する。
【０１５８】
次に、車両運行計画テーブル４１４を車両ＩＤでグループ化する。
【０１５９】
次に、各々のグループを運行順に並び替える。
【０１６０】
次に、前後する２つのレコードで所属する隊列が変化するものに対して、新たに隊列分割併合テーブル４１５のレコードを作成する。なお、車両が所属する隊列が変化する際、分割と併合が行われるため、隊列分割併合テーブル４１５のレコードは２つ作成される。
【０１６１】
次に、隊列分割併合テーブル４１５のレコードのうち、現在時刻が実行時刻を経過しているものを抽出する。
【０１６２】
最後に、抽出されたレコードが示す隊列、車両に対して分割または併合の指示を、通信装置２８０を介して送信する。
【０１６３】
隊列を構成する車両の各々は、運行管理装置１０１からの指示を受け、隊列としての連結、またはその解除といった制御を行う。
【０１６４】
〈発明の効果〉
以上のように本形態によれば、旅客からの車両の乗車要求と車両の乗車可能な旅客の人数とに基づいて、複数の隊列間で所属する車両を融通するので、輸送需要に変動がある場合であっても、限られた台数の車両を効率的に利用して、予約状況や乗車状況に応じて旅客を適切な車両へと振り分けることができ、また、隊列の分割併合計画の修正により隊列間で柔軟に車両を融通することが可能となる。これにより、ある区間では旅客が乗車待ちしているが、他の区間では車両の空席が目立つといった車両利用の非効率性を解消することができる。
【０１６５】
また、需要変動の際にも柔軟な輸送力配分ができるようになるため、車両の総量や予備車両数を削減することができ、隊列交通システムの導入や運用にかかるコストが大きく低下する。
【０１６６】
さらに、満席のため乗車できない旅客が減少するため、旅客の待ち時間が短縮され、旅客利便性が大きく向上する。加えて、車両内の旅客が行先を同じくしている場合は、目的地に向け複数の隊列間で車両を受け渡していくことができるため、旅客は少ない乗り換え回数で目的地まで到達することができるようになる。
【０１６７】
なお、本発明は、上述した実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。例えば、本形態では、隊列交通システム１００に３台の先頭車両と５台の後続車両が存在している構成を例に挙げて説明したが、先頭車両と後続車両の数は任意であっても同様の説明が成り立つことは言うまでもない。また、旅客端末の数量についても同様である。
【０１６８】
また、隊列交通システムは発明の実施の一形態にすぎない。本発明における実施の形態では、自動車が電子的に連結を行うものとしているが、当然、自動車が物理的な連結を行っていてもよいし、自動車以外の移動体であってもよい。輸送対象も旅客に限ったものではなく、貨物を輸送する場合などに本発明は広く用いることができる。
【符号の説明】
【０１６９】
１００…隊列交通システム、１０１…運行管理装置、１１１〜１１３…先頭車両、１２１〜１２５…後続車両、１３１…旅客端末、１４１，１４２…通信伝送路、２０１〜２０７…駅、２１０…中央処理装置、２２０…主記憶装置、２３０…内部バス、２４０…バスインタフェース、２５０…外部バス、２６０…入出力装置、２６１…入出力装置インタフェース、２７０…大容量記憶装置、２７１…大容量記憶装置インタフェース、２８０…通信装置、２８１…通信装置インタフェース、３１０…旅客情報管理部、３２０…運行管理部、３３０…分割併合計画変更部、４１１…隊列情報テーブル、４１２…隊列運行計画テーブル、４１３…車両情報テーブル、４１４…車両運行計画テーブル、４１５…隊列分割併合テーブル、４２１…旅客予約情報テーブル、４２２…旅客隊列割当テーブル、４３１…隊列乗換人数情報テーブル、４３２…隊列輸送人数情報テーブル、４３３…隊列輸送中間情報テーブル
【図１】
2019028527.tif 000003
【図２】
2019028527.tif 000004
【図３】
2019028527.tif 000005
【図４】
2019028527.tif 000006
【図５】
2019028527.tif 000007
【図６】
2019028527.tif 000008
【図７】
2019028527.tif 000009
【図８】
2019028527.tif 000010
【図９】
2019028527.tif 000011
【図１０】
2019028527.tif 000012
【図１１】
2019028527.tif 000013
【図１２】
2019028527.tif 000014
【図１３】
2019028527.tif 000015
【図１４】
2019028527.tif 000016
【図１５】
2019028527.tif 000017
【図１６】
2019028527.tif 000018
【図１７】
2019028527.tif 000019
【図１８】
2019028527.tif 000020
【図１９】
2019028527.tif 000021
【図２０】
2019028527.tif 000022
【図２１】
2019028527.tif 000023