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

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

▶ NECソリューションイノベータ株式会社の特許一覧 ▶ 日本電気株式会社の特許一覧

特開2024-3528スケジュール生成装置、スケジュール生成方法、及びプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024003528
(43)【公開日】2024-01-15
(54)【発明の名称】スケジュール生成装置、スケジュール生成方法、及びプログラム
(51)【国際特許分類】
   G06Q 10/1093 20230101AFI20240105BHJP
【FI】
G06Q10/10 344
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022102731
(22)【出願日】2022-06-27
(71)【出願人】
【識別番号】000232092
【氏名又は名称】NECソリューションイノベータ株式会社
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】110002044
【氏名又は名称】弁理士法人ブライタス
(72)【発明者】
【氏名】柴田 将
(72)【発明者】
【氏名】橋本 慎司
(72)【発明者】
【氏名】中村 暢達
(72)【発明者】
【氏名】千嶋 博
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049AA13
(57)【要約】
【課題】 スケジュール(行路)を自動で生成するスケジュール生成装置、スケジュール生成方法、及びプログラムを提供する。
【解決手段】 スケジュール生成装置50は、乗務パス情報と、休憩パス情報と、宿泊パス情報と、シフトパス情報と、便乗パス情報とを生成するパス生成部51と、乗務パス情報と、休憩パス情報と、宿泊パス情報と、シフトパス情報とを、行路に割り当てるか否かをスピンに設定し、行路に割り当てるためのイジングモデルを生成するモデル生成部52と、イジングモデルに基づいて量子アニーリングマシン10に求解させる求解部53と、量子アニーリングマシン10の量子ビットの状態を表す状態情報に基づいて行路を表す行路情報を生成する行路生成部54と、を有する。
【選択図】図5
【特許請求の範囲】
【請求項1】
乗務員が乗務する輸送機が発場所を出発する発時刻と当該輸送機が着場所に到着する着時刻とを表す乗務パス情報と、前記乗務員が休憩する休憩場所と休憩開始時刻と休憩終了時刻とを表す休憩パス情報と、前記乗務員が宿泊する宿泊場所と宿泊開始時刻と宿泊終了時刻とを表す宿泊パス情報と、前記乗務員が始終業をする始終業場所と始業時刻と終業時刻とを表すシフトパス情報と、乗務員が便乗する輸送機が発場所を出発する発時刻と当該輸送機が着場所に到着する着時刻とを表す便乗パス情報とを生成するパス生成手段と、
前記乗務パス情報と、前記休憩パス情報と、前記宿泊パス情報と、前記シフトパス情報とを、行路に割り当てるか否かをスピンに設定し、前記行路に割り当てるためのイジングモデルを生成するモデル生成手段と、
前記イジングモデルに基づいて量子アニーリングマシンに求解させる求解手段と、
前記量子アニーリングマシンの量子ビットの状態を表す状態情報に基づいて行路を表す行路情報を生成する行路生成手段と、
を有するスケジュール生成装置。
【請求項2】
前記発場所、前記着場所は、前記乗務員が現在乗っている輸送機から他の輸送機に交代が可能な交代可能場所で、かつ、前記乗務員の交代に伴う引継ぎなどの作業を確保できるだけの時間が、前記輸送機ごとの運行予定を表す情報に設定されている場所である
請求項1に記載のスケジュール生成装置。
【請求項3】
前記モデル生成手段は、2日行路の1日目の夕方から2日目の早朝までの時間帯に関係する乗務パス情報と、夕方の休憩パス情報と、宿泊パス情報とを行路に割り当てるか否かを前記スピンに設定し、部分行路に割り当てるための第一のイジングモデルを生成し、
前記求解手段は、前記第一のイジングモデルに基づいて量子アニーリングマシンに求解させ、
前記行路生成手段は、前記量子アニーリングマシンの量子ビットの状態を表す状態情報に基づいて部分行路を表す部分行路情報を生成し、
前記モデル生成手段は、前記部分行路に対して、2日行路の1日目の昼と2日目の昼の時間帯に関係する乗務パス情報と、昼の休憩パス情報と、前記シフトパス情報とを行路に割り当てるか否かを前記スピンに設定し、全体行路に割り当てるための第二のイジングモデルを生成し、
前記求解手段は、前記第二のイジングモデルに基づいて量子アニーリングマシンに求解させ、
前記行路生成手段は、前記量子アニーリングマシンの量子ビットの状態を表す状態情報に基づいて全体行路を表す全体行路情報を生成する、
請求項2に記載のスケジュール生成装置。
【請求項4】
前記行路において、連続して配置された二つの前記乗務パス情報を検出し、時間的に先に配置されている第一の乗務パス情報の着場所と、時間的に後に配置されている第二の乗務パス情報の発場所とが異なる場合、前記第一の乗務パス情報の着場所から前記第二の乗務パス情報の発場所へ向かう輸送機で、かつ、前記第一の乗務パス情報の着場所に到着後、当該輸送機に乗り継ぎが可能で、かつ、当該輸送機が前記第二の乗務パス情報の発場所に到着後、乗り継ぎが可能な便乗パスを選択し、選択した前記便乗パス情報を、前記第一の乗務パス情報と前記第二の乗務パス情報との間に配置する便乗パス追加手段を、更に、有する、
請求項1又は3に記載のスケジュール生成装置。
【請求項5】
コンピュータが、
乗務員が乗務する輸送機が発場所を出発する発時刻と当該輸送機が着場所に到着する着時刻とを表す乗務パス情報と、前記乗務員が休憩する休憩場所と休憩開始時刻と休憩終了時刻とを表す休憩パス情報と、前記乗務員が宿泊する宿泊場所と宿泊開始時刻と宿泊終了時刻とを表す宿泊パス情報と、前記乗務員が始終業をする始終業場所と始業時刻と終業時刻とを表すシフトパス情報と、乗務員が便乗する輸送機が発場所を出発する発時刻と当該輸送機が着場所に到着する着時刻とを表す便乗パス情報と、を生成し、
前記乗務パス情報と、前記休憩パス情報と、前記宿泊パス情報と、前記シフトパス情報とを、行路に割り当てるか否かをスピンに設定し、前記行路に割り当てるためのイジングモデルを生成し、
前記イジングモデルに基づいて量子アニーリングマシンに求解させ、
前記量子アニーリングマシンの量子ビットの状態を表す状態情報に基づいて行路を表す行路情報を生成する、
スケジュール生成方法。
【請求項6】
コンピュータに、
乗務員が乗務する輸送機が発場所を出発する発時刻と当該輸送機が着場所に到着する着時刻とを表す乗務パス情報と、前記乗務員が休憩する休憩場所と休憩開始時刻と休憩終了時刻とを表す休憩パス情報と、前記乗務員が宿泊する宿泊場所と宿泊開始時刻と宿泊終了時刻とを表す宿泊パス情報と、前記乗務員が始終業をする始終業場所と始業時刻と終業時刻とを表すシフトパス情報と、乗務員が便乗する輸送機が発場所を出発する発時刻と当該輸送機が着場所に到着する着時刻とを表す便乗パス情報と、を生成させ、
前記乗務パス情報と、前記休憩パス情報と、前記宿泊パス情報と、前記シフトパス情報とを、行路に割り当てるか否かをスピンに設定し、前記行路に割り当てるためのイジングモデルを生成させ、
前記イジングモデルに基づいて量子アニーリングマシンに求解させ、
前記量子アニーリングマシンの量子ビットの状態を表す状態情報に基づいて行路を表す行路情報を生成させる、
命令を含むプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、乗務員のスケジュールを生成するスケジュール生成装置、スケジュール生成方法、及びプログラムに関する。
【背景技術】
【0002】
列車を運行させるためには、運行させる列車に乗務員を適切に配置しなければならない。そのためには乗務員を適切に配置するためのスケジュールが必要である。ところが現状では多くの場合、手作業でスケジュールを作成されているので、スケジュールの作成に数日から数週間を要することがある。
【0003】
関連する技術として特許文献1には、乗務員に対する業務の割り当てを作成する作成装置が開示されている。特許文献1の作成装置によれば、仕業を、複数の仕業ブロックを組み合わせて作成する。仕業ブロックとは、バス便の運行を運行開始時刻及び運行終了時刻で表した情報である。また、特許文献1の作成装置では、仕業を、勤務時間に関する法令に基づく制約条件(運転時間、休憩時間に関する制約)を満たすように生成している。
【0004】
関連する技術として非特許文献1には、乗務員のスケジュールを組み合わせ最適化問題として定式化し、乗務員のスケジュールを自動作成する提案が開示されている。非特許文献1の提案によれば、乗務員のスケジュールを段階的に作成する。また、非特許文献1には、一回あたりの問題の規模を縮小して計算量を削減する提案と、制約条件を段階的に導入する提案とがされている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2022-40702号公報
【非特許文献】
【0006】
【非特許文献1】高橋康太, 渡邊亮, “段階的な最適化計算による鉄道乗務員スケジュールの自動作成”, [online],計測自動制御学会論文集Vol.53, No.2, 162/168(2017),[2022年05月19日検索],インターネット<URL:https://www.jstage.jst.go.jp/article/sicetr/53/2/53_162/_pdf>
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1の技術では、仕業それぞれを配列要素として、仕業配列を作成するための制約充足問題を、量子アニーリングマシンを用いて求解させている。しかしながら、実際の列車の乗務員のスケジュールの生成は、特許文献1と異なり、複雑な制約を加味しなければならないため、容易にスケジュールを生成することはできない。
【0008】
また、非特許文献1の技術では、業務スケジュールを組み合わせ最適化問題として定式化してスケジュールを生成する提案がされているが、量子アニーリングマシンを用いてスケジュールを生成することは想定されていない。
【0009】
本開示の目的の一例は、スケジュール(行路)を自動で生成することにある。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本開示の一側面におけるスケジュール生成装置は、
乗務員が乗務する輸送機が発場所を出発する発時刻と当該輸送機が着場所に到着する着時刻とを表す乗務パス情報と、前記乗務員が休憩する休憩場所と休憩開始時刻と休憩終了時刻とを表す休憩パス情報と、前記乗務員が宿泊する宿泊場所と宿泊開始時刻と宿泊終了時刻とを表す宿泊パス情報と、前記乗務員が始終業をする始終業場所と始業時刻と終業時刻とを表すシフトパス情報と、乗務員が便乗する輸送機が発場所を出発する発時刻と当該輸送機が着場所に到着する着時刻とを表す便乗パス情報とを生成するパス生成部と、
前記乗務パス情報と、前記休憩パス情報と、前記宿泊パス情報と、前記シフトパス情報とを、行路に割り当てるか否かをスピンに設定し、前記行路に割り当てるためのイジングモデルを生成するモデル生成部と、
前記イジングモデルに基づいて量子アニーリングマシンに求解させる求解部と、
前記量子アニーリングマシンの量子ビットの状態を表す状態情報に基づいて行路を表す行路情報を生成する行路生成部と、
を有することを特徴とする。
【0011】
また、上記目的を達成するため、本開示の一側面におけるスケジュール生成方法は、
コンピュータが、
乗務員が乗務する輸送機が発場所を出発する発時刻と当該輸送機が着場所に到着する着時刻とを表す乗務パス情報と、前記乗務員が休憩する休憩場所と休憩開始時刻と休憩終了時刻とを表す休憩パス情報と、前記乗務員が宿泊する宿泊場所と宿泊開始時刻と宿泊終了時刻とを表す宿泊パス情報と、前記乗務員が始終業をする始終業場所と始業時刻と終業時刻とを表すシフトパス情報と、乗務員が便乗する輸送機が発場所を出発する発時刻と当該輸送機が着場所に到着する着時刻とを表す便乗パス情報と、を生成し、
前記乗務パス情報と、前記休憩パス情報と、前記宿泊パス情報と、前記シフトパス情報とを、行路に割り当てるか否かをスピンに設定し、前記行路に割り当てるためのイジングモデルを生成し、
前記イジングモデルに基づいて量子アニーリングマシンに求解させ、
前記量子アニーリングマシンの量子ビットの状態を表す状態情報に基づいて行路を表す行路情報を生成する、
ことを特徴とする。
【0012】
さらに、上記目的を達成するため、本開示の一側面におけるプログラムは、
コンピュータに、
乗務員が乗務する輸送機が発場所を出発する発時刻と当該輸送機が着場所に到着する着時刻とを表す乗務パス情報と、前記乗務員が休憩する休憩場所と休憩開始時刻と休憩終了時刻とを表す休憩パス情報と、前記乗務員が宿泊する宿泊場所と宿泊開始時刻と宿泊終了時刻とを表す宿泊パス情報と、前記乗務員が始終業をする始終業場所と始業時刻と終業時刻とを表すシフトパス情報と、乗務員が便乗する輸送機が発場所を出発する発時刻と当該輸送機が着場所に到着する着時刻とを表す便乗パス情報と、を生成させ、
前記乗務パス情報と、前記休憩パス情報と、前記宿泊パス情報と、前記シフトパス情報とを、行路に割り当てるか否かをスピンに設定し、前記行路に割り当てるためのイジングモデルを生成させ、
前記イジングモデルに基づいて量子アニーリングマシンに求解させ、
前記量子アニーリングマシンの量子ビットの状態を表す状態情報に基づいて行路を表す行路情報を生成させる、
ことを特徴とする。
【発明の効果】
【0013】
本開示によれば、スケジュール(行路)を自動で生成することができる。
【図面の簡単な説明】
【0014】
図1図1は、量子アニーリングマシンを有するシステムの一例を示す図である。
図2図2は、行路と要素の関係を説明するための図である。
図3図3は、乗務パスを説明するための図である。
図4図4は、行路の作成を説明するための図である。
図5図5は、実施形態1のスケジュール生成装置の一例を説明するための図である。
図6図6は、乗務パス生成部の説明をするための図である。
図7図7は、休憩パス生成部の説明をするための図である。
図8図8は、宿泊パス生成部の説明をするための図である。
図9図9は、シフトパス生成部の説明をするための図である。
図10図10は、便乗パス生成部の説明をするための図である。
図11図11は、スピンの定義を説明するための図である。
図12図12は、1日行路の制約を説明するための図である。
図13図13は、2日行路の制約を説明するための図である。
図14図14は、2日行路の制約を説明するための図である。
図15図15は、2日行路の制約を説明するための図である。
図16図16は、2日行路の制約を説明するための図である。
図17図17は、1日行路・2日行路の制約条件を説明するための図である。
図18図18は、1日行路の行路情報を説明するための図である。
図19図19は、2日行路の行路情報を説明するための図である。
図20図20は、便乗パスの追加を説明するための図である。
図21図21は、実施形態1のスケジュール生成装置の動作の一例を説明するための図である。
図22図22は、実施形態2のスケジュール生成装置の一例を説明するための図である。
図23図23は、実施形態2のスケジュール生成装置の一例を説明するための図である。
図24図24は、部分行路のスピンの定義を説明するための図である。
図25図25は、2日行路の部分行路の制約を説明するための図である。
図26図26は、2日行路の部分行路の制約を説明するための図である。
図27図27は、2日行路の部分行路情報を説明するための図である。
図28図28は、行路のスピンの定義を説明するための図である。
図29図29は、1日行路・2日行路の制約を説明するための図である。
図30図30は、1日行路・2日行路の制約を説明するための図である。
図31図31は、1日行路・2日行路の制約を説明するための図である。
図32図32は、1日行路・2日行路の制約を説明するための図である。
図33図33は、1日行路・2日行路の制約を説明するための図である。
図34図34は、全体行路情報(1日)を説明するための図である。
図35図35は、全体行路情報(2日)を説明するための図である。
図36図36は、実施形態2のスケジュール生成装置の動作の一例を説明するための図である。
図37図37は、実施形態1、2におけるスケジュール生成装置を実現するコンピュータの一例を説明するための図である。
【発明を実施するための形態】
【0015】
はじめに、以降で説明する実施形態の理解を容易にするために概要を説明する。
【0016】
(量子アニーリングマシン)
量子アニーリングとは、組み合わせ最適化問題を解くための近似解法である。具体的には、量子アニーリングは、量子効果を制御して、目的関数の最小値を探す問題を解く手法である。
【0017】
量子アニーリングマシンは、例えば、組み合わせ最適化問題などを解くために特化されたハードウェアである。図1は、量子アニーリングマシンを有するシステムの一例を示す図である。
【0018】
システム1は、例えば、量子アニーリングマシン10、情報処理装置20、端末装置30、ネットワーク40などを用いて構成される。
【0019】
量子アニーリングマシン10は、量子処理部11(QPU:Quantum processing Unit)、制御部12、読取部13などを有するハードウェアである。
【0020】
量子処理部11は、複数の量子ビットが相互接続された回路である。量子処理部11の回路(又は機器)は、例えば、所定数の量子ビットを接続して構成された複数のユニット・セルと、異なるユニット・セル間の量子ビットを接続するためのカプラとを用いて構築された超電導量子回路などが考えられる。
【0021】
制御部12は、量子処理部11を制御する回路(又は機器)である。量子処理部11が超電導量子回路である場合、制御部12は、情報処理装置20から送信された制御信号に基づいて、量子処理部11に印加する局所磁場の制御をする。局所磁場は、例えば、マイクロ波を用いて制御する。
【0022】
読取部13は、量子処理部11の量子ビットの状態(スピン)を読み取る回路(又は機器)である。読取部13は、量子アニーリングが終了するたびに量子ビットの状態を読み取り、量子ビットの状態を表す状態情報を情報処理装置20に送信する。
【0023】
情報処理装置20は、ネットワーク40を介して端末装置30と接続されている。また、情報処理装置20は、量子アニーリングマシン10と接続されている。
【0024】
具体的には、情報処理装置20は、局所磁場を制御するための制御信号を、制御部12へ送信する。情報処理装置20は、量子ビットの状態を表す状態情報を、読取部13から受信する。
【0025】
なお、図1では、利用者が端末装置30を用いて、ネットワーク40を介し、情報処理装置20を操作する構成が示されているが、利用者が情報処理装置20を直接操作してもよい。
【0026】
情報処理装置20は、例えば、CPU(Central Processing Unit)、又はFPGA(Field-Programmable Gate Array)などのプログラマブルなデバイス、又はGPU(Graphics Processing Unit)、又はそれらのうちのいずれか一つ以上を搭載した回路、又はサーバコンピュータなどである。
【0027】
端末装置30は、ネットワーク40を介して情報処理装置20と接続されている。端末装置30は、例えば、CPU、又はFPGAなどのプログラマブルなデバイス、又はGPU、又はそれらのうちのいずれか一つ以上を搭載した回路、又はパーソナルコンピュータ、又はモバイル端末などの情報処理装置である。
【0028】
ネットワーク40は、例えば、インターネット、LAN(Local Area Network)、専用回線、電話回線、企業内ネットワーク、移動体通信網、ブルートゥース(登録商標)、WiFi(Wireless Fidelity)などの通信回線を用いて構築された一般的なネットワークである。
【0029】
次に、量子アニーリングマシンにより組み合わせ最適化問題を解く方法について説明する。量子アニーリングマシンにより組み合わせ最適化問題を解くには、まず、対象とする組み合わせ最適化問題をイジングモデル、又はQUBO(Quadratic Unconstrained Binary Optimization)などで表現する。
【0030】
イジングモデルは、例えば、数1に示したハミルトニアンH(σ)などで表すことができる。ハミルトニアンH(σ)とは系全体のエネルギーを表す。
【0031】
【数1】
【0032】
ijは、隣接する量子ビット間の結合強度を表す。結合強度は、例えば、隣接する量子ビットを結合している結合器に外部から磁束を印可することにより制御される。
【0033】
は、量子ビットに外部から印可される局所磁場を表す。局所磁場の印可は、例えば、外部からマイクロ波を注入することにより実現する。
【0034】
次に、組み合わせ最適化問題を量子アニーリングマシンに投入する。具体的には、イジングモデル、又はQUBOを、量子処理部11に構成されている量子ビットトポロジーにマイナー埋め込みをする。マイナー埋め込みは、イジングスピン(変数)を量子ビットへマッピングする処理である。
【0035】
次に、量子アニーリングマシンは量子アニーリングを開始する。具体的には、量子アニーリングマシン10の制御部12が、量子処理部11に局所磁場を印加した後、局所磁場を時間をかけて弱めていく。その結果、最終的に、ハミルトニアンが最小の状態に収束する。
【0036】
次に、量子アニーリングマシン10の読取部13は、量子処理部11の量子ビットの状態を読み取る。
【0037】
ただし、ハミルトニアンが最小の状態に収束しないこともあるので、上述したアニーリングを複数回繰り返して解を取得することが好適である。なお、ハミルトニアンが最小の状態に収束しない理由は、量子処理部11の回路がノイズの影響を受け易く安定しないためである。
【0038】
(従来のスケジュールの生成)
次に、本開示の列車の乗務員それぞれに割り当てるスケジュール(以降において行路とも呼ぶ)の生成について概要を説明する。
【0039】
図2は、行路と要素の関係を説明するための図である。図2の例では、行路C1、C2、C3、C4それぞれに、行路に割り当てる日数(行路日数)と、行路を構成する要素とを関連付けている。
【0040】
図2の例では、要素を、乗務員が乗務をする列車名と乗車時間とを記号「列車A」から「列車Q」を用いて表し、乗務員の休憩時間を記号「休」を用いて表し、乗務員の宿泊時間を記号「宿泊」を用いて表し、乗務員の便乗時間を記号「便乗」を用いて表し、乗務員の出勤時間を記号「出勤」を用いて表し、乗務員の退勤時間を記号「退勤」を用いて表している。
【0041】
便乗は、乗務員が列車での乗務は行わないが、列車に乗って他の駅への移動することである。便乗は、例えば、乗務員の次の乗務を開始する駅への移動、退勤、宿泊する駅への移動などである。
【0042】
なお、図2の例では、説明を簡単にするため、行路日数(2日)を11等分(0から10の期間に分割)し、行路ごとの、期間0から10それぞれに要素を割り当てている。
【0043】
また、行路それぞれに割り当てる要素は、あらかじめ決定した制約条件を満たすように配置されている。ところが、鉄道会社などで実際に使用する行路は、複雑な制約条件を加味して生成しなければならないので、手作業で行路を作成した場合には数日から数週間を要する。そこで行路を自動生成する方法の開発が望まれている。
【0044】
行路を自動生成する方法としては、既に、上述した特許文献1の量子アニーリングマシンを用いる方法が提案されている。しかし、特許文献1の技術では、複雑な制約条件を満たすような、鉄道会社などで実際に使用する行路を作成することができない。そこで、更に、新たな自動生成をする方法の開発が必要である。
【0045】
(新しいスケジュールの生成)
量子アニーリングマシンを用いて、鉄道会社などで実際に使用する行路を作成するためには、(A)行路を構成する要素をデータ化すると伴に、(B)制約条件を満たすように要素を行路に配置する問題を解くために定式化が必要となる。
【0046】
なお、スケジュールの生成について、説明を分かり易くするために鉄道を用いて説明するが、鉄道に限らず、船舶、トラック、バス、航空機などの輸送機のダイヤグラムに基づいて定期運行している交通事業に適用することができる。
【0047】
(A)要素のデータ化
要素のデータ化とは、例えば、要素を識別する情報、列車を識別する情報、発駅を識別する情報、発駅を出発する時刻を表す情報、着駅を識別する情報、着発駅に到着する時刻を表す情報などを関連付けた情報(パス情報)を生成することである。
【0048】
パス(パス情報)には、少なくとも、乗務パス、休憩パス、宿泊パス、シフトパス、便乗パスなどの種類がある。
【0049】
乗務パス(乗務パス情報)は、乗務パスを識別する乗務パス識別情報と、列車を識別する列車識別情報と、発駅を表す発駅情報と、発駅を出発する時刻を表す発時刻情報と、着駅を表す着駅情報と、着駅を到着する時刻を表す着時刻情報と、が関連付けられた情報である。
【0050】
発駅、着駅は、乗務員が、現在乗っている列車から他の列車に交代が可能な駅(交代可能駅)で、かつ、乗務員の交代に伴う引継ぎなどの作業を確保できるだけの停車時間が、列車ごとの運行予定を表す情報(ダイアグラムに関する情報)に設定されている駅である。
【0051】
図3は、乗務パスを説明するための図である。図3には、A駅(始発駅)からG駅(終着駅)を走行する列車T1に対して設定した乗務パスを示した。また、図3の例では、交代可能駅でかつ引き継ぎが可能な駅は、A、B、D、G駅(四角形)である。交代ができない駅はC駅(実線円形)である。また、引き継ぎができないE、F(破線円形)である。
【0052】
休憩パス(休憩パス情報)は、休憩パスを識別する休憩パス識別情報と、休憩駅を表す休憩駅情報と、休憩を開始する時刻を表す休憩開始時刻情報と、休憩を終了する時刻を表す休憩終了時刻情報と、が関連付けられた情報である。
【0053】
休憩をする駅は同じ駅であるので、休憩を開始する開始駅と休憩を終了する終了駅を同じにすることができる。すなわち、休憩駅情報は休憩開始駅情報と休憩終了駅情報とを用いて表す。
【0054】
宿泊パス(宿泊パス情報)は、宿泊パスを識別する宿泊パス識別情報と、宿泊駅を表す宿泊駅情報と、宿泊を開始する時刻を表す宿泊開始時刻情報と、宿泊を終了する時刻を表す宿泊終了時刻情報と、が関連付けられた情報である。
【0055】
宿泊をする駅は同じ駅であるので、宿泊を開始する開始駅と宿泊を終了する終了駅を同じにすることができる。すなわち、宿泊駅情報は宿泊開始駅情報と宿泊終了駅情報とを用いて表す。
【0056】
シフトパス(シフトパス情報)は、シフトパスを識別するシフトパス識別情報と、乗務員が勤務を開始する始業駅と勤務を終了する終業駅を表す始終業駅情報と、始業時刻を表す始業時刻情報と、終業時刻を表す終業時刻情報と、が関連付けられた情報である。
【0057】
シフトパスは、勤務時間を制限するためのパスである。シフトパスを使用する理由は、非現実的な長時間労働の発生を抑止しなければならないからである。
【0058】
始業駅と終業駅は同じ駅であるので、始業駅と終業駅を同じにすることでパスを表すことができる。すなわち、始終業駅情報は始業駅情報と終業駅情報とを用いて表す。
【0059】
便乗パス(便乗パス情報)は、便乗パスを識別する便乗パス識別情報と、列車を識別する列車識別情報と、発駅を表す発駅情報と、発駅を出発する時刻を表す発時刻情報と、着駅を表す着駅情報と、着駅を到着する時刻を表す着時刻情報と、が関連付けられた情報である。
【0060】
(B)定式化
複数の行路それぞれに、あらかじめ決められた制約条件を満たすように、上述した複数の各種パスを配置する問題として定式化する。
【0061】
図4は、行路の作成を説明するための図である。図4の例は、鉄道会社の規則に基づいた制約条件を満たすように、乗務パス、休憩パス、宿泊パス、シフトパスを、行路1、2、3それぞれに配置することを示している。
【0062】
(実施形態1)
次に、複数の行路を自動生成するスケジュール生成装置の実施形態1について説明をする。
【0063】
実施形態1について図面を参照して説明する。なお、以下で説明する図面において、同一の機能又は対応する機能を有する要素には同一の符号を付し、その繰り返しの説明は省略することもある。
【0064】
[装置構成]
図5は、実施形態1のスケジュール生成装置の一例を説明するための図である。スケジュール生成装置50は、複雑なスケジュール(行路)を自動で生成する装置である。また、スケジュール生成装置50は、パス生成部51と、モデル生成部52と、求解部53と、行路生成部54と、便乗パス追加部55とを有する。
【0065】
なお、スケジュール生成装置50は、情報処理装置20又は端末装置30に構築する。又は、スケジュール生成装置50の機能を、情報処理装置20と端末装置30に分散させてもよい。
【0066】
記憶装置60は、データベース、サーバコンピュータ、メモリを有する回路などである。図5の例では、記憶装置60はスケジュール生成装置50の外部に設けているが、スケジュール生成装置50の内部に設けてもよい。
【0067】
スケジュール生成装置の詳細につて説明する。
以降において、スケジュール生成装置について、説明を分かり易くするために鉄道を用いて説明するが、スケジュール装置は鉄道に限らず、船舶、トラック、バス、航空機などの輸送機のダイヤグラムに基づいて定期運行している交通事業に適用することができる。
【0068】
また、以降において輸送機は「列車」として説明する。また、以降で用いる輸送機の「発着場所」は「列車」に対応する「駅」とする。なお、輸送機の種類により発着場所の呼び方は異なる。発着場所は、船舶の場合には「港」「係留場所」に相当し、トラックの場合には「停車場」に相当し、バスの場合には「停留所」「停車場」などに相当し、航空機の場合には「空港」などに相当する。
【0069】
また、輸送機の「発着場所」のうち、「発場所」は上述した「発駅」などを表し、輸送機の「着場所」は上述した「着駅」などを表している。すなわち、「発場所」と「着場所」は、乗務員が現在乗っている輸送機から他の輸送機に交代が可能な交代可能発着場所で、かつ、乗務員の交代に伴う引継ぎなどの作業を確保できるだけの時間が、輸送機ごとの運行予定を表す情報に設定されている発着場所である。さらに、乗務員が始終業をする「始終業場所」は上述した「始終業駅」を表している。
【0070】
パス生成部51は、上述した乗務パスと、休憩パスと、宿泊パスと、シフトパスと、便乗パスとを生成する。パス生成部51は、乗務パス生成部511と、休憩パス生成部512と、宿泊パス生成部513と、シフトパス生成部514と、便乗パス生成部515とを有する。
【0071】
乗務パス生成部511は乗務パス(乗務パス情報)を生成する。具体的には、乗務パス生成部511は、記憶装置60に記憶されている乗務パス生成用情報に基づいて、乗務パスを識別する乗務パス識別情報と、列車を識別する列車識別情報と、発駅を表す発駅情報と、発駅を出発する時刻を表す発時刻情報と、着駅を表す着駅情報と、着駅に到着する時刻を表す着時刻情報と、を関連付けた乗務パス情報を生成し、記憶装置60に記憶する。なお、乗務パス識別情報それぞれに乗務時間を表す乗務時間情報を関連付けて記憶してもよい。
【0072】
乗務パス生成用情報は、列車運行情報と、交代可能駅情報と、交代可否条件情報とを有する。列車運行情報は、列車ごとの運行予定を表す情報(ダイアグラムに関する情報)である。交代可能駅情報は、交代可能駅を表す情報である。交代可否条件情報には、例えば、乗務の交代における引継ぎ時間を確保するために、着時刻から発時刻まで列車があらかじめ決められた時間以上停車している条件、始発駅、終着駅は交代可能である条件などを含んでいることが考えられる。
【0073】
図6は、乗務パス生成部の説明をするための図である。図6の例では、まず、乗務パス生成部511が、記憶装置60に記憶されている乗務パス生成用情報の列車運行情報を参照し、列車運行情報から、交代可能駅情報に記憶されている交代可能駅で、かつ交代可否条件情報を満たしている駅を検出する。
【0074】
図6の例では、交代可否条件情報を満たしている駅は、列車が同じ駅で1分以上停車をしている。
【0075】
次に、乗務パス生成部511は、検出した駅(発駅、着駅)を用いて、図6に示すような乗務パス(乗務パス情報)を生成し、記憶装置60に記憶する。
【0076】
休憩パス生成部512は休憩パス(休憩パス情報)を生成する。具体的には、休憩パス生成部512は、記憶装置60に記憶されている休憩パス生成用情報に基づいて、休憩パスを識別する休憩パス識別情報と、休憩駅を表す休憩駅情報(同じ発駅情報と着駅情報で表す情報)と、休憩を開始する時刻を表す休憩開始時刻情報(発時刻情報)と、休憩を終了する時刻を表す休憩終了時刻情報(着時刻情報)と、を関連付けた休憩パス情報を生成し、記憶装置60に記憶する。なお、休憩パス識別情報それぞれに休憩時間を表す休憩時間情報を関連付けて記憶してもよい。
【0077】
休憩パス生成用情報は、休憩可能駅情報と、休憩条件情報と、パラメータとを有する。休憩可能駅情報は、休憩が可能な駅を表す情報である。休憩条件情報は、休憩時間を表す情報で、例えば、昼休憩の時間は11:30から14:30における45分以上とする条件、夕休憩の時間は18:00から21:00における45分以上とする条件などが考えられる。休憩時間間隔(パラメータ)は、行路の作成者により設定される情報である。休憩時間間隔は、例えば、15分などが考えられる。ただし、休憩条件情報と休憩時間間隔は、上述した条件、パラメータに限定されるものではない。
【0078】
図7は、休憩パス生成部の説明をするための図である。図7の例では、休憩パス生成部512は、記憶装置60に記憶されている休憩パス生成用情報の休憩可能駅情報と休憩条件情報と休憩時間間隔(パラメータ)とを参照し、休憩可能駅ごとに、休憩時間内において、15分間隔で45分の休憩時間を表す休憩パスを生成している。
【0079】
なお、図7の休憩パス情報の「休憩パス」に示した休憩パスを識別する情報は、便宜上「r*」と表したが、「*」は休憩パスを識別する数字である。
【0080】
宿泊パス生成部513は宿泊パス(宿泊パス情報)を生成する。具体的には、宿泊パス生成部513は、記憶装置60に記憶されている宿泊パス生成用情報に基づいて、宿泊パスを識別する宿泊パス識別情報と、宿泊駅を表す宿泊駅情報(同じ発駅情報と着駅情報で表す情報)と、宿泊を開始する時刻を表す宿泊開始時刻情報(発時刻情報)と、宿泊を終了する時刻を表す宿泊終了時刻情報(着時刻情報)と、を関連付けた宿泊パス情報を生成し、記憶装置60に記憶する。なお、宿泊パス識別情報それぞれに宿泊時間を表す宿泊時間情報を関連付けて記憶してもよい。
【0081】
宿泊パス生成用情報は、宿泊可能駅情報と、宿泊条件情報と、パラメータとを有する。宿泊可能駅情報は、宿泊が可能な駅を表す情報である。宿泊条件情報は、宿泊時間を表す情報で、例えば、宿泊は22:00から8:00の6時間以上とする条件などが考えられる。宿泊時間間隔(パラメータ)は、行路の作成者により設定される。宿泊時間間隔は、例えば、60分などが考えられる。ただし、宿泊条件情報と宿泊時間間隔は、上述した条件、パラメータに限定されるものではない。
【0082】
図8は、宿泊パス生成部の説明をするための図である。図8の例では、宿泊パス生成部513は、記憶装置60に記憶されている宿泊パス生成用情報の宿泊可能駅情報と宿泊条件情報と宿泊時間間隔(パラメータ)とを参照し、宿泊可能駅ごとに、宿泊時間内において、60分間隔で6時間の宿泊時間を表す宿泊パスを生成している。
【0083】
なお、図8の宿泊パス情報の「宿泊パス」に示した宿泊パスを識別する情報は、便宜上「s*」と表したが、「*」は宿泊パスを識別する数字である。
【0084】
シフトパス生成部514はシフトパス(シフトパス情報)を生成する。具体的には、シフトパス生成部514は、記憶装置60に記憶されているシフトパス生成用情報に基づいて、シフトパスを識別するシフトパス識別情報と、始業駅と終業駅を表す始終業駅情報(同じ発駅情報と着駅情報で表す情報)と、始業時刻を表す始業時刻情報(発時刻情報)と、終業時刻を表す終業時刻情報(着時刻情報)と、を関連付けたシフトパス情報を生成し、記憶装置60に記憶する。
【0085】
シフトパス生成用情報は、始終業可能駅情報と、シフト条件情報と、パラメータとを有する。始終業可能駅情報は、始業と終業が可能な駅を表す情報である。シフト条件情報は、勤務時間を表す情報で、例えば、1日の行路は勤務時間が10時間以内で、かつ始業時刻は7:00から12:00とする条件、2日の行路は勤務時間が24時間以内で、かつ始業時刻は8:00から16:00とする条件などが考えられる。シフト時間間隔(パラメータ)は、行路の作成者により設定される。シフト時間間隔は、例えば、60分などが考えられる。ただし、シフト条件情報とシフト時間間隔は、上述した条件、パラメータに限定されるものではない。
【0086】
図9は、シフトパス生成部の説明をするための図である。図9の例では、シフトパス生成部514は、記憶装置60に記憶されているシフトパス生成用情報の始終業可能駅情報とシフト条件情報とシフト時間間隔(パラメータ)とを参照し、始終業可能駅ごとに、勤務時間内において、60分間隔で10時間の勤務時間を表すシフトパスを生成している。
【0087】
なお、図9のシフトパス情報の「シフトパス」に示したシフトパスを識別する情報は、便宜上「a*」と表したが、「*」はシフトパスを識別する数字である。
【0088】
便乗パス生成部515は便乗パスを生成する。具体的には、便乗パス生成部515は、記憶装置60に記憶されている便乗パス生成用情報に基づいて、便乗パスを識別する便乗パス識別情報と、列車を識別する列車識別情報と、発駅を表す発駅情報と、発駅を出発する時刻を表す発時刻情報と、着駅を表す着駅情報と、着駅に到着する時刻を表す着時刻情報と、を関連付けた便乗パス情報を生成し、記憶装置60に記憶する。なお、便乗パス識別情報に便乗時間を表す便乗時間情報を関連付けて記憶してもよい。
【0089】
便乗パス生成用情報は、列車運行情報と、交代可能駅情報と、便乗可否条件情報とを有する。
【0090】
図10は、便乗パス生成部の説明をするための図である。図10の例では、まず、便乗パス生成部515が、記憶装置60に記憶されている便乗パス生成用情報の列車運行情報を参照し、列車運行情報から、交代可能駅情報に記憶されている交代可能駅で、かつ便乗可否条件情報を満たしている駅を検出する。
【0091】
次に、便乗パス生成部515は、検出した駅(発駅、着駅)を用いて、図10に示すような便乗パス(便乗パス情報)を生成する。なお、便乗パスに、発駅から着駅までの乗車時間を関連付けて記憶してもよい。
【0092】
モデル生成部52は、乗務パス(乗務パス情報)、休憩パス(休憩パス情報)、宿泊パス(宿泊パス情報)、シフトパス(シフトパス情報)を、行路に割り当てるか否かをスピン(変数)に設定し、行路に割り当てるためのイジングモデルを生成する。
【0093】
具体的には、スピン(変数)の設定は、行路に対して、乗務パス、休憩パス、宿泊パス、シフトパスを割当てる場合に「1」、割当てない場合に「0」をスピン(変数)に定義する。
【0094】
1日行路を生成する場合、乗務パス、休憩パス、シフトパスを用いてイジングモデルを生成する。2日行路を生成する場合、乗務パス、休憩パス、宿泊パス、シフトパスを用いてイジングモデルを生成する。
【0095】
図11は、スピンの定義を説明するための図である。図11の「記号」にはスピン(変数)を表す情報を示した。図11の「説明」にはスピンそれぞれの説明を記載した。図11の「変数サイズ」はスピンそれぞれの数(変数の数)を記載した。
【0096】
具体的には、モデル生成部52は、イジングモデルとして、数2に示すようなハミルトニアを生成する。数2のハミルトニアH1は、後述する制約式を合算して表される。なお、制約式を合算する際に、各制約式に異なる重み(任意の正の定数)を掛けてから合算してもよい。
【0097】
【数2】
【0098】
図12は、1日行路の制約を説明するための図である。図12には、1日行路の制約として、1日行路のシフトOneHot制約、食事休憩制約、接続禁止制約(乗務パス間)、接続禁止制約(乗務パス-休憩パス間)、接続禁止制約(シフトパス-乗務パス間)、接続禁止制約(シフトパス-休憩パス間)それぞれに対応する制約式を示した。また、図12の制約の説明は、図12の「説明」を参照されたい。
【0099】
なお、1日行路のシフトOneHot制約は、シフト(業務時間範囲)を指定する場合に用いる。食事休憩制約は、休憩を指定する場合に用いる。接続禁止制約(乗務パス間)は必ず用いる。接続禁止制約(乗務パス-休憩パス間)は、休憩を指定する場合に用いる。接続禁止制約(シフトパス-乗務パス間)は、シフトを指定する場合に用いる。接続禁止制約(シフトパス-休憩パス間)は、休憩、シフトの両方を指定する場合に用いる。
【0100】
図13は、2日行路の制約を説明するための図である。図13には、2日行路の制約として、2日行路のシフトOneHot制約、食事休憩制約(合計回数)、食事休憩制約(1日目昼)、食事休憩制約(1日目夕方)、食事休憩制約(2日目昼)、食事休憩制約(2日目夕方)それぞれに対応する制約式を示した。また、図13の制約の説明は、図13の「説明」を参照されたい。
【0101】
なお、2日行路のシフトOneHot制約は、シフトを指定する場合に用いる。食事休憩制約(合計回数)は、休憩を指定する場合に用いる。食事休憩制約(1日目昼)は、休憩、シフトの両方を指定する場合に用いる。食事休憩制約(1日目夕方)は、休憩、シフトの両方を指定する場合に用いる。食事休憩制約(2日目昼)は、休憩、シフトの両方を指定する場合に用いる。食事休憩制約(2日目夕方)は、休憩、シフトの両方を指定する場合に用いる。
【0102】
図14は、2日行路の制約を説明するための図である。図14には、2日行路の制約として、宿泊制約、休憩室数制約それぞれに対応する制約式を示した。また、図14の制約の説明は、図14の「説明」を参照されたい。
【0103】
なお、2日行路の場合、宿泊制約は必ず用いる。休憩室数制約は、宿泊施設に上限がある場合に用いる。
【0104】
図15は、2日行路の制約を説明するための図である。図15には、2日行路の制約として、接続禁止制約(n日目乗務パス間)、接続禁止制約(n日目乗務パス-休憩パス間)、接続禁止制約(1日目乗務パス-宿泊パス間)、接続禁止制約(宿泊パス-2日目乗務パス間)、接続禁止制約(1日目休憩パス-宿泊パス間)、接続禁止制約(宿泊パス-2日目休憩パス間)それぞれに対応する制約式を示した。また、図15の制約の説明は、図15の「説明」を参照されたい。なお、n日は1日又は2日を示す。
【0105】
なお、接続禁止制約(n日目乗務パス間)は必ず用いる。接続禁止制約(n日目乗務パス-休憩パス間)は、休憩を指定する場合に用いる。接続禁止制約(シフトパス-1日目乗務パス間)、接続禁止制約(2日目乗務パス-シフトパス間)は、シフトを指定する場合に用いる。接続禁止制約(始業シフトパス-1日目休憩パス間)、接続禁止制約(2日目休憩パス-シフパスト間)は、休憩、シフトの両方を指定する場合に用いる。
【0106】
図16は、2日行路の制約を説明するための図である。図16には、2日行路の制約として、接続禁止制約(シフトパス-1日目乗務パス間)、接続禁止制約(2日目乗務パス-シフトパス間)、接続禁止制約(始業シフトパス-1日目休憩パス間)、接続禁止制約(2日目休憩パス-シフパスト間)それぞれに対応する制約式を示した。また、図16の制約の説明は、図16の「説明」を参照されたい。
【0107】
なお、接続禁止制約(シフトパス-1日目乗務パス間)は、シフトを指定する場合に用いる。接続禁止制約(2日目乗務パス-シフトパス間)は、シフトを指定する場合に用いる。接続禁止制約(始業シフトパス-1日目休憩パス間)は、休憩、シフトの両方を指定する場合に用いる。接続禁止制約(2日目休憩パス-シフパスト間)は、休憩、シフトの両方を指定する場合に用いる。
【0108】
図17は、1日行路・2日行路の制約条件を説明するための図である。図17には、2日行路の制約条件として、乗務OneHot制約に対応する制約式を示した。また、図17の制約の説明は、図17の「説明」を参照されたい。なお、乗務OneHot制約は必ず用いる。
【0109】
求解部53は、イジングモデルに基づいて量子アニーリングマシン10に求解させる。具体的には、まず、求解部53は、モデル生成部52から数2に示したイジングモデル(ハミルトニアH1を表す情報)を取得する。次に、求解部53は、取得したイジングモデルに基づいて、量子アニーリングマシン10の量子処理部11を制御するための制御情報を生成する。その後、求解部53は、制御情報を含む制御信号を、制御部12に送信する。
【0110】
量子処理部11が超電導量子回路である場合、制御部12は、受信した制御信号に基づいて、量子処理部11に印加する局所磁場を制御する。
【0111】
詳細には、求解部53は、まず、数2に示したイジングモデルに基づいて、量子アニーリングマシン10の量子処理部11に構成されている量子ビットトポロジーに対してマイナー埋め込みをするための指示を、量子アニーリングマシン10の制御部12にする。
【0112】
求解部53は、量子アニーリングマシン10に指示するため、数2のハミルトニアンH1の式を展開し、展開後得られた各項のうち、一次項又は同じスピンから成る二次項の係数をスピンに係るバイアス、別々のスピンから成る二次項の係数をスピン間の相互作用とする。このとき、ハミルトニアンがQUBOであればイジングモデルへの変換を行い、量子アニーリングマシンに対してパラメータを設定する。なお、QUBOからイジングモデルへの変換が可能であることは証明されている。
【0113】
次に、求解部53は、制御部12に対して、量子処理部11に局所磁場を印加させる指示をし、その後、局所磁場を時間かけて弱めていくように指示をする。その結果、最終的に、数2のハミルトニアンH1は最小の状態に収束する。
【0114】
行路生成部54は、量子ビットの状態を表す状態情報を用いて行路を生成する。具体的には、まず、行路生成部54は、量子アニーリングマシン10の読取部13から状態情報を取得する。次に、行路生成部54は、状態情報に基づいて、行路を表す行路情報を生成する。例えば、行路生成部54は、図18図19に示したような行路を表す行路情報を生成する。
【0115】
図18は、1日行路の行路情報を説明するための図である。図18の行路情報は、シフトパスと、乗務パスと、休憩パスとが制約条件に基づいて行路に割り振られている。図18の行路情報では、行路それぞれを、行路を識別する行路識別情報(C1、C2、C3、C4・・・C*)を用いて表している。なお、図18の行路識別情報に示した行路を識別する情報は、便宜上「C*」と表したが、「*」は行路を識別する数字である。
【0116】
図18の例では、1日行路のシフトパスをb、b・・・と表して識別し、1日行路の乗務パスをp、p、p、p、p、p・・・と表して識別し、1日行路の休憩パスをrL1、rL2、rL3、rL4、rL5・・・と表して識別している。そして、行路に割り振られたパスには黒丸(●)を付し、行路に割り振られていないパスはバツ(×)を付している。
【0117】
図18の例では、1日行路のシフトパスはb、b・・・のいずれか一つが選択されている。1日行路の昼休憩に対応する休憩パスはrL1、rL2、rL3、rL4、rL5・・・のいずれか一つが選択されている。また、乗務パスと休憩パスは時間帯が重ならないように割り振られている。さらに、選択したシフト時間外に乗務パスと休憩パスは設定さていない。
【0118】
図19は、2日行路の行路情報を説明するための図である。2日行路は、乗務員が2日間勤務することである。図19の行路情報は、シフトパスと、乗務パスと、休憩パスと、宿泊パスとが制約条件に基づいて行路に割り振られている。図19の行路情報では、行路それぞれを、行路を識別する行路識別情報(C1、C2、C3、C4・・・C*)を用いて表している。なお、図19の行路識別情報に示した行路を識別する情報は、便宜上「C*」と表したが、「*」は行路を識別する数字である。
【0119】
図19の例では、2日行路のシフトパスをa、a・・・と表して識別し、2日行路の1日目・2日目の乗務パスをp、p・・・と表して識別し、2日行路の1日目の休憩パスをrD1、rD2・・・と表して識別し、宿泊パスをS、S・・・と表して識別し、2日行路の2日目の休憩パスをrL1、rL2・・・と表して識別している。そして、行路に割り振られたパスには黒丸(●)を付し、行路に割り振られていないパスはバツ(×)を付している。
【0120】
図19の例では、2日行路のシフトパスはa、a・・・のいずれか一つが選択されている。宿泊パスはS、S・・・のいずれか一つが選択されている。2日行路の1日目の休憩パスrD1、rD2・・・、2日行路の2日目の休憩パスrL1、rL2・・・については、選択されたシフトパスに応じて適切な時間帯のものが選択されている。また、乗務パスと休憩パスは時間帯が重ならないように割り振られている。さらに、選択したシフト時間外に乗務パスと休憩パスは設定さていない。
【0121】
便乗パス追加部55は、上述した複数の行路に便乗パスを追加する。量子アニーリングによって決定されるのは、上述した乗務パス、休憩パス、宿泊パス、シフトパスだけであるため、これらのパスを時間順に配置して行路を生成したときに、不連続な行路になることがある。したがって、不連続なパスが有る場合、不連続なパスの間に便乗パスを追加する。
【0122】
具体的には、便乗パス追加部55は、まず、順次一つの行路を選択する。次に、便乗パス追加部55は、選択した行路に連続して配置された二つのパスを検出する。
【0123】
次に、便乗パス追加部55は、時間的に先に配置されているパスpの着駅情報と、時間的に後に配置されているパスpの発駅情報とが異なるか否かを判定する。
【0124】
次に、パスpの着駅情報とパスpの発駅情報とが異なる場合、便乗パス追加部55は、パスpの着駅からパスpの発駅へ向かう列車で、かつ、パスpの着駅に到着後、当該列車に乗り継ぎが可能で、かつ、当該列車がパスpの発駅に到着後、乗り継ぎが可能な便乗パスを選択する。
【0125】
次に、便乗パス追加部55は、選択した便乗パスを、パスpとパスpとの間に配置する。
【0126】
図20は、便乗パスの追加を説明するための図である。図2の例では、乗務パスpの列車は着駅であるB駅に14:30に到着する。また、乗務パスpの列車は発駅であるC駅に15:30に到着する。そこで、B駅からC駅へ向かう列車で、かつ、B駅に到着後、当該列車に乗り継ぎが可能で、かつ、当該列車がC駅に到着後、乗り継ぎが可能な便乗パスを選択する。そして、乗務パスpと乗務パスpとの間に選択した便乗パスを配置する。
【0127】
すなわち、便乗パスとして、B駅からC駅へ向かう列車で、かつ、(乗務パスpの着時刻 + 乗継にかかる時間 ≦ 便乗パスの発時刻)で、かつ、(便乗パスの着時刻 + 乗継にかかる時間 ≦ 乗務パスpの発時刻)であるパスを選択する。
【0128】
なお、上述した接続禁止制約では、発着駅の一致しないパス同士の接続を禁止するかどうかの判定において、それらのパスを接続可能な便乗パスが存在するかを考慮している。具体的には、接続可能な便乗パスが存在するのであれば、接続禁止制約の対象としないようにしている。そのため、量子アニーリングマシンにより接続禁止制約を満たす解が得られた場合、便乗パス追加処理を実行する時点で、適切な便乗パスは必ず存在する。
【0129】
このように、実施形態1においては、上述した各種パス情報を行路に割り当てるためのイジングモデルを、量子アニーリングマシンに求解させることで、スケジュール(行路)を自動で生成することができる。
【0130】
また、実施形態1においては、上述したような複数の制約条件であっても、行路を生成する時間を、従来よりも大幅に短縮できる。
【0131】
[装置動作]
次に、実施形態1におけるスケジュール生成装置の動作について図21を用いて説明する。図21は、実施形態1のスケジュール生成装置の動作の一例を説明するための図である。以下の説明においては、適宜図を参照する。また、実施形態1では、スケジュール生成装置を動作させることによって、スケジュール生成方法が実施される。よって、実施形態1におけるスケジュール生成方法の説明は、以下のスケジュール生成装置の動作説明に代える。
【0132】
図21に示すように、まず、パス生成部51は、上述した乗務パスと、休憩パスと、宿泊パスと、シフトパスと、便乗パスとを生成する(ステップA1)。
【0133】
具体的には、ステップA1において、乗務パス生成部511は、記憶装置60に記憶されている乗務パス生成用情報に基づいて、乗務パスを識別する乗務パス識別情報と、列車を識別する列車識別情報と、発駅を表す発駅情報と、発駅を出発する時刻を表す発時刻情報と、着駅を表す着駅情報と、着駅に到着する時刻を表す着時刻情報と、を関連付けた乗務パス情報を生成し、記憶装置60に記憶する。なお、乗務パス識別情報それぞれに乗務時間を表す乗務時間情報を関連付けて記憶してもよい。
【0134】
具体的には、ステップA1において、休憩パス生成部512は、記憶装置60に記憶されている休憩パス生成用情報に基づいて、休憩パスを識別する休憩パス識別情報と、休憩駅を表す休憩駅情報(同じ発駅情報と着駅情報で表す情報)と、休憩を開始する時刻を表す休憩開始時刻情報(発時刻情報)と、休憩を終了する時刻を表す休憩終了時刻情報(着時刻情報)と、を関連付けた休憩パス情報を生成し、記憶装置60に記憶する。なお、休憩パス識別情報それぞれに休憩時間を表す休憩時間情報を関連付けて記憶してもよい。
【0135】
具体的には、ステップA1において、宿泊パス生成部513は、記憶装置60に記憶されている宿泊パス生成用情報に基づいて、宿泊パスを識別する宿泊パス識別情報と、宿泊駅を表す宿泊駅情報(同じ発駅情報と着駅情報で表す情報)と、宿泊を開始する時刻を表す宿泊開始時刻情報(発時刻情報)と、宿泊を終了する時刻を表す宿泊終了時刻情報(着時刻情報)と、を関連付けた宿泊パス情報を生成し、記憶装置60に記憶する。なお、宿泊パス識別情報それぞれに宿泊時間を表す宿泊時間情報を関連付けて記憶してもよい。
【0136】
具体的には、ステップA1において、シフトパス生成部514は、記憶装置60に記憶されているシフトパス生成用情報に基づいて、シフトパスを識別するシフトパス識別情報と、始業駅と終業駅を表す始終業駅情報(同じ発駅情報と着駅情報で表す情報)と、始業時刻を表す始業時刻情報(発時刻情報)と、終業時刻を表す終業時刻情報(着時刻情報)と、を関連付けたシフトパス情報を生成し、記憶装置60に記憶する。
【0137】
具体的には、ステップA1において、便乗パス生成部515は、記憶装置60に記憶されている便乗パス生成用情報に基づいて、便乗パスを識別する便乗パス識別情報と、列車を識別する列車識別情報と、発駅を表す発駅情報と、発駅を出発する時刻を表す発時刻情報と、着駅を表す着駅情報と、着駅に到着する時刻を表す着時刻情報と、を関連付けた便乗パス情報を生成し、記憶装置60に記憶する。なお、便乗パス識別情報に便乗時間を表す便乗時間情報を関連付けて記憶してもよい。
【0138】
次に、モデル生成部52は、乗務パス情報、休憩パス情報、宿泊パス情報、シフトパス情報を、行路に割り当てるか否かをスピン(変数)に設定し、行路に割り当てるためのイジングモデルを生成する(ステップA2)。
【0139】
具体的には、ステップA2において、モデル生成部52は、イジングモデルとして、数2に示すようなハミルトニアH1を生成する。
【0140】
次に、求解部53は、イジングモデルに基づいて量子アニーリングマシン10に求解させる(ステップA3)。
【0141】
具体的には、ステップA3において、まず、求解部53は、モデル生成部52から数2に示したイジングモデル(ハミルトニアH1を表す情報)を取得する。次に、ステップA3において、求解部53は、取得したイジングモデルに基づいて、量子アニーリングマシン10の量子処理部11を制御するための制御情報を生成する。その後、求解部53は、制御情報を含む制御信号を、制御部12に送信する。
【0142】
次に、ステップA3において、求解部53は、制御部12に対して、量子処理部11に局所磁場を印加させる指示をし、その後、局所磁場を時間かけて弱めていくように指示をする。その結果、最終的に、数2のハミルトニアンH1は最小の状態に収束する。
【0143】
次に、行路生成部54は、量子ビットの状態を表す状態情報を用いて行路を生成する(ステップA4)。具体的には、ステップA4において、まず、行路生成部54は、量子アニーリングマシン10の読取部13から状態情報を取得する。次に、ステップA4において、行路生成部54は、状態情報に基づいて、複数の行路を表す行路情報を生成する。
【0144】
次に、便乗パス追加部55は、行路に便乗パスを追加する(ステップA5)。なお、ステップA5の処理は、全ての行路に対して実行する。
【0145】
具体的には、ステップA5において、まず、便乗パス追加部55は、順次一つの行路を選択する。次に、行路生成部54は、選択した行路に連続して配置された二つのパスを検出する。
【0146】
次に、ステップA5において、便乗パス追加部55は、時間的に先に配置されているパスpの着駅情報と、時間的に後に配置されているパスpの発駅情報とが異なるか否かを判定する。
【0147】
次に、ステップA5において、便乗パス追加部55は、パスpの着駅から乗務パスpの発駅へ向かう列車で、かつ、パスpの着駅に到着後、当該列車に乗り継ぎが可能で、かつ、当該列車がパスpの発駅に到着後、乗り継ぎが可能な便乗パスを選択する。
【0148】
次に、ステップA5において、便乗パス追加部55は、選択した便乗パスを、パスpとパスpとの間に配置する。
【0149】
[実施形態1の効果]
以上のように実施形態1によれば、上述した乗務パス情報、休憩パス情報、宿泊パス情報、シフトパス情報を行路に割り当てるためのイジングモデルを、量子アニーリングマシンに求解させることで、スケジュール(行路)を自動で生成することができる。
【0150】
また、実施形態1においては、上述したような複数の制約条件であっても、行路を生成する時間を、従来よりも大幅に短縮できる。
【0151】
[プログラム]
実施形態1におけるプログラムは、コンピュータに、図21に示すステップA1からA5を実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、実施形態1におけるスケジュール生成装置とスケジュール生成方法とを実現することができる。この場合、コンピュータのプロセッサは、パス生成部51、モデル生成部52、求解部53、行路生成部54、便乗パス追加部55部として機能し、処理を行なう。
【0152】
また、実施形態1におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されてもよい。この場合は、例えば、各コンピュータが、それぞれ、パス生成部51、モデル生成部52、求解部53、行路生成部54、便乗パス追加部55部のいずれかとして機能してもよい。
【0153】
(実施形態2)
実施形態2では、問題の規模が大きい場合、段階的に行路を作成する方法について説明する。図22は、実施形態2のスケジュール生成装置の一例を説明するための図である。
【0154】
図22は、まず、2日行路の1日目の夕方から2日目の早朝までの時間帯に関係するパスを対象にして部分行路を生成する。次に、2日行路の残りの時間帯に関係するパスと、生成した部分行路とを用いて、完全な行路(1日)(2日)を生成する例である。
【0155】
[装置構成]
図23は、実施形態2のスケジュール生成装置の一例を説明するための図である。スケジュール生成装置50aは、複雑なスケジュール(行路)を自動で生成する装置である。また、スケジュール生成装置50aは、パス生成部51と、モデル生成部52aと、求解部53aと、行路生成部54aと、便乗パス追加部55とを有する。
【0156】
モデル生成部52aは、部分モデル生成部521と、全体モデル生成部522とを有する。行路生成部54aは、部分行路生成部541と、全体行路生成部542とを有する。
【0157】
なお、スケジュール生成装置50aは、情報処理装置20又は端末装置30に構築する。又は、スケジュール生成装置50aの機能を、情報処理装置20と端末装置30に分散させてもよい。
【0158】
実施形態2のスケジュール生成装置の詳細につて説明する。
なお、パス生成部51、便乗パス追加部55の説明は実施形態1で説明したので省略をする。
【0159】
部分モデル生成部521は、2日行路の部分行路を生成するために、2日行路の1日目の夕方から2日目の早朝までの時間帯に関係する夕方・深夜・早朝に関する乗務パス(乗務パス情報)と、夕方の休憩パス(休憩パス情報)と、宿泊パス(宿泊パス情報)とを行路に割り当てるか否かをスピン(変数)に設定し、部分行路に割り当てるためのイジングモデルを生成する。
【0160】
具体的には、スピン(変数)の設定は、部分行路に対して、夕方・深夜・早朝に関する乗務パス、夕方の休憩パス、宿泊パスを割当てる場合に「1」、割当てない場合に「0」をスピン(変数)に定義する。
【0161】
図24は、部分行路のスピンの定義を説明するための図である。図24の「記号」にはスピン(変数)を表す情報を示した。図24の「説明」にはスピンそれぞれの説明を記載した。図24の「変数サイズ」はスピンそれぞれの数(変数の数)を記載した。
【0162】
具体的には、部分モデル生成部521は、イジングモデルとして、数3に示すようなハミルトニアH2を生成する。数3のハミルトニアH2は、後述する制約式を合算して表される。なお、制約式を合算する際に、各制約式に異なる重み(任意の正の定数)を掛けてから合算してもよい。
【0163】
【数3】
【0164】
図25は、2日行路の部分行路の制約を説明するための図である。図25には、2日行路の部分行路の制約として、乗務OneHot制約、食事休憩制約(1日目夕方)、宿泊OneHot制約、休憩室数制約それぞれに対応する制約式を示した。また、図25の制約の説明は、図25の「説明」を参照されたい。
【0165】
図26は、2日行路の部分行路の制約を説明するための図である。図26には、2日行路の部分行路の制約として、接続禁止制約(n日目乗務パス間)、接続禁止制約(1日目乗務パス-夕方休憩パス間)、接続禁止制約(1日目乗務パス-宿泊パス間)、接続禁止制約(宿泊パス-2日目乗務パス間)、接続禁止制約(1日目休憩パス-宿泊パス間)それぞれに対応する制約式を示した。また、図26の制約の説明は、図26の「説明」を参照されたい。
【0166】
求解部53aは、部分モデル生成部521で生成した数3に示したイジングモデル(ハミルトニアH2を表す情報)に基づいて量子アニーリングマシン10に求解させる。
【0167】
部分行路生成部541は、量子ビットの状態を表す状態情報を用いて部分行路を生成する。具体的には、まず、部分行路生成部541は、量子アニーリングマシン10の読取部13から状態情報を取得する。次に、部分行路生成部541は、状態情報に基づいて、部分行路を表す部分行路情報を生成する。例えば、部分行路生成部541は、図27に示すような部分行路を表す部分行路情報を生成する。
【0168】
図27は、2日行路の部分行路情報を説明するための図である。図27の部分行路情報は、乗務パスと、休憩パスと、宿泊パスとが制約条件に基づいて行路に割り振られている。図27の部分行路情報では、行路それぞれを、行路を識別する行路識別情報(CP1、CP2、CP3、CP4・・・)を用いて表している。
【0169】
図27の例では、夕方休憩パスをrD1、rD2・・・と表して識別し、夕方・深夜乗務パス(1日目)をpN1、pN2、pN3・・・と表して識別し、宿泊パスをsN1、sN2、pN3・・・と表して識別し、早朝乗務パス(2日目)をpE1、pE2、pE3・・・と表して識別している。そして、行路に割り振られたパスには黒丸(●)を付し、行路に割り振られていないパスはバツ(×)を付している。
【0170】
全体モデル生成部522は、全体行路(1日行路と2日行路)を生成するために、部分行路に対して、2日行路の1日目の昼と2日目の昼の時間帯に関係する乗務パス(乗務パス情報)と、昼の休憩パス(休憩パス情報)と、シフトパス(シフトパス情報)とを、行路に割り当てるか否かをスピン(変数)に設定し、行路に割り当てるためのイジングモデルを生成する。
【0171】
具体的には、スピン(変数)の設定は、部分行路に対して、昼に関する乗務パス、昼の休憩パス、シフトパスを割当てる場合に「1」、割当てない場合に「0」をスピン(変数)に定義する。
【0172】
図28は、行路のスピンの定義を説明するための図である。図28の「記号」にはスピン(変数)を表す情報を示した。図28の「説明」にはスピンそれぞれの説明を記載した。図28の「変数サイズ」はスピンそれぞれの数(変数の数)を記載した。
【0173】
具体的には、全体モデル生成部522は、イジングモデルとして、数4に示すようなハミルトニアH3を生成する。数4のハミルトニアH3は、後述する制約式を合算して表される。なお、制約式を合算する際に、各制約式に異なる重み(任意の正の定数)を掛けてから合算してもよい。
【0174】
【数4】
【0175】
図29は、1日行路・2日行路の制約を説明するための図である。図29には、1日行路・2日行路の制約として、シフトOneHot制約、食事休憩制約、接続禁止制約(乗務パス間)、接続禁止制約(乗務パス-休憩パス間)、接続禁止制約(シフトパス-乗務パス間)、接続禁止制約(シフトパス-休憩パス間)それぞれに対応する制約式を示した。また、図29の制約の説明は、図29の「説明」を参照されたい。
【0176】
図30は、1日行路・2日行路の制約を説明するための図である。図30には、2日行路のシフトOneHot制約、食事休憩制約(1日目昼)、食事休憩制約(2日目昼)それぞれに対応する制約式を示した。また、図30の制約の説明は、図30の「説明」を参照されたい。
【0177】
図31は、1日行路・2日行路の制約を説明するための図である。図31には、接続禁止制約(1日目乗務パス-部分行路間)、接続禁止制約(部分行路-2日目乗務パス間)、接続禁止制約(1日目休憩パス-部分行路間)、接続禁止制約(部分行路-2日目休憩パス間)、接続禁止制約(シフトパス-部分行路間)それぞれに対応する制約式を示した。また、図31の制約の説明は、図31の「説明」を参照されたい。
【0178】
図32は、1日行路・2日行路の制約を説明するための図である。図32には、接続禁止制約(n日目乗務パス間)、接続禁止制約(n日目乗務パス-休憩パス間)、接続禁止制約(シフトパス-1日目乗務パス間)、接続禁止制約(2日目乗務パス-シフトパス間)、接続禁止制約(シフトパス-1日目休憩パス間)、接続禁止制約(2日目休憩パス-シフトパス間)それぞれに対応する制約式を示した。また、図32の制約の説明は、図32の「説明」を参照されたい。
【0179】
図33は、1日行路・2日行路の制約を説明するための図である。図33には、乗務OneHot制約それぞれに対応する制約式を示した。また、図32の制約の説明は、図32の「説明」を参照されたい。
【0180】
求解部53aは、全体モデル生成部522で生成した数4に示したイジングモデル(ハミルトニアH3を表す情報)に基づいて量子アニーリングマシン10に求解させる。
【0181】
全体行路生成部542は、量子ビットの状態を表す状態情報を用いて全体行路を生成する。具体的には、まず、全体行路生成部542は、量子アニーリングマシン10の読取部13から状態情報を取得する。次に、全体行路生成部542は、状態情報に基づいて、全体行路を表す全体行路情報を生成する。例えば、全体行路生成部542は、図34図35に示すような全体行路を表す全体行路情報を生成する。
【0182】
図34は、全体行路情報(1日)を説明するための図である。図34の全体行路情報は、乗務パスと、休憩パスと、宿泊パスとが、制約条件に基づいて行路に割り振られている。図34の全体行路情報では、図34の全体行路情報では、行路それぞれを、行路を識別する行路識別情報(C1、C2、C3、C4・・・C*)を用いて表している。なお、図34の行路識別情報に示した行路を識別する情報は、便宜上「C*」と表したが、「*」は行路を識別する数字である。
【0183】
図34の例では、1日行路のシフトパスをb、b・・・と表して識別し、1日行路の乗務パスをpM1、pM2、pM3、pM4、pM5・・・と表して識別し、1日行路の休憩パスをrL1、rL2、rL3、rL4、rL5・・・と表して識別している。そして、行路に割り振られたパスには黒丸(●)を付し、行路に割り振られていないパスはバツ(×)を付している。
【0184】
図34の例では、1日行路のシフトパスはb、b・・・のいずれか一つが選択されている。1日行路の昼休憩に対応する休憩パスはrL1、rL2、rL3、rL4、rL5・・・のいずれか一つが選択されている。また、乗務パスと休憩パスは時間帯が重ならないように割り振られている。さらに、選択したシフト時間外に乗務パスと休憩パスは設定さていない。
【0185】
図35は、全体行路情報(2日)を説明するための図である。図35の全体行路情報は、部分行路と、シフトパスと、乗務パスと、休憩パスとを制約条件に基づいて行路に割り振られている。図35の全体行路情報では、行路それぞれを、行路を識別する行路識別情報(C1、C2、C3、C4・・・C*)を用いて表している。なお、図35の行路識別情報に示した行路を識別する情報は、便宜上「C*」と表したが、「*」は行路を識別する数字である。
【0186】
図35の例では、2日行路のシフトパスをa、a・・・と表して識別し、2日行路の1日目・2日目の乗務パスをpM1、pM2・・・と表して識別し、2日行路の1日目の休憩パスをrD1、rD2・・・と表して識別し、2日行路の2日目の休憩パスをrL1、rL2・・・と表して識別している。そして、行路に割り振られたパスには黒丸(●)を付し、行路に割り振られていないパスはバツ(×)を付している。
【0187】
図35の例では、2日行路のシフトパスはa、a・・・のいずれか一つが選択されている。2日行路の1日目の休憩パスrD1、rD2・・・、2日行路の2日目の休憩パスrL1、rL2・・・については、選択されたシフトパスに応じて適切な時間帯のものが選択されている。また、乗務パスと休憩パスは時間帯が重ならないように割り振られている。さらに、選択したシフト時間外に乗務パスと休憩パスは設定さていない。
【0188】
[装置動作]
次に、実施形態2におけるスケジュール生成装置の動作について図36を用いて説明する。図36は、実施形態2のスケジュール生成装置の動作の一例を説明するための図である。以下の説明においては、適宜図を参照する。また、実施形態2では、スケジュール生成装置を動作させることによって、スケジュール生成方法が実施される。よって、実施形態2におけるスケジュール生成方法の説明は、以下のスケジュール生成装置の動作説明に代える。
【0189】
図36に示すように、まず、パス生成部51は、上述した乗務パスと、休憩パスと、宿泊パスと、シフトパスと、便乗パスとを生成する(ステップA1)。
【0190】
次に、部分モデル生成部521は、2日行路の部分行路を生成するために、2日行路の1日目の夕方から2日目の早朝までの時間帯に関係する夕方・深夜・早朝に関する乗務パス(乗務パス情報)、夕方の休憩パス(休憩パス情報)、宿泊パス(宿泊パス情報)を、部分行路に割り当てるか否かをスピン(変数)に設定し、部分行路に割り当てるためのイジングモデルを生成する(ステップB1)。
【0191】
具体的には、ステップB1において、部分モデル生成部521は、イジングモデルとして、数3に示すようなハミルトニアH2を生成する。
【0192】
次に、求解部53aは、部分モデル生成部521で生成した数3に示したイジングモデル(ハミルトニアH2を表す情報)に基づいて量子アニーリングマシン10に求解させる(ステップB2)。
【0193】
次に、部分行路生成部541は、量子ビットの状態を表す状態情報を用いて部分行路を生成する(ステップB3)。具体的には、まず、部分行路生成部541は、量子アニーリングマシン10の読取部13から状態情報を取得する。次に、部分行路生成部541は、状態情報に基づいて、部分行路を表す部分行路情報を生成する。
【0194】
次に、全体モデル生成部522は、1日行路・2日行路の行路を生成するために、1日行路・2日行路の昼の時間帯に関係する昼の乗務パス(乗務パス情報)、昼の休憩パス(休憩パス情報)、シフトパス(シフトパス情報)、行路に割り当てるか否かをスピン(変数)に設定し、行路に割り当てるためのイジングモデルを生成する(ステップB4)。
【0195】
次に、求解部53aは、全体モデル生成部522で生成した数4に示したイジングモデル(ハミルトニアH3を表す情報)に基づいて量子アニーリングマシン10に求解させる(ステップB5)。
【0196】
次に、全体行路生成部542は、量子ビットの状態を表す状態情報を用いて全体行路を生成する。具体的には、まず、全体行路生成部542は、量子アニーリングマシン10の読取部13から状態情報を取得する。次に、全体行路生成部542は、状態情報に基づいて、全体行路を表す全体行路情報を生成する(ステップB6)。
【0197】
次に、便乗パス追加部55は、行路に便乗パスを追加する(ステップA5)。なお、ステップA5の処理は、全ての行路に対して実行する。
【0198】
[実施形態2の効果]
以上のように実施形態2によれば、問題の規模が大きい場合、段階的に行路を作成することができる。
【0199】
また、実施形態2においては、上述したような複数の制約条件があっても、行路を生成する時間を、従来よりも大幅に短縮できる。
【0200】
[プログラム]
実施形態2におけるプログラムは、コンピュータに、図36に示すステップA1、B1からB6、A5を実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、実施形態2におけるスケジュール生成装置とスケジュール生成方法とを実現することができる。この場合、コンピュータのプロセッサは、パス生成部51、モデル生成部52a(部分モデル生成部521、全体モデル生成部522)、求解部53a、行路生成部54a(部分行路生成部541、全体行路生成部542)、便乗パス追加部55部として機能し、処理を行なう。
【0201】
また、実施形態2におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されてもよい。この場合は、例えば、各コンピュータが、それぞれ、パス生成部51、モデル生成部52a(部分モデル生成部521、全体モデル生成部522)、求解部53a、行路生成部54a(部分行路生成部541、全体行路生成部542)、便乗パス追加部55のいずれかとして機能してもよい。
【0202】
[物理構成]
ここで、実施形態1、2におけるプログラムを実行することによって、スケジュール生成装置を実現するコンピュータについて図37を用いて説明する。図37は、実施形態1、2におけるスケジュール生成装置を実現するコンピュータの一例を説明するための図である。
【0203】
図37に示すように、コンピュータ110は、CPU(Central Processing Unit)111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。なお、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU、又はFPGAを備えていてもよい。
【0204】
CPU111は、記憶装置113に格納された、本実施形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置である。また、本実施形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであってもよい。なお、記録媒体120は、不揮発性記録媒体である。
【0205】
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリなどの半導体記憶装置があげられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
【0206】
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
【0207】
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)などの汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)などの磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体があげられる。
【0208】
なお、実施形態1、2におけるスケジュール生成装置は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。さらに、スケジュール生成装置は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【0209】
以上、実施形態1、2を参照して説明をしたが、上述した実施形態1,2に限定されるものではない。構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【0210】
上述した記載によれば、乗務パス情報、休憩パス情報、宿泊パス情報、シフトパス情報を行路に割り当てるためのイジングモデルを、量子アニーリングマシンに求解させることで、スケジュール(行路)を自動で生成することができる。また、スケジュール(行路)の自動生成が必要な分野において有用である。
【符号の説明】
【0211】
1 システム
10 量子アニーリングマシン
11 量子処理部
12 制御部
13 読取部
20 情報処理装置
30 端末装置
40 ネットワーク
50 スケジュール生成装置
51 パス生成部
511 乗務パス生成部
512 休憩パス生成部
513 宿泊パス生成部
514 シフトパス生成部
515 便乗パス生成部
52、52a モデル生成部
521 部分モデル生成部
522 全体モデル生成部
53、53a 求解部
54、54a 行路生成部
541 部分行路生成部
542 全体行路生成部
55 便乗パス追加部
60 記憶装置
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32
図33
図34
図35
図36
図37