(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-28
(45)【発行日】2025-02-05
(54)【発明の名称】再計画案出力装置
(51)【国際特許分類】
G06Q 50/40 20240101AFI20250129BHJP
【FI】
G06Q50/40
(21)【出願番号】P 2022008923
(22)【出願日】2022-01-24
【審査請求日】2024-02-16
(31)【優先権主張番号】P 2021046663
(32)【優先日】2021-03-19
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】524132520
【氏名又は名称】日立ヴァンタラ株式会社
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】加藤 晶子
(72)【発明者】
【氏名】皆川 剛
【審査官】三吉 翔子
(56)【参考文献】
【文献】特開2020-040520(JP,A)
【文献】特開2012-168739(JP,A)
【文献】特開平07-132827(JP,A)
【文献】特開2017-151810(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q10/00-99/00
(57)【特許請求の範囲】
【請求項1】
担当車両の運行によって、予定された行程を順に行う運行計画に対する再計画案を出力する再計画案出力装置であって、
前記予定された前記行程のうち、前記担当車両による遂行が困難となった遂行難行程が発生した場合、他の車両を前記遂行難行程の代行車両の候補として決定する再計画候補決定部と、
前記代行車両の候補が複数設定された場合、前記運行計画に規定される各々の前記行程の担当車両の変更回数および追加的コストを考慮して、複数の前記代行車両の候補から前記遂行難行程の代行車両を選出する代行車両選出部と、
を備え
、
前記行程は、各々、始端からの出発時刻および終端までの到着時刻が規定されており、
前記再計画候補決定部は、前記遂行難行程の出発時刻から到着時刻までの時間帯と重複しない行程を遂行する前記他の車両を、前記代行車両の候補として決定し、
前記代行車両選出部は、前記変更回数および前記追加的コストを表す係数を持ち、前記代行車両の候補を選択するかどうかを変数として持つ相互作用モデルを用い、前記相互作用モデルの値が最小になる解に基づいて選択される前記代行車両の候補を、前記代行車両に選出する再計画案出力装置。
【請求項2】
請求項
1に記載の再計画案出力装置において、
前記代行車両選出部は、複数の前記代行車両の候補から、前記運行計画に規定される各々の前記行程の担当車両の変更回数が少ない車両を、前記代行車両に選出する、
再計画案出力装置。
【請求項3】
請求項
1に記載の再計画案出力装置において、
前記代行車両選出部は、複数の前記代行車両の候補から、前記追加的コストが少なくなる車両を、前記代行車両に選出する、
再計画案出力装置。
【請求項4】
請求項1に記載の再計画案出力装置において、
前記運行計画に規定されている車両のノードと、各々の前記車両に割り当てられている前記行程のノードと、を実行順に有向リンクで繋いだ有向グラフを生成するグラフ生成部を備え、
前記再計画候補決定部は、前記有向グラフにおいて、決定された前記代行車両の候補に係るノードから、前記遂行難行程のノードに向けて前記有向リンクを繋ぐことにより、前記グラフ生成部に前記再計画案の候補としてのグラフを生成させる、
再計画案出力装置。
【請求項5】
請求項
4に記載の再計画案出力装置において、
前記代行車両選出部は、前記有向グラフにおいて、選出された前記代行車両に係るノードから、前記遂行難行程のノードに向けて前記有向リンクを繋ぐことにより、前記グラフ生成部に前記再計画案としてのグラフを生成させる、
再計画案出力装置。
【請求項6】
請求項1に記載の再計画案出力装置において、
前記運行計画の情報と、前記遂行難行程が発生した時刻および該遂行難行程の担当車両を含む事故情報と、を入力データとして格納する入力データ記憶部を備
える、
再計画案出力装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、再計画案出力装置に関し、非限定的な一具体例としては、予定されていた交通機関の運用計画を変更する必要が生じた際に、専用のプロセッサ等を用いて運行計画を自動で再立案する技術に関する。
【背景技術】
【0002】
公共交通機関では、乗り物(車両や機材)の不具合といった様々な不測の事態(以下、事故)の発生により、計画通りの運行が不可能になるケースがしばしば発生する。
【0003】
そして、上記のような事故発生の際に、事故発生以降の運行計画を再立案することが必要となる。従来、この運行計画を再立案する作業は、オペレータ等の手作業(手動での入力操作)に依存するところが大きかった。
【0004】
かかる運行計画の再立案に関し、機械的な処理が可能になれば、脱属人的かつ客観的指標に基づいた再計画立案を行うことが可能となる。このため、再計画立案の自動化へのシーズないしニーズが高まっていると考えられる。
【0005】
本発明者らは、鋭意研究を行い、このような再計画の立案は「最適化問題」として計算機で解くことができるとの知見ないしコンセプトのもと、以下のように思案するに至った。
【0006】
すなわち、実社会の大規模な最適化問題を高速で解くには、例えばイジングモデルなどの「相互作用モデル」で問題を記述し、CMOSアニーリングのような「最適化問題専用計算技術」を用いて計算を実行する方法が考えられる。相互作用モデルを用いて再計画立案を行うにあたり、複雑な制約条件を効率的に扱う方法として、列生成法等を用いて部分問題の候補生成を行った後に、集合分割問題や集合被覆問題を解く手段を用いることが有力である。
【0007】
上記に関連する従来技術として、例えば下記特許文献1に記載の技術が挙げられる。
【先行技術文献】
【特許文献】
【0008】
【発明の概要】
【発明が解決しようとする課題】
【0009】
特許文献1は、一般的な集合分割問題/集合被覆問題を相互作用モデルによって記述し、最適化問題を高速に解くための構成を記載している。しかしながら、かかる特許文献1は、運行計画再立案を取り扱うための具体的な方針を教示していない。また、特許文献1に記載の方法を用いて運行計画の再立案を実行すると、運行計画の変更箇所が多く発生し、実際の業務に適していないと考えられる。
【0010】
本発明の目的は、元の計画からの変更回数や変更によって生じる損益を抑えた再計画案を自動立案することが可能な再計画案出力装置を提供することである。
【課題を解決するための手段】
【0011】
本発明の好ましい一側面は、担当車両の運行によって、予定された行程を順に行う運行計画に対する再計画案を出力する再計画案出力装置であって、
前記予定された前記行程のうち、前記担当車両による遂行が困難となった遂行難行程が発生した場合、他の車両を前記遂行難行程の担当車両の候補として決定する担当車両候補決定部と、
前記担当車両の候補が複数設定された場合、前記運行計画に規定される各々の前記行程の担当車両の変更回数および追加的コストを考慮して、複数の前記担当車両の候補から前記遂行難行程の担当車両を選出する担当車両選出部と、
を備える。
【発明の効果】
【0012】
本発明によれば、担当車両による遂行が困難となった遂行難行程が発生した場合、複数の担当車両の候補のうち、担当車両の変更回数および追加的コストを考慮して、遂行難行程の担当車両を選出することができる。したがって、元の計画からの変更回数や変更によって生じる損益を抑えた再計画案を自動立案することができる。
【図面の簡単な説明】
【0013】
【
図1】本発明の再計画案出力装置が実装された情報処理システムの概要を示すブロック図である。
【
図2】
図1に示す情報処理システムの処理の流れを示すフローチャートである。
【
図3】情報処理システムにおける入出力支援部に格納される情報等を説明する図である。
【
図4】一日の運行計画(元の割当計画)の一例を説明する図である。
【
図6】
図2のステップS2のサブルーチンに対応するフローチャートである。
【
図7】運行計画の遂行の途中で車両3に事故が発生し、行程8が遂行難行程となった場合を説明する有向グラフの例を示す図である。
【
図8】種々の有向グラフを生成するための処理の流れの一例を説明するフローチャートである。
【
図9】
図7に示す有向グラフに基づいて、再計画候補および行路候補を生成した状態を説明する有向グラフ(変更候補グラフ)である。
【
図10】
図6のステップS22のサブルーチンに対応するフローチャートである。
【
図11】2通りの再計画候補(行路候補)における変更回数、追加的コスト等の違いを説明するための有向グラフである。
【
図12】計画候補(変更候補表)の一例を示す図である。
【
図13】加工された計画候補、計画実施用情報、変更情報の一例を説明するための有向グラフである。
【
図14】
図12の計画候補(変更候補表)のうち、相互作用モデルの係数値となる行列(Aij)及びベクトル(Cj)となる部分の一例を示す図。
【
図15】変更情報のうち、相互作用モデルの係数値となる行列(Dij)となる部分の一例を示す図。
【発明を実施するための形態】
【0014】
本発明の実施の形態について、図面を参照して詳細に説明する。ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【0015】
以下に説明する発明の構成において、同一部分又は同様な機能を有する部分には同一の符号を異なる図面間で共通して用い、重複する説明は省略することがある。
【0016】
同一あるいは同様な機能を有する要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。ただし、複数の要素を区別する必要がない場合には、添字を省略して説明する場合がある。
【0017】
以下の説明では、「記憶装置」は、メモリと永続記憶装置の少なくともメモリでよい。「メモリ」は、一つ以上の記憶デバイスの一例である一つ以上のメモリデバイスであり、典型的には主記憶デバイスでよい。
【0018】
また、以下の説明では、「プロセッサ」は、一つ以上のプロセッサデバイスでよい。少なくとも一つのプロセッサデバイスは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサデバイスを使用することができる。
【0019】
さらに、以下の説明では、説明の便宜のため、ソフトウエアブロックが主体となって処理を実行する旨を記述する場合があるが、実際の処理の主体はプロセッサであることに注意されたい。
【0020】
<<本実施形態の概要>>
本発明を適用した実施の形態は、担当車両の運行によって、予定された行程を順に行う運行計画に対する再計画案を出力する再計画案出力装置として、コンピュータまたはコンピュータシステム内に実現(実装)されることができる。
【0021】
かかる再計画案出力装置は、予定された行程のうち、担当車両による遂行が困難となった遂行難行程が発生した場合、遂行難工程が発生した時刻以降の計画を再編成することで、他の車両で遂行難工程を代行する計画の候補を立案する再計画候補決定部備える。
【0022】
また、再計画案出力装置は、代行車両の候補が複数設定された場合、運行計画に規定される各々の行程の担当車両の変更回数および追加的コストを考慮して、複数の代行車両の候補から遂行難行程の代行車両を選出する代行車両選出部を備える。
【0023】
これら再計画候補決定部および代行車両選出部は、同一のプロセッサまたは異なるプロセッサで構成することができる。
【0024】
上記のうち、運行計画は、再計画案出力装置によって、参照、加工ひいては再計画案を作成ひいては出力等できるようにするため、所定のメモリに記憶しておくことが望ましい。
【0025】
また、運行計画に含まれる各々の「行程」の一具体例(形式)としては、始端からの出発時刻および終端までの到着時刻が規定されたものとする。また、以下の説明では、同一の車両で遂行される各行程において、前の行程の終端と、続く行程の始端とが同一であることを前提とし、これら行程間でインターバル(休憩時間など)が設定され得る。
【0026】
この場合、再計画候補決定部は、遂行難行程の出発時刻から到着時刻までの時間帯と重複しない行程を遂行する他の車両を、遂行難行程の代行車両の候補として決定することができる。
【0027】
運行計画に用いられる車両に関し、その種類、台数等については、特に制限されず、実際の運用上は、多くの種類および台数の車両が使用され得る。但し、車両の種類や台数が多くなるほど、説明内容が複雑化することから、以下は出来るだけ単純化した運行計画の例を挙げて説明する。
【0028】
上記のうち、遂行難行程を代行するための代行車両の候補となる「他の車両」の一具体例としては、運行計画に規定されている複数の車両のうち、遂行行程の遂行が困難になった車両以外の車両である。
なお、再計画候補決定部で決定する当該候補の車両数(台数)は、最大で、当日の運行計画を割当てられた全車両及び待機車両数の合計でよい。当日の運行計画を割当てられた車両のみで運行できない場合は、待機車両を割り当てる。但し、待機車両がなく、1台も決定できない場合(決定台数がゼロの場合)、発生した遂行難行程の遂行(代行)は、運行計画に規定されているいずれの車両でも代行出来ないことになるため、運行計画に規定されていない別の車両を準備する必要がある。
【0029】
一方、通常は、再計画候補決定部で決定された当該候補の車両数(台数)が多くなればなるほど、代行車両選出部によって代行車両を選出するための処理(計算量)が多くなり、説明内容が複雑化することから、以下は出来るだけ理解容易な例を挙げて説明する。
【0030】
他方、再計画候補決定部で決定された当該候補の車両数(台数)が少ない場合(例えば2台、3台などの場合)、代行車両選出部による担当車両の選出処理(計算等)を行うまでもなく、オペレータなどの人間の判断で代行車両を選出できる事例もあり得る。
【0031】
上記のような事情に鑑みると、本実施形態の再計画案出力装置として特に有用な場面は、再計画候補決定部で決定された当該候補の車両数(台数)が多い場合、遂行難行程を遂行(代行)すべき車両が人間では速やかに判断できない場合であると考えられる。
【0032】
このような場合、代行車両選出部は、変更回数および追加的コストを用いた相互作用モデルの解が最適となる車両を、遂行難行程の代行車両に選出する構成とするとよい。
【0033】
あるいは、運行計画の内容の変更を出来るだけ少なく抑えようとする観点からは、代行車両選出部は、複数の代行車両の候補から、運行計画に規定される各々の行程の担当車両の変更回数が少ない車両を、遂行難行程の代行車両に選出する構成とするとよい。
【0034】
一方、運行計画の変更により発生する追加的コスト(例えば、余計な燃費、人件費、時間的遅延などの種々の損失)を出来るだけ少なく抑えようとする観点からは、代行車両選出部は、複数の代行車両の候補から、追加的コストが少なくなる車両を、遂行難行程の代行車両に選出する構成とするとよい。
【0035】
代行車両選出部によって遂行難行程の代行車両を選出する上述のような手法は、目的に応じて切り替えることができ、あるいは使用する算術式(相互作用モデルなど)の係数を変えることによって重みを微調整することもできる。
【0036】
さらに、実際の運用において複雑になりがちな再計画候補決定や代行車両選出(ひいては再計画案の出力)の処理を視覚的に分かりやすくするために、運行計画に規定されている車両のノードと、各々の車両に割り当てられている行程のノードと、を実行順に有向リンクで繋いだ有向グラフを生成するグラフ生成部を備えた構成とするとよい。
【0037】
この場合、再計画候補決定部は、有向グラフにおいて、決定された代行車両の候補に係るノードから、遂行難工程を含めた再計画に関連する行程、あるいは、すべての計画された行程のノード(以下行程ノードと呼ぶ)に向けて有向リンクを繋ぐことにより、グラフ生成部に再計画案の候補としてのグラフを生成させる構成とする。
【0038】
一方、代行車両選出部は、有向グラフにおいて、選出された代行車両に係るノードから、行程ノードに向けて有向リンクを繋ぐことにより、グラフ生成部に再計画案としてのグラフを生成させる構成とする。
【0039】
上記のような構成とすることにより、車両の故障や遂行難行程、さらには遂行難行程の代行を行う代行車両の候補や選出された代行車両の現状、今後の予定等をユーザ(オペレレータ等)が容易に視認することができ、再計画の遂行が円滑に進むことが期待できる。
【0040】
以下、図面を参照して、上述した各構成をより具体的に説明する。
【0041】
<<システム全体の概要>>
図1に、本実施形態に係る情報処理システムの構成の一例を示すブロック図を示す。
図1に示す情報処理システム10は、一つの物理的な計算機によって構成されることができる。あるいは、情報処理システム10は、各構成要素が別々の物理的な計算機によって実現されていてもよい。さらにまた、情報処理システム10は、一つ以上の物理的な計算機を備えた計算機システムに代えて、他種のシステム、例えば、物理的な計算リソース群(例えば、クラウド基盤)上に実現されたシステム(例えば、クラウドコンピューティングシステム)であってもよい。
図1に示す情報処理システム10は、本発明の「再計画案出力装置」に対応する。
【0042】
図1に示すように、情報処理システム10は、入出力支援部20、処理支援部50、および、最適化計算部80を備える。このうち、処理支援部50は、計算部40および記憶部60を備えている。
【0043】
上記のうち、計算部40は、上述した「再計画候補決定部」、および「代行車両選出部」としての機能を有し、特に、後述する計画候補作成部141が、これらの役割を担う。
【0044】
図1に示す例では、情報処理システム10に対する情報の入出力は、入出力支援部20を介して行われる。
図3を参照すると、入力支援部20は、例えばPCなどの外部装置の入力インタフェース(キーボードやマウスなどの操作入力部、モデムなどの通信部、など)と接続され、かかる入力インタフェースを通じて介してユーザが入力する情報を受け取り、該受け取った情報を、後述する入力データ記憶部30に格納するととともに、処理支援部50に供給する。
【0045】
また、入出力支援部20は、例えばPCなどの外部装置の出力インタフェース(LCDなどの表示部、プリンタなどの印刷部、HDDなどの外部メモリ、モデムなどの通信部、など)と接続され、かかる出力インタフェースを介して、情報処理システム10によって自動立案された再計画案のデータを受け取る、あるいは目視することができる。
【0046】
図3中に示していないが、入出力支援部20は、上述したPCなどの外部装置と通信しながら上述した処理を遂行するためのハードウェアプロセッサを含んでいてもよい。
【0047】
さらに、
図3を参照すると、入出力支援部20は、当初に策定された計画(以下は「元の計画」という)および発生した事故についての情報を入力データとして記憶する入力データ記憶部30と、当該元の計画を基盤とした再計画案に関する情報を出力データとして記憶する出力データ記憶部90と、を備えており、かかる構成および格納される情報等についての詳細は後述する。
【0048】
最適化計算部80は、再計画立案の最適化問題を高速に処理するために、CMOSアニーリングのような「最適化問題専用計算技術」を用いて実現する。ここで、最適化問題とは、要請された制約の下、評価値となるコストを最小化あるいは最大化する変数の値を求める問題を指す。最適化問題専用計算技術は、例えばイジングモデルやボルツマンマシンのような、以下の数式1の形で記述される相互作用モデルの超高速な専用シミュレータとなっている。
【0049】
【0050】
数式1中、xおよびhは縦ベクトルであり、Jは対称行列である。数式1のxは変数である。変数xの型は、ハードウェアの性質に依存するため、適宜、ハードウェアの性質に合わせてモデル化すればよい。なお、添え字Tは、転置行列を示す符号である。
さらに、数式1中、Jおよびhは、各々、定数であり、これら定数の幅(大きさ)、Jおよびhが整数か実数か等についてもハードウェアの性質に依存するが、特に限定されるものではなく、加えて、本実施形態の特徴との関連性は低い。
【0051】
一般に、専ら最適化問題のみを計算するコンピュータ関連技術(以下、「最適化問題専用計算技術」と称する場合がある)においては、数式1で記述したような相互作用モデルの最低エネルギー状態(数式1の左辺Hが最小となるxの値)を計算機上で探索あるいは再現することによって、最適な変数xの値を求める。
言い換えると、最適化問題専用計算技術では、相互作用モデルの相互作用係数(数式1ではJに対応する値)や外場係数(数式1ではhに対応する値)などを入力値として演算を行い、Hが最小となる変数xを算出して出力する。
【0052】
図1に戻ると、最適化計算部80は、並列処理デバイス(並列処理が可能なデバイス)の一例であり、数式1で上述したような相互作用モデル(例えばイジングモデル)を演算することで割当問題を解くためのアクセラレータとしての役割を担う。
【0053】
最適化計算部80は、典型的には、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)又はGPU(Graphics Processing Unit)のようなハードウェア回路である。
なお、最適化計算部80は、一つ以上の物理的な又は仮想的なコアを有するCPU(Central Processing Unit)により実現されてもよい。
【0054】
あるいは、最適化計算部80は、例えば、半導体回路(例えばCMOS(Complementary Metal Oxide Semiconductor)回路)でイジングモデルの動作を疑似的に再現した半導体コンピュータ(例えばCMOSアニーリングマシン)とすることができる。最適化計算部80は、例えば、GPU上で動作するアルゴリズム(例えばMomentum annealing)によって実現されてもよい。
【0055】
また、最適化計算部80は、デジタル計算機ではなく、アニーリング型量子計算機や汎用型量子計算機を用いてもよい。
【0056】
本実施の形態の情報処理システム10において、処理支援部50は、プロセッサ上で実現される計算部40と、中間データ(以下、区別および説明の便宜のため「上記の中間データ」と称する)を格納する記憶部60と、を備える。本実施の形態における処理支援部50の主たる機能は、ユーザが入力した情報を受け取り、最適化計算部80の入力(相互作用モデル)に変換すること、および、最適化計算部80の出力結果をユーザが見やすい形式に再変換して返す(出力する)ことである。
【0057】
処理支援部50の計算部40は、
図1に示すように、計画候補作成部141、モデル生成部142、および集計処理部143を備える。
このうち、計画候補作成部141は、入出力支援部20から受け取った入力情報をもとに、計画候補となる上記の中間データを生成する。したがって、計画候補作成部141は、「中間データ生成部」と言い換えてもよい。
【0058】
一方、モデル生成部142は、上記の中間データを用いて、最適化計算部80の入力となる相互作用モデルの相互作用係数や外場係数を計算し、計算結果を最適化計算部80へ送る処理を行う。さらに、集計処理部143は、上記の中間データと、最適化計算部80の出力結果とを用いて、出力データを生成し、該生成された出力データを入出力支援部20へ返す処理を行う。
【0059】
ここで、(記憶部60に格納される)上記の「中間データ」は、具体的には、以下の(60-1)、(60-2)、(60-3)の3種類の情報に大別することができる。
(60-1)計画候補161
(60-2)計画実行用情報162
(60-3)変更情報163
以下に、上述した(60-1)ないし(60-3)の情報の具体例を述べる。
【0060】
<60-1:計画候補>
相互作用モデルを用いて計画再立案を行うにあたり、本実施の形態では、複雑な制約条件を効率的に扱う方法として、列生成法等を用いて複数の計画候補を生成する(計画候補作成部141での処理)。ここで、計画候補とは、具体的には、例えば、どの車両/機材でどの便を運用するか、などの候補である。
【0061】
計画候補161とは、上記のような種々の候補のうち、要請された制約の一部、あるいは要請された制約のすべてを満たす候補を列挙した情報である。計画候補161は、相互作用モデルの生成に直接用いることができるように、バイナリ、あるいは整数で構成されるデータとする。計画候補161は、一般的な集合被覆問題/集合分割問題を解くための相互作用モデルでも利用できる。
【0062】
<60-2:計画実行用情報>
上記の計画候補161では、例えば、どの車両/機材でどの便を運用するか、などの情報はあるが、それ以上の詳細な情報(例えば、実際の運行に必要となる種々の情報)は含まれない。これは、計画候補161は、相互作用モデルの係数を算出することに使う目的のための情報だからである。
【0063】
本実施形態では、実際の運行に必要な情報は、計画実行用情報162が受け持つ(区別して扱われる)ものであり、この点が本実施形態における特徴の一つでもある。
【0064】
具体的には、計画実行用情報162は、例えば再計画によって便の発着時間に変更が生じる場合、どの時刻に変更されたか、どこから出発してどこに到着するか、予約が入っている場合における当該予約の情報、便の運行に必要となる車体/機体の大きさなどの情報を含む。総じて、計画実行用情報162は、「再立案された計画を実行するために必要となる包括的な情報」と定義することができる。
【0065】
<60-3:変更情報>
変更情報163は、再計画によって生じる変更率を調整するために導入する情報であり、本実施形態における特徴の一つでもある。本実施形態において、変更情報163は、上述した計画候補161と同じ要素数を持つ数値データである。一具体例では、変更情報163は、計画候補161を構成する各々の候補が元の計画からずれたか否か、あるいはどの程度ずれたかを数値化したデータである。
【0066】
上述した計画候補161、計画実行用情報162、および変更情報163は、各々、データベース化されたデータとして記憶部60内に格納されることができる(
図1を参照)。
【0067】
<<当日系の運行計画の再計画案を出力する実施例>>
以下は、
図2のフローチャートを参照して、路線バスの当日の運行計画を再計画する場合について説明する。
【0068】
なお、以下に説明する実施例は、あくまで一例として路線バスを取り扱うものであって、本発明は以下の記載内容に限定して解釈されるものではない。したがって、例えば他の例として、以下に述べるバスの車両を、航空における航空機(旅客機など)に置き換えてもよい。また、他の例として、以下に述べるバスの運行経路を、航空における航空便に置き換えてもよい。
【0069】
本実施例は、事故や車両故障などのエラーによって、1日の運行計画におけるいずれか一つ以上の行程が当該担当車両では実行できなくなった場合(いわゆる緊急事態発生時)に、リアルタイムで運行計画を再立案する必要が生じた際に活用できる。あるいは、時間的に余裕があり、リアルタイム性は必要としないが、運行計画が予め或る決まったルールに従い作成されており、そのルールを極力崩さずに運用計画を再編する際にも活用できる。
【0070】
本実施例では、路線バスの一車両が何らかの理由で当日中に復帰させることが困難となり、当日の運行計画(上述した計画候補161)で予定されている行程を、残る車両(バス)で代行(代替して遂行)することを想定する。
【0071】
まずは、
図2に示すフローチャートを参照して、情報処理システム10における再計画案の出力までの処理手順の概要を説明し、各々の手順(ステップS1~ステップS6)の詳細については後で補足的に説明する。
【0072】
ステップS1において、情報処理システム10は、まず、入力データの読み込みを行う。一具体例では、入力データの読み込みは、
図1および
図3で上述したように、PCなどの外部装置から送信される元の計画に関する種々の情報を、入出力支援部20のプロセッサの動作によって読み込むことによって実現される。また、読み込まれた入力データは、
図3に示すように、入力支援部20内の例えばHDDなどの入力データ記憶部30内で、情報の種類に応じて分類する(区分けする)ように格納されるようにするとよい。なお、
図2に示すステップS1では、後述する事故情報が入力データに含まれている場合を前提とする。言い換えると、事故ひいては遂行難行程が発生していない間は、再計画案を生成する必要性が無い。
【0073】
続くステップS2において、情報処理システム10の処理支援部50(
図1に示す計画候補作成部141)は、入力データ記憶部30内に格納された入力データを用いて、上述した計画候補、計画実行用情報、および変更情報をそれぞれ列挙する。このとき、計画候補作成部141は、該列挙されたこれら情報を、情報の種類に応じて、
図1に示すように、計画候補161と、計画実行用情報162と、変更情報163と、に分類(区分け)して記憶部60内に保存するように、中間データを出力する。なお、ステップS2における処理内容の更なる詳細については、
図6以下の説明で後述する。
【0074】
以下、上記の中間データ(計画候補161、計画実行用情報162、変更情報163)になる前の段階の計画候補と、計画実施用情報と、変更情報と、を総称する場合には「中間情報」と呼ぶ場合がある。
【0075】
次のステップS3において、処理支援部50の計算部40は、前ステップで生成(列挙)された中間情報を用いて、モデル作成の処理、特に、相互作用モデルの相互作用係数や外部磁場係数を算出する。かかる算出は、計算部40モデル生成部142によって実行される(
図1を参照)。
なお、ステップS2およびステップS3のさらなる詳細については、後述する。
【0076】
続くステップS4において、情報処理システム10は、前ステップで生成された相互作用モデルを、
図1に示すモデル生成部142から最適化計算部80へと渡し、最適化計算部80によって、かかる相互作用モデルを最適化(例えばコストを最小化)するための最適化計算を実行する。
【0077】
次のステップS5において、情報処理システム10の最適化計算部80は、前ステップで計算された、最適化(例えば最小化)された解を出力結果として、かかる出力結果を計算部40の集計処理部143に渡す(送る)。そして、集計処理部143で集計処理を行うことによって、出力データを作成し、かかる出力データを集計処理部143から入出力支援部20に渡す(送る)。
【0078】
この集計処理の一具体例では、集計処理部143は、ステップS4の最適化計算の結果(例えば最小化された解)と、上記の中間データ(計画候補161、計画実行用情報162、変更情報163)とを用いて、整形すなわちユーザが見やすい形式に整える。また、出力データは、
図3に示すように、入力支援部20に出力データ記憶部90を設け、かかる出力データ記憶部90内に、情報の種類(
図3に示す例では再計画案191、変更コスト192、変更箇所193)に応じて分類する(区分けする)ように格納されるようにするとよい。
【0079】
続くステップS6において、情報処理システム10は、入出力支援部20のプロセッサの処理により、出力データ記憶部90内の再計画案191をPC等の外部装置に出力して、処理を終了する。以上が情報処理システム10で実行される処理の概要である。
【0080】
以下、
図2のフローチャートの手順の一部を補足する。
【0081】
<1.入出力データ>
ステップS1で読み込まれる入力データの一例としては、
図3の入力データ記憶部30内に示すように、以下の(30-1)、(30-2)、(30-3)の情報を用意すればよい。
【0082】
(30-1)元の運行計画131
本実施例において、元の運行計画131は、情報処理システム10によって出力される再計画(より具体的には、)の対象となる情報であり、通常は、策定の当初(オリジナル)に作られた運行計画の情報をいう。
【0083】
(30-2)事故情報132
この事故情報132は、例えば再計画の原因となる事故などが発生した時刻、及び、運行不能となった車両の情報が挙げられる。
【0084】
(30-3)制約条件133
この制約条件133は、例えば通常の運行計画作成の際に必要となる条件が挙げられる。
【0085】
次に、(1)で述べた「元の運行計画131」の一具体例について、
図4を参照して説明する。
図4に示すように、元の運行計画131の具体例としては、行列型式の運行予定表とすることができる。
図4に示す例では、特定の1日に割り当てられた、車両1~車両8の各車両における行程(予定)の情報が記録されている。
【0086】
なお、説明の簡潔化等のため、
図4では8台の車両かつ各車両につき6つの行程までの計画を示しているとしているが、実際には、より多くの車両かつ各車両につきより多くの行程の情報の予定表とすることができる。
【0087】
また、説明の便宜等のため、
図4に示す例では、車両8を事故対応用の車両として行程を割り当てていないが、これに制限されず、何等かの行程を割り当ててもよい。逆に、事故対応用の車両(行程を割り当てない車両)をより増やす構成としても構わない。
【0088】
一方で、事故対応用に、行程を割り当てない車両を増やした場合、再計画案の算出はしやすくなるものの、車両の管理や待機する運転手などの別の問題が発生する。このため、本実施の形態では、元の運行計画131について、一日に行程を割り当てない車両を無くす或いは可能な限り少なくする計画とすることを前提とする。
【0089】
また、
図4に示す元の運行計画131の例では、各車両(車両1~車両8)に対応する行程を表型式で表しているが、これは一例であって、どの車両がどの行程を受け持つかが分かる構成であればよく、例えば他の例として、運行ダイヤグラムの作成データなどであってもよい。
【0090】
言い換えると、
図4中に示す行程1~行程24の番号は、ある1日に運行(出発地から到着地まで移動)される車両の経路(出発地から到着地まで)を区別(識別)するために、単にシリアル番号で振ったものである。
【0091】
また、
図4に示す元の運行計画131の例では、車両番号に割り当てられた各々の行程は、番号が少ない行程から順に実行される。例えば、車両1に割り当てられた、行程1、行程2、行程3、及び行程4は、運行時間の側面からは、行程1,2,3,4の順で実行される。また、例えば行程4は行程5,7,9,12,18,21より早い時間に実行される。なお、上述のように、各行程間で、インターバル(例えば、運転手の休憩時間、運転手交代に伴う作業時間、等)が設けられることができる(適宜、
図7中の行程1~行程4等を参照)。
【0092】
さらに、
図4に示す元の運行計画131の例では、1台の車両に割り当てられ一の行に配置される複数の行程において、行程nの到着地(経路の終端)と、行程n+1の出発地(経路の始端)とは、同一の関係にある。例えば、車両1における行程1の到着地(経路の終端)がB地点である場合、行程2の出発地(経路の始端)もB地点である。
【0093】
総じて、
図4に示す元の運行計画131(行列表)の一の行に配置される、車両番号(1台の車両)に割り当てられた行程は、特定の一日に実行が予定されている経路の数および実行予定の順序を表している。
【0094】
これに対して、
図4に示す表の同じ列に配置された行程は、各々が独立しており、時間的な先後関係はない。例えば、車両2の行程5よりも車両3の行程7の方が先に行われても構わない(適宜、
図7等を参照)。
【0095】
上記等を踏まえ、本明細書において、「行程」とは、少なくとも運行経路と運行時間の情報を持ったものを指す。これに関し、業界または業者等によって異なる用語を用いていたとしても、運行経路と運行時間の情報を持ったものであれば、「行程」に該当する。また、再計画の対象期間は、本実施の形態では日(1日)単位であるが、これに限定されず、例えば、複数日単位、週単位、月単位、等であってもよい。
【0096】
次に、(30-2)の情報としての「事故情報132」のより詳細な内容について説明する。
事故情報132は、一具体例では、運用不能となった車両と、当該車両が未だ遂行(移動)していない行程番号または当該車両が運用不能となった時刻の情報と、があれば足りる。なお、「時刻」の情報としては、運用不能な車両が発覚した時刻より遅くてもよく、上記の未遂行の行程番号、言い換えると再計画が必要となる行程を特定ないし決定できる時刻であればよい。
【0097】
以下は便宜上、事故情報として入力される時刻を「事故発生時刻」と呼ぶ。また、事故情報として入力される、運用不能な車両を「事故車両」と呼ぶ。また、ここでは便宜上、事故と呼ぶが、再計画が必要となる原因は、事故以外の原因も含まれ得るものであり、事故に限定されるものではない。
【0098】
次に、(30-3)の情報としての「制約条件133」のより詳細な内容について説明する。制約条件133は、例えば、運行を遂行するうえで必要となる各行程の内訳となる詳細情報である。制約条件133は、例えば、
図5に示すような、各行程(行程1,2,3,・・・)の経路の内訳(始端と終端)となる出発地と到着地(以下、これらを総称して「発着地」と呼ぶ場合がある)、出発地を発車する出発時刻および到着地に停車(到着)する到着時刻(以下、これらを総称して「発着時刻」と呼ぶ場合がある)、当該行程が必要とする車両の種類などである。
【0099】
以下の説明では、車両の種類は、各々の車両を識別する車両IDと等しい概念であり、別個の車両には異なる番号が付けられることを前提とする。但し、付加情報として、例えば、大型車両か小型車両かの別、乗客の最大数、最大積載重量、車高などを含める構成としてもかまわない。この場合の一例としては、車両種類の番号(1,2)に枝番を付けて表す(例えば車両1-1-30、車両2-2-5などと表記する)ようにすればよい。
【0100】
さらに、制約条件133は、各行程の詳細情報に加え、元の運行計画を作成する際に必要となる制約条件も含む。例えば、行程間のインターバル時間(大型の鉄道駅のバス停では10分以上停車する等の規約等に従った制約条件)や最終便時刻(就労規則等により23時を超えて運行してはいけない等の制約条件)等があれば同様に入力する。制約条件133は、事故に備えて事前に入力データ記憶部30内に格納しておいてもよい。
【0101】
一方、出力データの一例としては、
図3の出力データ記憶部90内に示すように、以下の(90-1)、(90-2)、および(90-3)の情報を格納する。
【0102】
(90-1)再計画案191
本実施の形態において、再計画案191は、当初の計画に対する一つ以上の変更案を示す情報である。なお、再計画案191の具体的な態様は、
図7以下の説明にて後述する。
【0103】
(90-2)変更コスト192
本実施例において、変更コスト192は、再計画すなわち元の計画の変更に伴って生じるコスト(金銭や時間などの損失)を示す情報であり、本発明の「追加的コスト」に対応する。かかる変更コスト192は、再計画案が複数生成される場合には、再計画案ごとに示される。
【0104】
(90-3)変更箇所193
本実施例において、変更箇所193は、変更内容、すなわち元の運行計画131と再計画案191との差分(変更された箇所)を示す情報である。一具体例では、変更箇所193は、発生した遂行難行程およびそれに関する種々の情報(事故の発生時刻、事故が発生した車両、選出された代行車両など)が含まれる。本システムにおいて、これらの情報は、後述のように、視覚的に分かる情報として出力(表示や印刷など)されることが望ましい。
【0105】
なお、出力データ(再計画案191、変更コスト192、変更箇所193)の具体的な態様(出力例等)は、
図7以下の説明にて後述する。
【0106】
<2.計画候補と、計画実施用情報と、変更情報の列挙>
上述した「中間情報」の生成は、列生成法などの手法を用いて行うことができる。以下、中間情報の生成手順と、出来上がるデータ形式の一例を説明する。以下に説明する中間情報の生成手順は、あくまで一例であり、どのような手順でどのような出力形式で生成するかは特に制限されるものではない。
【0107】
上記の中間情報の生成手順の一例を、
図6のフローチャートおよび
図7のグラフ等を参照して説明する。なお、
図6に示すフローチャートは、
図2で上述したステップS2のサブルーチンに対応する。
【0108】
図2のステップS1(入力データの読み込み)が行われた後、
図6のステップS20において、情報処理システム10のプロセッサ(処理支援部50の計算部40における計画候補作成部141、ステップS22も同じ)は、まず、
図7に示すような、各車両と各行程のつながりを有向グラフ化したデータ(以下、単に「有向グラフ」という)を作成する。
【0109】
図7に示す有向グラフは、上述した
図4の運行予定表131、
図5の制約条件、および事故情報132に基づいて作成可能であることが分かる。また、
図7に示す例では、事故情報132として、車両3が15時00分に事故車両となったこと、言い換えると、行程8が車両3では遂行できなくなった場合を示している。
【0110】
なお、作成されるグラフは、必ずしも
図7のように絵または可視的な形態で描く必要はなく、各ノード101及び102と、各リンク103及び104の情報を、デジタルデータとして記憶部に格納すれば足りる。続いて、情報処理システム10のプロセッサは、入力された制約に従い、
図7のように生成された有向グラフ上にリンク(後述する新たな有向リンク103-Ch)を加える。なお、かかる処理については、
図8および
図9の説明で後述する。
【0111】
さらに、ステップS22において、情報処理システム10のプロセッサは、加えられたリンクを辿るグラフ探索を行うことで、上記の中間情報(中間データ)を生成し、生成された中間情報(161~163)を記憶部60に保存ないし更新して、
図6のフローチャートの処理を終える。
【0112】
次に、
図6のフローチャートの各サブルーチンとなる、ステップS20(有向グラフ作成)の手順、およびステップS22(有向グラフ上の経路探索による、計画候補、計画実施用情報、および変更情報の列挙)の手順の具体例を述べる。
【0113】
<2-1.有向グラフ生成手順の一例>
まず、有向グラフが生成される途中までの概要を、
図7を参照して説明する。
【0114】
有向グラフは、車両ノード101と行程ノード102と、これらノードを接続する矢印形のリンク(有向リンク103または点線リンク104)と、を含んでいる。
図7に示す例は、
図4で説明した元の運行計画131および
図5で説明した制約条件133に従って車両1~車両8の8台の車両を使用して、行程1~行程24の24の行程を遂行する場合を前提としたグラフである。車両は個体ごとに異なるノードとする必要はなく、例えば同じ出発地であったり、同じ種類であったりして、グラフ探索の経路が一致あるいはほとんど一致すると考えられる場合は、異なる車両でも同一ノードで表すことができる。本実施例は車両個体ごとに異なるノードを作ることを想定して説明する。
【0115】
但し、説明の複雑化を避けるため、
図7では、車両4~車両7の車両ノード101、およびこれら車両1~車両7に割り当てられた元の運行計画131の行程9~行程24の行程ノード102の図示を省略している。
【0116】
本実施の形態では、有向リンク103は、車両ノード101から行程ノード102に向かう矢印として、あるいは一の行程ノード102から他の一の行程ノード102(時間的に重複しない後の行程ノード102)に向かう矢印として、使用される。
【0117】
なお、有向リンク103は、車両ノード101同士で接続されることはなく、また、有向リンク103の長さに技術的な意味はない。
【0118】
上述した有向リンク103の基本的な意義は、事故発生時に使用される点線リンク104についても同様である。
【0119】
有向リンク103との違いとしては、点線リンク104は、元の運行計画131に規定されたいずれかの車両に事故が発生した場合、当該事故車両に割り当てられている、車両ノード101および各行程ノード102のうち、未だ遂行されていない行程ノード102に向かう矢印として、使用される。
【0120】
そして、点線リンク104は、有向リンク103と同様に、車両ノード101同士で接続されることはなく、加えて、点線リンク104の長さに技術的な意味はない。
【0121】
上記のうち、点線リンク104の「未だ遂行されていない行程ノード102に向かう矢印」の形態としては、以下の事故例1~事故例3の類型に大別することができる。
【0122】
事故例1:当該事故車両の車両ノード101から当該車両が実行された全ての行程ノード102に向かう矢印の場合(出発時から事故が発生したため当該事故車両の車両ノード101から最初の行程ノード102ひいては最後の行程ノード102までの全てに点線リンク104が接続される場合)。
【0123】
事故例2:当該車両がいずれかの行程の実行後に事故車両となったために、当該車両ノードからリンクを辿れる実行済の行程ノード102から次の行程ノード102ひいては最後の行程ノード102までの行程ノード102同士に点線リンク104が接続される場合。
【0124】
事故例3:当該車両が最後の行程の実行中または最後の行程の一つ前の行程の実行後に事故車両となったために、実行済の行程ノード102から最後の行程ノード102に向かう点線リンク104が接続される場合。
【0125】
概して、元の運行計画131(
図4を参照)の内容を変更する必要量(言い換えると変更情報163のデータ量)としては、事故例3、事故例2、事故例1の順に大きくなるが、以下は説明の複雑化を避けるため、事故例3の場合を仮定した有向グラフの生成について説明する。
【0126】
図8は、上述した元の運行計画131、事故情報132、および制約条件133に従って
図7に示す有向グラフが生成され、かつ、かかる有向グラフを基礎として
図9に示すようなグラフ(以下、「変更候補グラフ」という)を生成するまでの手順を示すフローチャートである。
【0127】
ステップS201において、情報処理システム10のプロセッサ(計算部40の計画候補作成部141)は、元の運行計画131に規定されたすべてのノード(車両ノード101および行程ノード102)に対応するデータ格納領域を確保する。この領域の確保は、例えば記憶部60における計画候補161、計画実行用情報162、および変更情報163用のデータ記憶領域を確保することによって実現できる。
【0128】
続くステップS202において、計画候補作成部141(上記のプロセッサ、以下同じ)は、すべてのノード(同上)に対して、対応する情報を格納(インプット)する。具体的には、計画候補作成部141は、各車両ノード101に対応する記憶領域に、入力データから読み取った、元の計画の始発時刻や出発地や車両情報などの必要情報を格納する。また、計画候補作成部141は、各行程ノード102、105に対応する記憶領域に、入力データ(
図2のステップS1を参照)から読み取った、元の計画の発着地や発着時刻や運行条件などの必要情報を格納する。さらに、計画候補作成部141は、入力データから読み取った事故情報132および制約条件133に基づいて、すべてのノード(同上)に対して、対応するリンク(有向リンク103または点線リンク104)を接続する処理を行う。
【0129】
上述したステップS201およびステップS202の処理が行われることにより、
図7で上述した有向グラフに対応するデータを生成することができる。言い換えると、ステップS201およびステップS202は、
図6に示すステップS20のサブルーチンに対応する。
【0130】
再び
図7を参照すると、この時点で生成された有向グラフでは、各々の行程ノード102は、入力データ(
図5で上述した制約条件133)に従った発着地や発着時刻の情報を備えていることが分かる。
【0131】
例えば、行程1に対応する行程ノード102は、バス停A(ノード始端)を7:10に出発し、バス停B(ノード後端)に9:10に着く行程であり、車両1に割り当てられた行程である。また、行程2に対応する行程ノード102は、車両1がバス停B(ノード始端)を11:30に出発し、バス停A(ノード後端)に13:30に着く行程である。続いて車両1が遂行する行程3、行程4についても同様であり、これら複数のノード101(車両1)、102(行程1)~102(行程4)を時系列順に一対一で接続するように、有向リンク103が繋げられる。
【0132】
そして、
図7に示す有向グラフでは、入力データにおける事故情報132に従い、車両3が行程7の実施後の15:00に事故車両となった場合を例示している。このため、車両の割り当ての変更を要する行程8の行程ノード102を符号102-Chで示すとともに、行程7の行程ノード102と行程8の行程ノード102(102-Ch)とが、点線リンク104で接続されている。
【0133】
言い換えると、行程ノード102-Ch(
図7では行程8のみ)は、元の計画では車両3が受け持つ予定であったが、当該車両3に事故が発生したため、車両3では受け持てなくなった行程であり、本発明の「遂行難行程」に対応する。
【0134】
また、点線リンク104は、元の計画通りであれば繋がれていたが、事故発生により実行が危ぶまれているリンクと言うこともできる。言い換えると、元の計画では行程7から行程8に有向リンク103を接続する予定であったが、実際には接続されず、代わりに(車両3では実行できないことを示す)点線リンク104が接続されている状態とも言える。かくして、
図7に示す例では、車両3では実行することができない行程8(遂行難行程)の行程ノード102-Chは、他のいずれかの車両(この例では車両1,2,4~8)に割り当てられたノード(車両ノード101または行程ノード102)からの有向リンク103の接続を要し、当該他の車両で代行される必要が生じている。
【0135】
続いて、
図8のフローチャートにおけるステップS203~ステップS212までの処理について説明する。かかる処理は、
図7に示す有向グラフに基づいて、
図9に示すような変更候補グラフを生成するまでの処理に対応する。この処理は、
図8において、まずS204での分岐においてまずはS205を通るループのみを先に実行すると
図7のグラフが先に生成され、その後、S206を通るループを実行することで実現できる。
また、S205とS206どちらも同時に処理していけば
図7の状態を作ることなく
図9の状態のグラフを作成できる。
【0136】
一具体例では、計画候補作成部141は、事故車両以外のすべての車両(この例では車両1,2,4~8)の車両ノード101に対して、以下の有向リンク103の接続の試行(ステップS203~S207)の処理を行う。
【0137】
まず、計画候補作成部141は、ステップS203において、一の車両(例えば車両1)の車両ノード101を施行対象に設定する(以下、当該一の車両ノード101を「着目ノード」という)。
【0138】
続くステップS204において、計画候補作成部141は、着目ノードの始発時刻が、事故発生時刻(この例では15:00)より以前か否かを判定する。
計画候補作成部141は、かかる判定の結果、当該始発時刻が事故発生時刻以前の場合(ステップS204、YES)、リンク接続ができないものと判断してステップS205に移行する。
一方、計画候補作成部141は、上記の判定の結果、当該始発時刻が事故発生時刻より前でない場合(ステップS204、NO)、リンク接続し得るものと判断してステップS206に移行する。
【0139】
ステップS205において、計画候補作成部141は、元の計画通りに、一番最初に受け持った行程(例えば、着目ノードが車両1であれば行程1の行程ノード102)の方向へ有向リンク103が接続された状態を維持して、ステップS207に移行する。
【0140】
一方、ステップS206において、計画候補作成部141は、上述した点線リンク104の接続先となる(実行が危ぶまれている行程8の)行程ノード102-Chに対して、当該着目ノードの車両ノード101から有向リンク103-Ch(適宜、
図9を参照)を接続する設定を行って、ステップS207に移行する。
【0141】
ステップS207において、計画候補作成部141は、事故車両以外のすべての車両(この例では車両1,2,4~8)の車両ノード101について、行程ノード102-Chに対する有向リンク103-Chを接続する試行を行ったか否かを判定する。
計画候補作成部141は、かかる判定の結果、事故車両以外のすべての車両の車両ノード101についての接続の試行が未だ行われていない場合(ステップS207、NO)、ステップS203に戻り、未試行の車両ノードに着目して、上述したステップS204~ステップS207の処理を繰り返す。
【0142】
一方、計画候補作成部141は、事故車両以外のすべての車両の車両ノード101についての接続の試行を行ったと判定した場合(ステップS207、YES)、ステップS208に移行する。
【0143】
この例では、上記の処理を行うことにより、
図9中の下側に示すように、いわば非常時用に待機している車両8の車両ノード101から行程8の行程ノード102-Chに対して、有向リンク103-Chが接続されることになる。
【0144】
但し、車両8は、車両3の事故発生時には地点Bにいるため(
図9を参照)、行程8を遂行するためには、一旦は地点Cまで移動する必要がある。
【0145】
ステップS208において、計画候補作成部141は、すべての行程ノード(点線リンク104が示す行程ノード102-Ch以外の行程ノード102、以下同様)に対して、以下の有向リンク103の接続の試行(ステップS208~S212)の処理を行う。
【0146】
計画候補作成部141は、ステップS208において、一の行程(例えば行程1)の行程ノード102を施行対象に設定する(上述と同様に、当該一の行程ノード102を「着目ノード」という)。
【0147】
続くステップS209において、計画候補作成部141は、着目ノードの出発時刻が、事故発生時刻(この例では15:00)より以前か否かを判定する。
計画候補作成部141は、かかる判定の結果、当該出発時刻が事故発生時刻以前の場合(ステップS209、YES)、リンク接続ができないものと判断してステップS210に移行する。
一方、計画候補作成部141は、上記の判定の結果、当該出発時刻が事故発生時刻より前でない場合(ステップS209、NO)、リンク接続し得るものと判断してステップS211に移行する。
【0148】
ステップS210において、計画候補作成部141は、元の計画通りの行程(例えば、着目ノードが行程1であれば行程2の行程ノード102)に有向リンク103が接続された状態を維持して、ステップS212に移行する。
【0149】
一方、ステップS211において、計画候補作成部141は、上述した点線リンク104の接続先となる(実行が危ぶまれている行程8の)行程ノード102-Chに対して、当該着目ノードの行程ノード102から有向リンク103-Ch(適宜、
図9を参照)を接続する設定を行って、ステップS212に移行する。ここで、
図8の「遅延許容時間」について説明する。例えば
図7や
図9に示した元の計画案の例では、行程6は出発時刻14:30、到着時刻15:30なので、行程6から行程8(出発時刻16:20、到着時刻17:20)に向かってリンクを繋ぎ、これを再計画案とした場合、行程8は時間変更することなく実施できる。しかし、行程6の到着時刻が行程8の出発時刻よりも遅く計画されている場合、例えば出発時刻15:30、到着時刻16:30、行程6から行程8へ向かう再計画を立てようとすると、行程8は出発時刻を16:30以降に設定しなおさないといけないので、仮にインターバル時間を5分とすると、行程8の出発時刻は16:35となり、元の計画よりも15分遅延する再計画となる。この遅延時間をどこまで許容するかを、ここでは遅延許容時間と呼ぶことにする。遅延許容時間は業者によって異なるので、必要に応じて設定する。
【0150】
ステップS212において、計画候補作成部141は、すべての行程ノード102について有向リンク103-Chを接続する試行を行ったか否かを判定する。
計画候補作成部141は、かかる判定の結果、すべての行程ノード102についての接続の試行が未だ行われていない場合(ステップS212、NO)、ステップS208に戻り、未試行の行程ノード102に着目して、上述したステップS209~ステップS212の処理を繰り返す。
【0151】
一方、計画候補作成部141は、すべての行程ノード102についての接続の試行を行ったと判定した場合(ステップS212、YES)、
図8のルーチンを終了する。
【0152】
この例では、上記のステップS208~ステップS212の処理を行なうことにより、
図9中の右側に示すように、行程6の行程ノード102から行程8の行程ノード102-Chに対して、有向リンク103-Chが接続されることになる。
【0153】
かかる一連の処理が行われることにより、情報処理システム10では、
図9に示すようなグラフ、すなわち変更候補としての有向リンク103-Ch(以下、「変更候補リンク」とも称する。)が接続された変更候補グラフが生成される。
【0154】
<2-2.グラフ探索により中間データを列挙する手順の一例>
次に、
図9で上述したような変更候補グラフを生成した後、上述した中間データのうちの変更情報163を生成する手順の一例を述べる。上記の変更情報163は、
図9に示す変更候補グラフ上のリンクに沿って、あるルールに従ってグラフ探索を行う過程で生成できる。
【0155】
このグラフ探索手順の一例を、
図10のフローチャートに示す。なお、
図10のフローチャートの詳細を説明する前に、まずグラフ探索から中間データを生成する概要について、
図11および
図12を参照して説明する。
【0156】
ここで、
図11には、
図9に示すグラフと同様の変更候補グラフを記載しているが、処理に関係する有向リンク103および変更候補リンク103-Chを太線で強調して示している。さらに、
図11中、車両8の車両ノード101から行程8の行程ノード102-Chに対して接続された有向リンク103-Ch上には、車両8を地点Bから地点Cに移動させるための追加の行程(図中、「追加1」で示される行程ノード)が挿入されている。
【0157】
一方、
図12は、元の計画および変更候補の計画を0/1のバイナリ値で表した例を示す表である。なお、参考および理解の容易化のため、
図12中の左から3番目までの列(すなわち計画候補j=1,2,3の列、特にj=3の列)は、元の計画通りに各行程(この例では行程1~行程8)が遂行された場合のバイナリ値を示している。
【0158】
図12に示す表(以下、「計画候補表」という場合がある。)のノード番号iを構成する行は、
図11に示す変更候補グラフの各ノード(車両ノード101および行程ノード102)に対応し、表の計画候補jを構成する列は、車両ノード101をグラフの始端として出発し、上述したようなルール(終端と次の始端が同じであること)に従って接続された経路(既に移動した或いはこれから移動する経路)に対応する。
【0159】
図12の表の各欄内に格納される値(バイナリ数)は、各々の列(計画候補j)に示された経路が、各々の行に示されたノードを通っている場合は1、通っていない場合は0というルールで決定され、格納されている。
【0160】
但し、参考のために示した計画候補j=3の列における行程8(i=16)は、実際には実行できないことから、括弧および下線付きの1で示している。
なお、計画候補jの列は、経路(ノード番号i)ごとに生成されることもできる。
【0161】
図12および
図11を参照すると、
図11中に示す変更候補グラフ上の車両2に関する変更候補リンク103-Chをたどった経路に含まれる計画内容は、
図12中の計画候補j=4に示す列のように表現することができる。
一方、
図11中に示す変更候補グラフ上の車両8に関する変更候補リンク103-Chをたどった経路に含まれる計画内容は、
図12中の計画候補j=5に示す列のように表現することができる。
【0162】
総じて、
図12中の表における各欄内の0/1の値(バイナリ数)は、上述した中間データの一つである、計画候補161を構成する要素となる。
【0163】
例えば、
図11に示すグラフの中段の位置に太線で示すように、車両2の車両ノード101を始点とし、行程5、工程6、工程8の順の経路(太線)をたどる経路がある。かかる経路は、
図12の変更候補表のj=4列の値になる。このj=4の列の各欄の値(バイナリ値)が、第1の変更候補を示す値に対応する。
【0164】
具体的には、車両2から出発し、行程5,6,8を通ることから、j=4列(第1の変更候補)では、車両2、行程5,6,8の行は1となり、それ以外は0となる。また、j=4の列(第1の変更候補)の経路は、再計画後の車両2の運用計画の候補に対応する。
【0165】
一方、
図11に示すグラフの下側の位置に太線で示すように、車両8の車両ノード101を始点とし、追加工程1、工程8の順の経路(太線)をたどる経路がある。かかる経路は、
図12の変更候補表のj=5の列の値になる。このj=5の列の各欄の値(バイナリ値)が、第2の変更候補を示す値に対応する。
【0166】
具体的には、車両8から出発し、追加行程1および工程8を通ることから、j=5の列(第2の変更候補)では、車両8、追加1,工程8の行は1となり、それ以外は0となる。また、j=5の列(第2の変更候補)の経路は、再計画後の車両8の運用計画の候補に対応する。
【0167】
そして、
図12に示すような変更候補表は、
図11の変更候補グラフの生成時に、情報処理システム10のプロセッサ(計画候補作成部141)によって同時並行的に生成することができる。
【0168】
さらに、情報処理システム10のプロセッサ(計画候補作成部141)は、上述した各経路(ノード番号i)および計画候補(j)ごとにコストを算出し、計画候補jごとの追加コスト(Cj)を算出し、かかる算出値を表中に格納する。
【0169】
一具体例では、計画候補作成部141は、追加コストとして、計画の変更により遅延が発生する場合の損失額(例えば遅延時間1分あたり〇円)など、ユーザが被る損失に応じた評価値を算出して表中に格納する。加えて、計画候補作成部141は、追加コストとして、経路の変更に伴って余計に発生した燃料費や人件費などに応じた評価値を算出して表中に格納してもよい。
【0170】
例えば、j=1およびj=2の列の経路は、元の計画通りの内容であるため、追加コストは発生しない。一方、j=3の列の経路は、車両3が故障した場合には修理等のコストが発生するが、計画の変更に伴う追加コストは未だ発生していないと考えられるため、0は又は空白(Null)の値が格納される。
【0171】
これに対して、j=4の列の経路(第1の変更候補)は、j=2の列の経路と比較して、本来車両3により遂行されるはずだった行程8を車両2が代行することになるため、車両2の消費燃料等のコストが増えるが、遅延時間なく行程8を遂行できるためユーザが被る損失は無いものと考えられる。このため、j=4の列の追加コスト(Cj)として、0.1が算出され表中に格納されている。
【0172】
一方、j=5の列の経路(第2の変更候補)は、行程8を車両8が代行するにあたり、実質的に2つの行程(追加行程1および行程8)を遂行する必要があることから、行程8を車両2が代行する場合よりも消費燃料のコストが増え、人員コストも増える。一方、この場合も、遅延時間なく行程8を遂行できるためユーザが被る損失は無いものと考えられる。このため、j=5の列の追加コスト(Cj)として、0.5が算出され表中に格納されている。
【0173】
かくして、情報処理システム10のプロセッサ(計画候補作成部141)は、各々の変更候補に対して算出された追加コスト(Cj)および行程8を遂行する実質的な行程数(本発明の「変更回数」に対応する)を考慮して、いずれの変更候補を変更案として採用するかを決定する。
【0174】
この例では、追加コスト(C
j)および行程8を遂行する実質的な行程数のいずれもj=4の列の経路(第1の変更候補)の方が小さい。したがって、情報処理システム10のプロセッサ(計画候補作成部141)は、j=4の列の経路(第1の変更候補)を変更案として採用する。当該採用後の有向グラフを
図13に示す。
【0175】
言い換えると、かかる処理により、複数の代行車両の候補(この例では車両2、車両8)から、第1の変更候補に対応する車両2を、行程8(遂行難行程)の代行車両として選出する処理が行われたことになる(代行車両選出部の機能)。
【0176】
なお、このとき、情報処理システム10のプロセッサ(計画候補作成部141)は、
図1で説明した計画実施用情報162や変更情報163も併せて生成することができる。上述のように、
図9および
図11等では、説明用に可視化すべく絵(グラフ)で描いたが、本発明の実施において、リンクの探索は必ずしもグラフを作成して行う必要はない。
【0177】
変更情報163は、計画候補161のうち、元の計画からの変更となる行程と、変更されない行程とを区別するためのデータである。一例としては、
図15に示す表の値を格納したデータとすることができる。なお、
図13には、
図7で説明した事故発生事例において最終的に代行車両が選出された際の変更情報が含まれている。ここでは、
図12に示す計画候補j=1、j=2、およびj=3が元の計画であり、計画候補j=4およびj=5が変更計画候補で、計画候補j=4が、代行車両が選出された計画案である。なお、ここで示した例では、簡単のため遅延が生じるような変更が起こっていないが、先述した通り、遅延許容時間の範囲で時間を出発時刻・到着時刻を変更した計画を立案することもできる。
【0178】
図6で概説したステップS22、すなわち、有向グラフの探索および計画候補、計画実施用情報、変更情報を列挙する手順の一例を、
図10のフローチャートに示す。特に指定がない場合は、続く番号の手順へ進む。
【0179】
ステップS221において、情報処理システム10のプロセッサ(例えば計画候補作成部141,以下同じ)は、すべての車両ノード101(この例では車両1~車両8の車両ノード101)に対して、以下のステップS222~S228を試行する。
【0180】
ステップS222において、情報処理システム10のプロセッサは、着目した車両ノード101を始端とし、すべての経路の深さ優先探索を行う。例えば、
図13に示す変更表に基づく場合、車両1の場合、工程1、行程2、行程3、および行程4から「深さ4」になる。同様に、車両2の場合は「深さ3」、車両3は(事故発生により)「深さ1」、車両8は(運行しないことが決まったため)「深さ0」になる。
【0181】
ステップ223において、情報処理システム10のプロセッサは、着目した車両の運行計画の1候補分の上記の中間データ(例えば
図10の表や
図11の表の1列分)のために、必要なメモリ領域を確保する。
【0182】
ステップS224において、情報処理システム10のプロセッサは、通過したノード(既に遂行した行程)の情報を記録する。例えば、行程の終端が主要駅などのためにインターバルが設けられている等、次の行程の出発時刻に制約条件が課されているような場合、発着時刻を調整し、再計画後の時刻として、計画実行用情報162に格納する。このような処理を行うことで、事故車両(遂行難行程)が発生した場合の対応の円滑化が図れるようになる。
【0183】
ステップS225において、情報処理システム10のプロセッサは、制約条件で定めたルールが破られたか否かを判定し、当該ルールが破られたと判定した場合(ステップS225、YES)、着目している車両の経路の探索を終了する。ここで、「ルールが破られた」と判定する場合としては、上限行程数を超える場合、再計画後の到着時刻が最終時刻を超える場合などが挙げられる。
【0184】
ステップS226において、情報処理システム10のプロセッサは、ユーザが定めた算出方法に従い、着目経路のコストを算出し、格納する。
【0185】
ステップS227において、情報処理システム10のプロセッサは、すべての経路に対する探索試行が終了しているか否かを判定し、終了していると判定した場合(ステップS22、YES)、ステップS228へ進む。一方、情報処理システム10のプロセッサは、すべての経路に対する探索試行が未だ終了していないと判定した場合(ステップS227、NO)、未試行の経路を選択すべく、ステップS223に戻って、上述したステップS223からの処理を繰り返す。
【0186】
ステップS228において、情報処理システム10のプロセッサは、すべての車両ノードに対する深さ優先探索試行が終了しているか否かを判定し、終了していると判定した場合(ステップS228、YES)、ステップS229へ進む。一方、情報処理システム10のプロセッサは、すべての車両ノードに対する深さ優先探索試行が未だ終了していないと判定した場合(ステップS228、NO)、未試行の車両ノードに着目すべく、ステップS221へ戻る。
【0187】
ステップS229において、情報処理システム10のプロセッサは、所定のルールに従い、変更情報163を算出、格納し、一連の処理を終了する。
【0188】
<3.モデル作成>
上述した例は、あくまでも理解の容易化のために比較的簡素な事例を想定して説明したものであり、実際の運用では、元の運用計画をより複雑な形態で変更し運用する必要が発生し得る。このため、本実施の形態の情報処理システム10では、最適化計算部80を設け、上述したような代行車両の候補決定や選出などに関する処理を、相互作用モデルの最適解を算出する手法を用いて行うことができるようにした。
【0189】
ここで、最適化計算部80で解かれる相互作用モデルは、上述した計画候補161と変更情報163とを用いて作成される。以下は、集合分割問題(数式2の等式制約の数理モデル)をベースにして考えられる相互作用モデルの一例について説明する。ここで示されるモデルはあくまで実施例の一形態であり、集合分割問題の形式に限定しているわけではない。計画候補の作成方法によっては、集合被覆問題(数式2の不等式制約)をベースにしても考えられるし、全く別の定式化でも成立しうる。また、問題によっては数式2の不等式の向き(大なり、または、小なり)は変わりうる。
【0190】
一般的な集合分割問題(数式2の制約条件が等式かつb=1)では、例えば
図10の表のデータのような計画候補161のどの列jの組み合わせを選択するかをバイナリ変数x
jで決定する。具体的には、列jの計画候補を選択する場合はx
j=1、選択しない場合はx
j=0とする。x
j=1となる行路のみを取り出したものが実際の再計画案となる。以下に示す数式2のA
ijは、
図14の例では、太枠401で囲まれた0/1のバイナリ値の行列である。
【0191】
【0192】
上記の数式2において、C
jはコストであり、
図14の太枠402で囲まれた部分の値である。また、数式2において、Mは行数であり、
図14の例ではM=11である。数式2のNは列数(すなわち計画候補数)であり、
図14の例ではM=8である。
【0193】
最適化計算装置80に入力されるような相互作用モデルは、集合分割問題では、単純には、以下の数式3のように記述することができる。
【0194】
【0195】
しかしながら、上記の数式3の記述では、依然として再計画立案の特性を反映しきれていないものと考えられる。
【0196】
そこで、本実施の形態では、変更情報163を活用した相互作用モデルを用いる。かかるモデルを活用することにより、情報処理システム10のプロセッサ(本発明の代行車両選出部)は、変更回数および追加的コストを用いた相互作用モデルの解が最適となる車両を、代行車両に選出することができる。かかる相互作用モデル(算出式)の一例としては、以下の数式4で示す相互作用モデルが考えられる。
【0197】
【0198】
数式4中、A
ijは、上述した数式2と同様に、
図14中の太枠401で囲まれた0/1のバイナリ値の行列である。数式4のx
jも数式2と同様に、0/1の2値をとる変数であり、
図12の表の列、すなわち計画候補jを選択する場合はx
j=1、選択しない場合は0を取る。
【0199】
また、Cjも数式2と同様で、任意の計画候補jを選択したときのコストとなる。よって、数式4の第一項目は、xj=1となるときのコストCjのみ足し上げるので、計画案
のコストの総和となる。数2で示した目的関数と一致する。
【0200】
数式4のλi、γi、ηは、任意のパラメータである。これらのパラメータは、適切に調整されることにより、最適化計算部80での計算をできるだけ早く最適解に到達させることができる。これらのパラメータは、手動で調整することも可能であるが、モデル計算部142において、既存の手法(例えば機械学習手法やブラックボックス最適化手法)によって自動調整する構成としてもよい。また、最適化計算部で連続変数を扱える場合、γiを変数としてもよい。
【0201】
また、γi=1とした場合、通常の集合分割問題である数式3に一致する。
【0202】
すなわち、すべての車両と行程(上記の例では車両1~8,行程1~8)が、選択された計画候補の中のどれかに含まれており、選択された異なる計画候補の間で、車両や行程が重複していなければ、ΣjAijxj=1となる。
【0203】
例えば、
図14で、j=1とj=6とj=8ではxj=1、それ以外のjではx
j=0となればΣ
jA
ijx
j=1となる。そして、この場合、数式4の第二項目の括弧内の値は0となる。
【0204】
しかしながら、これ以外の場合、第二項目は有限の値となり、0となるときよりもHの値が大きくなる。
【0205】
最適化計算部80ではHの値が最小となるxjの値を最適解として求める計算を行うため、第二項目が有限の値となるxjの値は最適解とならない。ただし、本特許ではγi=1としなくてもよい。これは、γi∈(0.5,1]とした場合、ΣjAijxj=1は最小になり得るからである。また、問題によっては、再計画の際に入れても入れなくてもよい行程や車両があれば、γi∈(0,1]とすればよいからである。
【0206】
数式4の第三項目は、本実施形態における特徴的な項であり、元の計画案からずれるほど括弧の中身の値が大きくなること、および、元の計画案から大きくずれたxjの組合せは最適解とならないこと、を意味している。
【0207】
かかる第三項目のD
ijには、変更情報163の値を用いる。具体的には
図15の太枠501の部分にあたる。
図15では、元の計画通りの割当の場合は0とするので、j=1、2、3はすべて0となっている。また、遂行難工程である行程8を代替するマスには-1として全体のコストが下がるように、また、追加1のように、本来該当車両に割り当てられていなかった行程を割当てる場合は全体のコストが上がるように1となっている。このように、AijやDijは疎な行列となるため、実際の事業で車両数や工程数が数10~数1000以上となる問題では、適宜疎行列の特性を活かした高速化を適用してもよい。また、数式4のKは車両数であり、3項目のiに関する和の範囲を指定した理由は、行程に関する行にのみ和を取るためである。
【0208】
このように、Dijに関する制約を設定することで、計画全体で見たとき、元の計画にはない行程(例えば上記例における追加行程1)を車両に割当てた計画候補を多く選択した場合は全体のコスト(Hの値)が増すため、計画が多く変更される再計画案は選ばれにくくなる。
【0209】
なお、数式4の式の形や和の範囲は、最適化計算部80での計算が早期に収束するように、問題に応じて変更してもよい。
【0210】
以上、詳細に説明したように、本発明の再計画案出力装置を実装した情報処理システム10によれば、担当車両による遂行が困難となった遂行難行程が発生した場合、複数の代行車両の候補のうち、担当車両の変更回数および追加的コストを考慮して、遂行難行程の代行車両を選出することができる。したがって、元の計画からの変更回数や変更によって生じる損益を抑えた再計画案を自動立案することができる。また、情報処理システム10によれば、事故などのエラーによってリアルタイムで運行計画を再立案する必要が生じた際に、当日の運行計画を再計画するのに活用することができる。
【符号の説明】
【0211】
10 情報処理システム(再計画案出力装置)
20 入出力支援部
30 入力データ記憶部
40 計算部
50 処理支援部
60 記憶部
80 最適化計算部
101 車両ノード
102 行程ノード
102-Ch 変更ノード(遂行難行程)
103 有向リンク
103-Ch 変更リンク
104 点線リンク
131 元の運行計画
132 事故情報
133 制約条件
90 出力データ記憶部
50 処理支援部
40 計算部
141 計画候補作成部(担当車両候補決定部、担当車両選出部)
142 モデル生成部
143 集計処理部
60 記憶部
161 計画候補
162 計画実行用情報
163 変更情報
192 変更コスト(追加的コスト)