IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特開2024-18658情報処理装置、情報処理方法及びプログラム
<>
  • 特開-情報処理装置、情報処理方法及びプログラム 図1
  • 特開-情報処理装置、情報処理方法及びプログラム 図2
  • 特開-情報処理装置、情報処理方法及びプログラム 図3
  • 特開-情報処理装置、情報処理方法及びプログラム 図4
  • 特開-情報処理装置、情報処理方法及びプログラム 図5
  • 特開-情報処理装置、情報処理方法及びプログラム 図6
  • 特開-情報処理装置、情報処理方法及びプログラム 図7
  • 特開-情報処理装置、情報処理方法及びプログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024018658
(43)【公開日】2024-02-08
(54)【発明の名称】情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
   G06Q 50/40 20240101AFI20240201BHJP
【FI】
G06Q50/30
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022122112
(22)【出願日】2022-07-29
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】鈴木 健士郎
(72)【発明者】
【氏名】江藤 力
(72)【発明者】
【氏名】關 健太郎
(72)【発明者】
【氏名】平山 景介
(72)【発明者】
【氏名】小澤 英里奈
(72)【発明者】
【氏名】荻原 智
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049CC42
(57)【要約】
【課題】乗務員の乗務計画等の運用計画の生成に要する計算量を少なくするための情報処理装置を実現する。
【解決手段】情報処理装置(1)は、開始時刻、終了時刻、開始位置及び終了位置が定められたタスクの集合を取得する取得部(11)と、上記集合に含まれる第1のタスクと第2のタスクとを接続可能とするかを示す情報を、タスク同士の接続に関する制約条件を用いた最適化問題を解くことにより算出する算出部(12)と、上記集合に含まれる1又は複数のタスクを順に接続したタスク列の集合を、算出部(12)が算出した情報に基づき生成する第1の生成部(13)と、上記タスク列の集合についての最適化問題を解くことにより、各タスクにリソースを割り当てた運用計画を生成する第2の生成部(14)と、を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
開始時刻、終了時刻、開始位置及び終了位置が定められたタスクの集合を取得する取得手段と、
前記集合に含まれる第1のタスクと第2のタスクとを接続可能とするかを示す情報を、タスク同士の接続に関する制約条件を用いた最適化問題を解くことにより算出する算出手段と、
前記集合に含まれる1又は複数のタスクを順に接続したタスク列の集合を、前記算出手段が算出した情報に基づき生成する第1の生成手段と、
前記タスク列の集合についての最適化問題を解くことにより、各タスクにリソースを割り当てた運用計画を生成する第2の生成手段と、
を備える情報処理装置。
【請求項2】
前記第2の生成手段は、
前記タスク列の集合についての最適化問題を解くことにより、当該集合の部分集合を生成し、
前記部分集合に含まれる1又は複数のタスク列を順に接続したタスク列の集合であって、前記取得手段が取得した前記タスクの集合に含まれる全てのタスクを含む第2の集合を生成し、
前記第2の集合についての最適化問題を解くことにより、当該第2の集合の部分集合を生成し、生成した部分集合に基づき前記運用計画を生成する、
請求項1に記載の情報処理装置。
【請求項3】
前記第2の生成手段は、
前記タスク列の集合の部分集合から前記第2の集合を生成する処理、及び、前記第2の集合から前記第2の集合の部分集合を生成する処理、を含む一連の処理を繰り返し実行することにより、前記運用計画を生成する、
請求項2に記載の情報処理装置。
【請求項4】
前記第2の生成手段は、前記第2の集合についての最適化問題を解くことにより生成した前記第2の集合の部分集合が、前記リソースに関する第2の制約条件を満たさない場合、前記制約条件を定めるパラメータを更新し、更新したパラメータを用いた前記情報の算出処理を前記算出手段に再度行わせる制御処理を実行する、
請求項2又は3に記載の情報処理装置。
【請求項5】
前記第2の生成手段は、前記第2の集合の部分集合が前記第2の制約条件を満たすまで、前記制御処理を繰り返し実行する、
請求項4に記載の情報処理装置。
【請求項6】
前記パラメータは、第1のタスクの後方に接続可能である第2のタスクの数の上限値、及び、第1のタスクの前方に接続可能である第2のタスクの数の上限値、の少なくともいずれか一方を含む、
請求項4に記載の情報処理装置。
【請求項7】
前記タスクは、鉄道が運行する運行路を乗務員の交代が可能な駅で分割した乗務であり、
前記第2の生成手段は、前記乗務に前記乗務員を割り当てた運用スケジュールを生成する、
請求項1から3のいずれか1項に記載の情報処理装置。
【請求項8】
前記第1の生成手段は、先頭のタスクの開始位置と最後尾のタスクの終了位置とが同じであるタスク列の集合を生成する、
請求項1から3のいずれか1項に記載の情報処理装置。
【請求項9】
開始時刻、終了時刻、開始位置及び終了位置が定められたタスクの集合を取得することと、
前記集合に含まれる第1のタスクと第2のタスクとを接続可能とするかを示す情報を、タスク同士の接続に関する制約条件を用いた最適化問題を解くことにより算出することと、
前記集合に含まれる1又は複数のタスクを順に接続したタスク列の集合を、前記情報に基づき生成することと、
前記タスク列の集合についての最適化問題を解くことにより、各タスクにリソースを割り当てた運用計画を生成することと、
を含む情報処理方法。
【請求項10】
コンピュータに、
開始時刻、終了時刻、開始位置及び終了位置が定められたタスクの集合を取得する取得処理と、
前記集合に含まれる第1のタスクと第2のタスクとを接続可能とするかを示す情報を、タスク同士の接続に関する制約条件を用いた最適化問題を解くことにより算出する算出処理と、
前記集合に含まれる1又は複数のタスクを順に接続したタスク列の集合を、前記算出処理において算出された情報に基づき生成する第1の生成処理と、
前記タスク列の集合についての最適化問題を解くことにより、各タスクにリソースを割り当てた運用計画を生成する第2の生成処理と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、運用計画を生成する技術に関する。
【背景技術】
【0002】
列車の乗務員スケジュール等の運用計画を生成する技術が提案されている。例えば、非特許文献1には、列車の運行スケジュールに適用可能な乗務員スケジュールの自動作成手法として、行路を段階的に作成することで一回あたりの問題の規模を縮小し計算量を削減できる手法が開示されている。非特許文献1に記載の手法では、列車の運行スケジュールを乗務員の交代可能駅で分割して乗務を作成し、作成した乗務集合に含まれる乗務の組み合わせで構成される部分行路を全探索して部分行路集合を作成し、部分行路集合を最適化する等の処理により行路、すなわち乗務員毎のスケジュールを作成する。ここで、作成される各行路は、前後関係を有する複数の乗務が順番に並べられたものである。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】高橋康太, 渡邊亮, “段階的な最適化計算による鉄道乗務員スケジュールの自動作成”, 計測自動制御学会論文集 Vol.53, No.2, 162/168(2017)
【発明の概要】
【発明が解決しようとする課題】
【0004】
非特許文献1に記載の手法では、乗務の組み合わせで構成される部分行路を全探索するため、前後に配置可能な乗務の数が多いほど部分行路の総数が膨大になってしまい、行路を作成するための計算量が膨大になってしまうという問題がある。
【0005】
本発明の一態様は、上記の問題に鑑みてなされたものであり、その目的の一例は、乗務員の乗務計画等の運用計画の生成に要する計算量を少なくする技術を提供することである。
【課題を解決するための手段】
【0006】
本発明の一態様に係る情報処理装置は、開始時刻、終了時刻、開始位置及び終了位置が定められたタスクの集合を取得する取得手段と、前記集合に含まれる第1のタスクと第2のタスクとを接続可能とするかを示す情報を、タスク同士の接続に関する制約条件を用いた最適化問題を解くことにより算出する算出手段と、前記集合に含まれる1又は複数のタスクを順に接続したタスク列の集合を、前記算出手段が算出した情報に基づき生成する第1の生成手段と、前記タスク列の集合についての最適化問題を解くことにより、各タスクにリソースを割り当てた運用計画を生成する第2の生成手段と、を備える。
【0007】
また、本発明の一態様に係る情報処理方法は、開始時刻、終了時刻、開始位置及び終了位置が定められたタスクの集合を取得することと、前記集合に含まれる第1のタスクと第2のタスクとを接続可能とするかを示す情報を、タスク同士の接続に関する制約条件を用いた最適化問題を解くことにより算出することと、前記集合に含まれる1又は複数のタスクを順に接続したタスク列の集合を、前記情報に基づき生成することと、前記タスク列の集合についての最適化問題を解くことにより、各タスクにリソースを割り当てた運用計画を生成することと、を含む。
【0008】
また、本発明の一態様に係るプログラムは、コンピュータに、開始時刻、終了時刻、開始位置及び終了位置が定められたタスクの集合を取得する取得処理と、前記集合に含まれる第1のタスクと第2のタスクとを接続可能とするかを示す情報を、タスク同士の接続に関する制約条件を用いた最適化問題を解くことにより算出する算出処理と、前記集合に含まれる1又は複数のタスクを順に接続したタスク列の集合を、前記算出処理において算出された情報に基づき生成する第1の生成処理と、前記タスク列の集合についての最適化問題を解くことにより、各タスクにリソースを割り当てた運用計画を生成する第2の生成処理と、を実行させるためのプログラムである。
【発明の効果】
【0009】
本発明の一態様によれば、乗務員の乗務計画等の運用計画の生成に要する計算量を少なくすることができる。
【図面の簡単な説明】
【0010】
図1】例示的実施形態1に係る情報処理装置の構成を示すブロック図である。
図2】例示的実施形態1に係る情報処理方法の流れを示すフロー図である。
図3】例示的実施形態2に係る情報処理装置の構成を示すブロック図である。
図4】例示的実施形態2に係る運用計画の生成処理の流れの一例を示すフロー図である。
図5】例示的実施形態2に係る運行計画と乗務との具体例を示す図である。
図6】例示的実施形態2に係る乗務と部分行路の具体例を示す図である。
図7】例示的実施形態2に係る運用計画の出力例を示す図である。
図8】各例示的実施形態に係る情報処理装置として機能するコンピュータの構成を示すブロック図である。
【発明を実施するための形態】
【0011】
〔例示的実施形態1〕
本発明の第1の例示的実施形態について、図面を参照して詳細に説明する。本例示的実施形態は、後述する例示的実施形態の基本となる形態である。
【0012】
<情報処理装置の構成>
本例示的実施形態に係る情報処理装置1の構成について、図1を参照して説明する。図1は、情報処理装置1の構成を示すブロック図である。情報処理装置1は、複数のタスクにリソースを割り当てた運用計画を生成する。ここで、タスクは、リソースの割当の対象であり、一例として、列車が運行する経路を複数の区間に分割した各区間の乗務である。ただし、タスクは上述した例に限られず、他のものであってもよい。タスクは、一例として、路線バス、航空機、トラック等の他の移動体が運行する経路を複数の区間に分割した各区間の乗務であってもよい。また、リソースは一例として乗務を遂行する乗務員であり、リソースの運用計画は、一例として乗務員の乗務計画(乗務スケジュール)である。ただし、タスクに割り当てられるリソースは、乗務員に限られず、他のリソースであってもよい。
【0013】
情報処理装置1は、取得部11、算出部12、第1の生成部13及び第2の生成部14を備える。取得部11、算出部12、第1の生成部13及び第2の生成部14はそれぞれ、本明細書に係る取得手段、算出手段、第1の生成手段及び第2の生成手段の一例である。
【0014】
(取得部11)
取得部11は、開始時刻、終了時刻、開始位置及び終了位置が定められたタスクの集合を取得する。取得部11は、一例として、列車の運行路を複数の区間に分割した各区間の乗務の集合を取得する。
【0015】
(算出部12)
算出部12は、上記集合に含まれる第1のタスクと第2のタスクとを接続可能にするかを示す情報を、タスク同士の接続に関する制約条件を用いた最適化問題を解くことにより算出する。ここで、「第1のタスクと第2のタスクとが接続可能である」とは、タスク列において第1のタスクと第2のタスクとが隣り合って配置可能であることをいう。タスク列は、1又は複数のタスクを順に並べた(順に接続した)ものであり、一例として、1又は複数の乗務を順に並べた乗務列である。本明細書では、1又は複数の乗務を順に並べた乗務列を「部分行路」ともいう。
【0016】
制約条件は、一例として、パラメータにより定まる条件である。この場合、制約条件を定めるパラメータは、一例として、第1のタスクの後方に接続可能である第2のタスクの数の上限値、及び、第1のタスクの前方に接続可能である第2のタスクの数の上限値、の少なくともいずれか一方を含む。算出部12は、一例として、上記情報を変数として含む目的関数と、上記制約条件とを用いた最適化問題を解くことによって、上記情報を算出する。
【0017】
(第1の生成部13)
第1の生成部13は、上記集合に含まれる1又は複数のタスクを順に接続したタスク列の集合を、算出部12が算出した情報に基づき生成する。ここで、タスク列は、一例として、複数の乗務が順に並べられた乗務の列である。第1の生成部13は、一例として、上記情報に基づき、接続可能であるタスク同士を接続して得られるタスク列を全探索することにより、タスク列の集合を生成する。
【0018】
(第2の生成部14)
第2の生成部14は、タスク列の集合についての最適化問題を解くことにより、各タスクにリソースを割り当てた運用計画を生成する。第2の生成部14は、一例として、以下の手法により運用計画を生成する。まず、第2の生成部14は、上記タスク列の集合についての最適化問題を解くことにより、当該集合の部分集合を生成する。次いで、第2の生成部14は、上記部分集合に含まれる1又は複数のタスク列を順に接続したタスク列の集合であって、上記取得部11が取得した上記タスクの集合に含まれる全てのタスクを含む第2の集合を生成する。更に、第2の生成部14は、上記第2の集合についての最適化問題を解くことにより、当該第2の集合の部分集合を生成し、生成した部分集合に基づき上記運用計画を生成する。ただし、第2の生成部14がタスク列の集合を用いて運用計画を生成する手法は上述した例に限られず、第2の生成部14は他の手法により運用計画を生成してもよい。
【0019】
以上のように、本例示的実施形態に係る情報処理装置1においては、開始時刻、終了時刻、開始位置及び終了位置が定められたタスクの集合を取得する取得部11と、上記集合に含まれる第1のタスクと第2のタスクとを接続可能とするかを示す情報を、タスク同士の接続に関する制約条件を用いた最適化問題を解くことにより算出する算出部12と、上記集合に含まれる1又は複数のタスクを順に接続したタスク列の集合を、算出部12が算出した情報に基づき生成する第1の生成部13と、上記タスク列の集合についての最適化問題を解くことにより、各タスクにリソースを割り当てた運用計画を生成する第2の生成部14と、を備える構成が採用されている。このため、本例示的実施形態に係る情報処理装置1によれば、乗務員の乗務計画等の運用計画の生成に要する計算量を少なくできるという効果が得られる。
【0020】
<情報処理方法の流れ>
本例示的実施形態に係る情報処理方法S1の流れについて、図2を参照して説明する。図2は、情報処理方法S1の流れを示すフロー図である。情報処理方法S1は、ステップS11~S14を含む。ステップS11において、取得部11は、開始時刻、終了時刻、開始位置及び終了位置が定められたタスクの集合を取得する。ステップS12において、算出部12は、上記集合に含まれる第1のタスクと第2のタスクとを接続可能とするかを示す情報を、タスク同士の接続に関する制約条件を用いた最適化問題を解くことにより算出する。ステップS13において、第1の生成部13は、上記集合に含まれる1又は複数のタスクを順に接続したタスク列の集合を、上記情報に基づき生成する。ステップS14において、第2の生成部14は、上記タスク列の集合についての最適化問題を解くことにより、各タスクにリソースを割り当てた運用計画を生成する。
【0021】
以上のように、本例示的実施形態に係る情報処理方法S1においては、開始時刻、終了時刻、開始位置及び終了位置が定められたタスクの集合を取得することと、上記集合に含まれる第1のタスクと第2のタスクとを接続可能とするかを示す情報を、タスク同士の接続に関する制約条件を用いた最適化問題を解くことにより算出することと、上記集合に含まれる1又は複数のタスクを順に接続したタスク列の集合を、上記情報に基づき生成することと、上記タスク列の集合についての最適化問題を解くことにより、各タスクにリソースを割り当てた運用計画を生成することと、を含む構成が採用されている。このため、本例示的実施形態に係る情報処理方法S1によれば、乗務員の乗務計画等の運用計画の生成に要する計算量を少なくできるという効果が得られる。
【0022】
〔例示的実施形態2〕
本開示の第2の例示的実施形態について、図面を参照して詳細に説明する。なお、例示的実施形態1にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付し、その説明を適宜省略する。
【0023】
<情報処理装置の構成>
図3は、本例示的実施形態に係る情報処理装置1Aの構成を示すブロック図である。情報処理装置1Aは、与えられた列車の運行計画に対する乗務員の乗務計画を生成する。換言すると、情報処理装置1Aは、いわゆる乗務員スケジューリング問題を解く装置である。情報処理装置1Aは、制御部10A、記憶部20A、通信部30A及び入出力部40Aを備える。
【0024】
(通信部)
通信部30Aは、情報処理装置1Aの外部の装置と通信回線を介して通信する。通信回線の具体的構成は本例示的実施形態を限定するものではないが、通信回線は一例として、無線LAN(Local Area Network)、有線LAN、WAN(Wide Area Network)、公衆回線網、モバイルデータ通信網、又は、これらの組み合わせである。通信部30Aは、制御部10Aから供給されたデータを他の装置に送信したり、他の装置から受信したデータを制御部10Aに供給したりする。
【0025】
(入出力部)
入出力部40Aには、キーボード、マウス、ディスプレイ、プリンタ、タッチパネル等の入出力機器が接続される。入出力部40Aは、接続された入力機器から情報処理装置1Aに対する各種の情報の入力を受け付ける。また、入出力部40Aは、制御部10Aの制御の下、接続された出力機器に各種の情報を出力する。入出力部40Aとしては、例えばUSB(Universal Serial Bus)などのインタフェースが挙げられる。
【0026】
(制御部)
制御部10Aは、図3に示すように、取得部11、算出部12、第1の生成部13、及び第2の生成部14を備える。
【0027】
(取得部)
取得部11は運行計画D1を取得する。運行計画D1は、列車の運行計画を示すデータである。ここで、運行計画D1は一例として、複数の駅を移動する列車の移動経路を示すデータである。運行計画D1は、例えばダイヤグラムにより表される。取得部11は、一例として、通信部30Aを介して他の装置から運行計画D1を受信する。また、取得部11は、一例として、入出力部40Aを介して入力される運行計画D1を取得してもよい。また、取得部11は、記憶部20A又は入出力部40Aに接続された記憶装置から運行計画D1を読み出すことにより、運行計画D1を取得してもよい。
【0028】
また、取得部11は、取得した運行計画D1を予め定められた基地で分割することにより、乗務T、T、…、T(Nは1以上の整数)の集合Tを生成する。ここで、乗務T(1≦i≦N;iは整数)は、運行計画D1により示される列車の移動経路を複数の区間に分割した各区間の乗務である。乗務Tは、本明細書に係るタスクの一例である。また、基地は、一例として、乗務員が交代可能な駅である。換言すると、本例示的実施形態において、タスクは、鉄道が運行する運行路を乗務員の交代が可能な駅で分割した乗務である。取得部11は、生成した集合Tを記憶部20Aに記憶する。
【0029】
(算出部12)
算出部12は、集合Tに含まれる乗務T(1≦i≦N)と乗務T(1≦j≦N)とを接続可能とするかを示す変数di,jを、乗務同士の接続に関する制約条件を用いた最適化問題を解くことにより算出する。すなわち、本例示的実施形態において、変数di,jは予め定められた値ではなく、可変な情報である。算出部12が行う算出処理の詳細については後述する。
【0030】
(第1の生成部13)
第1の生成部13は、集合Tに含まれる1又は複数の乗務を順に接続した部分行路の集合である部分行路集合N1を、算出部12が算出した変数di,jを用いて生成する。第1の生成部13が実行する部分行路集合N1の生成処理の詳細については後述する。
【0031】
(第2の生成部14)
第2の生成部14は、乗務Tに乗務員を割り当てた運用スケジュールを生成する。換言すると、第2の生成部14は、部分行路集合N1についての最適化問題を解くことにより運用計画D2を生成する。ここで、運用計画D2は、各乗務Tに乗務員を割り当てた運用計画を示すデータである。運用計画D2は、一例として、複数の行路を含む。ここで、行路は、複数の乗務Tを順に並べた(順に接続した)乗務の列である。行路は、一例として、乗務員毎に生成される。換言すると、運用計画D2は、複数の乗務員のそれぞれに割り当てられた行路を含む。第2の生成部14が実行する運用計画D2の生成処理については後述する。
【0032】
第2の生成部14は、生成した運用計画D2を出力する。第2の生成部14は一例として、通信部30Aに接続された他の装置に運用計画D2を送信する。また、第2の生成部14は一例として、入出力部40Aに接続された出力装置に運用計画D2を出力してもよい。ここで、出力装置は一例として、液晶ディスプレイ等に表示装置、スピーカ、等を含む。また、第2の生成部14は、運用計画D2を記憶部20A又は外部接続された記憶装置に書き込むことにより運用計画D2を出力してもよい。
【0033】
(記憶部20A)
記憶部20Aには、取得部11が取得する運行計画D1が記憶される。また、記憶部20Aには、取得部11が生成する集合T、及び、第1の生成部13が生成する部分行路集合N1が記憶される。また、記憶部20Aには、第2の生成部14が生成する運用計画D2が記憶される。
【0034】
また、記憶部20Aには、第2の生成部14が生成する、後述する部分集合N1opt、部分行路集合N2、部分集合N2opt、行路集合N3、及び、部分集合N3optが記憶される。部分集合N1optは、部分行路集合N1についての最適化問題を解くことにより得られる部分行路集合N1の部分集合である。部分行路集合N2は、部分集合N1optに含まれる1又は複数の部分行路を順に接続した部分行路の集合である。部分集合N2optは、部分行路集合N2についての最適化問題を解くことにより得られる部分行路集合N2の部分集合である。行路集合N3は、部分集合N2optに含まれる1又は複数の部分行路を順に接続した行路の集合である。部分集合N3optは、行路集合N3についての最適化問題を解くことにより得られる行路集合N3の部分集合である。
【0035】
また、記憶部20Aには、第1の生成部13が部分行路集合N1の最適化に用いる目的関数及び制約条件、並びに、第2の生成部14が第2の集合(部分行路集合N2、N3、等)の最適化に用いる目的関数及び制約条件が記憶される。ここで、記憶部20Aに目的関数が記憶されるとは、目的関数を定めるパラメータが記憶部20Aに記憶されることをいう。これらの内容の詳細については後述する。
【0036】
<情報処理方法の流れ>
図4は、情報処理装置1Aが実行する運用計画D2の生成処理S2の流れの一例を示すフロー図である。なお、生成処理S2に含まれるステップの一部は、並行して又は順序を替えて実行されてもよい。
【0037】
(ステップS21・S22)
ステップS21において、取得部11は、列車の運行計画D1を取得する。取得部11は、一例として、通信部30Aを介して接続された他の装置から運行計画D1を受信する。また、ステップS22において、取得部11は、運行計画D1を、乗務員が交代可能な駅で分割することにより、乗務Tの集合Tを生成する。
【0038】
図5は、運行計画D1と、乗務Tとの具体例を示す図である。図5において、運行計画D1はダイヤグラムにより表される。図5において、横軸は時刻を示し、縦軸は駅を示す。図5の例では、運行計画D1は、駅s11、s12、s13の3つの駅を含む列車の運行路を示す。駅s11、s12、s13のうち、駅s12が乗務員の交代可能な駅である場合、運行計画D1に含まれる運行路が、駅12で分割されることにより、乗務T~Tが得られる。
【0039】
取得部11は、一例として、乗務Tに対し、開始時刻順に番号を付与する。乗務Tは、一例として、
【数1】
と表される。ここで、Lは乗務Tの出発駅であり、Ltは乗務Tの出発時刻である。Aは乗務Tの到着駅であり、Atは乗務Tの到着時刻である。出発時刻Ltは、本開示に係るタスクの開始時刻の一例である。出発駅Lは、本開示に係るタスクの開始位置の一例である。到着時刻Atは本開示に係る、タスクの終了時刻の一例である。到着駅Aは、本開示に係るタスクの終了位置の一例である。
【0040】
(ステップS23)
図4のステップS23において、取得部11は、算出部12が変数di,jの算出に用いるパラメータPに初期値を設定する。ここで、パラメータPは、一例として、パラメータa1及びパラメータb1の少なくともいずれか一方を含む。パラメータa1は、第1の乗務の後方に接続可能である第2の乗務の数の上限値である。また、パラメータb1は、第1の乗務の前方に接続可能である第2の乗務のタスクの数の上限値である。
【0041】
(ステップS24)
ステップS24において、算出部12は、パラメータa1、b1を用いて、変数di,jを最適化する。算出部12は、一例として、目的関数z0及び制約条件LC0を用いた最適化問題を解くことにより、変数di,jを算出する。
【0042】
(目的関数)
ここで、目的関数z0は、一例として、
【数2】
と表される。(数式1)において、Cは乗務Tのインデックスiの集合であり、wi,jは乗務Tの後に乗務Tが接続される場合の待ち時間である。
【0043】
(変数di,j
変数di,jは乗務Tの後に乗務Tが接続可能であるかを示す変数である。以下では、乗務Tと乗務Tとが接続可能であることを、「乗務Tと乗務Tとが隣接する」ともいう。変数di,jは、本明細書に係る、集合Tに含まれる乗務Tと乗務Tとが接続可能であるかを示す情報の一例である。本処理例で、変数di,jは,一例として、
【数3】
である。すなわち、変数di,jは、0又は1の値をとる変数である。ここで、変数di,jの値が「0」である場合、乗務Tの後に乗務Tを接続できない旨を示す。一方、変数di,jの値が「1」である場合、乗務Tの後に乗務Tが接続可能である旨を示す。
【0044】
ここで、乗務に接続可能である乗務の数を「隣接乗務数」という。この場合、上記(数式1)において、Nmax_nextは、乗務Tの後に接続可能である乗務の隣接乗務数の最大値である。また、Nmax_prevは、乗務Tの前に接続可能である乗務の隣接乗務数の最大値である。
【0045】
(制約条件)
また、制約条件LC0は、一例として、以下の条件(i)~(iv)を含む。条件(i)~(iv)は、本明細書に係る、タスク同士の接続に関する制約条件の一例である。
【0046】
条件(i)は、
【数4】
である。ここで、パラメータa1∈0,1,…,Nであり、Nは乗務の総数である。すなわち、条件(i)は、集合Tに含まれる任意の乗務Tについて、乗務Tの後に接続可能な乗務Tの総数が閾値a1以下である、という制約条件である。
【0047】
また、条件(ii)は、
【数5】
である。ここで、b1∈0,1,…,Nである。すなわち、条件(ii)は、集合Tに含まれる任意の乗務Tについて、乗務Tの前に接続可能な乗務Tの総数が閾値b1以下である、という制約条件である。
【0048】
条件(iii)は、
【数6】
である。すなわち、条件(iii)は、集合Tに含まれる任意の乗務Tについて、後に接続可能な乗務Tが少なくとも1つは存在する、という制約条件である。
【0049】
条件(iv)は、
【数7】
である。すなわち、条件(iv)は、集合Tに含まれる任意の乗務Tについて、前に接続可能な乗務Tが少なくとも1つは存在する、という制約条件である。
【0050】
条件(v)は、
【数8】
である。ここで、a は、乗務Tの到着駅が駅sであるかを示す。a が「1」である場合、乗務Tの到着駅が駅sである旨を示す。一方、a が「0」である場合、乗務Tの到着駅が駅sでない旨を示す。また、Aは、乗務Tの到着駅であり、集合NAiは、乗務Tの到着駅Aと隣り合っている駅の集合である。すなわち、条件(v)は、集合Tに含まれる任意の乗務Tについて、乗務Tの後に接続可能であって、かつ到着駅が乗務Tの到着駅と隣り合っている乗務Tが少なくとも1つは存在する、という条件である。
【0051】
条件(vi)は、
【数9】
である。ここで、l は、乗務Tの出発駅が駅sであるかを示す。l が「1」である場合、乗務Tの出発駅が駅sである旨を示す。一方、l が「0」である場合、乗務Tの到着駅が駅sでない旨を示す。また、Lは、乗務Tの出発駅であり、集合NLjは、乗務Tの出発駅Lと隣り合っている駅の集合である。すなわち、条件(vi)は、集合Tに含まれる任意の乗務Tについて、乗務Tの前に接続可能な乗務であって、かつ出発駅が乗務Tの出発駅と隣り合っている乗務Tが少なくとも1つは存在する、という条件である。
【0052】
(ステップS25)
ステップS25において、第1の生成部13は、変数di,jを用いて、集合Tから部分行路集合N1を生成する。ここで、部分行路集合N1は、集合Tに含まれる所定数以内の数(例えば、1~8個)の乗務Tを順に並べた乗務列である部分行路の集合である。このとき、部分行路集合N1に含まれる部分行路は、先頭の乗務の出発駅と、最後の乗務の到着駅とが同じである。換言すると、第1の生成部13は、先頭の乗務の開始位置と最後尾の乗務の終了位置とが同じである部分行路の集合である部分行路集合N1を生成する。
【0053】
第1の生成部13は、一例として、変数di,j≧1であり、かつ、以下の接続条件C11、C12を満たすときに、乗務Tの後に乗務Tが接続可能とする。
接続条件C11: L=A
接続条件C12: Tmin≦Lt-At≦Tmax
ここで、TminとTmaxはそれぞれ、駅における待ち時間の下限値と上限値である。接続条件C11は、乗務Tの到着駅Aと乗務Tの出発駅Lが同じであるという条件であり、接続条件C12は乗務Tの到着時刻Atから乗務Tの出発時刻Ltまでの時間が予め設定された時間内であるという条件である。
【0054】
第1の生成部13は、変数di,j及び上述の接続条件C11、C12に基づき、基地から乗務を開始して基地で乗務を終了する実行可能な部分行路を全探索により列挙する。第1の生成部13は、一例として、部分行路に作成順に番号を付与する。
【0055】
図6は、第1の生成部13が生成する部分行路の具体例を示す図である。図6の例で、第1の生成部13は、集合Tから部分行路集合N1を生成する。図6の例で、集合Tは、乗務T、T、…Tを含み、部分行路集合N1は、部分行路P、P、…Pを含む。部分行路Pは、乗務T、T、Tを含む。部分行路Pは、乗務T、Tを含む。部分行路Pは、乗務T、Tを含む。
【0056】
(ステップS26)
ステップS26において、第2の生成部14は、部分行路集合N1についての最適化問題を解くことにより、部分行路集合N1の部分集合N1optを生成する。この最適化に用いられる目的関数z1は、一例として、
z1=w1×便乗数の合計値+w2×部分行路の総数+w3×待ち時間の合計値
と表される。ここで、便乗とは、複数の乗務員が1つの列車に乗り合わせている状態をいう。また、便乗数とは、部分行路において便乗が発生する乗務の数をいう。待ち時間とは、部分行路において発生する待ち時間(乗務の終了時刻から次の乗務の開始時刻までの時間)である。また、w1、w2及びw3は重み係数である。
【0057】
より具体的には、目的関数z1は、一例として、
【数10】
と表される。(数式2)において、nは部分行路集合N1に含まれる部分行路aの総数であり、jは部分行路aのインデックスである。また、変数xは、部分行路aを選択するかを示す変数であり、「0」又は「1」の値をとる。xが「0」である場合、部分行路aを選択しない旨を示し、xが「1」である場合、部分行路aを選択する旨を示す。
【0058】
また、cは部分行路aの評価値であり、一例として、c1jは部分行路aの評価値(一例として、「1」)、c2jは、部分行路aの便乗数、c1jは部分行路aの待ち時間である。この場合、(数式2)の右辺第1項は、選択される部分行路aの総数に係数w1を乗算した値である。右辺第2項は、選択される部分行路aの組み合わせに含まれる便乗数の合計値に係数w2を乗算した値である。右辺第3項は、部分行路aに含まれる待ち時間の合計値に係数w3を乗算した値である。
【0059】
また、部分行路集合N1の最適化における制約条件は、一例として、集合Tに含まれる全ての乗務が、部分集合N1optに属する部分行路に含まれている、という条件である。
【0060】
図6の例で、第2の生成部14が部分行路集合N1を最適化することにより、部分集合N1optが生成される。図6の例で、部分集合N1optは、部分行路Pを含まない。
【0061】
(ステップS27)
図4のステップS27において、第2の生成部14は、部分集合N1optに含まれる1又は複数の部分行路を順に接続した部分行路の集合である部分行路集合N2を生成する。ここで、部分行路集合N2には、集合Tに含まれる全ての乗務Tが含まれる。部分行路集合N2は、本明細書に係る第2の集合の一例である。第2の生成部14は、一例として、部分集合N1optに含まれる所定数以内(例えば、1~8個)の部分行路を順に接続した部分行路の集合である部分行路集合N2を生成する。
【0062】
部分行路集合N2を作成する際の接続条件は、部分行路集合N1を作成するときに参照した接続条件と異なる。第2の生成部14は、一例として、変数di,j≧1であり、かつ、以下の接続条件C13を満たすときに、部分行路iの後に部分行路jが接続可能とする。
接続条件C13:D =A
この接続条件C13は、部分行路iの到着時の列車と、部分行路jの出発時の列車とが同一である、という条件である。
【0063】
(ステップS28)
ステップS28において、第2の生成部14は、部分行路集合N2についての最適化問題を解くことにより、部分行路集合N2の部分集合N2optを生成する。この最適化に用いられる目的関数及び制約条件は、部分行路集合N1の最適化に用いられる目的関数及び制約条件、すなわちステップS26で説明した目的関数及び制約条件と同様である。すなわち、目的関数z2は、一例として、
z1=w1×便乗数の合計値+w2×部分行路の総数+w3×待ち時間の合計値
と表される。また、部分行路集合N2の最適化における制約条件は、一例として、集合Tに含まれる全ての乗務が、部分集合N2optに属する部分行路に含まれている、という条件である。
【0064】
(ステップS29)
ステップS29において、第2の生成部14は、部分集合N2optに含まれる所定数以内(例えば、1~8個)の部分行路aを順に接続した行路の集合である行路集合N3を生成する。ここで、行路集合N3は、集合Tに含まれる全ての乗務Tを含む。行路集合N3は、本明細書に係る第2の集合の一例である。行路集合N3の作成における接続条件は、部分行路集合N1の作成に係る接続条件と同様である。すなわち、第2の生成部14は、一例として、変数di,j≧1であり、かつ、接続条件C11、C12を満たすときに、部分行路iの後に部分行路jが接続可能とする。
【0065】
(ステップS30)
ステップS30において、第2の生成部14は、行路集合N3についての最適化問題を解くことにより、行路集合N3の部分集合N3optを生成する。この場合の目的関数z3は、一例として、
z3=w1×便乗数の合計値+w2×部分行路の総数+w3×待ち時間の合計値+w4×ペナルティ
と表される。
【0066】
また、この最適化に用いられる制約条件は、部分行路集合N1、N2の最適化に用いられる制約条件(ステップS26で説明した制約条件)と同様である。すなわち、行路集合N3の最適化における制約条件は、一例として、集合Tに含まれる全ての乗務が、部分集合N3optに属する行路に含まれている、という条件である。
【0067】
図4のステップS27~S30に示すように、第2の生成部14は、部分集合(部分集合N1opt、N2opt、等)から第2の集合(部分行路集合N2、行路集合N3、等)を生成する処理、及び、第2の集合(部分行路集合N2、行路集合N3、等)から部分集合(部分集合N2opt、N3opt、等)を生成する処理、を含む一連の処理を繰り返し実行することにより、運用計画D2を生成する。
【0068】
(ステップS31)
ステップS31において、第2の生成部14は、部分集合N3optに含まれる行路が、乗務員に関する制約条件LC4を満たすかを判定する。制約条件LC4は、一例として、乗務員の勤務条件に関する制約条件であり、より具体的には例えば、「基地毎の1日の平均労働時間が7時間~7時間14分になるようにする」といった条件である。制約条件LC4は、本明細書に係る第2の制約条件の一例である。部分集合N3optに含まれる行路が制約条件LC4を満たす場合(ステップS31にてYES)、第2の生成部14は、ステップS32の処理に進む。一方、部分集合N3optに含まれる行路が制約条件LC4を満たさない場合(ステップS31にてNO)、第2の生成部14は、ステップS33の処理に進む。
【0069】
(ステップS32)
ステップS32において、第2の生成部14は、部分集合N3optに含まれる行路を示す運用計画D2を出力する。運用計画D2は、一例として、部分集合N3optに含まれる1又は複数の行路を表すデータである。第2の生成部14は、一例として、通信部30Aを介して接続された他の装置に運用計画D2を送信し、運用計画D2をディスプレイ等に表示させてもよい。
【0070】
図7は、ステップS32において第2の生成部14が出力する運用計画D2の具体例を示す図である。図7の例で、運用計画D2に含まれる乗務員毎の勤務スケジュールがディスプレイに表示される。
【0071】
(ステップS33)
図4のステップS33において、第2の生成部14は、パラメータa1、b1を更新する。第2の生成部14は、一例として、パラメータa1、b1の値を現状より大きな値に変更する。ステップS33の処理を終えると、第2の生成部14は、ステップS24の処理に進む。すなわち、第2の生成部14は、図4のステップS31、S33、S24に示すように、第2の集合(部分行路集合N2、行路集合N3、等)についての最適化問題を解くことにより生成した第2の集合の部分集合(部分集合N2opt、部分集合N3opt、等)が、制約条件LC4を満たさない場合(ステップS31にてNO)、制約条件LC4を定めるパラメータa1、b1を更新し(ステップS33)、更新したパラメータa1、b1を用いた変数di,jの算出処理を算出部12に再度行わせる制御処理を実行する。
【0072】
また、第2の生成部14は、第2の集合(部分行路集合N2、行路集合N3、等)の部分集合(部分行路集合N2、行路集合N3、等)が制約条件LC4を満たすまで(ステップS31にてNO)、上記制御処理を繰り返し実行する。
【0073】
<情報処理装置の効果>
以上のように、本例示的実施形態に係る情報処理装置1Aにおいては、第2の生成部14は、部分行路集合N1についての最適化問題を解くことにより、部分行路集合N1の部分集合N1optを生成し、部分集合N1optに含まれる1又は複数の部分行路を順に接続した部分行路の集合であって、集合Tに含まれる全てのタスクを含む第2の集合(部分行路集合N2、行路集合N3、等)を生成し、第2の集合についての最適化問題を解くことにより部分集合(部分集合N2opt、N3opt、等)を生成し、生成した部分集合に基づき運用計画D2を生成する構成が採用されている。このため、本例示的実施形態に係る情報処理装置1Aによれば、部分行路集合から再度部分行路集合を生成しない場合に比べて、運用計画D2の生成に要する計算量を少なくすることができる。
【0074】
また、本例示的実施形態に係る情報処理装置1Aにおいては、第2の生成部14は、部分集合(部分集合N1opt、N2opt、等)から第2の集合(部分行路集合N2、N3、等)を生成する処理、及び、第2の集合(部分行路集合N2、行路集合N3、等)から部分集合(部分集合N2opt、N3opt、等)を生成する処理、を含む一連の処理を繰り返し実行することにより、運用計画D2を生成するという構成が採用されている。このため、本例示的実施形態に係る情報処理装置1Aによれば、上記一連の処理を繰り返し実行しない場合に比べて、乗務計画等の運用計画の生成に要する計算量を少なくすることができる。
【0075】
また、本例示的実施形態に係る情報処理装置1Aにおいては、第2の生成部14は、第2の集合(部分行路集合N2、N3、等)についての最適化問題を解くことにより生成した部分集合(部分集合N2opt、N3opt、等)が、制約条件LC4(第2の制約条件)を満たさない場合、制約条件LC4を定めるパラメータa1、b1を更新し、更新したパラメータa1、b1を用いた変数di,jの算出処理を算出部12に再度行わせる制御処理を実行するという構成が採用されている。このため、本例示的実施形態に係る情報処理装置1Aによれば、乗務員に関する制約条件LC4を満たす運用計画D2を生成できるという効果が得られる。
【0076】
また、本例示的実施形態に係る情報処理装置1Aにおいては、第2の生成部14は、第2の集合(部分行路集合N2、N3、等)の部分集合(部分集合N2opt、N3opt、等)が制約条件LC4を満たすまで、上記制御処理を繰り返し実行するという構成が採用されている。このため、本例示的実施形態に係る情報処理装置1Aによれば、少ない計算量で制約条件LC4を満たす運用計画D2を作成できるという効果が得られる。
【0077】
また、本例示的実施形態に係る情報処理装置1Aにおいては、上記パラメータは、第1の乗務の後方に接続可能である第2の乗務の数の上限値(パラメータa1)、及び、第1の乗務の前方に接続可能である第2の乗務の数の上限値(パラメータb1)、の少なくともいずれか一方を含む、という構成が採用されている。このため、本例示的実施形態に係る情報処理装置1Aによれば、乗務員に関する制約条件LC4を満たす運用計画D2を生成できるという効果が得られる。
【0078】
また、本例示的実施形態に係る情報処理装置1Aにおいては、上記タスクは、鉄道が運行する運行路を乗務員の交代が可能な駅で分割した乗務であり、第2の生成部14は、上記乗務に上記乗務員を割り当てた運用スケジュールを生成する、という構成が採用されている。このため、本例示的実施形態に係る情報処理装置1Aによれば、乗務員スケジュールの生成に要する計算量を少なくすることができる。
【0079】
また、本例示的実施形態に係る情報処理装置1Aにおいては、第1の生成部13は、先頭の乗務の出発駅と最後尾の乗務の到着駅とが同じである部分行路集合N1を生成するという構成が採用されている。このため、本例示的実施形態に係る情報処理装置1Aによれば、特定の駅で開始及び終了する行路の集合を運用計画D2として生成することができる。
【0080】
<変形例>
上述の実施形態では、第2の生成部14は、部分行路集合N1、部分行路集合N2、及び行路集合N3を生成することにより運用計画D2を生成した。すなわち、図4のステップS27~S30に示すように、第2の生成部14は、第2の集合(部分行路集合N2、行路集合N3、等)から部分集合(部分集合N2opt、N3opt、等)を生成する処理、2回繰り返すことにより、運用計画D2を生成した。第2の生成部14が第2の集合から部分集合を生成する処理を実行する回数は、上述した例示的実施形態に限定されるものではなく、第2の生成部14は、第2の集合から部分集合を生成する処理を、3回以上繰り返し実行することにより、運用計画D2を生成してもよい。
【0081】
また、上述の例示的実施形態において、情報処理装置1Aは、乗務集合Tを乗務の時間帯によって複数の集合に分割し、分割により得られた集合のそれぞれで、変数di,jを最適化するためのパラメータa1,b1の値を異ならせてもよい。情報処理装置1Aは、例えば、夕方の時間帯については、接続可能とする業務の数を少なくする(すなわち、値が「1」である変数di,jの総数を少なくする)一方、夕方以外の時間帯については、接続可能とする業務の数を夕方よりも多くする(すなわち、値が「1」である変数di,jの総数を多くする)、といった制御を行ってもよい。
【0082】
〔ソフトウェアによる実現例〕
情報処理装置1、1Aの一部又は全部の機能は、集積回路(ICチップ)等のハードウェアによって実現してもよいし、ソフトウェアによって実現してもよい。
【0083】
後者の場合、情報処理装置1、1Aは、例えば、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータによって実現される。このようなコンピュータの一例(以下、コンピュータCと記載する)を図8に示す。コンピュータCは、少なくとも1つのプロセッサC1と、少なくとも1つのメモリC2と、を備えている。メモリC2には、コンピュータCを情報処理装置1、1Aとして動作させるためのプログラムPが記録されている。コンピュータCにおいて、プロセッサC1は、プログラムPをメモリC2から読み取って実行することにより、情報処理装置1、1Aの各機能が実現される。
【0084】
プロセッサC1としては、例えば、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、DSP(Digital Signal Processor)、MPU(Micro Processing Unit)、FPU(Floating point number Processing Unit)、PPU(Physics Processing Unit)、TPU(Tensor Processing Unit)、量子プロセッサ、マイクロコントローラ、又は、これらの組み合わせなどを用いることができる。メモリC2としては、例えば、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又は、これらの組み合わせなどを用いることができる。
【0085】
なお、コンピュータCは、プログラムPを実行時に展開したり、各種データを一時的に記憶したりするためのRAM(Random Access Memory)を更に備えていてもよい。また、コンピュータCは、他の装置との間でデータを送受信するための通信インタフェースを更に備えていてもよい。また、コンピュータCは、キーボードやマウス、ディスプレイやプリンタなどの入出力機器を接続するための入出力インタフェースを更に備えていてもよい。
【0086】
また、プログラムPは、コンピュータCが読み取り可能な、一時的でない有形の記録媒体Mに記録することができる。このような記録媒体Mとしては、例えば、テープ、ディスク、カード、半導体メモリ、又はプログラマブルな論理回路などを用いることができる。コンピュータCは、このような記録媒体Mを介してプログラムPを取得することができる。また、プログラムPは、伝送媒体を介して伝送することができる。このような伝送媒体としては、例えば、通信ネットワーク、又は放送波などを用いることができる。コンピュータCは、このような伝送媒体を介してプログラムPを取得することもできる。
【0087】
〔付記事項1〕
本発明は、上述した実施形態に限定されるものでなく、請求項に示した範囲で種々の変更が可能である。例えば、上述した実施形態に開示された技術的手段を適宜組み合わせて得られる実施形態についても、本発明の技術的範囲に含まれる。
【0088】
〔付記事項2〕
上述した実施形態の一部又は全部は、以下のようにも記載され得る。ただし、本発明は、以下の記載する態様に限定されるものではない。
(付記1)
開始時刻、終了時刻、開始位置及び終了位置が定められたタスクの集合を取得する取得手段と、前記集合に含まれる第1のタスクと第2のタスクとを接続可能とするかを示す情報を、タスク同士の接続に関する制約条件を用いた最適化問題を解くことにより算出する算出手段と、前記集合に含まれる1又は複数のタスクを順に接続したタスク列の集合を、前記算出手段が算出した情報に基づき生成する第1の生成手段と、前記タスク列の集合についての最適化問題を解くことにより、各タスクにリソースを割り当てた運用計画を生成する第2の生成手段と、を備える情報処理装置。
【0089】
(付記2)
前記第2の生成手段は、前記タスク列の集合についての最適化問題を解くことにより、当該集合の部分集合を生成し、前記部分集合に含まれる1又は複数のタスク列を順に接続したタスク列の集合であって、前記取得手段が取得した前記タスクの集合に含まれる全てのタスクを含む第2の集合を生成し、前記第2の集合についての最適化問題を解くことにより、当該第2の集合の部分集合を生成し、生成した部分集合に基づき前記運用計画を生成する、付記1に記載の情報処理装置。
【0090】
(付記3)
前記第2の生成手段は、前記タスク列の集合の部分集合から前記第2の集合を生成する処理、及び、前記第2の集合から前記第2の集合の部分集合を生成する処理、を含む一連の処理を繰り返し実行することにより、前記運用計画を生成する、付記2に記載の情報処理装置。
【0091】
(付記4)
前記第2の生成手段は、前記第2の集合についての最適化問題を解くことにより生成した前記第2の集合の部分集合が、前記リソースに関する第2の制約条件を満たさない場合、前記制約条件を定めるパラメータを更新し、更新したパラメータを用いた前記情報の算出処理を前記算出手段に再度行わせる制御処理を実行する、
付記2又は3に記載の情報処理装置。
【0092】
(付記5)
前記第2の生成手段は、前記第2の集合の部分集合が前記第2の制約条件を満たすまで、前記制御処理を繰り返し実行する、付記4に記載の情報処理装置。
【0093】
(付記6)
前記パラメータは、第1のタスクの後方に接続可能である第2のタスクの数の上限値、及び、第1のタスクの前方に接続可能である第2のタスクの数の上限値、の少なくともいずれか一方を含む、付記4又は5に記載の情報処理装置。
【0094】
(付記7)
前記タスクは、鉄道が運行する運行路を乗務員の交代が可能な駅で分割した乗務であり、前記第2の生成手段は、前記乗務に前記乗務員を割り当てた運用スケジュールを生成する、付記1から6のいずれか1つに記載の情報処理装置。
【0095】
(付記8)
前記第1の生成手段は、先頭のタスクの開始位置と最後尾のタスクの終了位置とが同じであるタスク列の集合を生成する、付記1から7のいずれか1つに記載の情報処理装置。
【0096】
(付記9)
開始時刻、終了時刻、開始位置及び終了位置が定められたタスクの集合を取得することと、前記集合に含まれる第1のタスクと第2のタスクとを接続可能とするかを示す情報を、タスク同士の接続に関する制約条件を用いた最適化問題を解くことにより算出することと、前記集合に含まれる1又は複数のタスクを順に接続したタスク列の集合を、前記情報に基づき生成することと、前記タスク列の集合についての最適化問題を解くことにより、各タスクにリソースを割り当てた運用計画を生成することと、を含む情報処理方法。
【0097】
(付記10)
コンピュータに、開始時刻、終了時刻、開始位置及び終了位置が定められたタスクの集合を取得する取得処理と、前記集合に含まれる第1のタスクと第2のタスクとを接続可能とするかを示す情報を、タスク同士の接続に関する制約条件を用いた最適化問題を解くことにより算出する算出処理と、前記集合に含まれる1又は複数のタスクを順に接続したタスク列の集合を、前記算出処理において算出された情報に基づき生成する第1の生成処理と、前記タスク列の集合についての最適化問題を解くことにより、各タスクにリソースを割り当てた運用計画を生成する第2の生成処理と、を実行させるプログラム。
【0098】
(付記11)
少なくとも1つのプロセッサを備え、前記プロセッサは、開始時刻、終了時刻、開始位置及び終了位置が定められたタスクの集合を取得する取得処理と、前記集合に含まれる第1のタスクと第2のタスクとを接続可能とするかを示す情報を、タスク同士の接続に関する制約条件を用いた最適化問題を解くことにより算出する算出処理と、前記集合に含まれる1又は複数のタスクを順に接続したタスク列の集合を、前記算出処理において算出した情報に基づき生成する第1の生成処理と、前記タスク列の集合についての最適化問題を解くことにより、各タスクにリソースを割り当てた運用計画を生成する第2の生成処理とを実行する情報処理装置。
【0099】
なお、この情報処理装置は、更にメモリを備えていてもよく、このメモリには、前記取得処理と、前記算出処理と、前記第1の生成処理と、前記第2の生成処理とを前記プロセッサに実行させるためのプログラムが記憶されていてもよい。また、このプログラムは、コンピュータ読み取り可能な一時的でない有形の記録媒体に記録されていてもよい。
【符号の説明】
【0100】
1、1A 情報処理装置
11 取得部
12 算出部
13 第1の生成部
14 第2の生成部
図1
図2
図3
図4
図5
図6
図7
図8