(57)【要約】  計画業務支援システム１０をなす自動提案サブシステム１０００において、計画情報を格納する記憶装置１０１と、計画情報における所定制約条件への違反事象を、各変数のビット列および変数間における同一リソースに対応した各ビット、のそれぞれについて、所定値との所定論理演算を行ってリソースの多重割当および未割当として特定し、該当違反事象を解消すべく計画情報における該当変数のビット列に関して所定アルゴリズムによる変更を行って解候補を作成し、解候補と計画情報を置換して違反事象の解消および解候補作成の処理を繰り返すことで出力計画情報を生成する演算装置１０４を備える構成とする。
2016203531.tif 000002
【特許請求の範囲】
【請求項１】
事象への割当対象となるリソース数に基づく所定数のビット列たる変数を、前記事象の数に応じて所定セット組み合わせ、複数事象に対する複数リソースの各割当状態を前記ビット列で示した計画情報を格納する記憶装置と、
前記計画情報における所定制約条件への違反事象を、前記各変数のビット列および前記変数間における同一リソースに対応した各ビット、のそれぞれについて、所定値との所定論理演算を行ってリソースの多重割当および未割当として特定し、該当違反事象を解消すべく前記計画情報における該当変数のビット列に関して所定アルゴリズムによる変更を行って解候補を作成し、前記解候補と前記計画情報を置換して前記違反事象の解消および解候補作成の処理を繰り返すことで出力計画情報を生成する演算装置と、
を備えることを特徴とする計画業務支援システム。
【請求項２】
前記演算装置は、
前記リソースの多重割当および未割当の特定に際し、前記論理演算を累積的に行った場合の累積値の変化傾向に基づいて、違反事象発生の有無および位置を特定するものである、  ことを特徴とする請求項１に記載の計画業務支援システム。
【請求項３】
前記演算装置は、
前記解候補の作成に際し、
前記違反事象の特定の結果、前記計画情報にリソースの多重割当が含まれていた場合、多重割当となる変数Ａとゼロ値の変数Ｂを置換することにより、値が非ゼロとなるビット数を所定数とした解候補を作成する処理と、
前記違反事象の特定の結果、前記計画情報にリソースの未割当が含まれていた場合、未割当の生じたビット位置を持つ変数Ｃと、前記ビット位置のビット値だけが１となる変数Ｄを置換することで解候補を作成する処理と、
前記変数Ｂおよび変数Ｄの少なくともいずれかと前記計画情報を構成する他の変数との所定の論理演算を行うことで解候補を作成する処理と、
を実行するものである、
ことを特徴とする請求項１に記載の計画業務支援システム。
【請求項４】
前記記憶装置は、
前記計画情報の元となった計画情報であって、制約条件違反の無い当初計画情報を更に保持しており、
前記演算装置は、
前記当初計画情報と前記解候補との内積値を算定し、該当解候補の第１の評価値を取得する処理と、
前記当初計画情報と前記解候補との排他的論理和のビット値を加算集計して、前記解候補の第２の評価値を取得する処理と、
前記第１の評価値および前記第２の評価値の少なくともいずれかについて、その評価値の順に解候補を列挙した画面データを所定装置に出力する処理と、
を更に実行するものである、
ことを特徴とする請求項１に記載の計画業務支援システム。
【請求項５】
前記記憶装置は、
前記計画情報の元となった計画情報であって、制約条件違反の無い当初計画情報を更に保持しており、
前記演算装置は、
前記当初計画情報と前記解候補との内積値を算定し、該当解候補の第１の評価値を取得する処理と、
前記当初計画情報と前記解候補との排他的論理和のビット値を加算集計して、前記解候補の第２の評価値を取得する処理と、
前記第１の評価値および前記第２の評価値の少なくともいずれかについて、その評価値の順に解候補を列挙して所定装置に出力する処理と、
前記解候補を評価値に基づいて所定レベル別に分類し、前記レベルごとに前記解候補の数を集計して、前記集計した値が所定値以上である場合に該当レベルの解候補の前記画面データを更新し、これを前記所定装置に出力する処理と、
を更に実行するものである、
ことを特徴とする請求項１に記載の計画業務支援システム。
【請求項６】
前記演算装置は、
前記解候補に関する処理状況を所定装置に出力する処理を更に実行するものである、
ことを特徴とする請求項１に記載の計画業務支援システム。
【請求項７】
前記記憶装置は、
前記計画情報として、ｎ人の乗務員、ａ個の列車、ｂ個の駅、ｍ時間単位の時刻情報について、乗務員、列車あるいは駅を示す位置、時間における割当の有無についてブール値で表現するｎ×（ａ＋ｂ）×ｍの３次元以上のビット集合を格納するものであり、
前記演算装置は、
前記計画情報においてｉ番目の列車にｊ番目の乗務員を割り当て、かつ前記列車の出発時刻以前の計画を保存しつつ計画変更する解候補を作成するに際し、
時間範囲ｍの中で前記列車の出発時刻から到着時刻までをビット値１として他を０とする運行情報であって、長さｍの第１のビット集合を作成する処理と、
時間範囲ｍの中で前記列車の出発時刻以前をビット値０として他を１とするマスクであって、長さｍの第２のビット集合を作成する処理と、
前記マスクの否定と前記計画情報の第１の論理積を計算し、前記マスクと前記運行情報の第２の論理積を計算し、前記第１の論理積と前記第２の論理積との論理和を計算する処理と、
を実行するものである、
ことを特徴とする請求項１に記載の計画業務支援システム。
【請求項８】
事象への割当対象となるリソース数に基づく所定数のビット列たる変数を、前記事象の数に応じて所定セット組み合わせ、複数事象に対する複数リソースの各割当状態を前記ビット列で示した計画情報を格納する記憶装置を備えた情報処理システムが、
前記計画情報における所定制約条件への違反事象を、前記各変数のビット列および前記変数間における同一リソースに対応した各ビット、のそれぞれについて、所定値との所定論理演算を行ってリソースの多重割当および未割当として特定し、該当違反事象を解消すべく前記計画情報における該当変数のビット列に関して所定アルゴリズムによる変更を行って解候補を作成し、前記解候補と前記計画情報を置換して前記違反事象の解消および解候補作成の処理を繰り返すことで出力計画情報を生成する、
ことを特徴とする計画業務支援方法。
【請求項９】
前記情報処理システムが、
前記リソースの多重割当および未割当の特定に際し、前記論理演算を累積的に行った場合の累積値の変化傾向に基づいて、違反事象発生の有無および位置を特定する、
ことを特徴とする請求項８に記載の計画業務支援方法。
【請求項１０】
前記情報処理システムが、
前記解候補の作成に際し、
前記違反事象の特定の結果、前記計画情報にリソースの多重割当が含まれていた場合、多重割当となる変数Ａとゼロ値の変数Ｂを置換することにより、値が非ゼロとなるビット数を所定数とした解候補を作成する処理と、
前記違反事象の特定の結果、前記計画情報にリソースの未割当が含まれていた場合、未割当の生じたビット位置を持つ変数Ｃと、前記ビット位置のビット値だけが１となる変数Ｄを置換することで解候補を作成する処理と、
前記変数Ｂおよび変数Ｄの少なくともいずれかと前記計画情報を構成する他の変数との所定の論理演算を行うことで解候補を作成する処理と、
を実行することを特徴とする請求項８に記載の計画業務支援方法。
【請求項１１】
前記情報処理システムが、
前記記憶装置において、前記計画情報の元となった計画情報であって、制約条件違反の無い当初計画情報を更に保持し、
前記当初計画情報と前記解候補との内積値を算定し、該当解候補の第１の評価値を取得する処理と、
前記当初計画情報と前記解候補との排他的論理和のビット値を加算集計して、前記解候補の第２の評価値を取得する処理と、
前記第１の評価値および前記第２の評価値の少なくともいずれかについて、その評価値の順に解候補を列挙した画面データを所定装置に出力する処理と、
を更に実行することを特徴とする請求項８に記載の計画業務支援方法。
【請求項１２】
前記情報処理システムが、
前記記憶装置において、前記計画情報の元となった計画情報であって、制約条件違反の無い当初計画情報を更に保持し、
前記当初計画情報と前記解候補との内積値を算定し、該当解候補の第１の評価値を取得する処理と、
前記当初計画情報と前記解候補との排他的論理和のビット値を加算集計して、前記解候補の第２の評価値を取得する処理と、
前記第１の評価値および前記第２の評価値の少なくともいずれかについて、その評価値の順に解候補を列挙して所定装置に出力する処理と、
前記解候補を評価値に基づいて所定レベル別に分類し、前記レベルごとに前記解候補の数を集計して、前記集計した値が所定値以上である場合に該当レベルの解候補の前記画面データを更新し、これを前記所定装置に出力する処理と、
を更に実行することを特徴とする請求項８に記載の計画業務支援方法。
【請求項１３】
前記情報処理システムが、
前記解候補に関する処理状況を所定装置に出力する処理を更に実行することを特徴とする請求項８に記載の計画業務支援方法。
【請求項１４】
前記情報処理システムが、
前記記憶装置において、前記計画情報として、ｎ人の乗務員、ａ個の列車、ｂ個の駅、ｍ時間単位の時刻情報について、乗務員、列車あるいは駅を示す位置、時間における割当の有無についてブール値で表現するｎ×（ａ＋ｂ）×ｍの３次元以上のビット集合を格納し、
前記計画情報においてｉ番目の列車にｊ番目の乗務員を割り当て、かつ前記列車の出発時刻以前の計画を保存しつつ計画変更する解候補を作成するに際し、
時間範囲ｍの中で前記列車の出発時刻から到着時刻までをビット値１として他を０とする運行情報であって、長さｍの第１のビット集合を作成する処理と、
時間範囲ｍの中で前記列車の出発時刻以前をビット値０として他を１とするマスクであって、長さｍの第２のビット集合を作成する処理と、
前記マスクの否定と前記計画情報の第１の論理積を計算し、前記マスクと前記運行情報の第２の論理積を計算し、前記第１の論理積と前記第２の論理積との論理和を計算する処理と、
を実行することを特徴とする請求項８に記載の計画業務支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計画業務支援システムおよび計画業務支援方法に関する。
【背景技術】
【０００２】
最適化問題は、現実の制約に縛られた問題に対する数理的な解決解を求める上で用いるモデルである。その中でも、解となる変数をブール値で求める０−１整数計画問題は、タスクと作業員の割当関係を決めるような割当計画に適用可能であり、人員計画、商品配送、設備配置などの多くの応用分野を持つ。【０００３】
しかし、実際の問題に応用するには多様な制約条件が加わったり、計算範囲が爆発的に広がったりするなどして、最適化以前に制約充足解を見つけることもむつかしい。例えば、制約条件を満たす解が存在するかどうかを判定する０−１整数計画問題は、多項式時間で解けないＮＰ完全問題の代表例のひとつである。このため、応用分野固有の緩和条件を加えた問題を解く研究や最適解に近い近似解を求めようとする研究が多くなされてきた。整数計画問題の最適解を求める一般的な解法にはシンプレックス法、総当り法などがある。また、最適化手法が適用困難な問題に対して、近似解を求める発見的解法（ヒューリスティクス）も使われる。【０００４】
そうした技術に関連するものとして、以下の技術が提案されている。すなわち、所与の運転整理ダイヤに基づいて当該運転整理ダイヤに対する乗務員の運用行路の候補を生成する行路候補生成手段と、前記生成された運用行路候補それぞれについて当該運用行路候補の選択是非を“１”又は“０”の値で表わす０以上１以下の変数として表わし、前記運転整理ダイヤを構成する全列車の各乗務それぞれについて当該乗務に係る運用行路候補の変数の和が１以上となるように表わした第１のモデル式と、各乗務員それぞれについて当該乗務員の乗務に係る運用行路候補の変数の和が１となるように表わした第２のモデル式とを求め、前記第１及び第２のモデル式が成り立つ前記変数それぞれの値を算出する解算出手段と、前記解算出手段により算出された前記変数の値全てが整数となったときの前記運用行路候補の組合せを暫定運用整理案として取得する暫定運用整理案取得手段と、運用行路候補が当該評価指標に適合するための条件と適合した場合の評価値とが定められた複数の評価指標それぞれの適否を判定して評価値を算出することで運用行路候補を評価する評価処理を、前記生成された運用行路候補について実行する評価手段と、前記暫定運用整理案取得手段により取得された暫定運用整理案の運用行路候補それぞれの前記変数の値と、前記評価手段により算出された当該運用行路候補の評価値との乗算値を積算した値を当該暫定運用整理案に対する総評価値として算出する総評価値算出手段と、前記解算出手段及び前記暫定運用整理案取得手段による処理を繰り返し実行させる繰り返し制御手段と、を備える運用整理案作成装置（特許文献１参照）などが提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４９４５３７０号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来より提案されてきた技術であっても、問題の特性によっては解空間と緩和条件がフィットせず、必ずしも精度の良い近似解や最適解を発見、導出できないケースや、或いはユーザの許容範囲を越えた長大な計算時間を要するケースもある。【０００７】
そこで本発明の目的は、計画問題の解法処理を高速化し、従来よりも精度良好な解を効率良く取得する技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決する本発明の計画業務支援システムは、事象への割当対象となるリソース数に基づく所定数のビット列たる変数を、前記事象の数に応じて所定セット組み合わせ、複数事象に対する複数リソースの各割当状態を前記ビット列で示した計画情報を格納する記憶装置と、前記計画情報における所定制約条件への違反事象を、前記各変数のビット列および前記変数間における同一リソースに対応した各ビット、のそれぞれについて、所定値との所定論理演算を行ってリソースの多重割当および未割当として特定し、該当違反事象を解消すべく前記計画情報における該当変数のビット列に関して所定アルゴリズムによる変更を行って解候補を作成し、前記解候補と前記計画情報を置換して前記違反事象の解消および解候補作成の処理を繰り返すことで出力計画情報を生成する演算装置とを備えることを特徴とする。【０００９】
また、本発明の計画業務支援方法は、事象への割当対象となるリソース数に基づく所定数のビット列たる変数を、前記事象の数に応じて所定セット組み合わせ、複数事象に対する複数リソースの各割当状態を前記ビット列で示した計画情報を格納する記憶装置を備えた情報処理システムが、前記計画情報における所定制約条件への違反事象を、前記各変数のビット列および前記変数間における同一リソースに対応した各ビット、のそれぞれについて、所定値との所定論理演算を行ってリソースの多重割当および未割当として特定し、該当違反事象を解消すべく前記計画情報における該当変数のビット列に関して所定アルゴリズムによる変更を行って解候補を作成し、前記解候補と前記計画情報を置換して前記違反事象の解消および解候補作成の処理を繰り返すことで出力計画情報を生成することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、計画問題の解法処理を高速化し、従来よりも精度良好な解を効率良く取得可能となる。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態の計画業務支援システムを含むネットワーク構成図である。
【図２】第１実施形態における自動提案サブシステムのハードウェア構成例を示す図である。
【図３】第１実施形態のデータサーバのハードウェア構成例を示す図である。
【図４】第１実施形態における計画情報のデータ構造を説明する図である。
【図５】第１実施形態の計画業務支援方法の手順例１を示すフロー図である。
【図６】第１実施形態の計画業務支援方法の手順例２を示すフロー図である。
【図７】第１実施形態における出力画面例１を示す図である。
【図８】第１実施形態における出力画面例２を示す図である。
【図９】第２実施形態における計画情報のデータ構造を説明する図である。
【図１０】第２実施形態における出力画面例を示す図である。
【図１１】第２実施形態における乗務員割当未済を判定する比較テーブルの例を示す図である。
【発明を実施するための形態】
【００１２】
−−−全体構成−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図１は本実施形態の計画業務支援システムたる自動提案サブシステム１０を含むネットワーク構成例を示す図である。図１に示す計画業務支援システム１０は、計画問題の解法処理を高速化し、従来よりも精度良好な解を効率良く取得可能とするコンピュータシステムである。こうした計画業務支援システム１０は、自動提案サブシステム１００およびデータサーバ２００から構成されている。但し以降の説明では、処理を主体的に実行する自動提案サブシステム１００を計画業務支援システム１０の主要構成として説明するものとする。
【００１３】
こうした計画業務支援システム１０はネットワーク２０に接続され、ユーザ端末３００および状況変化連絡機４００とデータ通信可能となっている。なお、データサーバ２００の保持するデータを自動提案サブシステム１００が全て保持し、自動提案サブシステム１００のみで計画業務支援システムを構成するとしてもよい。
【００１４】
なお、上述のユーザ端末３００は、企業等で計画業務を担当するユーザが利用する計算機である。このユーザ端末３００は、自動提案サブシステム１００、データサーバ２００、および状況変化連絡機４００の各通信装置とアクセスし、これらの各機器に対してユーザ指示の通知と処理結果の受信および表示の各処理を行う。
【００１５】
また、状況変化連絡機４００は計算機であり、計画対象となる各種事象やリソースに関して生じた変化を自身のセンサ等で、或いは他の適宜な管理装置等の通知によって感知し、予め定めたプロトコルにて、上述の変化に関する連絡をデータサーバ２００（または自動提案サブシステム１００）に対して実行する。状況変化連絡機４００は計算機であるため、こうした処理に対応した機能をプログラムによって実装する。こうした変化に関する連絡の処理としては、例えば、初期計画に従って人が業務遂行する際にどの人の何のタスクにどのような問題が生じているかについての情報をセンサ、ネットワークを介して受信した場合に、該当情報をデータサーバ２００に送信して状況情報２１６を逐次更新するものが想定出来る。また、変化に関する連絡の他の処理としては、例えば、上述の変化に関する情報によって計画ＤＢ２１８の初期計画２１８０ないし入力計画２１８１の変更を行うことである。これら状況変化連絡機４００の機能は、ユーザによって変化に関する情報入力を受けたユーザ端末３００が同様に担うとしてもよい。
−−−ハードウェア構成−−−
図２は、第１実施形態における自動提案サブシステム１００のハードウェア構成例を示す図である。本実施形態の計画業務支援システム１０を構成する自動提案サブシステム１００のハードウェア構成は以下の如くとなる。自動提案サブシステム１００は、ハードディスクドライブなど適宜な不揮発性記憶素子で構成される記憶装置１０１、ＲＡＭなど揮発性記憶素子で構成されるメモリ１０３、記憶装置１０１に保持されるプログラム１０２をメモリ１０３に読み出すなどして実行しシステム自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なうＣＰＵなどの演算装置１０４、ネットワーク２０と接続し他装置との通信処理を担う通信装置１０５を備える。
【００１６】
なお、上述の演算装置１０４を構成するＣＰＵは、複数ビットを同時に読み出し、演算、格納、出力するレジスタを備え、メモリ１０３内に配置したプログラムモジュールの制御命令に従って処理を行うものである。
【００１７】
図３は、第１実施形態のデータサーバ２００のハードウェア構成例を示す図である。本実施形態の計画業務支援システム１０を、上述の自動提案サブシステム１００と共に構成するデータサーバ２００のハードウェア構成は以下の如くとなる。データサーバ２００は、ハードディスクドライブなど適宜な不揮発性記憶素子で構成される記憶装置２０１、ＲＡＭなど揮発性記憶素子で構成されるメモリ２０３、記憶装置２０１に保持されるプログラム２０２をメモリ２０３に読み出すなどして実行しシステム自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なうＣＰＵなどの演算装置２０４、ネットワーク２０と接続し他装置との通信処理を担う通信装置２０５を備える。
【００１８】
なお、上述の記憶装置２０１には、計算ログ２１５、状況情報２１６、業務モデル２１７、計画ＤＢ２１８、解候補ＤＢ２１９、承認計画２２０、および属性情報２２１のデータが格納されている。これらデータは、予めユーザが作成して保存しておくか、あるいはネットワーク接続された別の機器によって作成されたデータを受け取り保存したものとなる。
【００１９】
このうち計算ログ２１５は、解候補作成における種々の計算過程に関するログであり、自動提案サブシステム１００がデータサーバ２００に格納するものである。
【００２０】
また、状況情報２１６は、状況変化連絡機４００やユーザ端末３００から通知された、事象とリソースの状態に関する情報である。例えば、交通機関における機械やシステムの遅延や故障等の稼働状況や、それらに割り当てられる人員の所在や勤怠状況といった情報が対応する。
【００２１】
また、業務モデル２１７は、上述の状況情報２１６が示す所定状況時に何故どういう計画変更（解候補作成）を行うべきかを定めたルールベースであり、例えば状況の種類別に、計画変更内容、提案理由（解候補作成の理由）、優先順位（解候補の評価順位）等を示すデータの集合となっている。
【００２２】
また、計画ＤＢ２１８のうち、初期計画２１８０は、計画対象の事象に関して所定の制約条件を満たす当初計画である。一方、入力計画２１８１は、状況変化連絡機４００やユーザ端末３００が通知してくる上述の状況情報２１６が示す事象やリソースの状況変化に基づいて、上述の初期計画２１８０の内容、具体的には該当ビット値を変更した計画である。この入力計画２１８１は必ずしも所定の制約条件を満たさないものの、上述の初期計画２１８０にある程度近い内容である。
【００２３】
なお、上述の初期計画２１８０、入力計画２１８１のいずれも、事象への割当対象となるリソース数に基づく所定数のビット列（ワード）たるワード（チャンク）を、上述の事象の数に応じて所定セット組み合わせ、複数事象に対する複数リソースの各割当状態をビット列で示した情報となる。こうした初期計画２１８０、入力計画２１８１の一例を、図４の計画情報として示す。
【００２４】
図４は本実施形態における計画情報のデータ構造を説明する図である。ここで例えば、８人の作業員（リソース）に８個のタスク（事象）を割り振る問題に対する解として計画情報を考える。この場合、ｉ番目の作業者がｊ番目のタスクに割当てられているかどうかをブール値Ｘ（ｉ，ｊ）で示すとき、図４のマトリクス５００のように、そのブール値の集合である計画（Ｘ）は８×８＝６４ビットの情報量となる。
【００２５】
本実施形態では、計画情報５５０に示すように、このうち複数リソースに対応した複数ビット（図４の例では４ビット＝４人の作業員）を１つの変数「ワード」としてまとめ、このワードを２セットまとめて「チャンク」として、このチャンクを上述のタスクの数だけ組み合わせて計画（Ｘ）を取り扱うものとする。つまり図４の計画情報５５０では、リソースの数ｎ＝８、ワードのビット数ｐ＝４、チャンクを構成するワード数ｑ＝２、となっている。なお、上述のワードにおいては４ビットを含む構成例を示したが、例えば６４ビットレジスタを備えた計算機では、ワードにおいて６４ビットを含むとしてもよく、計算機の仕様等に応じて適宜増減してよい。いずれにしても計算機すなわち自動提案サブシステム１００は、こうした構成の計画情報について、その複数ビットの処理を単一の論理演算操作で行うことで、処理の高速化を図ることとなる。
【００２６】
また、解候補ＤＢ２１９における解候補２１９０は、解探索の過程で得られた解候補である。また複数の解候補２１９０のうち、自動提案サブシステム１００からユーザ端末３００に出力され、該当ユーザ端末に提示された解候補２１９０を提案計画２１９１１とする。
【００２７】
また、記憶装置２０１における承認計画２２０は、上述の解候補たる提案計画２１９１をユーザに提示したユーザ端末３００が、該当提案計画２１９１に対する承認指示を受けた場合に、これを受けた自動提案サブシステム１００が該当提案計画２１９１を元に承認計画２２０を作成し、データサーバ２００に格納したものとなる。
【００２８】
また、属性情報２２１は、上述の初期計画２１８０、入力計画２１８１における各ビットについて、対応する事象、リソースの属性を定めた情報である。例えば、或る計画情報を構成するワード配列（図４の場合であれば、８行×２列）のうち所定位置に索引付けられるワードの所定ビット（○○桁目）は、「人員Ａ」の割当有無に対応したビット、といった対応付けとなる。
−−−機能構成−−−
続いて、本実施形態の計画業務支援システム１０における処理を主として実行する自動提案サブシステム１００が備える機能について説明する。上述したように、以下に説明する機能は、例えば自動提案サブシステム１００が、プログラム１０２を実行することで実装される機能と言える。なお、以下に例示する各機能のうち、計画業務支援処理の全般に関するものは自動提案処理部１１０が担い、チャンクのビット列等に対する論理演算に関するものは論理演算処理部１１１が担い、ユーザ端末３００や状況変化連絡機４００との間のデータ入出力に関するものは入出力処理部１１２が担うものとする。
【００２９】
本実施形態における自動提案サブシステム１００は、データサーバ２００の計画ＤＢ２１８における入力計画２１８１における所定制約条件への違反事象を、各チャンクのビット列およびこのチャンク間における同一リソースに対応した各ビット、のそれぞれについて、所定値との所定論理演算を行ってリソースの多重割当および未割当として特定し、該当違反事象を解消すべく入力計画２１８１における該当チャンクのビット列に関して所定アルゴリズムによる変更を行って解候補２１９０を作成し、この解候補２１９０と入力計画２１８１を置換して上述の違反事象の解消および解候補作成の処理を繰り返すことで出力計画情報たる提案計画２１９１、承認計画２２０を生成する機能を備える。
【００３０】
また、自動提案サブシステム１００は、上述のリソースの多重割当および未割当の特定に際し、チャンクのビット列に対する論理演算を累積的に行った場合の累積値の変化傾向に基づいて、違反事象発生の有無および位置を特定する機能も備える。
【００３１】
また、自動提案サブシステム１００は、上述の解候補２１９０の作成に際し、違反事象の特定の結果、入力計画２１８１にリソースの多重割当が含まれていた場合、多重割当となる変数Ａ（チャンク）とゼロ値の変数Ｂ（チャンク）を置換することにより、値が非ゼロとなるビット数を所定数とした解候補２１９０を作成する機能を備える。
【００３２】
また、自動提案サブシステム１００は、上述の違反事象の特定の結果、入力計画２１８１にリソースの未割当が含まれていた場合、未割当の生じたビット位置を持つ変数Ｃ（チャンク）と、前述のビット位置のビット値だけが１となる変数Ｄ（チャンク）を置換することで解候補２１９０を作成する機能を備える。
【００３３】
また、自動提案サブシステム１００は、上述の変数Ｂ（チャンク）および変数Ｄ（チャンク）の少なくともいずれかと入力計画２１８１を構成する他の変数（チャンク）との所定の論理演算を行うことで解候補２１９０を作成する機能を備える。
【００３４】
また、自動提案サブシステム１００は、上述の計画ＤＢ２１８の初期計画２１８０（当初計画）と解候補２１９０との内積値を算定し、該当解候補２１９０の第１の評価値を取得する機能と、上述の初期計画２１８０と解候補２１９０との排他的論理和のビット値を加算集計して、解候補２１９０の第２の評価値を取得する機能と、上述の第１の評価値および第２の評価値の少なくともいずれかについて、その評価値の順に解候補２１９０を列挙した画面データをユーザ端末３００等の所定装置に出力する機能を備える。
【００３５】
また、自動提案サブシステム１００は、解候補２１９０を、上述の第１の評価値および第２の評価値の少なくともいずれかに基づいて、評価値のレベル別に分類し、レベルごとに解候補２１９０の数を集計して、ここで集計した値が所定値以上である場合に該当レベルの解候補２１９０の画面データを更新し、これをユーザ端末３００など所定装置に出力する機能を更に備える。
【００３６】
また、自動提案サブシステム１００は、上述の解候補２１９０に関する処理状況をユーザ端末３００など所定装置に出力する機能も備える。
−−−フロー例−−−
以下、本実施形態における計画業務支援方法の実際手順について図に基づき説明する。以下で説明する計画業務支援方法に対応する各種動作は、計画業務支援システム１０を主として構成する自動提案サブシステム１００がメモリ１０３に読み出して実行するプログラム１０２によって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
【００３７】
図５は、本実施形態における計画業務支援方法の処理手順例１を示すフロー図であり、具体的には自動提案サブシステム１００による処理内容を示すフロー図である。この場合、自動提案サブシステム１００は、ユーザ端末３００からの所定指示を受け付けて（３０１）、詳細は後述する全体解探索処理（３０２）を実行し、複数の全体解（解候補２１９０）を得る。
【００３８】
次に自動提案サブシステム１００は、ステップ３０２によって得た複数の全体解を入力計画２１８１として、これに関して所定制約条件への違反状況を判定し、当該判定で判明した制約違反箇所に関する所定の警報情報をユーザ端末３００に出力する（３０３）。この場合、自動提案サブシステム１００は、更に、そうした複数の警報表示中でのユーザによる警報選択動作をユーザ端末３００を介して受け付ける。この制約違反状況の判定による制約違反箇所の特定等の処理と同様の処理が、上述の全体解探索処理（３０２）にて実行されるため、後述する全体解探索処理の説明で示すものとする。
【００３９】
また、自動提案サブシステム１００は、上述でユーザ選択された警報を解消するパターンを用いた逐次提案作成を行う（３０４）。上述のパターンは業務モデル２１７が保持する情報であり、状況情報２１６が示す所定状況の時、何故どういう計画変更（解候補作成）を行うべきかを定めたルールである。このパターンは状況の種類別に、計画変更内容、提案理由（解候補作成の理由）、優先順位（解候補の評価順位）等を示すデータの集合となっている。
【００４０】
上述のパターンとして、ある警報に基づき、ある計画変更を行った結果が、別の警報に対する計画変更にどのような影響があるかを必ずしも考えないような局所的パターンを多種多様な業務に適応させて複数個作成することは容易である。ここで得られる逐次提案は、ユーザに注目された警報を解決する複数の案であり、計画変更内容と提案理由等の情報となる。パターンと制約条件は、状況変化連絡機４００からの制御入力を得たものとして良い。自動提案サブシステム１００は、こうした一連の計算過程は計算ログ２１５としてデータサーバ２００上に逐次保存する。
【００４１】
続いて自動提案サブシステム１００は、上述のステップ３０４で生成した逐次提案内容と上述のステップ３０２で得た全体解との整合を取る（３０５）。複数の全体解の一部には逐次提案内容が解候補の一部として含まれており、自動提案サブシステム１００は、逐次提案内容がどの全体解に含まれているかを判定し、逐次提案情報を更新する。例えば、複数目的のうちの１つの目的に特化したパレート最適解に含まれた逐次提案の提案理由情報には、パレート最適解に至る提案という文字列情報を付記する。
【００４２】
次に自動提案サブシステム１００は、入力計画２１８１と共に逐次提案内容を、ユーザ端末３００に出力する（３０６）。
【００４３】
続いて自動提案サブシステム１００は、ユーザの提案選択をユーザ端末３００より受け付けて（３０７）、その時点で所定の終了条件（例：ユーザ端末からの指示、警報の残有無など）を満たさない場合（３０８：ｎ）、上述の入力計画２１８１に逐次提案選択結果を反映させて更新し（３０９）、処理をステップ３０３に戻す。つまり自動提案サブシステム１００は、入力計画２１８１の一部を変更した結果である解候補を、入力計画２１８１と入れ替えて、ステップ３０３以降の処理を繰り返すことになる。
【００４４】
ステップ３０９の段階では、上述のステップ３０３でユーザが注目した警報に関わる制約条件は満たされているため、他の警報は残っている可能性はあるが、ステップ３０３でユーザが注目した警報は解消されている。すなわち、上述の繰り返しの処理（ステップ３０３〜ステップ３０８：ｎ〜ステップ３０９〜ステップ３０３）によって、自動提案サブシステム１００は、ユーザとの対話的にすべての警報を逐次的に解消していくことができる。その際、自動提案サブシステム１００は、計画変更理由について、ユーザ端末３００を介してユーザに逐次提示し、ユーザの判断動作を支援することができる。
【００４５】
続いて、上述の全体解探索処理（３０２）の詳細について説明する。図６は、第１実施形態の計画業務支援方法の手順例２を示すフロー図であり、具体的には図５のフローにおけるステップ３０２の全体解探索処理の処理内容を説明するフロー図である。
【００４６】
この場合、自動提案サブシステム１００は、データサーバ２００の計画ＤＢ２１８から入力計画２１８１を解候補Ａとして読み込む（４０１）。この入力計画２１８１は、状況変化連絡機４００やユーザ端末３００からの入力に応じて初期計画２１８０の一部が変更された計画情報である。つまり、制約違反を含む可能性がある計画に該当する。
【００４７】
次に自動提案サブシステム１００は、上述の入力計画２１８１すなわち解候補Ａが示す、所定事象およびその割当リソースについての情報として、例えば交通機関の運行予定、拠点や交通機械の稼働状況、それらに配置された人員等に関する各種データを、データサーバ２００の状況情報２１６から取得し、ここで得た情報について、所定条件（例：ある拠点Ａで交通機関Ｂに乗務した乗員が翌日の他拠点Ｃの交通機関Ｄの乗務予定に間に合うよう、拠点間の交通機関運行に応じた人員移動が実行されなければならない等）の違反有無について所定アルゴリズムにて分析する（４０２）。
【００４８】
続いて自動提案サブシステム１００は、上述のステップ４０２での分析結果に基づいて、解候補Ａが所定条件を満たしているか判定する（４０３）。この判定の結果、解候補Ａが制約未充足の場合（４０３：制約違反）、自動提案サブシステム１００は、この解候補Ａを実行可能解として、入力計画たる解候補Ａにおけるチャンクでの制約違反箇所特定等の所定評価（後述）を行う（４０４）。
【００４９】
また、自動提案サブシステム１００は、上述のステップ４０４で解候補Ａに関して特定した制約違反箇所の中から、ワードやチャンクの配列中での先頭順など所定基準で抽出した制約違反事象に関して、該当制約違反を解消するよう計画変更案Ａ（解候補Ａの変更箇所を示す部分情報と言える）を作成する（４０５）。この計画変更案Ａの作成は、図５のフローにおけるステップ３０４で既に述べたパターンを用いた処理を採用してもよいし、例えば、上述の交通機関の人員所在リストをデータサーバ２００の状況情報２１６から取得し、この情報に基づいて制約違反を解消するために割り当てる人員を移動手段に関わらず選択、割当するといった、状況情報２１６などの各種情報に基づき全ての可能性を網羅的に探索して生成するとしてもよい。こうした計画変更案Ａは複数作成されうる。また、自動提案サブシステム１００は、このステップ４０５で作成した計画変更案Ａ（解候補Ａに計画変更案Ａを反映させたものが新たな解候補）をメモリ１０３内の探索リストに格納するものとする。
【００５０】
他方、上述のステップ４０３の判定の結果、解候補Ａが所定条件を満たしており、すなわち制約充足していた場合（４０３：制約充足）、自動提案サブシステム１００は、この解候補Ａを制約充足解とし、解候補Ａが制約充足している旨、および、解としての良好度を初期計画２１８０との近似性に基づいて評価（後述）し（４０６）、その結果を上述のメモリ１０３内の探索リスト、計算ログ２１５、およびユーザ端末３００に出力する。また、自動提案サブシステム１００は、上述の制約充足解をデータサーバ２００の解候補ＤＢ２１９における解候補として格納する。
【００５１】
続いて自動提案サブシステム１００は、探索順序制御を行う（４０７）。この場合、自動提案サブシステム１００は、上述の探索リストに格納された複数の計画変更案のうち、次に計算対象とする計画変更案Ｂを定める。このように探索リストから計画変更案を抽出する順序については、深さ優先探索を計画解法の基本方針としてユーザが定めている場合には制約違反数の多い順、或いは幅優先探索を計画解法の基本方針としてユーザが定めている場合には、解空間において解がより浅い場所にあると推定される順に、といった既存の探索戦略に応じて決定するアルゴリズムを採用すればよい。その他にも、可能性の薄い探索方向を探索リストから早めに除外するいわゆる枝刈りの手法を採用するとしてもよい。
【００５２】
次に自動提案サブシステム１００は、上述のステップ４０５を経た実行可能解である解候補Ａに、ステップ４０７で定めた計画変更案Ａを適用することによって解候補Ｂを作成する（４０８）。この処理により、例えば計画変更案Ａを適用することによって解候補Ａから変更された或る人員の割当は、元の状態から状態が遷移したこととなる。また、別の計画変更案Ｃを解候補Ａに適用することによって得られる解候補Ｃとは別の状態に遷移したこととなる。探索は、このような状態遷移の繰り返しによって行う。探索空間を解候補が木構造に並ぶ構造ととらえる場合、制約充足解は複数ある末端ノードとなり制約充足解から先を探索しない。実行可能解は中間ノードとなって、次の状態遷移を行う候補となる。
【００５３】
また、自動提案サブシステム１００は、上述までの各ステップに関する計算過程、計算状況を計算ログ２１５、およびユーザ端末３００に出力する（４０９）。
【００５４】
次に自動提案サブシステム１００は、ユーザ端末３００におけるユーザ操作、所定時刻の到来を検知するタイマ出力、所定センサ等の入力値といった所定情報を予め定めた終了条件と比較して、当該フローの終了判定を行う（４１０）。この判定の結果、当該フローを終了しない場合（４１０：ｎ）、自動提案サブシステム１００は、上述の解候補Ｂと解候補Ａを入れ替えて、ステップ４０２以降の処理を繰り返す。
【００５５】
他方、上述の判定の結果、当該フローを終了するとなった場合（４１０：ｙ）、自動提案サブシステム１００は、上述までで得ている複数の解候補（制約充足解、提案計画を含む）について、後述する目的関数を用いて評価し、その評価結果を該当解候補と対応付けて提案計画の情報としてユーザ端末３００に出力し（４１１）、処理を終了する。この場合、自動提案サブシステム１００は、上述の解候補それぞれの評価値を、所定レベルごとに分類し、各レベルごとの最大評価値、最小評価値、および平均値等の値を計算し、この計算結果を提案計画の属性情報２２１としてデータサーバ２００の記憶装置２０１に保存する。上述の提案計画には、制約条件を全て満たすものの目的関数が最大値とならない全体制約充足解、目的関数のいずれかが最大値となるパレート最適解などがある。自動提案サブシステム１００は、これら解候補の中から所定の評価項目を満たすものを提案計画としてユーザ端末３００に出力するとすれば好適である。
【００５６】
ここで、上述のステップ４０２〜４０８等の処理に伴って、ステップ４０９で自動提案サブシステム１００からユーザ端末３００に出力される解探索状況のモニタリング画面５０１について図７に基づき説明する。図７に示すモニタリング画面５０１は、それまでの処理で発見した解候補と制約充足解の数、解空間を探索する幅と深さあるいは時間を表示する情報表示欄５０１１と、解空間における解の多様性（後述する数３７の値）を縦軸、時間（ステップ４０４、４０６の実行回数）を横軸とする進捗状況マトリクス５０１２と、探索中断とその時点での結果表示をユーザから受け付けるボタン５０１３、およびキャンセルボタン５０１４が含まれる。このうち、上述のボタン５０１３がユーザ端末３００にてクリックされた場合、これを受けた自動提案サブシステム１００は、上述のフローにおけるステップ４１０の終了条件を満たすと判定することになる。
【００５７】
上述の画面５０１における表示要素のうち、進捗状況マトリクス５０１２において、自動提案サブシステム１００は、探索が済んだ場所は例えば黒く着色し、今後の探索予定は白く着色して表示する。探索進行に伴って、上述の黒色領域は原則的に画面左上から右下に向けて増加していく。ただし解空間には解が偏在するため、必ずしも原則通りに着色されないこともある。
【００５８】
また、進捗状況マトリクス５０１２における解の多様性の尺度は、解評価のための目的関数の出力値を用いる。この場合の目的関数は、初期計画２１８０に近い解をよい解と定め、解候補と最初の時点での入力計画２１８１との類似度を用いる。あるいは計画変更の総数を２種類の解の距離と定義してもよい。また、例えばリソースたる人員の勤務時間合計や残業時間合計などを示す別関数を多様性の尺度としてもよい。自動提案サブシステム１００は、上述の目的関数の評価値を５レベルに量子化し、進捗状況マトリクス５０１２における解の多様性を示す縦軸を、その５レベルに応じた５マスに分けて構成し表示している。
【００５９】
なお、自動提案サブシステム１００は、上述のフローにおけるステップ４０９において、得られている解候補の数の合計値を評価値のレベルごとに逐次集計し、あるレベルで前述の合計値が所定基準値を超えると、上述の画面５０１において、当該レベルで時間軸の右方向に１つ進んだマスを黒色に塗りつぶす処理を行うものとする。
【００６０】
図６のフローで示した近傍探索法では、入力計画２１８１を起点として近傍の制約充足解を探すため、探索を中断した場合においても、ある程度入力計画２１８１に近い解が得られる。また、本実施形態では省メモリなデータ構造で情報管理を行うため、探索リストに割り当てたメモリに多くの解候補を格納できる。従って、探索リストから計画を抽出する際にＦＩＦＯ順に解評価を行う（幅優先探索）と、処理中断時に得られた解集合には、入力計画２１８１の近くで幅広い解の多様性が期待できる。入力計画２１８１と大幅に異なる解候補は、ユーザが想像もしない、あるいは、見落としがちな意外な解決方法を提供しうる。
【００６１】
また図７で、上述のステップ４１１により自動提案サブシステム１００からユーザ端末３００に出力された画面５０２の例を示す。ここで示す画面５０２は、解の評価結果を一覧表示する画面となる。自動提案サブシステム１００は、上述のステップ４１１において、複数の解候補を複数の目的関数を用いて評価し、それぞれの評価値をキーとするソートを行って出力する。ここで、ある評価値が最大値となる解候補はパレート最適解であり、比較検討する上で目立つよう、自動提案サブシステム１００は、画面５０２上の矩形５０２１で囲む形で強調表示処理をする。
−−−各ステップのアルゴリズム詳細−−−
ここで、上述のフローにおける各ステップで用いるアルゴリズムの詳細について、必要な数式も含め、より具体的に説明する。
＜説明に使用する主な変数の定義＞
まず、以下の数１〜数８を用いて、説明に使用する主な変数の定義について示す。例えば、ｎ人の作業者とｎ個のタスクがあるとき、ｉ番目の作業者をｊ番目のタスクに割当てる計画を考える。下記の数１に示すように、計画をブール値集合である行列Ｘ（ｉ，ｊ）によって表し、計算によって求める解とする。
2016203531.tif 000003
【００６２】
・・・・・・・数１
このＸ（ｉ，ｊ）の要素値について、ゼロであれば割当てがなく、１のときに割当てがある。この構成は図４のマトリクス５００に対応する。こうしたＸ（ｉ，ｊ）の取りうる組合せは２＾（ｎ×ｎ）種類あり、その集合は解空間と呼ばれる空間を構成する。計算によって解空間中から所定の制約条件を満たし妥当な解を探す処理を探索と呼ぶ。
【００６３】
また、下記の数２に示すように、計画には、どのタスクにもひとりの作業者が割り当てられるという制約条件がある。
2016203531.tif 000004
【００６４】
・・・・・・・数２
さらに、下記の数３に示すように、どの作業者にもひとつのタスクが割り当てられるという制約条件がある。
2016203531.tif 000005
【００６５】
・・・・・・・数３
また、数４に示すように、ｉ番目の作業者がｊ番目のタスクを担うコストが定義できる場合には、変数アルファα（ｉ，ｊ）を用いて目的関数ｆ（）を表すことができる。このとき、目的関数ｆ（）を最小化する計画はコスト最小となる最適解である。コストの代わりにパフォーマンス等の別の指標を用いても同様に表現できる。
2016203531.tif 000006
【００６６】
・・・・・・・数４
このような目的関数ｆ（）を簡単な形で一意に定義できない場合には数理的な最適解が存在せず、既存の最適化手法を適用できない。あるいは、定義できても、制約条件が複雑な問題や大規模な問題などでは、実用時間内に最適解を求めにくいことも多い。本実施形態で用いる近傍探索法は、初期値を起点として初期値に近い解を探索する発見的手法であり、最適解に近い解を探す方法のひとつである。なお、他の近似解求解方法にも本発明を適用可能である。
【００６７】
また、数５に示すように、自動提案サブシステム１００におけるレジスタが一度に扱うビット数（ｐ）のビット集合を備える変数をワード（Ｗ）と呼ぶ。ｑ個のワード集合（ｐ＊ｑ＝ｎ）をチャンク（Ｃ）と呼ぶ。計画（Ｘ）はｎ個のチャンク集合である。この構成は図４における計画情報５５０に対応する。
【００６８】
2016203531.tif 000007
【００６９】
・・・・・・・数５
さらに、数６に定義を示すように、制約条件を一部充足しないかもしれない入力計画（Ａ）を起点として、この入力計画に近い解候補（Ｘ’）であって、制約条件を満たす解となる提案計画を自動提案サブシステム１００は探索する。入力計画は制約充足解にある程度近い前提とする。例えば、制約条件を満たした初期計画２１８０の一部を、現在の状況に応じて一部変更したものが入力計画である。
2016203531.tif 000008
【００７０】
・・・・・・・数６
ここでは、上述のワード、チャンクに対する論理演算やビット操作を行う関数を用いる（ＸＯＲ，ＡＮＤ，ＯＲ、ＳＨＩＦＴなど）ものとする。さらに、数７に示すように、ワード、チャンクのビット集合を１つの多値変数値として解釈する関数をＶａｌ（ｗ）、Ｖａｌ（ｈ）と記述する。比較演算の説明のために定義する関数であるが、チャンク変数は極めて大きな値を取りうるため、これを必ずしも直接的に数値化する実装でなくてもよい。以降で説明する処理手順と技術的に等価であって、数値化せずにチャンク同士の大小比較判定や論理演算等を行うアルゴリズム実装は容易である。
2016203531.tif 000009
【００７１】
・・・・・・・数７
また解探索において、自動提案サブシステム１００は、制約条件を満たさない入力計画において、制約未充足箇所を特定した後に、入力計画近傍にある解候補を探索する。局所的に制約を充足している既存の割当をなるべく変更しない。さらに、数８に示すように、自動提案サブシステム１００は、変更を行った記録を管理するリソース管理リストａｈ、ｂｈを用いて、連鎖的な変更によって同じ解候補を何度も探索しないように探索方向を制御する。このリソース管理リストにおいて、あるビット値がゼロであれば、対応するリソースはまだ変更前であることを意味し、ビット値１であれば変更済みを意味する。リソース管理リストは、解候補Ｘ’についての属性情報である。自動提案サブシステム１００は、このリソース管理リストを、データサーバ２００上の解候補１１６および属性情報２２１において保存、更新する。
2016203531.tif 000010
【００７２】
・・・・・・・数８
＜近傍探索法の処理フロー＞
次に本実施形態における近傍探索法（図６のフロー）の更なる詳細説明を以下に示す。この場合、自動提案サブシステム１００は、ステップ４０１に対応したステップＳＡにおいて、入力計画を解候補Ｘの初期値として探索リストに格納する。
【００７３】
次に自動提案サブシステム１００は、ステップ４０２およびステップ４０３に対応したステップＳＢにおいて、上述の探索リストから解候補Ｘを抽出して、制約条件を充足するかどうか判定する。
【００７４】
続いて自動提案サブシステム１００は、ステップ４０４およびステップ４０５に対応したステップＳＣにおいて、上述の判定の結果、解候補Ｘが制約条件を充足しない場合、局所的に問題を解決する別の解候補Ｘ’を作成する（多重割当の解消、未割当の解消）。
【００７５】
また自動提案サブシステム１００は、ステップ４０６に対応したステップＳＤにおいて、上述の判定の結果、解候補Ｘが制約条件を充足する場合、その解候補Ｘの評価を行う。
【００７６】
次に自動提案サブシステム１００は、ステップ４０７〜４１０に対応したステップＳＥにおいて、終了条件に関して判定し、フローを終了しない場合は上述のステップＳＢに処理を戻す。他方、フローを終了する場合、自動提案サブシステム１００は、これまでの計算結果をユーザ端末３００に出力する（ステップ４１１）。上述の終了条件にはユーザ操作による中断を含む。
【００７７】
＜ステップＳＢ：制約条件の確認方法＞
ここで上述のステップＳＢについてその詳細を示す。計画が制約未充足となる状況には、多重割当と未割当があり、さらに、それぞれの状況にはチャンク内の場合と複数チャンク間の場合がある。これらの組合せとして下記の４通りの制約未充足状況がある。例えば、チャンク内の多重割当とは、そのチャンクにおいて複数のビット値が１となっている状態をいう。また、チャンク間の多重割当とは、複数のチャンクにおいて特定のビット位置のビット値が１となっている状態をいう。
・チャンク内の多重割当
・チャンク内の未割当
・チャンク間の多重割当
・チャンク間の未割当
自動提案サブシステム１００は、制約条件の評価においては、計画を構成するビット値の多くがゼロ値であることを利用してワードやチャンク単位で処理を行う。まず、数９に示すように、チャンクにおけるｑ個のワード集合について、ｑ回ゼロ値と比較した後に、非ゼロのワード要素がひとつだけであって、かつ、その構成ビット値の総和が１となれば、そのチャンク内に多重割当と未割当はないと判定する。
2016203531.tif 000011
【００７８】
・・・・・・・数９
次に自動提案サブシステム１００は、複数チャンク間での関係を調べる。この場合、上述の数９を用いてチャンク内に多重割当も未割当もないことを予め調べたチャンクを前提とする。自動提案サブシステム１００は、下記の数１０に示すように、チャンクの排他的論理和を累積的に計算していく。もし、計画が制約条件を満たしていれば、任意の複数チャンク間でビット値が１となるビット位置が衝突しない。また、２つの変数の排他的論理和を計算すると、ビット値が異なる位置のみ値が１となる。結果として、排他的論理和の累積値をＶａｌ関数で数値化すると単調増加する。そこで自動提案サブシステム１００は、この特徴量を利用して、チャンク単位で複数チャンク間での多重割当と未割当の問題の有無、位置を同時に判定する。
2016203531.tif 000012
【００７９】
・・・・・・・数１０
＜ステップＳＣ：解の探索方法、チャンク内の多重割当の解消＞
次に上述のステップＳＣについてその詳細を示す。多重割当には、チャンク内での多重割当とチャンク間での多重割当がある。このうちチャンク内の多重割当は、あるチャンクにおいてビット値が１となるビットが複数存在する状態をいう。一方、チャンク間の多重割当は、あるチャンクにおいてビット値が１となるビット位置において、別のチャンクの同じ位置にあるビット値が１となる状態をいう。
【００８０】
そこでまず、自動提案サブシステム１００は、チャンク内での多重割当の解消を行う。この時、自動提案サブシステム１００は、数１１に示すように、ｓ番目のチャンク内にワードの値が非ゼロとなるワードが何個あるかを調べる多重割当第１判定を行う。この判定の結果、ワードの値が非ゼロとなるワードをｘｍａｘ個発見した場合、自動提案サブシステム１００は、該当チャンク内における非ゼロのワードの位置を示す索引の集合情報を一時変数ｕに格納する。
2016203531.tif 000013
【００８１】
・・・・・・・数１１
集合ｕのｘ番目に索引付けられる非ゼロのワードをｗ（ｕ，ｘ）と示す。数１２に示すように、非ゼロのワードが複数ある場合、自動提案サブシステム１００は、そのいずれかひとつを残すチャンク変更案ｃ’を複数作成する。
2016203531.tif 000014
【００８２】
・・・・・・・数１２
さらに自動提案サブシステム１００は、チャンク変更案（あるいは多重割当第１判定を合格したチャンク）において、数１３に示すように、上述のｗ（ｕ，ｘ）に対して、さらにビット値１となるビット数を調べる多重割当第２判定を実行する。
2016203531.tif 000015
【００８３】
・・・・・・・数１３
この数１３の判定において、非ゼロのワードｗ（ｕ，ｘ）にビット値１となるビットが複数個含まれて制約未充足の場合、自動提案サブシステム１００は、そのいずれかひとつを残すようワード変更案ｗ’を作成する。非ゼロのワード内でビット値１の位置を示す索引の集合をｖとする。さらに、位置（ｖ、ｙ）のビット値だけを１とする関数ＳＨＩＦＴ（）を用いる。このとき、ｗ（ｕ，ｘ）内のビット位置（ｖ，ｙ）にあるビット値１を残したワード変更案ｗ’（ｕ，ｘ）（ｖ，ｙ）は数１４により得られる。
2016203531.tif 000016
【００８４】
・・・・・・・数１４
以降ではｕ，ｖの表記を略して、ｘ番目のワードでｙ番目のビットの位置をビット位置（ｘ、ｙ）と記す。自動提案サブシステム１００は、数１５に示すように、ｗ’を入力計画の対応するワードと差し替えることによって、チャンク変更案ｈ（ｘ，ｙ）を得る。
2016203531.tif 000017
【００８５】
・・・・・・・数１５
上述の多重割当第１判定、多重割当第２判定いずれかあるいは両方で制約未充足と判定される場合、自動提案サブシステム１００は、複数のチャンク変更案ｈ（ｘ，ｙ）を生成する。それらの組み合わせが提案計画の構成要素となる。そのとき、チャンク変更案ｈ（ｘ，ｙ）でのビット値が１となるビット位置において、他のチャンクに既存の割当計画があった場合には、多重割当の制約違反となる。そこで自動提案サブシステム１００は、数１６に示すように、チャンクｈ（ｘ，ｙ）の否定と他のチャンクとの論理積を計算することによって、組み合わせに伴って他のチャンクにおける既存の割当を解除したチャンク集合を作成する。これを解候補Ｘ’と呼ぶ。この解候補Ｘ’は、チャンク内の多重割当解消に伴って複数個作成される。さらに自動提案サブシステム１００は、入力計画の中に多重割当を含むチャンクが複数あれば、その組み合わせとして解候補Ｘ’を作成する。解候補Ｘ’の数は、チャンク内にあるビット１の数に基づく。解候補Ｘ’においてチャンク内の多重割当は解消されている。
2016203531.tif 000018
【００８６】
・・・・・・・数１６
＜ステップＳＣ：解の探索方法、チャンク間の多重割当の解消＞
つぎに自動提案サブシステム１００は、複数チャンク間での多重割当を解消する。数１０で示したように、チャンク間での多重割当がある場合、累積的にチャンクの排他的論理和を計算していくと、同じビット位置で２回目の１が見つかった箇所で排他的論理和の累積値が減る。数１０を用いて問題を検知したチャンクをｆｏｕｎｄ番目とする。ここでの自動提案サブシステム１００は、数１７に示すように、逆順に排他的論理和の累積値を調べることによって、ｆｏｕｎｄ番目のチャンクと衝突を起こしたｌｏｓｔ番目のチャンクを見つけることができる。ここまでの処理において、チャンク内の多重割当が解消された後なので、衝突が起きた場合、２つのチャンクは同じ値である。
2016203531.tif 000019
【００８７】
・・・・・・・数１７
ここで自動提案サブシステム１００は、数１８に示すように、ｆｏｕｎｄ番目のチャンクとｌｏｓｔ番目のチャンクのどちらかをゼロとするチャンク修正案を作成する。このチャンク修正案は複数個生じうる。また、解候補Ｘ”は、チャンク修正案を入力計画に反映させた解候補である。この解候補Ｘ”は、チャンク間の多重割当解消に伴って複数個作成されうる。解候補Ｘ”の数は、同一位置にある衝突ビットの数に基づく。数１８の処理によって、解候補Ｘ”においてチャンク内およびチャンク間の多重割当は解消される。すなわち、以降では、解候補Ｘ”におけるチャンク内およびチャンク間の未割当の問題に集約される。
【００８８】
なお、解候補Ｘ’をベースとして解候補Ｘ”を作成する場合、探索対象となる提案計画の数は、解候補Ｘ’の数ｍｈ’と解候補Ｘ”の数ｍｈ”の算術積（ｍｈ’＊ｍｈ”）が最大値となる。チャンク内の多重割当となったビット位置が、同時にチャンク間の多重割当にも該当する場合に、提案計画の数は算術積未満となる。
2016203531.tif 000020
【００８９】
・・・・・・・数１８
＜ステップＳＣ：解の探索方法、未割当リソース同士の割当＞
多重割当がないと判定された入力計画（あるいは、多重割当を解消した解候補も以下では入力計画と呼ぶ）には未割当のチャンクが含まれうる。この場合、自動提案サブシステム１００は、数１９に示すように、あるチャンクの値がゼロの場合、当該チャンクに割当がないと判定する。
【００９０】
2016203531.tif 000021
【００９１】
・・・・・・・数１９
ここで自動提案サブシステム１００は、数２０に示すように、累積的に複数チャンクの論理和を計算していくと、複数チャンク間で未割当となるビット位置では、論理和で対応するビット値がゼロとなる結果が得られる。このことは、論理和累積値の否定がゼロとならない場合、計画に未割当があって、非ゼロのビット位置が未割当と判定することと等価である。数２のような複数ビットの総和計算と異なり、論理和の操作は変数単位で並列に処理するので処理が高速である。
2016203531.tif 000022
【００９２】
・・・・・・・数２０
多重割当のない計画において未割当チャンクがｍ個あるとき、チャンク間未割当の数（全チャンクで特定のビット位置が未割当となるようなビット位置の数）は原理上ｍ個である。入力計画を探査の起点とするヒューリスティックスでは、未割当となるｍ人とｍタスクを抜粋した計画問題の範囲に解空間をまず限定して全件探索する。入力計画が制約充足解に近い前提において、ｍ＜＜ｎが成り立つ。このため、抜粋した計画問題の制約充足解の総数ｍ！（ｍの階乗）は、元の計画問題の制約充足解の総数ｎ！よりも十分小さい。
【００９３】
なお、解探索の効率について補足説明する。数１に示す問題では解空間全体に２＾（ｎ＊ｎ）個の解候補があって実行不可能解が大半を占める。総当り方式は、実行可能な制約充足解だけを機械的なインデックス順に体系的に総当たりヒューリスティックスを用いることによって、ｎ！個の制約充足解を拾い出す方法をいう。この総当り方式では、大きなｎでの計算量は極めて多く、実用時間内にすべての制約充足解を抽出できないことも多い。さらに、もし探索を中断した場合に、総当り方式では解空間で偏った場所しか調べられていない結果（例えば、特定の人の割当が固定的など）が出てしまい、入力計画と大きく乖離した結果しか得られない状況になりやすい問題があった。一方、本実施形態の近傍探索方式は実用的に高速であると共に、途中で処理を中断した場合においても、入力計画の近傍である程度妥当な解を得る具体的な方法を示している。
【００９４】
＜ステップＳＣ：解の探索方法、未割当解消を起点とする広域探索＞
上述の近傍探索法はヒューリスティクス解法のひとつであり、近傍から少し離れたところのよりよい解を見落とすことがある。メタヒューリスティクスは、ヒューリスティクス解法が局所最適解の発見に満足して終わることのないようにする工夫をいう。近傍探索法の場合、状況を改善しない解候補を確率的に探索範囲に含める方法や複数の探索開始位置を用いる方法などが使える。実際、上述した未割当リソース同士の割当によって得られる解候補には、入力計画における既存の割当を別のリソースに割当て変える解候補が含まれない。しかし、実用的な計画業務では既存の割当を解除する場面が少なからず生じる。そこで、多重割当がなく未割当がある入力計画において、未割当を起点として実行可能な組合せを探す広域探索メタヒューリスティクスを加える。特に、ある場所の未割当を解消するために既存の別の割当を解除することを含む。
【００９５】
ここで、チャンク内の未割当を解消する方法について説明する。ｚ番目のチャンクがチャンク内未割当であって、かつ、リソース管理リストｂｈで未探索の場合、自動提案サブシステム１００は、数２１に示すように、部分集合として位置（ｘ，ｙ）にビット値１を設定した変更ワードｗ（ｘ，ｙ）を作成する。
2016203531.tif 000023
【００９６】
・・・・・・・数２１
さらに自動提案サブシステム１００は、リソース管理リストａｈにおけるｘ番目のワードａｗ（ｘ）と、変更ワードｗ（ｘ，ｙ）の排他的論理和の値を調べる。リソース管理リストでゼロだったビット位置に変更ワードのビット値１が当たると、排他的論理和の値はリストの値よりも大きくなる。ここで自動提案サブシステム１００は、数２２に示すように、この識別方法によって変更するビット位置（ｘ，ｙ）の候補を絞り込むと共に、変更した位置については論理和を用いてリソース管理リストを更新する。
2016203531.tif 000024
【００９７】
・・・・・・・数２２
さらに自動提案サブシステム１００は、数２３に示すように、入力計画でのｚ番目の未割当チャンク、ｘ番目のワード、ｙ番目のビット位置だけにビット値１を設定した配列としてチャンク修正案ｈ（ｘ，ｙ，ｚ）を作成する。
2016203531.tif 000025
【００９８】
・・・・・・・数２３
次に自動提案サブシステム１００は、数２４に示すように、チャンク修正案ｈ（ｘ，ｙ，ｚ）の否定との論理積を作成して、解候補Ｘ’を作成する。この論理積によって既存の割当が解消されるため、未割当の解消に起因する新たな多重割当は生じない。ただし、未割当の解消に起因する新たなチャンク内未割当は生じうる。これに対処するため、自動提案サブシステム１００は、当該位置ｚのビット値を１にするようリソース管理リストｂｈを更新する。
【００９９】
2016203531.tif 000026
【０１００】
・・・・・・・数２４
つぎに、解候補において、チャンク間の未割当を解消する方法について説明する。解候補Ｘ’にチャンク内未割当がある場合、チャンク内の未割当を解消する方法を繰り返し適用することによって、別の解候補を探すことができる。ここで自動提案サブシステム１００は、ｚ番目のチャンクが入れ替え可能かどうかはリソース管理リストｂｈを用いて判定する。数２５に示すように、複数チャンク間で未割当が生じているビット位置を（ｘ，ｙ）とすると、自動提案サブシステム１００は、当該位置でのみビット値１を持つチャンク変更案を作成する。さらに自動提案サブシステム１００は、既存のチャンクと入れ替えた解候補を作成する。
2016203531.tif 000027
【０１０１】
・・・・・・・数２５
チャンク内未割当の解消方法で用いた論理積操作と同様に、この入れ替え操作は既存の割当を考慮しないため、既存の割当があったビット位置には、新たにチャンク間の未割当を生成しうる。その場合、チャンク間の未割当を含む解候補となる。自動提案サブシステム１００は、リソース管理リストａｈ、ｂｈの制約下でチャンク間の未割当を解消する方法を繰り返し適用することによって、次々と解候補を探すことができる。
【０１０２】
或る解候補に多重割当がなく、かつチャンク内の未割当がすべて解消された場合、チャンク間の関係を調べなくとも、その解候補は制約充足解である。同様に、或る解候補に多重割当がなく、かつチャンク間の未割当がすべて解消された場合、その解候補は制約充足解である。自動提案サブシステム１００は、いずれのアプローチによってでも解候補を次々調べて繰り返し探索してゆくことによって、すべての制約充足解を探索できる。リソース管理リストが解候補に付随して探索範囲の抑制に寄与するため、チャンク内の未割当解消とチャンク間の未割当解消という２つのアプローチを併用しても同じ解を重複探索しない。すなわち、可能な組合せを探索しつつ必ず収束する。
【０１０３】
以上の処理によって、自動提案サブシステム１００は、初期の入力計画を起点として制約充足解を全件探索できる。複数の制約充足解同士の比較評価においては、数４の計算式を用いて最適解を比較抽出してもよい。
＜基本計算式通りに実装する基本実装方式と比べた計算量の効果＞
次に、割当計画問題を解く既存解法と比べて本実施形態における解法が計算量に関して優れる効果について説明する。本実施形態におけるビット集合を用いた論理演算に基づく処理方法では、論理演算が複数ビット情報の並列処理に相当し、処理が高速である。
【０１０４】
ここではまず、制約条件の評価方法の計算回数についての効果を説明する。比較として数２および数３の計算式通りに実装する基本実装方式の計算量についてはじめに考える。制約条件を充足するｎ＊ｎ行列の解候補Ｘに対して、基本実装方式では、縦横２方向で（２×ｎ×ｎ）回の加算演算を行い、２ｎ個の総和値について１との比較演算を２ｎ回行って問題の有無を判定する。
【０１０５】
一方、本実施形態の方式では、ある程度制約を満たす計画Ｘにゼロ値が多いことを利用して、チャンク内の処理（水平方向）では、ｐビット（ｐ×ｑ＝ｎ）のワードを用いて、ｎ×（ｐ＋ｑ）回の論理演算を行う。ゼロ値との比較回数は（ｑ＋１）回である。また、チャンク間の処理（垂直方向）では、ビット値の変化に反応する排他的論理和の特徴を利用することにより、累積的にｎ回のチャンク論理演算（実装上はｎ×ｑ回のワード論理演算）を行う。排他的論理和の累積値との比較回数はｎ回である。すなわち、２つの制約条件に関わる合計計算回数は（ｎ×（ｐ＋２ｑ））回、合計比較回数は（ｎ＋ｑ＋１）回となる。
【０１０６】
ｐ×ｑ＝ｎと定義があるので、２×ｎ×ｎ＞（ｎ×（ｐ＋２ｑ））、および、２ｎ＞（ｎ＋ｑ＋１）が成り立つ。従って、本実施形態の方式は基本実装方式よりも計算回数が少なく省メモリで高速である。
【０１０７】
もし解候補が制約条件を充足しない場合、チャンク内、ワード内で問題となるビット位置を特定する比較演算が加わる。この場合においても、入力計画にゼロ値が多いスパースな状態（値が非ゼロのワード数がｋ個（ｋ＜＜ｎ））の場合には、本実施形態における方式の比較演算数はｎ＊（ｐ＋ｋ＊ｑ）であり、基本方式の比較演算回数ｎ＊ｎより少なく、優位である。すなわち本実施形態の式は基本実装方式より実用上高速である。
【０１０８】
つぎに解探索の計算量についての効果を説明する。数１に示す問題では解空間全体に２＾（ｎ＊ｎ）個の解候補があって実行不可能解が大半を占める。総当り方式は、ヒューリスティックスを用いて実行可能な制約充足解だけを機械的なインデックス順に体系的に総当たりすることによって、ｎ！（ｎの階乗）個の制約充足解を拾い出す方法をいう。多項式時間で計算できないため、大きなｎでの総当り方式の計算量は極めて多く、実用時間内にすべての制約充足解を抽出できないことも多い。さらに、もし探索を中断した場合に、解空間で偏った場所しか調べられていない結果（例えば、特定の人の割当が固定的など）が出てしまい、入力計画と大きくかい離した結果しか得られない状況になりやすい欠点があった。
【０１０９】
一方、本実施形態の方式における理論上最悪の入力は入力計画においてすべてのビット値が０の場合であり、誰にもタスクが割り当てられていない。このとき、多重割当の判定は合格するものの、未割当の解決のためにｎ！通りの制約充足解数分の探索回数を要する。このため、総当り方式と同程度である。しかし、ある程度妥当な計画を入力計画の初期値とする前提で用いるため、入力計画での未割当リソースがｍ個（ｍ＜＜ｎ）とすると、制約充足解数でｍ！＜＜ｎ！なので、多くの場合に総当り法式より早く処理を終えることができる。
−−−第２実施形態−−−
第２実施形態では、鉄道乗務員運用整理業務について本実施形態の計画業務支援技術を適用した例について示す。鉄道乗務員がどの列車を担当するかを計画する業務は運用整理業務と呼ばれ、第１実施形態と同様の割当問題を解くことが求められる業務である。そこで、第２実施形態の説明に用いる数式および図は第１実施形態と共通しており、構成、動作が同じ箇所については説明を省略するものとする。また第２実施形態では、図５と図６のフローにおいて差分となる箇所の説明を主に行う。また、図９〜１１、および、数２６〜数３５を用いて、全体解探索に相当する処理を中心に説明する。
【０１１０】
まず図５を用いて第２実施形態における自動提案サブシステム１００の処理内容を補足説明する。この場合、ステップ３０３において、自動提案サブシステム１００は、入力計画の制約未充足箇所をユーザに対する警報としてユーザ端末３００に出力する。また、自動提案サブシステム１００は、ユーザ端末３００から、当該警報の示す制約を局所的に充足する局所的選択肢の探索指示を受ける。
【０１１１】
次に自動提案サブシステム１００は、ステップ３０４において、乗務員と列車の情報が格納された状況情報２１６から局所的選択肢を検索する。この局所的選択肢は、提案（列車、乗務員）、提案理由、提案順位から構成する情報であって、提案理由情報には検索する時に用いた検索キーを元に検索内容に対応するあらかじめ定めた文字列を作成する。どういう警報に対して何を検索すればよいかのロジックは複数のパターンとしてあらかじめ記憶装置１０１にて定めて保持しておく。
【０１１２】
また自動提案サブシステム１００は、ステップ３０５において、上述の局所的選択肢と、ステップ３０２において計算した提案計画（全体解）との整合を取る。具体的には、或る提案計画の中に局所的選択肢が含まれていれば、当該提案計画の属性情報（当該局所選択肢が最適解の一部を構成することなど）を提案理由情報の文字列に追記する。提案理由に全体解としての特徴を加えることによって、これを閲覧するユーザは、全体解である提案計画と逐次的な局所的選択肢との整合を行いつつ、個々の逐次的な局所的選択肢のどの提案が最適解に至る要素となっているかが判別できる。提案理由情報が強化されるため、ユーザの意思決定を支援できる。
【０１１３】
続いて自動提案サブシステム１００は、ステップ３０６において、図１０で例示する画面５０３をユーザ端末３００に出力する。この画面５０３は、提案計画の属性情報（最適解など）をユーザ端末３００に出力させた画面例である。こうした画面５０３では、「列車番号３５番」の列車に乗務する乗務員が未割当であった場合に、乗務員番号が「１０２番」、「１０３番」、「１０４番」の各乗務員が乗務可能であるとの検索結果を提案として出力している。
【０１１４】
次にステップ３０７において、自動提案サブシステム１００は、上述のユーザが画面５０３で所望の提案を選択したことをユーザ端末３００から受け、該当提案（列車、乗務員）を入力計画に反映して状態遷移させる。この状態遷移した計画において、もしまだ制約未充足箇所がある場合、自動提案サブシステム１００はステップ３０３に処理を戻し、これらの処理を繰り返すことにより、対話的に問題解決を実行する。或いは対話的に解決せずに、一度に提案計画を受け入れるように制御あるいは操作誘導してもよい。
【０１１５】
ここで図６を用いて、第２実施形態における全体解探索の処理内容を補足説明する。この場合、自動提案サブシステム１００は、ステップ４０４において、解の評価を行う時に、どの時刻で制約未充足となっているかを特定して、時刻情報（〜ｍ）を解候補の属性情報２２１としてデータサーバ２００の記憶装置２０１に保存する。
【０１１６】
続いて自動提案サブシステム１００は、ステップ４０５において、探索中に変更済みかどうかについてリソース管理リストを用いて管理する。自動提案サブシステム１００は、リソース管理リストに矛盾しない計画変更案を作成すると共に、計画変更案で使用したリソース（乗務員、列車等）についてリソース管理リストを更新保存する。第２実施形態におけるリソース管理リストは一次元配列情報であり、リソースの種類に時間が加わることと、長さが異なることが第１実施形態（数８、ａｈ、ｂｈ）との相違点である。
【０１１７】
次に自動提案サブシステム１００は、ステップ４０６において、解の評価を行い、さらに、制約充足した解候補であることと合わせて属性情報２２１として作成し、データサーバ２００の記憶装置２０１に保存する。
【０１１８】
またステップ４０９において、自動提案サブシステム１００は、計算状況を出力する時、図７で例示した画面５０１をユーザ端末３００に出力する。また自動提案サブシステム１００は、ステップ４１１において、解候補を評価値の順にソートすることによって、解の優劣や最適解を決める。このステップ４１１において、自動提案サブシステム１００は、上述のソート結果を図８で例示した画面５０２としてユーザ端末３００に出力する。特定の評価値が最大となる解はパレート最適解である。探索中断時においても、探索した範囲で特定の評価値が最大となる解をパレート最適解の候補と呼ぶ。
【０１１９】
図９は第２実施形態における計画情報９５０の説明図である。図９で示す計画情報９５０は、ビット集合を用いて、乗務員がいつ何の業務（列車乗務、駅待機等）に割当てられるかの計画を１ビットの位置情報として表現する。時間単位ごとの量子的な時間軸を備え、終了時間ｍとする。横軸に、乗務員数ｎに加え、列車の滞泊を示す特別乗務員番号（０）を備える。縦軸に、列車数ａ、駅数ｂに加え、乗務員の滞泊を示す特別位置番号（０）を備える。すなわち、１つの計画情報全体で、ｍ×（ｎ＋１）×（ａ＋ｂ＋１）個の３次元ビット集合を構成する。３次元より次元数が多くてもよい。
【０１２０】
この計画情報９５０が３次元構造であっても、図４の計画情報５５０で示すようなワード、チャンク変数に格納できる。時間軸方向のビット集合をワード変数に格納してもよい。自動提案サブシステム１００は、こうした変数を操作する論理演算によって、複数ビットの情報を並列に処理できる。また第１実施形態同様に、制約条件の評価、解の探索、解の評価が変数単位で高速に処理できる。
【０１２１】
こうした計画情報９５０が満たすべき制約条件には、次のものが含まれる。乗務員列の縦方向には、値が１となるビットが原則１個となる。すなわち、乗務員は同時に２か所に存在しえず、どこかに存在する。この条件は第１実施形態における数２の条件と等価である。
【０１２２】
また計画情報９５０が満たすべき制約条件には、さらに、業務行の横方向には、値が１となるビットが０個以上となる条件がある。すなわち、ある列車には複数の乗務員が乗ることができる。この条件は第１実施形態における数３の条件を緩和するものの、他の関連する複雑な制約条件の影響を受けるものである。値が１となるビットの数が、０個の場合は割当乗務員が不在（制約未充足）、１個の場合は担当乗務員が存在、２個以上の場合は、担当乗務員に加えて便乗乗務員が存在する。その他に、乗務員の滞泊地が初期計画のものと変更後の提案計画で一致すること、列車への乗継時間を確保することなどが制約条件として加わる。
【０１２３】
計画情報９５０を構成する別の例では、構成要素の多くがゼロ値である場合等には、時空間にまたがる複数チャンクをひとまとまりの変数とするブロック変数を操作単位に用いてもよい。このとき、ブロック変数の有無だけを表す別のビット集合である圧縮状況変数を併用することにより、計画情報は大幅にデータ容量が圧縮できると共に、変数の論理演算回数も大幅に減らすことができる。すなわち、メモリ省資源にかつ高速に処理できる。圧縮状況変数の要素値をゼロと比較することによって、圧縮された計画情報から直接的に状況判定ができる。
【０１２４】
また、計画情報９５０を構成する別の例では、時刻単位で複数チャンク変数集合をまとめて、これをひとつのスライス変数とする。値が非ゼロとなるスライス変数の有無を示す１次元ビット集合を圧縮状況変数ｓｈ（サイズｍ）と呼ぶ。圧縮状況変数ｓｈと、値が非ゼロとなる複数個のスライス変数集合によって、圧縮された計画情報を構成できる。時刻ｔと時刻（ｔ＋１）のスライス変数が同一値の場合、すなわち、
Ｖａｌ（ｓｈ（ｔ））＝Ｖａｌ（ｓｈ（ｔ＋１））
となる時に、圧縮状況変数ｓｈの（ｔ＋１）番目の要素値をゼロとする。圧縮した計画情報を解凍する方法では、まず、ｔ番目の要素が非ゼロであれば、スライス変数集合の中で対応するスライス変数を計画情報のｔ番目時刻の情報として設定する。さらに、圧縮状況変数ｓｈの（ｔ＋１）番目の要素がゼロであれば、（ｔ＋１）以前に圧縮状況変数ｓｈの要素が非ゼロとなるｔ番目のスライス変数を計画情報の中に設定する。このようにして、圧縮前と同じ計画情報を再構成できる。再構成しなくとも、圧縮状況変数ｓｈの要素値がゼロであれば、当該スライスの処理は以前の時刻と同じ状況なので状況判定や解候補作成対象から除外してもよい。メモリ省資源にかつ高速に処理できる。
【０１２５】
なお、計画情報９５０が満たすべき制約条件には、多種多様な条件がある。列車の乗り継ぎや時刻表に従った営業運転には所定の制約があり、その制約を計画に反映するために、後の計算で用いるデータをあらかじめ作成しておく。特定の列車に対応する唯一的な列車番号があるように、ビット集合のそれぞれのビット値には、対応する実情報と物理的な対象がある。ビット集合ではビット値の並びが直接索引となる。そこで実情報を対応する順番通りに並べて、実情報を属性情報２２１の中にあらかじめ作成して保存しておく。
【０１２６】
数２６〜数２９は、自動提案サブシステム１００の自動提案処理部１１０において、ステップ３０２の全体解探索処理以前にあらかじめ作成してメモリ２０３やデータサーバ２００に格納しておく変数を示す。
【０１２７】
数２６に示すように、計画情報９５０を３次元ビット集合Ｂの変数として型定義する。変数Ｂは図９に示す概念図と技術的に等価である。これは、時刻ｍまでの時間ごとにｎ人の人に（ａ＋ｂ）個のタスクを割当てる計画を表現する。例えば、変数Ｂのビット値が１の場合に、当該時刻の対応する乗務員に対応するタスクを割り当てている状態を示す。タスクはｌｏｃａｔｉｏｎ変数を用いて乗務員の位置を示し、ａ個の列車のいずれかに乗務するか、ｂ個のいずれかの駅で待機するか、滞泊等により計画外に位置するか（ゼロ値）、である。そして、集合Ｂの部分集合として入力計画ｓＢ、提案計画（あるいは解候補）ｐＢを定義する。これらは、入力計画２１８１、提案計画２１９１と技術的に等価である。
2016203531.tif 000028
【０１２８】
・・・・・・・数２６
また数２７に示すように、入力計画の一部を抜粋して、時間と位置（列車）の部分集合ｔＴを作成する。部分集合ｔＴは運行予定表であり、例えば、ある列車がある時刻にビット値１となる場合、出発前到着後の作業時間を含めて列車が運行中であることを示す。運行予定表では、乗務員が列車の出発準備、および到着後の到着作業に要する作業時間を、列車の運行時間に含めて作成してもよい。その場合、実際の列車の運行時刻は列車運行時刻表の中で別途定めておく。
2016203531.tif 000029
【０１２９】
・・・・・・・数２７
また数２８に示すように、ビット集合として列車の時刻表ｊＴを作成する。例えば、ｌｏｃ＿ｄｅｐａｒｔ（出発駅）をｔｉｍｅ＿ｄｅｐａｒｔ(出発時刻）に出るｌｏｃ（列車)は、ｌｏｃ＿ａｒｒｉｖｅ（到着駅）にｔｉｍｅ＿ａｒｒｉｖｅ(到着時刻）に到着する計画を示す。ｊＴはこれら５項目の一覧表であり、列車ごとに駅と時刻の関係をまとめた時刻表に相当する。
2016203531.tif 000030
【０１３０】
・・・・・・・数２８
また数２９に示すように、出発駅、列車、到着駅の関係を示すビット集合として行路情報ｔＢを定める。例えば、ある行路において、列車ｊｏｂは出発駅ｌｏｃａｔｉｏｎ１で時刻ｔｉｍｅ１に乗車可能と示すよう、ｌｏｃａｔｉｏｎ１に対応するビット値を１と設定する。所定の時間が経過すると、時刻ｔｉｍｅ２には列車ｊｏｂは到着駅ｌｏｃａｔｉｏｎ２に到着する。時刻ｔｉｍｅ２以降、到着駅ｌｏｃａｔｉｏｎ２の値を１と設定する。
【０１３１】
2016203531.tif 000031
【０１３２】
・・・・・・・数２９
ここで、図６のフローに示すように、ステップ４０１において入力計画ｓＢを読み込み、それを探索の起点として解空間の中から妥当な解となる提案計画ｐＢを探す近傍探索を行う方法を説明する。
【０１３３】
この場合、数３０に示すｓＢ＿ｐｅｒ変数は、計画ＤＢ２１８の初期計画２１８０、入力計画２１８１を乗務員ごとに圧縮した情報であり、また、場所（列車）と時間の関係を示す２次元情報である。このｓＢ＿ｐｅｒ変数は、計画ｓＢにおけるある列車のある時刻における全乗務員のビット値を加算集計して、探索前にあらかじめ作成しておく。ｓＢ＿ｐｅｒ変数のビット値が１となる場合、当該時刻に当該列車には乗務員が割り当てられていることを示す。所定の計画では乗務員が適切に割り当てられていて、数３０に示したｓＢ＿ｐｅｒの制約条件を満たす。
【０１３４】
数３０に示したｐＢ＿ｐｅｒ変数は、解候補（提案計画）について、ｓＢ＿ｐｅｒ変数と同様に加算集計により圧縮した情報であり、自動提案サブシステム１００がステップ４０２において作成する。ｐＢ＿ｐｅｒ変数の一部では、ｓＢ＿ｐｅｒ変数と同じ制約条件通りにならない場合がある。列車遅延などのトラブルが発生した場合など、計画に変更があった場合に当該制約条件は必ずしも満たされない。
2016203531.tif 000032
【０１３５】
・・・・・・・数３０
数３１、数３２および図１１を用いて、ステップ４０２、ステップ４０３の状況分析処理の一部内容を説明する。この場合、数３１において、ｒａｎｋ（）関数は提案計画ｐＢのビット値の数を数える関数であり、自動提案サブシステム１００は、その計算結果が１とならない場合に制約違反と判定することにより、制約条件を充足するかどうか状況分析を行う。数３１は、ビット値を縦方向、あるいは横方向に加算集計する計算結果を判定する処理と判定結果が等価であり、第１実施形態における数２、あるいは、数３の制約条件に相当する。このため自動提案サブシステム１００は、第１実施形態同様の高速処理方法を用いて判定計算できる。
【０１３６】
2016203531.tif 000033
【０１３７】
・・・・・・・数３１
図１１に示すテーブルは、ある列車に乗務員が未割当か割当済みかについて調べる比較テーブル１１００である。解候補（提案計画）が満たすべき制約条件には、運行する列車に乗務員が割り当てられること、および、運行しない列車には乗務員の割当てがないことがある。この制約条件は、ｓＢ＿ｐｅｒ変数の値と、ｐＢ＿ｐｅｒ変数の値を用いて、ビット値ごとに図１１の比較テーブル１１００と比較することによって判定できる。
【０１３８】
数３２は図１１と同じ判定処理をステップ４０３で高速に行う計算方法を示す。さらに、この制約条件は、数３２に示す排他的論理和計算を用いると、ワードやチャンク単位での処理による並列処理の効果がある。さらに、異なるビット値に反応する排他的論理和の特徴によって比較テーブル内の複数の判定項目を同時に判定するため、排他的論理和の値をゼロと比較する確認によって制約違反の有無を高速に確認できる。
2016203531.tif 000034
【０１３９】
・・・・・・・数３２
数３３〜数３６を用いて、ステップ４０５での計画変更案作成、および、ステップ４０８の状態遷移処理の一部内容を説明する。この場合、数３３に示す計算式は、ある列車に乗務員が未割当だと判定された後等で、当該列車（ｌｏｃ１）に乗務可能な乗務員を検索する方法を示す。自動提案サブシステム１００は、まず、ｌｏｃ１を検索キーとして、時刻表ｊＴ変数から当該列車の出発駅（ｌｏｃ＿ｄｅｐａｒｔ）を検索する。次に自動提案サブシステム１００は、入力計画（ｓＢ）において、出発時刻（ｔｉｍｅ＿ｄｅｐａｒｔ）において、同じ出発駅で待機中の乗務員（ｐｅｒ）をすべて検索する。検索された乗務員（ｐｅｒ）は当該列車に乗務可能、および、当該駅で待機継続可能である。自動提案サブシステム１００は、こうして検索した乗務員を当該列車に割り当てる計画変更案を作成する。
2016203531.tif 000035
【０１４０】
・・・・・・・数３３
数３４に示す計算式は、ある時刻（ｔｉｍｅ１）にある駅（ｌｏｃ１＞ａ）に待機中のある乗務員（ｐｅｒ１）が、乗務可能な列車（ｌｏｃ）をすべて検索する方法を示す。ここで自動提案サブシステム１００は、時刻表ｊＴにおいて、当該時刻に当該駅を出発駅（ｌｏｃ＿ｄｅｐａｒｔ）する列車（ｌｏｃ）を検索する。また自動提案サブシステム１００は、当該乗務員を検索した列車に割り当てる計画変更案を作成する。
【０１４１】
2016203531.tif 000036
【０１４２】
・・・・・・・数３４
数３５に示す計算式は、数３３あるいは数３４に示す計算等によって運用変更を行う場合に、特に時間軸方向の観点から計画情報ｐＢの変更方法を示す。ある乗務員（ｐｅｒ１）がある列車（ｌｏｃ）に乗務する運用変更について考える。当該列車は、出発時刻（ｔｉｍｅ＿ｄｅｐａｒｔ），出発駅（ｌｏｃ１），到着時刻（ｔｉｍｅ＿ａｒｒｉｖｅ）、到着駅（ｌｏｃ２）と時刻表にあらかじめ記述されており、自動提案サブシステム１００は、それらの情報を参照する。自動提案サブシステム１００は、解候補ｐＢにおいて当該乗務員の担当を変更するとき、当該列車（ｌｏｃ）の到着時刻以降、すなわち運行終了後の乗務計画をすべてゼロ値とする。さらに自動提案サブシステム１００は、出発時刻から到着時刻の間は、当該列車に乗務するよう、当該乗務員と列車（ｌｏｃ）に対応するビット値をすべて１とする。さらに自動提案サブシステム１００は、到着後の時間帯は到着駅に待機するよう、当該乗務員と駅（ｌｏｃ２）に対応するビット値をすべて１とする。
2016203531.tif 000037
【０１４３】
・・・・・・・数３５
数３６に示す計算式は、数３５を用いた計画変更と等価で高速な処理を示す。この場合、自動提案サブシステム１００は、まず、マスク変数ｍａｓｋを作成する。これは、列車（ｌｏｃ）について、出発時刻（ｔｉｍｅ＿ｄｅｐａｒｔ）前後でステップ状の信号変化を示す。
【０１４４】
つぎに自動提案サブシステム１００は、運行予定表、時刻表を参照して、列車の運行状況を示す一時変数ｔＢを作成する。これは、列車乗務（ｊｏｂ），位置（ｌｏｃａｔｉｏｎ），時刻（ｔｉｍｅ）から構成する。
【０１４５】
つぎに自動提案サブシステム１００は、計画情報ｐＢの乗務員（ｐｅｒ１）、列車（ｌｏｃ）の位置での時間方向（ｔ）の変化について、マスク変数の否定との論理積を計算することにより、第１の論理積値を得る。すなわち、出発時刻以前の列車について、出発時刻以前の計画を保持する。
【０１４６】
つぎに自動提案サブシステム１００は、一時変数ｔＢとマスク変数との論理積を計算することにより、第２の論理積値を得る。すなわち、出発時刻以降の予定を作成する。
【０１４７】
つぎに自動提案サブシステム１００は、上述の第１の論理積値と第２の論理積値の論理和を計算することによって、時間軸方向に整合した計画を作成する。このようにして作成された計画は計画情報の一部であり、当該乗務員だけの予定なので、最後に計画情報全体に反映される。
【０１４８】
2016203531.tif 000038
【０１４９】
・・・・・・・数３６
数３７に示す計算式は、解候補（提案計画）がよい解かどうかを評価する計算方法を示し、ステップ４０６での処理において行う。自動提案サブシステム１００は、こうした探索過程で得られた複数の解候補について、それぞれの評価値を計算する。近傍探索法において、入力計画ｓＢに近い提案計画ｐＢはある程度妥当である。解空間における２つの解、すなわちｓＢとｐＢの内積計算値をｅ１とすると，ｅ１は２つの解ベクトルの交差角に相当して解空間におけるｓＢとｐＢの近さを示す。
【０１５０】
数３７において、ｓＢとｐＢの排他的論理和ｅ２は、２つの解ベクトル同士の距離に相当すると共に、計画変更総数を示す。ビット値が１となる数の総和を示すｅ３は、乗務時間合計を示す指標である。他にも、総労働時間、ピーク残業時間、計画変更総数などの多様な指標を計算できる。数４に示す最適化目的関数を利用してもよいし、逆に第１実施形態における解評価方法として数３７の計算方法を用いてもよい。
2016203531.tif 000039
【０１５１】
・・・・・・・数３７
本実施形態によれば、計画問題に対して高速な解法処理を実行して、ユーザが許容出来る実用時間内でより広く早く解空間を探索可能であり、意外で多様な解、より精度のいい近似解、最適解を見つけやすくなる。また、そうした探索過程を可視化することで、長時間の計算が行われる状況であってもユーザが処理中断を判断しやすくなる。
【０１５２】
すなわち、計画問題の解法処理を高速化し、従来よりも精度良好な解を効率良く取得することが可能となる。
【０１５３】
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態の計画業務支援システムにおいて、前記演算装置は、前記リソースの多重割当および未割当の特定に際し、前記論理演算を累積的に行った場合の累積値の変化傾向に基づいて、違反事象発生の有無および位置を特定するものであるとしてもよい。これによれば、違反事象の特定がより効率的で精度の良いものとなる。
【０１５４】
また、本実施形態の計画業務支援システムにおいて、前記演算装置は、前記解候補の作成に際し、前記違反事象の特定の結果、前記計画情報にリソースの多重割当が含まれていた場合、多重割当となる変数Ａとゼロ値の変数Ｂを置換することにより、値が非ゼロとなるビット数を所定数とした解候補を作成する処理と、前記違反事象の特定の結果、前記計画情報にリソースの未割当が含まれていた場合、未割当の生じたビット位置を持つ変数Ｃと、前記ビット位置のビット値だけが１となる変数Ｄを置換することで解候補を作成する処理と、前記変数Ｂおよび変数Ｄの少なくともいずれかと前記計画情報を構成する他の変数との所定の論理演算を行うことで解候補を作成する処理とを実行するものであるとしてもよい。これによれば、解候補作成がビット演算に基づく更に効率的なものとなる。
【０１５５】
また、本実施形態の計画業務支援システムにおいて、前記記憶装置は、前記計画情報の元となった計画情報であって、制約条件違反の無い当初計画情報を更に保持しており、前記演算装置は、前記当初計画情報と前記解候補との内積値を算定し、該当解候補の第１の評価値を取得する処理と、前記当初計画情報と前記解候補との排他的論理和のビット値を加算集計して、前記解候補の第２の評価値を取得する処理と、前記第１の評価値および前記第２の評価値の少なくともいずれかについて、その評価値の順に解候補を列挙した画面データを所定装置に出力する処理と、を更に実行するものであるとしてもよい。これによれば、ユーザが解候補の適正さに関して容易に理解して選択等を行えることとなり、ひいては解探索が更に迅速で効率的なものとなる。
【０１５６】
また、本実施形態の計画業務支援システムにおいて、前記記憶装置は、前記計画情報の元となった計画情報であって、制約条件違反の無い当初計画情報を更に保持しており、前記演算装置は、前記当初計画情報と前記解候補との内積値を算定し、該当解候補の第１の評価値を取得する処理と、前記当初計画情報と前記解候補との排他的論理和のビット値を加算集計して、前記解候補の第２の評価値を取得する処理と、前記第１の評価値および前記第２の評価値の少なくともいずれかについて、その評価値の順に解候補を列挙して所定装置に出力する処理と、前記解候補を評価値に基づいて所定レベル別に分類し、前記レベルごとに前記解候補の数を集計して、前記集計した値が所定値以上である場合に該当レベルの解候補の前記画面データを更新し、これを前記所定装置に出力する処理と、を更に実行するものであるとしてもよい。
【０１５７】
これによれば、解候補の画面表示に際してユーザの視認性を高め、該当ユーザが解候補の適正さに関して更に容易に理解して選択等を行えることとなり、ひいては解探索が更に迅速で効率的なものとなる。
【０１５８】
また、本実施形態の計画業務支援システムにおいて、前記演算装置は、前記解候補に関する処理状況を所定装置に出力する処理を更に実行するものであるとしてもよい。
【０１５９】
これによれば、解の探索過程の理解と処理中断の要否判断がユーザにとって容易で的確なものとなり、処理全体における無駄を回避し、ひいては解探索が更に迅速で効率的なものとなる。
【０１６０】
また、本実施形態の計画業務支援システムにおいて、前記記憶装置は、前記計画情報として、ｎ人の乗務員、ａ個の列車、ｂ個の駅、ｍ時間単位の時刻情報について、乗務員、列車あるいは駅を示す位置、時間における割当の有無についてブール値で表現するｎ×（ａ＋ｂ）×ｍの３次元以上のビット集合を格納するものであり、前記演算装置は、前記計画情報においてｉ番目の列車にｊ番目の乗務員を割り当て、かつ前記列車の出発時刻以前の計画を保存しつつ計画変更する解候補を作成するに際し、時間範囲ｍの中で前記列車の出発時刻から到着時刻までをビット値１として他を０とする運行情報であって、長さｍの第１のビット集合を作成する処理と、時間範囲ｍの中で前記列車の出発時刻以前をビット値０として他を１とするマスクであって、長さｍの第２のビット集合を作成する処理と、前記マスクの否定と前記計画情報の第１の論理積を計算し、前記マスクと前記運行情報の第２の論理積を計算し、前記第１の論理積と前記第２の論理積との論理和を計算する処理と、を実行するものであるとしてもよい。
【０１６１】
これによれば、鉄道運行に関する人員割当て計画に関して、高速な解法処理を実行して、ユーザが許容出来る実用時間内でより広く早く解空間を探索可能であり、意外で多様な解、より精度のいい近似解、最適解を見つけやすくなる。すなわち、鉄道運行に関する人員割当て計画問題の解法処理を高速化し、従来よりも精度良好な解を効率良く取得することが可能となる。
【０１６２】
また、本実施形態の計画業務支援方法において、前記情報処理システムが、前記リソースの多重割当および未割当の特定に際し、前記論理演算を累積的に行った場合の累積値の変化傾向に基づいて、違反事象発生の有無および位置を特定する、としてもよい。
【０１６３】
また、本実施形態の計画業務支援方法において、前記情報処理システムが、前記解候補の作成に際し、前記違反事象の特定の結果、前記計画情報にリソースの多重割当が含まれていた場合、多重割当となる変数Ａとゼロ値の変数Ｂを置換することにより、値が非ゼロとなるビット数を所定数とした解候補を作成する処理と、前記違反事象の特定の結果、前記計画情報にリソースの未割当が含まれていた場合、未割当の生じたビット位置を持つ変数Ｃと、前記ビット位置のビット値だけが１となる変数Ｄを置換することで解候補を作成する処理と、前記変数Ｂおよび変数Ｄの少なくともいずれかと前記計画情報を構成する他の変数との所定の論理演算を行うことで解候補を作成する処理と、を実行するとしてもよい。
【０１６４】
また、本実施形態の計画業務支援方法において、前記情報処理システムが、前記記憶装置において、前記計画情報の元となった計画情報であって、制約条件違反の無い当初計画情報を更に保持し、前記当初計画情報と前記解候補との内積値を算定し、該当解候補の第１の評価値を取得する処理と、前記当初計画情報と前記解候補との排他的論理和のビット値を加算集計して、前記解候補の第２の評価値を取得する処理と、前記第１の評価値および前記第２の評価値の少なくともいずれかについて、その評価値の順に解候補を列挙した画面データを所定装置に出力する処理と、を更に実行するとしてもよい。
【０１６５】
また、本実施形態の計画業務支援方法において、前記情報処理システムが、前記記憶装置において、前記計画情報の元となった計画情報であって、制約条件違反の無い当初計画情報を更に保持し、前記当初計画情報と前記解候補との内積値を算定し、該当解候補の第１の評価値を取得する処理と、前記当初計画情報と前記解候補との排他的論理和のビット値を加算集計して、前記解候補の第２の評価値を取得する処理と、前記第１の評価値および前記第２の評価値の少なくともいずれかについて、その評価値の順に解候補を列挙して所定装置に出力する処理と、前記解候補を評価値に基づいて所定レベル別に分類し、前記レベルごとに前記解候補の数を集計して、前記集計した値が所定値以上である場合に該当レベルの解候補の前記画面データを更新し、これを前記所定装置に出力する処理と、を更に実行するとしてもよい。
【０１６６】
また、本実施形態の計画業務支援方法において、前記情報処理システムが、前記解候補に関する処理状況を所定装置に出力する処理を更に実行するとしてもよい。
【０１６７】
また、本実施形態の計画業務支援方法において、前記情報処理システムが、前記記憶装置において、前記計画情報として、ｎ人の乗務員、ａ個の列車、ｂ個の駅、ｍ時間単位の時刻情報について、乗務員、列車あるいは駅を示す位置、時間における割当の有無についてブール値で表現するｎ×（ａ＋ｂ）×ｍの３次元以上のビット集合を格納し、前記計画情報においてｉ番目の列車にｊ番目の乗務員を割り当て、かつ前記列車の出発時刻以前の計画を保存しつつ計画変更する解候補を作成するに際し、時間範囲ｍの中で前記列車の出発時刻から到着時刻までをビット値１として他を０とする運行情報であって、長さｍの第１のビット集合を作成する処理と、時間範囲ｍの中で前記列車の出発時刻以前をビット値０として他を１とするマスクであって、長さｍの第２のビット集合を作成する処理と、前記マスクの否定と前記計画情報の第１の論理積を計算し、前記マスクと前記運行情報の第２の論理積を計算し、前記第１の論理積と前記第２の論理積との論理和を計算する処理と、を実行するとしてもよい。
【符号の説明】
【０１６８】
１０  計画業務支援システム
２０  ネットワーク
１００  自動提案サブシステム
１０１  記憶装置
１０２  プログラム
１０３  メモリ
１０４  演算装置
１０５  通信装置
１１０  自動提案処理部
１１１  論理演算処理部
１１２  入出力処理部
２００  データサーバ
２１５  計算ログ
２１６  状況情報
２１７  業務モデル
２１８  計画ＤＢ
２１８０  初期計画
２１８１  入力計画
２１９  解候補ＤＢ
２１９０  解候補
２１９１  提案計画
２２０  承認計画
２２１  属性情報
３００  ユーザ端末
４００  状況変化連絡機
【図１】
2016203531.tif 000040
【図２】
2016203531.tif 000041
【図３】
2016203531.tif 000042
【図４】
2016203531.tif 000043
【図５】
2016203531.tif 000044
【図６】
2016203531.tif 000045
【図７】
2016203531.tif 000046
【図８】
2016203531.tif 000047
【図９】
2016203531.tif 000048
【図１０】
2016203531.tif 000049
【図１１】
2016203531.tif 000050
【国際調査報告】
2016203531.tif 000051
2016203531.tif 000052
2016203531.tif 000053
2016203531.tif 000054