(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023054652
(43)【公開日】2023-04-14
(54)【発明の名称】計画整理案立案装置、計画整理案立案装置による計画整理案立案方法及びコンピュータプログラム
(51)【国際特許分類】
B61L 27/00 20220101AFI20230407BHJP
【FI】
B61L27/00 H
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2021163628
(22)【出願日】2021-10-04
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000279
【氏名又は名称】弁理士法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】赤塚 駿一
(72)【発明者】
【氏名】芹田 進
(72)【発明者】
【氏名】鯨井 俊宏
【テーマコード(参考)】
5H161
【Fターム(参考)】
5H161AA01
5H161JJ32
5H161JJ34
5H161JJ36
(57)【要約】
【課題】任意のKPI優先度情報に基づいて計画整理案を決定する。
【解決手段】運転整理案生成装置10は、計画の修正方法案である運転整理案の履歴のそれぞれに対して、対応するKPI優先度情報を付与して学習データを生成する学習データ生成部132と、学習データを教師データとして機械学習された運転整理制限モデル1202を用いて、修正が必要な計画と、任意のKPI優先度情報とに基づいて、所定の目的関数を最大化する運転整理案を決定する運転整理案生成部1200とを備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
計画の修正方法案である計画整理案の履歴のそれぞれに対して、対応するKPI優先度情報を付与して学習データを生成する学習データ生成部と、
前記学習データを教師データとして機械学習された計画整理案制限モデルを用いて、修正が必要な前記計画と、任意の前記KPI優先度情報とに基づいて、所定の目的関数を最大化する前記計画整理案を決定する計画整理案決定部と
を備える計画整理案立案装置。
【請求項2】
請求項1に記載の計画整理案立案装置において、
前記計画整理案に基づいて修正後計画を生成する計画生成部と、
前記計画に関するKPI達成度を算出する計画評価部と、
を備え、
前記学習データ生成部は、前記計画整理案の履歴に対して1か所以上の摂動を加えて摂動後計画整理案を生成し、
前記計画生成部は、前記計画整理案と、前記摂動後計画整理案と、のそれぞれから前記修正後計画を作成し、
前記計画評価部は、前記計画整理案の履歴に基づく前記修正後計画と、前記摂動後計画整理案に基づく前記修正後計画と、のそれぞれについて前記KPI達成度を算出し、
前記学習データ生成部は、前記計画評価部が算出した前記KPI達成度のそれぞれを比較することにより、前記計画整理案の履歴に対応する前記KPI優先度を推定し、前記計画整理案の履歴に対し当該KPI優先度を付与する
ことを特徴とする計画整理案立案装置。
【請求項3】
請求項2に記載の計画整理案立案装置において、
前記学習データ生成部は、前記計画整理案の履歴に基づく前記修正後計画と、前記摂動後計画整理案に基づく前記修正後計画と、のそれぞれの前記KPI達成度を前記目的関数に適用して不等式を生成し、前記不等式に基づいて前記計画整理案の履歴に対応する前記KPI優先度を推定する
ことを特徴とする計画整理案立案装置。
【請求項4】
請求項3に記載の計画整理案立案装置において、
前記KPI達成度は複数の評価指標を有し、前記目的関数はそれぞれの前記評価指標に、前記KPI優先度を構成し、それぞれの前記評価指標に対応する変数を乗じた値の合計値である
ことを特徴とする計画整理案立案装置。
【請求項5】
請求項4に記載の計画整理案立案装置において、
前記学習データ生成部は、前記計画整理案の履歴に対して、この計画整理案を構成する項目の少なくとも一つを部分的にまたは時間的に変更することで前記摂動を加える
ことを特徴とする計画整理案立案装置。
【請求項6】
請求項5に記載の計画整理案立案装置において、
前記学習データ生成部は、前記不等式から前記KPI優先度を構成する複数の前記変数が取りうる範囲を求め、この範囲内の代表点により前記KPI優先度を推定する
ことを特徴とする計画整理案立案装置。
【請求項7】
請求項3に記載の計画整理案立案装置において、
前記計画整理案立案装置は、鉄道の運転ダイヤの修正方法案である運転整理案を立案する運転整理案立案装置であり、
前記学習データ生成部は、前記運転整理案の履歴に対し1か所以上の摂動を加えて摂動後運転整理案を生成し、
前記計画生成部は、前記運転整理案と、前記摂動後運転整理案と、のそれぞれから修正後運転ダイヤを作成し、
前記計画評価部は、前記運転整理案の履歴に基づく修正後運転ダイヤと、前記摂動後運転整理案に基づく修正後運転ダイヤと、のそれぞれについて前記KPI達成度を算出し、
前記学習データ生成部は、前記KPI達成度を所定の前記目的関数に適用して前記不等式を生成し、前記不等式に基づいて前記運転整理案の履歴に対応するKPI優先度を推定し、前記運転整理案の履歴に対し当該KPI優先度を付与する、
ことを特徴とする計画整理案立案装置。
【請求項8】
請求項7に記載の計画整理案立案装置において、
前記運転整理案は運転整理操作とその運転整理操作に必要な情報との組合せを含み、
前記学習データ生成部は、前記運転整理案の履歴に対して1つ以上の前記運転整理操作に対する情報を摂動することで前記摂動後運転整理案を生成する
ことを特徴とする計画整理案立案装置。
【請求項9】
計画整理案立案装置による計画整理案立案方法であって、
前記計画整理案立案装置に、
計画の修正方法案である計画整理案の履歴のそれぞれに対して、対応するKPI優先度情報を付与して学習データを生成する学習データ生成工程と、
前記学習データを教師データとして機械学習された計画整理案制限モデルを用いて、修正が必要な前記計画と、任意の前記KPI優先度情報とに基づいて、所定の目的関数を最大化する前記計画整理案を決定する計画整理案決定工程と
を実行させる計画整理案立案装置による計画整理案立案方法。
【請求項10】
コンピュータにより実行されるコンピュータプログラムであって、
このコンピュータプログラムが実行されると前記コンピュータに、
計画の修正方法案である計画整理案の履歴のそれぞれに対して、対応するKPI優先度情報を付与して学習データを生成する学習データ生成機能と、
前記学習データを教師データとして機械学習された計画整理案制限モデルを用いて、修正が必要な前記計画と、任意の前記KPI優先度情報とに基づいて、所定の目的関数を最大化する前記計画整理案を決定する計画整理案決定機能と
を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、計画整理案立案装置、計画整理案立案装置による計画整理案立案方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
本発明は、好ましくは運転ダイヤ作成装置、および運転ダイヤ作成方法に関するものである。
【0003】
鉄道の運行管理の業務の一つに、遅延発生等によるダイヤの計画からの乱れを修正し、計画ダイヤに戻す運転整理業務がある。運転整理業務では、多数の電車の計画を、いくつかの運転整理操作を組み合わせて変更することにより、計画ダイヤに戻す必要がある。
【0004】
計画ダイヤに戻す方法は多数にあるが、複数のKPI(Key Performance Index)を考慮して最適な運転整理の方法(運転整理案)を選択することが求められる。例えば、各列車の各駅での遅延時間を合計した、全体の合計遅延時間を小さくすることは、乗客の満足度の観点で重要である。また、運転整理操作の回数を少なくすることも、業務コストの観点で考慮する必要がある。これらのKPIは必ずしも同時に最大化できず、また、状況に応じてどのKPIを優先するかは異なる。
【0005】
一般的に、運転整理業務は熟練の司令員が経験に基づき優先すべきKPIを定め、それを満たすような運転整理案を作成していた。このように複数のKPIがある計画問題で、その数が多く複雑であるケースや、計画作成者の経験や勘に基づくケースにおいては、計算機による計画作成は困難であり、結果として得られる計画がユーザの要求を満たしているものとなり難い。
【0006】
そこで、KPI優先度は司令員が外部から与え、それに応じた運転整理案を自動で提案できるシステムを作成することが考えられる。これを実現するためには指定されたKPIに対して何らかの方法で整理案の探索方法を制限するモデルが必要である。このようなモデル作成に際して、過去のデータを用いる必要がある。過去のデータをモデル構築に利用するには、過去において優先されたKPIの情報が必要であるが、そのようなデータは一般的に保存されていない。
【0007】
この問題に対し、いわゆる暗黙知の制約条件を過去データ推定する手法が存在する。例えば、特許文献1に記載の技術は、過去の計画データから緩和すべき制約の優先度を推定するものであり、「現場の実態に即した適切な生産計画を立案することが可能な、生産計画立案装置、及び生産計画立案方法を提供する」、「前記生産計画立案処理部は、前記緩和優先度の順に前記制約を前記予測結果に基づき緩和していくことにより、前記複数の制約の全てを充足する生産計画を立案する」と記載されている。
【先行技術文献】
【特許文献】
【0008】
【発明の概要】
【発明が解決しようとする課題】
【0009】
上記特許文献1は、過去のデータ全体に共通するKPIに対する制約の緩和の優先度を学習し、その優先度を元に計画を立案するものである。同文献では、個別の事象に対してKPIの優先度が異なる状況に対応しておらず、過去の個別の事象に対してKPIの優先度を推定することができない。
【0010】
本発明は上記の課題に鑑みてなされたもので、任意のKPI優先度情報に基づいて計画整理案を決定することが可能な計画整理案立案装置、計画整理案立案装置による計画整理案立案方法及びコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【0011】
上記課題を解決すべく、本発明の一つの観点に従う計画整理案立案装置は、計画の修正方法案である計画整理案の履歴のそれぞれに対して、対応するKPI優先度情報を付与して学習データを生成する学習データ生成部と、学習データを教師データとして機械学習された計画整理案制限モデルを用いて、修正が必要な計画と、任意のKPI優先度情報とに基づいて、所定の目的関数を最大化する計画整理案を決定する計画整理案決定部と
を備える。
【発明の効果】
【0012】
本発明によれば、任意のKPI優先度情報に基づいて計画整理案を決定することが可能な計画整理案立案装置、計画整理案立案装置による計画整理案立案方法及びコンピュータプログラムを実現することができる。
【図面の簡単な説明】
【0013】
【
図1】実施例に係る計画整理案立案装置である運転整理案生成装置の構成例を示す図である。
【
図2】実施例におけるダイヤ評価部が出力するKPI達成度の一例を示す図である。
【
図3】実施例における計画ダイヤの一例を示す図である。
【
図4】実施例における運転整理パターンデータベースの一例を示す図である。
【
図5】実施例における運転整理案の一例を示す図である。
【
図6】実施例における推論部による全体処理のフローを示す図である。
【
図7】実施例における過去運転整理データベースの構成例を示す図である。
【
図8】実施例におけるモデル生成部における全体処理のフローを示す図である。
【
図9】実施例におけるモデル生成部による、学習データ生成処理のフローを示す図である。
【
図10】実施例におけるモデル生成部による、摂動追加処理のフローを示す図である。
【
図11】実施例におけるモデル生成部による、KPI優先度推定処理のフローを示す図である。
【
図12】実施例における過去データベースに保存された計画ダイヤの一例をグラフ上に表した図である。
【
図13】実施例における過去データベースに保存された遅延後ダイヤの一例をグラフ上に表した図であり。
【
図14】実施例における過去データベースに保存された過去実績ダイヤの一例をグラフ上に表した図である。
【
図15】実施例における過去データベースに保存された摂動追加後の修正ダイヤの一例をグラフ上に表した図である。
【
図16】実施例における過去データベースに保存された過去実績ダイヤと、摂動追加後の修正ダイヤを評価することで得られるKPI達成度の値の例を示す図である。
【
図17】実施例における学習データ生成部により摂動処理で得られた不等式によって制限される、KPI優先度パラメータの領域を示す図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0015】
なお、実施例を説明する図において、同一の機能を有する箇所には同一の符号を付し、その繰り返しの説明は省略する。
【0016】
また、以下の説明では、情報の一例として「xxxデータ」といった表現を用いる場合があるが、情報のデータ構造はどのようなものでもよい。すなわち、情報がデータ構造に依存しないことを示すために、「xxxデータ」を「xxxテーブル」と言うことができる。さらに、「xxxデータ」を単に「xxx」と言うこともある。そして、以下の説明において、各情報の構成は一例であり、情報を分割して保持したり、結合して保持したりしても良い。
【0017】
なお、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又は通信インターフェースデバイス(例えばポート)を用いながら行うため、処理の主語がプログラムとされても良い。プログラムを主語として説明された処理は、プロセッサ或いはそのプロセッサを有する計算機が行う処理としても良い。
【0018】
なお、以降の説明において、"○○部は"と動作主体を記した場合、それは、プロセッサがメモリからプログラムである○○部の処理内容を読み出し、メモリにロードしたうえで○○部の機能(詳細後記)を実現することを意味する。
【0019】
本実施形態の計画整理案立案装置は、一例として以下のような構成を有する。
【0020】
本実施形態の計画整理案立案装置である運転整理案生成装置は、指定されたKPIに基づいて運転整理案を提案するダイヤ作成装置であって、過去のデータにおける個別の運転整理履歴から、その際のKPI優先度を推定し保存する部分と、保存したデータを用いて学習された、KPI優先度の情報を元に整理案生成を補助するモデルと、整理案を生成する部分を持つことを特徴とする。
【0021】
本実施形態によれば、指定されたKPI優先度を考慮した運転整理案を提案することができる。
【実施例0022】
以下に、本実施例について
図1から
図17を用いて説明する。
【0023】
本実施例の計画整理案立案装置である運転整理案提案装置は、電車運行において遅延が発生したときに、遅延状況を解消する新しい計画を提案するものである。本実施例の運転整理提案装置は、遅延状況の解消の際に複数のKPIを考慮する必要がある場合で、かつ、それらのKPI優先度がシステムの外部から与えられた場合に、そのKPI優先度に応じて整理案の探索空間を制限するモデルを用いて、KPI優先度に基づく目的関数を最大化する運転整理案を提案する。本実施例の運転整理提案装置は、上記モデルを作成するモデル生成部を備え、モデル生成部は、モデル生成に必要なKPI優先度に関するデータを過去運転整理データから推定し補う、学習データ生成部を備える。
【0024】
図1に、運転整理案生成装置10の構成の一例を示す。
【0025】
運転整理案生成装置10は、ハードウェアとしてRAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)等の記憶装置101と、キーボード、マウス、タッチパネルなどからなる入力装置102と、モニタ、プリンタ等からなる出力装置103と、記憶装置に格納されたプログラムを実行するCPU(Central Processing Unit)などのプロセッサ104、RAMなどで構成されるメモリ105を備える。
【0026】
記憶装置101内には、予測ダイヤシミュレータ110、運転整理操作データベース111と、目的関数112と、推論部120と、モデル生成部130とが記憶されている。
【0027】
プロセッサ104は、記憶装置101に格納されたプログラムを実行することで、後述するKPI優先度1208に応じた運転整理ダイヤを生成する機能を実装する。
【0028】
予測ダイヤシミュレータ110は、ダイヤ情報と、それに対する計画変更の情報に基づいて、実現されるダイヤを予測し出力する。
【0029】
ダイヤ情報は、電車群の制御に用いる電車の運行の計画を示す情報である。ダイヤ情報は、少なくともすべての電車のすべての駅での到着および発車時刻、もしくは通過時刻の情報を持つ。具体的なダイヤ情報については、
図3で詳しく説明する。
【0030】
計画変更の情報とは、後述する遅延状況データ1203、または運転整理案1207、または過去運転整理データベース1400に保持されている運転整理案1414である。
【0031】
予測ダイヤシミュレータ110は出力ダイヤが満たすべき制約条件に関する情報を保持している。制約条件とは、例えば駅における最低の停車時間や、電車間の最低の時間間隔に対する条件である。予測ダイヤシミュレータ110は、制約条件を満たす予測ダイヤを出力する。
【0032】
ダイヤ評価部113は、計画ダイヤ1204、遅延後予測ダイヤ1205に基づき、修正後ダイヤ1206に関する所定の評価指標の指標値を算出する。以下、ダイヤ評価部113により出力される指標値をKPI達成度と呼ぶ。
【0033】
KPI達成度は少なくとも1つ以上の数値データからなり、複数のKPI(評価指標)がある場合は数値ベクトルとなる。例えば、3個の評価指標がある場合、KPI達成度は3次元の実数からなるベクトルを出力する。本実施例では、例として評価指標が3種類である場合を扱うが、本発明における評価指標の数を限定するものではない。KPI達成度の具体的な例については、
図2を用いて後述する。
【0034】
運転整理操作データベース111は、利用できる全ての運転整理操作のリストである。運転整理操作(以下、単に運転整理)は少なくとも1つの電車の計画を変更する操作である。例えば、電車のとある駅での発車時刻を遅らせる操作は、運転整理操作の一つである。運転整理操作データベース111の詳細については、
図4を参照して後述する。
【0035】
目的関数112は、ダイヤ評価部113の出力であるKPI達成度に基づいて、最終的な評価値を返す関数である。目的関数112は、後述するKPI優先度1208の値をパラメータとする関数である。例えば、KPI達成度が3つの評価指標KPI1、KPI2、KPI3で与えられ、KPI優先度1208が3つの変数w1、w2、w3で与えられる場合に、目的関数112はw1*KPI1+w2*KPI2+w3*KPI3で表される関数として定められる。
【0036】
推論部120は、遅延状況データ1203やKPI優先度1208に基づいて運転整理案1207を出力する。推論部120は、運転整理案生成部1200、運転整理制限モデル1202、遅延状況データ1203、計画ダイヤ1204、遅延後予測ダイヤ1205、修正後ダイヤ1206、運転整理案1207、KPI優先度1208、運転整理操作リスト1209を備える。推論部120での具体的な処理の内容については、
図6を用いて後に説明する。
【0037】
以下、推論部120の構成について説明する。
【0038】
遅延状況データ1203は、実際の現場における遅延の状況を示すデータである。例えば、事故により、とある駅においてとある電車が一定の時間停車しなければならない状況になった場合に、当該電車を計画ダイヤ上で指定する情報と、当該駅を計画ダイヤ上で指定する情報と、遅延見込み時間の情報が入力されるものである。遅延状況データ1203は、ダイヤシミュレータ110が読み取ることで遅延後予測ダイヤ1205を出力するために必要な情報を有している。
【0039】
計画ダイヤ1204は、遅延が発生する前の計画時のダイヤ情報である。ダイヤの具体的な例については
図3を用いて後に説明する。
【0040】
遅延後予測ダイヤ1205は、計画ダイヤ1204に対して、遅延状況データ1203に対応する遅延が発生し、運転整理を実施しなかった場合に、実現されると予測される遅延後のダイヤ情報である。遅延後予測ダイヤ1205は、計画ダイヤ1204と、遅延状況データ1203をもとに予測ダイヤシミュレータ110を用いて作成される。
【0041】
修正後ダイヤ1206は、遅延後予測ダイヤ1205に対して運転整理案生成部1200で生成される運転整理案1207を適用した場合に、実現されると予測されるダイヤである。修正後ダイヤ1206は、遅延後予測ダイヤ1205と運転整理案1207に基づいて、予測ダイヤシミュレータ110を用いて生成される。
【0042】
運転整理案1207は、運転整理操作のリストである。運転整理案1207の実装の例については、
図5を用いて後に説明する。運転整理案1207は、運転整理案生成部1200によって
図6のステップs3020で作成されるものである。
【0043】
KPI優先度1208は、目的関数112を定義するパラメータである。KPI優先度1208は、司令員が判断したものを入力装置を用いて入力することを想定しているが、外部の別のアルゴリズムで決定したものを入力装置を用いて入力したものでも良い。
【0044】
運転整理操作リスト1209は、運転整理案生成部1200が運転整理案1207を作成する際に用いる運転整理操作を定めるリストである。例えば、運転整理操作データベース111で定められる運転整理操作の一部を指定するリストである。後述の運転整理制限モデル1202によって、生成される。
【0045】
運転整理案生成部1200は、計画ダイヤ1204と遅延後予測ダイヤ1205を元に、運転整理操作リスト1209を用いて、目的関数112を最大化する運転整理案1207を出力する。具体的には、例えば、運転整理案生成部1200は、運転整理操作リスト1209を組み合わせて作ることができるすべての運転整理案1207に対してKPI達成度を計算し、それが最大になるものを出力する。
【0046】
運転整理制限モデル1202は、遅延後予測ダイヤ1205、計画ダイヤ1204、KPI優先度1208を元に、運転整理操作リスト1209を作成するモデルである。運転整理制限モデル1202は、目的関数112を最大化するために必要十分な運転整理操作リスト1209を推定するために実行される。
【0047】
モデル生成部130は、過去のデータをもとに運転整理制限モデル1202を生成する。モデル生成部130は、モデル学習部131、学習データ生成部132、学習データベース133、過去運転整理データベース134を備える。
【0048】
過去運転整理データベース134は、後述する過去運転整理データ1401を1つ以上格納したデータベースである。過去運転整理データ1401は、過去に行われたダイヤ修正の履歴に関する情報を含む。過去運転整理データ1401の例は
図6を用いて後で説明する。
【0049】
学習データベース133は、後述する学習データを1つ以上格納したデータベースである。学習データは、過去運転整理データ1401の情報と、その時のKPI優先度情報とを含むデータのセットである。
【0050】
学習データ生成部132は、過去の運転整理データベース134の情報を元に学習データを作成する。学習データ生成部132は、過去運転整理データ1401にその時のKPI優先度情報が含まれていない場合、それを推定して追加するために実行されるものである。学習データ生成部132の処理の詳細に関しては、後で
図9を用いて詳細に説明する。
【0051】
モデル学習部131は、学習データベース133に格納されている学習データを用いて、運転整理制限モデル1202を生成する。具体的には、例えば、モデル学習部131は、学習データにおける計画ダイヤ1204に基づいて、KPI優先度と用いられた運転整理の種類を関連付けるようなモデルを作成する。
【0052】
図2に、ダイヤ評価部113が出力するKPIの例を示す。本実施例では、ダイヤ評価部113は遅延時間、電車間隔、順序変更回数に対する3つのKPIを出力する。
【0053】
図2に示すように、遅延時間に関するKPI(201)は、遅延時間が小さいほど大きな値を取り、取りうる値の範囲が0から1であるような指標であり、例えば、元の遅延後ダイヤの合計の遅延時間に対する、修正後ダイヤの合計の遅延時間の改善割合である。
【0054】
電車間隔に関するKPI(202)は、駅における電車間隔が均等であるほど大きな値を取り、取りうる値の範囲が0から1であるような指標であり、例えば、電車間隔の分散の改善割合である。
【0055】
順序変更回数に関するKPI(203)は、順序変更の回数が少ないほど大きな値を取るような指標であり、取りうる値の範囲は0から1であるような指標である。例えば、順序変更を行わない場合は1であり、1回行うごとに0.2減らし、5回以上で0になるような指標である。
【0056】
本実施例では、簡単な例を示すために
図2に示す3つのKPIを用いるが、これは本発明のKPIの種類や数を限定するものではない。
【0057】
図3に、計画ダイヤ1204の一例を示す。
図3に示す計画ダイヤ1204の例では、電車ID(211)が1から4で表される4つの電車に対して、駅ID(212)がAからGで表される7つの駅における着時刻(213)、発時刻(214)、使用番線(215)が対応した表として与えられる。
【0058】
ダイヤ情報はこれらに限るものではなく、このほかに例えば、電車の接続に関する情報、乗務員の情報、通過駅の情報があっても良い。
【0059】
図4に、運転整理操作データベース111の一例を示す。
図4に示す運転整理操作データベース111の例では、5種類の運転整理が利用可能であり、それぞれの運転整理操作に対して、運転整理ID(221)と、操作内容の文字列(222)、その運転整理操作を実行するのに必要な情報を示すフラグ情報(223)が対応した表として与えられる。
【0060】
運転整理操作を実行するのに必要なフラグ情報とは、例えば、各運転整理操作に必要な情報の候補に対して1行ずつ行を割り当てて置き、項目に対応する行については「1」を、必要でない項目に対応する行については「0」を記入したものである。
【0061】
図4の例では、必要な情報の候補は該当の電車のダイヤ上のID(2231)と、駅のID(2232)と、目標の電車のID(2233)と、操作の対象となる時刻(2234)であり、例えば、運転整理IDが1で示される運転整理操作(224)を実行する際は、電車ID、駅ID、目標電車IDの列に1が記入されていることから、これらの3つの情報が必要であることを示す。本実施例では、簡単な例を示すために
図4に示す5種類の運転整理を考えるが、これは本発明における運転整理の種類を限定するものではない。
【0062】
図5に、運転整理案1207の一例を示す。この例では、運転整理案1207は運転整理操作のIDを記入した列(230)と、その運転整理操作に必要な情報に対応する列(231、232,233、234)を並べた表である。
【0063】
図5の表の各行には、運転整理操作IDとその操作に必要な情報を記入し、必要のない列には必要がないことを示す別の符号(この例では-)を記入する。例えば、1行目の運転整理操作は運転整理IDが1である運転整理操作を行うことを示し、操作に必要な情報として電車ID、駅ID、目標電車IDの情報が格納されているが、時刻は必要がないので「-」の符号が記入されている。
【0064】
図6に、過去運転整理データベース134の一例を示す。過去運転整理データベース134は、過去運転整理データ1401を1つ以上含むデータである。過去運転整理データ1401は、過去に行われた運転整理の情報を含むもので、例えば過去に行われたダイヤ修正における計画ダイヤ1411と、遅延後予測ダイヤ1412と、修正後ダイヤ1413と、実施された運転整理案1414の情報を含む。
【0065】
図7は、推論部120が行う運転整理案生成処理を説明するフローチャートである。運転整理案生成処理は、記憶装置101に格納されたデータをもとに、運転整理案1207を提案し出力する処理である。
【0066】
推論部120は、まず、遅延状況データ1203と、KPI優先度情報1208を取得する(s3005)。遅延状況データ1203とKPI優先度情報1208は、例えば、司令員が入力装置102から入力する。次に、推論部120は、ダイヤシミュレータ110と計画ダイヤ1204と遅延状況データ1203を用いて、遅延後予測ダイヤ1205を生成する(s3010)。続いて、推論部120は、運転整理制限モデル1202と、遅延後予測ダイヤ1205と、計画ダイヤ1204と、KPI優先度1208を用いて、運転整理操作リスト1209を作成する(s3015)。次に、推論部120は、運転整理案生成部1200を用いて、計画ダイヤ1204と、遅延後予測ダイヤ1205と、目的関数112に基づいて、運転整理案1207を生成する(s3020)。次に、推論部120は、ダイヤシミュレータ110を用いて、計画ダイヤ1204と、遅延後予測ダイヤ1205と、運転整理案1207に基づいて修正後ダイヤ1206を生成する(s3025)。次に、推論部120は、運転整理案1207と修正後ダイヤ1206を出力装置103に出力し(s3030)、処理を終了する。
【0067】
図8は、モデル生成部130が行うモデル生成処理を説明するフローチャートである。
【0068】
モデル生成部130は、まず学習データ生成処理(s3105)を行う。
【0069】
学習データ生成処理s3105は、過去データベース1334のデータに基づいて、学習に用いる学習データを作成し、学習データベース133に格納する処理である。学習データ生成処理s3105の具体的な処理内容の例は、
図9から
図11を用いて後で詳細に説明する。
【0070】
続いて、モデル生成部130はモデル学習部131と、学習データベース133の学習データを用いて、モデルを生成する(s3110)。次に、モデル生成部130は得られたモデルを運転整理制限モデル1202として保存し(s3115)、処理を終了する。
【0071】
図9から
図11を用いて、学習データ生成処理(s3105)の一例を説明する。この例では、過去データに含まれる運転整理案1414に変更(摂動)を加え、それによる達成KPIの変化を計算し、その情報に基づいて過去における運転整理案1414が作成されたときのKPI優先度を推定し、学習データとして保存する。
【0072】
図9は、学習データ生成部132が行う学習データ生成処理の一例を示すフローチャートである。
【0073】
まず、学習データ生成部132は、過去運転整理データベース134から過去運転整理データ1401を1つ取得し、メモリ105等に格納する(s3205)。
【0074】
次に、学習データ生成部132は、取得した過去運転整理データ1401に対して、摂動追加処理(s3210)を実行する。摂動追加処理(s3210)は、過去に実行された運転整理案1414に対して少なくとも1か所以上の変更を加え、変更を加えた後の運転整理案を用いて修正後ダイヤを生成し、達成KPIを計算する処理である。具体的な処理の例については、あとで
図10を用いて説明する。
【0075】
次に、学習データ生成部132は、KPI優先度推定処理(s3215)を実行する。KPI優先度推定処理(s3215)は、過去データ取得処理(s3210)で取得した過去運転整理データ1401と、摂動追加処理で得られた修正後ダイヤに対する達成KPIとを用いて、KPI優先度を推定する処理である。具体的な処理の例については、あとで
図11を用いて説明する。
【0076】
次に、学習データ生成部132は、KPI優先度推定処理(s3215)で推定したKPI優先度と、過去データ取得処理(s3210)で取得した過去運転整理データ1401を、学習データベース133に保存する(s3220)。
【0077】
次に、学習データ生成部132は、過去運転整理データベース134にあるすべてのデータに対して上記処理が完了済みかを判定し(s3225)、完了済みでない場合は、再びステップs3205に戻る。すべてのデータに対して上記処理が完了済みの場合は、学習データ生成処理を終了する。
【0078】
図10は、摂動追加処理(s3210)の一例を示すフローチャートである。
【0079】
まず、学習データ生成部132は、カウンタnを初期化し、必要データ数Nを設定する(s3300)。次に、学習データ生成部132は、過去運転整理データ1401の運転整理案1414に対して、何らかの変更(摂動)を加えた摂動後運転整理案を生成し、メモリ等に記録する(s3305)。
【0080】
摂動は、過去運転整理案に一箇所以上の変更を加えるもので、例えば、過去の運転整理案に対して、新たに1つの運転整理操作を追加する、というのは摂動の一例である。
【0081】
次に、学習データ生成部132は、予測ダイヤシミュレータ110を用いて、過去運転整理データ1401における計画ダイヤ1411と、過去運転整理データ1402における遅延後予測ダイヤ1412と、摂動後の運転整理案とに基づいて新たな修正後ダイヤを取得する(s3310)。
【0082】
次に、学習データ生成部132は、ダイヤ評価部113を用いて、過去運転整理データ1401における計画ダイヤ1411と、過去運転整理データ1401における遅延後予測ダイヤ1412と、摂動を追加して新たに得られた修正後ダイヤとを用いて、KPI達成度を取得する(s3315)。
【0083】
次に、学習データ生成部132は、過去運転整理データ1401におけるKPI達成度と、新たな修正後ダイヤに対して計算したKPI達成度を比較し、摂動を追加して新たに得られた修正後ダイヤがKPI優先度に有用かどうかを判定する(s3320)。有用であるかの判断基準は、例えば、摂動によりすべてのKPIが減少しているようなものは、有用でないと判定する。
【0084】
学習データ生成部132は、有用でないと判断した場合、ステップs3305に戻り新たな摂動後整理案を生成する。有用であると判定した場合、カウンタnを1だけ増加させ、摂動後のKPI達成度情報をメモリに保存する(s3325)。
【0085】
次に、カウンタの数がs3300で設定したN以上であった場合、処理を終了する。N以上でなかった場合は、摂動条件を生成するステップs3305に戻る。
【0086】
図11は、KPI優先度推定処理(s3215)の一例を示すフローチャートである。
【0087】
学習データ生成部132は、N個の摂動後のKPI達成度と、過去実績ダイヤのKPI達成度を用いて、KPI優先度に関する条件式を作成する(s3405)。例えば、学習データ生成部132は、過去実績ダイヤは目的関数112を最大化しているものだとして、摂動後KPI達成度を用いて計算した目的関数評価値より、過去実績ダイヤに対するKPI達成度を用いて計算した目的関数評価値のほうが大きい、という不等式を得る。N個の摂動後KPI達成度に対して、N個の条件式が得られる。
【0088】
次に、学習データ生成部132は、これらの不等式を満たす解の範囲を探索する(s3410)。学習データ生成部132は、解が見つからなかった場合、条件式のうちの1つを選びそれを取り除き、再び探索ステップs3410に戻る(s3420)。解が見つかった場合、の解の代表点を決定し、それを推定されるKPI優先度として、学習データベース133に保存する(s3425)。
【0089】
以下、
図12から
図17を用いて、学習データ生成処理におけるKPI優先度の推定値の求め方の具体例を示す。
【0090】
以下の具体例では、ダイヤ評価部113は
図2で説明した3つの評価指標であるKPI(以下、KPI
1、KPI
2、KPI
3と書く)をKPI達成度として算出する。また、以下の具体例では、目的関数112のパラメータであるKPI優先度は、それぞれのKPI達成度の重要度に対応する3つの重みパラメータw
1、w
2、w
3であり、目的関数112はw
1*KPI
1+w
2*KPI
2+w
3*KPI
3で与えられる関数である。KPI優先度w
1、w
2、w
3は、w
1+w
2+w
3=1を満たす。
【0091】
図9に示す学習データ生成処理では、過去運転整理データ1401における過去計画ダイヤ1411と、遅延後予測ダイヤ1412と、過去修正後ダイヤ1413と、過去運転整理案1414から、運転整理が行われた際のKPI優先度パラメータw
1、w
2、w
3を推定することが目的である。
【0092】
図12に、計画ダイヤ1204をグラフ上に図示したものの一例を示す。
図12では、横軸が時刻を表し、縦軸が駅を表し、実線が各電車の各時刻における位置を示す。以下、
図13から
図15でも同様である。
図12は、
図3の計画ダイヤ1204をグラフ上に図示したものであり、4001、4002、4003、4004の実線は、それぞれ
図3のダイヤにおける電車ID1、2、3、4で表される電車の計画ダイヤを示す。 以下では、それぞれ電車1、電車2、電車3、電車4と呼ぶ。また、このような電車の計画を表す線を列車スジと呼ぶ。
【0093】
図13に、遅延後ダイヤの例を表す。
図13は、電車3が駅Dにおいて45分遅延(4100)した場合に予測される、遅延後ダイヤである。電車3の遅延後の列車スジ(4013)に示されるように、電車3ではD駅以降のすべての駅で遅延が発生している。電車3で遅延が発生したことにより、電車4にも遅延が発生している(4014)。この時、終点での遅延は、電車1は0分、電車2は0分、電車3は45分、電車4は40分で、合計85分である。電車の間隔は、終点での電車の間隔で比べると、電車1-電車2間が15分、電車2-電車3間が60分、電車3-電車4間が10分である。
【0094】
図14に、過去運転整理データ1401における、過去修正後ダイヤ1413の例を表す。
図13では、電車4が駅Dにおいて電車3と発車順序を変更する(4110)ことにより、電車4の遅延は解消し(4024)、合計の遅延時間が改善している。具体的には、電車1は0分、電車2は0分、電車3は0分、電車4は45分で、合計45分である。列車の間隔は、電車1-電車2間が15分、電車2-電車3間が30分、電車3-電車4間が30分である。
【0095】
図15に、ステップs3305にける摂動整理案として、元の整理案に加えて電車2に遅延4201および遅延4202を追加した場合の、摂動後ダイヤを表す。電車2の列車スジ4032は終点で10分遅延する。電車1から電車4までの合計の遅延は55分となり、
図14で示した過去データにおける修正ダイヤより増加している。一方、終点における電車間隔は電車1-電車2間が20分、電車2-電車3間が25分、電車3-電車4間が30分であり、
図14で示した修正ダイヤよりも均等に近づいている。
【0096】
図16に、
図14と
図15を評価して得られたKPIの例を示す。
図16は、
図13に示す過去実績ダイヤを評価した結果 (KPI
1、KPI
2、KPI
3)=(0.6,0.7,0.5)が得られ、
図15に示す摂動後ダイヤを評価した結果(KPI
1、KPI
2、KPI
3)=(0.5,0.8,0.5)が得られた例を示す。
【0097】
図17が、
図16の例で得られたKPIを用いてステップs3405で得た不等式によって、制限されるw
1と w
2の取りうる値の領域を、平面上に図示したものである。学習データ生成部132は、ステップs3405において、
図15の例における修正ダイヤおよび摂動後修正ダイヤのKPIを目的関数112に代入して比較することで、以下の不等式を得る。
w
1*0.5+w
2*0.7+w
3*0.8>w
1*0.4+w
2*0.8+w
3*0.5
【0098】
学習データ生成部132は、上の不等式を整理し、w
1>w
2を得る。学習データ生成部132は、ステップs4310においてこの不等式から、
図17の5110で表される領域の中に値を取ることを推定し、ステップ3245でこの領域内の代表点を、例えばランダムに選択し、KPI優先度推定処理を終了する。学習データ生成部132は、摂動ダイヤを複数作成し同様の処理を行うことで不等式を複数得ることができ、KPI優先度の取りうる値をより制限し精度の良い推定を行うことができる。
【0099】
以上詳細に説明したように、本実施形態の運転整理案生成装置10によれば、任意のKPI優先度情報に基づいて計画整理案を決定することが可能となる。
【0100】
なお、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【0101】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
【0102】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)、Python等の広範囲のプログラムまたはスクリプト言語で実装できる。
【0103】
さらに、各実施例の機能を実現するソフトウェアのプログラムコードのすべてまたは一部は、予め記憶装置101に格納されていてもよいし、必要に応じて、ネットワークに接続された他の装置の非一時的記憶装置から、または運転整理案生成装置10が備える図略の外部I/Fを介して、非一時的な記憶媒体から、記憶装置101に格納されてもよい。
【0104】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段またはCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【0105】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【0106】
他にも、本発明の実施形態の一例として、複数の製品の製造を行う工場での生産計画の自動変更システムが挙げられる。これは、元の生産計画に対して何らかの異常、例えば装置の故障や材料の調達の支障、需要の急増があった場合に、元の生産計画を変更する再計画案の立案を自動で行うシステムである。
【0107】
生産計画の自動変更システムにおいて、計画整理案の履歴は、例えば元の計画と、それに対して生じた異常の結果生じた異常後の計画と、それに対して修正が加えられた修正後計画と、どのような修正を行ったかを示す修正案、を含む情報である。生産計画は、例えば工場における複数の機器が、それぞれどの時刻にどの製品を生産するか、もしくは何も生産せずにメンテナンス等の他の作業を行うか、を示した製造計画表と、製品の製造に必要な資材をいつ発注し、どの時刻にどれくらい利用可能になるかを示した調達計画情報と、各製品がどの時刻にどれくらい必要かを示した需要計画情報を含む。
【0108】
修正案は、生産計画を変更する方法であり、例えば機器がある時刻または時刻の範囲において元々生産する予定だった製品Aを別の製品Bに変更することや、調達計画情報における発注する資材の時刻や量を変更することである。
【0109】
KPIは例えば製造した製品の量が多いか、製品の生産量が需要量を満たしたか、製品の在庫量が必要量より多いか、製品の在庫量が上限より少ないか、工場における機器の切り替え回数が少ないか、機器の稼働時間の割合が高いか、資材の在庫量が必要量より多いか、資材の在庫量が上限より少ないか、である。
10…運転整理案生成装置 101…記憶装置 104…プロセッサ 105…メモリ 110…予測ダイヤシミュレータ 111…運転整理操作データベース 112…目的関数 113…ダイヤ評価部 120…推論部 130…モデル生成部 131…モデル学習部 132…学習データ生成部 133…学習データベース 134…過去運転整理データベース 1200…運転整理案生成部 1202…運転整理制限モデル 1203…遅延状況データ 1204…計画ダイヤ 1205…遅延後予測ダイヤ 1206…修正後ダイヤ 1207…運転整理案 1208…KPI優先度 1209…運転整理操作リスト 1334…過去データベース 1400…過去運転整理データベース 1401…過去運転整理データ 1402…過去運転整理データ 1411…過去計画ダイヤ 1412…遅延後予測ダイヤ 1413…過去修正後ダイヤ 1414…過去運転整理案