(57)【要約】【課題】計画作成作業の際、同じような状況下で利用できる制約条件とその適用基準を得ることができる計画作成条件取得装置を提供する。【解決手段】計画作成条件取得装置２００は、計画対象の属性と計画対象間の関係を表現したネットワーク表現を作成するネットワーク表現作成部２０３と、ネットワーク表現と記憶部に格納した計画対象間の制限を基に計画対象間の関係の状態情報を計算する状態計算部２０４と、状態情報に基づいて状態図を作成する状態図作成部２０８と、状態図を表示手段に提示し計算された計画対象間の関係を基に利用者から作成条件の指定を受付ける条件受付部２０９と、受付けた作成条件をネットワーク表現のリンク操作に変換して記憶手段に格納し受付けた作成条件をネットワーク表現に反映する条件作成部２１１とを具備する。同じような状況下で利用できる制約条件を取得できる。【選択図】図１
2009064390.tif 000002
【特許請求の範囲】
【請求項１】
計画を作成する際に該計画の作成条件を取得する計画作成条件取得装置において、
計画対象の属性と前記計画対象間の関係を表現したネットワーク表現を作成するネットワーク表現作成手段と、
前記ネットワーク表現と記憶手段に格納した前記計画対象間の制限を基に前記計画対象間の関係の状態情報を計算する状態計算手段と、
前記状態情報に基づいて状態図を作成する状態図作成手段と、
前記状態図を表示手段に提示し、計算された前記計画対象間の関係を基に利用者から作成条件の指定を受付ける条件受付手段と、
前記受付けた作成条件を前記ネットワーク表現のリンク操作に変換して前記記憶手段に格納し、前記受付けた作成条件をネットワーク表現に反映する条件作成手段と、
前記計画対象間の関係の指定を反映したネットワーク表現と前記記憶手段に格納された作成条件を基に前記計画対象間の関係の状態情報を修正して計算する修正状態計算手段と、を具備する
ことを特徴とする計画作成条件取得装置。
【請求項２】
計画を作成する際に該計画の作成条件を取得する計画作成条件取得装置において、
記憶手段に格納された計画対象をノードとし、前記計画対象間の割振り可否の関係および実施順序を前記ノード間のリンクで表し、前記計画対象間の関係を制限する制約条件を前記リンクの属性および前記リンクの数の制限で表したネットワーク表現を作成するネットワーク表現作成手段と、
前記ネットワーク表現のリンクの接続状態を、前記制約条件に基づいて更新し、前記制約条件に適用可能な条件がない場合または条件の矛盾が生じる場合に利用者へ提示するために、更新させた前記計画対象間の割当て可否の関係や実施順序を計算する状態計算手段と、
前記計算された結果を基に利用者から新たな制約条件とその制約条件の適用の是非を判断するための基準となる前記計画対象の属性や前記計画対象の割当て関係や実施順序の項目指定を条件適用基準として受付ける条件受付手段と、
受付けた前記新たな制約条件と条件適用基準を作成条件として記憶手段に追加する条件作成手段と、
前記記憶手段に格納した作成条件に基づいて前記ネットワーク表現上のリンクの接続状態を修正して計算する修正状態計算手段と、
前記修正して計算させた結果を提示し、新たに作成条件を受付ける修正条件受付手段と、を具備する
ことを特徴とする計画作成条件取得装置。
【請求項３】
前記条件受付手段は、表示手段に、前記計画対象間の割振り可否の関係および実施順序を図で表示し、表示した図を利用して利用者から特定の計画対象間の割振り関係や実施順序の指定を受付ける
ことを特徴とする請求項２に記載の計画作成条件取得装置。
【請求項４】
前記ネットワーク表現作成手段は、作業者への作業の割振りを計画する際、作業者と作業をノードとして表し、作業者への作業の割振り可否の関係と作業実施順序をリンクで表し、作業者が割振られた作業を実行するために要する作業時間をリンクの流量で表し、作業者が割振られた作業を実行するためにかかるコストをリンクの重みで表す
ことを特徴とする請求項２に記載の計画作成条件取得装置。
【請求項５】
前記状態計算手段は、前記流量を、前記作成条件を基に計算する
ことを特徴とする請求項４に記載の計画作成条件取得装置。
【請求項６】
計画を作成する際に該計画の作成条件を取得する計画作成条件取得方法において、
ネットワーク表現作成手段が、計画対象の属性と前記計画対象間の関係を表現したネットワーク表現を作成し、
状態計算手段が、前記ネットワーク表現と記憶手段に格納した前記計画対象間の制限を基に前記計画対象間の関係の状態情報を計算し、
状態図作成手段が、前記状態情報に基づいて状態図を作成し、
条件受付手段が、前記状態図を表示手段に提示し、計算された前記計画対象間の関係を基に利用者から作成条件の指定を受付けし、
条件作成手段が、前記受付けた作成条件を前記ネットワーク表現のリンク操作に変換して前記記憶手段に格納し、前記受付けた作成条件をネットワーク表現に反映し、
修正状態計算手段が、前記計画対象間の関係の指定を反映したネットワーク表現と前記記憶手段に格納された作成条件を基に前記計画対象間の関係の状態情報を修正して計算する
ことを特徴とする計画作成条件取得方法。
【請求項７】
計画を作成する際に該計画の作成条件を取得する計画作成条件取得方法において、
ネットワーク表現作成手段が、記憶手段に格納された計画対象をノードとし、前記計画対象間の割振り可否の関係および実施順序を前記ノード間のリンクで表し、前記計画対象間の関係を制限する制約条件を前記リンクの属性および前記リンクの数の制限で表したネットワーク表現を作成し、
状態計算手段が、前記ネットワーク表現のリンクの接続状態を、前記制約条件に基づいて更新し、前記制約条件に適用可能な条件がない場合または条件の矛盾が生じる場合に利用者へ提示するために、更新させた前記計画対象間の割当て可否の関係や実施順序を計算し、
条件受付手段が、前記計算された結果を基に利用者から新たな制約条件とその制約条件の適用の是非を判断するための基準となる前記計画対象の属性や前記計画対象の割当て関係や実施順序の項目指定を条件適用基準として受付けし、
条件作成手段が、受付けた前記新たな制約条件と条件適用基準を作成条件として記憶手段に追加し、
修正状態計算手段が、前記記憶手段に格納した作成条件に基づいて前記ネットワーク表現上のリンクの接続状態を修正して計算し、
修正条件受付手段が、前記修正して計算させた結果を提示し、新たに作成条件を受付ける
ことを特徴とする計画作成条件取得方法。
【請求項８】
前記条件受付手段は、表示手段に、前記計画対象間の割振り可否の関係および実施順序を図で表示し、表示した図を利用して利用者から特定の計画対象間の割振り関係や実施順序の指定を受付ける
ことを特徴とする請求項７に記載の計画作成条件取得方法。
【請求項９】
前記ネットワーク表現作成手段は、作業者への作業の割振りを計画する際、作業者と作業をノードとして表し、作業者への作業の割振り可否の関係と作業実施順序をリンクで表し、作業者が割振られた作業を実行するために要する作業時間をリンクの流量で表し、作業者が割振られた作業を実行するためにかかるコストをリンクの重みで表す
ことを特徴とする請求項７に記載の計画作成条件取得方法。
【請求項１０】
前記状態計算手段は、前記流量を、前記作成条件を基に計算する
ことを特徴とする請求項９に記載の計画作成条件取得方法。
【請求項１１】
請求項６から請求項１０のいずれか１項に記載の計画作成条件取得方法をコンピュータに実行させることを特徴とする計画作成条件取得プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計画作成作業の際、同じような状況下で利用できる制約条件とその適用基準を得ることができる計画作成条件取得装置、計画作成条件取得方法、および計画作成条件取得プログラムに関する。
【背景技術】
【０００２】
計画作成作業は、計画対象となる物や設備などの組合せを考慮する必要がある。それらの組合せパターン数は、数十の計画対象であっても数百パターン以上におよぶため、人手による作業だけでは多くの所要時間や経験が必要となっている。これに対処するため、予め入力された制約条件に基づき計画を自動作成し、計画者に計画案を提示する装置が提案されている。しかし、計画者の計画作成ノウハウを予め聞きだし、制約条件として装置に取り込んでおくことは難しいため、自動提案した計画結果が必ずしも計画者の満足いく結果となるとは限らない。
【０００３】
このため、自動作成した計画に計画者の意図を反映させるよう、特許文献１、特許文献２に示されるように、装置が作成した計画結果を利用者に評価してもらい、利用者から計画対象のパラメータ変更を受付け、計画を再作成する機能を有するものがある。また、特許文献３、非特許文献１に示されるように、装置が提案した計画結果を利用者に評価してもらい、改善案を利用者から受付ける機能を有するものがある。これらの技術では、計画結果の評価機能として、複数の評価指標での計画の評価や計画対象となる施設の稼動状況や作業の進行状況を利用者に提示し、提示した計画に対して利用者から一部修正を受付ける。
【特許文献１】特開２００５−３２０１１号公報
【特許文献２】特開２００１−３４０４７５号公報
【特許文献３】特開平７−２８５４４０号公報
【非特許文献１】井上一朗、冬木正彦著：“ノウハウ活性化シミュレーション法に基づく生産スケジューリング業務支援”，オペレーションズ・リサーチ４０巻３号，１５９頁〜１６４頁（１９９５）．
【発明の開示】
【発明が解決しようとする課題】
【０００４】
背景技術では、計画の自動作成結果と計画者が作成する計画との乖離を縮めるため、利用者から計画対象の属性値の変更や計画結果の修正を受付けている。しかし、この修正結果は、その時点では計画に反映されるが、次回以降の計画作成には反映されない。このため、制約条件が同じ状況での計画作成においても、利用者は以前と同じ修正を実行する必要がある。また、計画作成作業の際、熟練した利用者のノウハウが蓄積できない問題があった。
【０００５】
本発明は、前記の課題を解決するための発明であって、計画の自動作成結果と計画者が作成する計画との乖離を効率よく縮めるため、その場限りの知識ではなく同じような状況下で利用できる制約条件とその適用基準を得ることができる計画作成条件取得装置、計画作成条件取得方法、および計画作成条件取得プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、予め記憶装置に格納された、計画対象をノードとし、計画対象間の割振り可否の関係や実施順序をノード間のリンクで表し、制約条件をリンクの属性やリンク数の制限で表したネットワーク表現の情報を基にネットワーク表現を作成し、作成したネットワーク上のリンクの接続状態を制約条件と条件適用基準を基に変化させ、制約条件に適用可能な条件がない場合または条件の矛盾が生じる場合に、利用者へ変化させた計画対象間の割当て可否の関係や実施順序を提示し、提示した結果を基に利用者から新たな制約条件と条件適用基準を受付け、受付けた前記制約条件と前記条件適用基準を計画作成条件として記憶部に追加し、追加した作成条件も含む記憶部に格納した作成条件を基にネットワーク上のリンクの接続状態を変化させ、変化させた結果を提示し、計画作成条件を受付けることを繰返すことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、計画の自動作成結果と計画者が作成する計画との乖離を効率よく縮めるため、その場限りの知識ではなく同じような状況下で利用できる制約条件とその適用基準を得ることができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施形態について図面を参照して説明する。
【０００９】
図１は、計画作成条件取得装置の構成を示すブロック図である。計画作成条件取得装置２００は、表示部２１３、入力部２１４、中央演算処理装置（ＣＰＵ）２１５、通信部２１６、記憶部２１２、メモリ２０１、およびこれらを接続するバス２１７から構成される。表示部２１３は、ディスプレイなどであり、計画作成条件取得装置２００による処理の実行状況や実行結果などの利用者への情報を表示する。入力部２１４は、キーボードやマウスなどのコンピュータに指示を入力するための装置であり、利用者からの入力を受付ける。中央演算処理装置（ＣＰＵ）２１５は、メモリ２０１に格納される各種プログラムを実行する。通信部２１６は、ＬＡＮ（Local Area Network）などを介して、他の装置と各種データやコマンドを交換する。記憶部２１２は、計画作成条件取得装置２００が処理を実行するための各種データを保存する。メモリ２０１は、計画作成条件取得装置２００が処理を実行する各種のプログラム２０２および一時的なデータを保持する。
【００１０】
記憶部２１２には、リンク状態情報３（図３参照）、作業者ノードの属性情報４（図４参照）、作業ノードの属性情報５（図５参照）、リンク数の制限値情報６（図６参照）、条件情報７（図７参照）、計画の評価基準情報８（図８参照）、リンク変更履歴情報９（図９参照）、およびリンク操作関数情報１０（図１０参照）が格納される。
【００１１】
メモリ２０１には、プログラム２０２として、ネットワーク表現作成部２０３、状態計算部２０４、状態図作成部２０８、条件受付部２０９、状態検索部２１０、および条件作成部２１１が格納される。また、状態計算部２０４は、条件検索部２０５、条件反映部２０６、およびネットワーク形状の制限反映部２０７を有している。
【００１２】
ネットワーク表現作成部２０３は、記憶部２１２に格納されたネットワークのノード情報とリンク情報を基にネットワーク表現を作成する。
【００１３】
状態計算部２０４は、ネットワーク表現を基に計画対象間の関係を計算する。条件検索部２０５は、ネットワーク状態に応じて適用可能な計画作成条件を記憶部２１２から検索する。条件反映部２０６は、計画作成条件をネットワーク表現へ反映する。ネットワーク形状の制限反映部２０７は、リンク数の制限などのネットワークの形状の制限をネットワーク表現へ反映する。
【００１４】
状態図作成部２０８は、計算した計画対象間の関係を表現する図を作成する。条件受付部２０９は、利用者から計画作成条件を受付ける。状態検索部２１０は、過去の計画対象間の関係を記憶部２１２から検索する。条件作成部２１１は、入力部２１４を介して受付けた利用者からの入力を基に計画作成条件を作成する。
【００１５】
図２は、計画作成条件取得装置の基本的な動作手順を示すフローチャートである。まず、動作手順について、フローチャートの概要を説明する。
【００１６】
ネットワーク表現作成部２０３は、計画対象の属性と計画対象間の関係を表現したネットワーク表現を作成する（ステップＳ１１）。状態計算部２０４は、作成したネットワーク表現と記憶部２１２に格納した計画対象間の制限を基に計画対象間の関係の変化を計算する（ステップＳ１２）。そして、状態図作成部２０８は、状態図を作成する（ステップＳ１３）。
【００１７】
条件受付部２０９は、計算した計画対象間の関係を基に利用者から計画作成条件と計画対象間の関係の指定を受付ける（ステップＳ１４、ステップＳ１５、ステップＳ１７）。
条件作成部２１１は、受付けた計画作成条件をネットワークのリンク操作に変換して記憶部２１２に格納し、受付けた計画作成条件をネットワーク表現に反映する（ステップＳ１８）。
【００１８】
そして、状態計算部２０４は、計画対象間の関係の指定を反映したネットワーク表現と記憶部に格納された計画作成条件を基に計画対象間の関係の変化を計算する（ステップＳ１２）。なお、条件受付部２０９は、ステップＳ１７において、計画作成条件の構成要素の入力がなく、かつ、入力の終了指示を受理すると、一連の処理を終了する（ステップＳ１９）。
【００１９】
一方、条件受付部２０９が、計算した計画対象間の関係または計画作成条件の代わりに戻る指示を受付けた場合には、過去の計画対象間の関係を基に計画作成条件を利用者から受付ける（ステップＳ１４、ステップＳ１５、ステップＳ１６）。
【００２０】
以上の処理を繰り返して、計画作成作業の際、利用者からの計画作成条件を取得する。
【００２１】
ここで、計画作成条件とは、計画対象間の関係を制限する制約条件とその適用基準である。また、計画対象間の関係とは、計画対象間のつながりを表したものである。
【００２２】
具体的には、作業者に作業を割振る問題を例として説明すると、計画対象間の関係は作業者への作業の割振り関係と作業間の実施順序関係を表す。本実施形態では、作業者に作業を割振る問題の中でも、決められた作業者数で決められた作業数をこなす作業計画を作成する問題を扱い、初期状態で得られている制約条件を基に作成される計画を人が作成する作業計画に近くなるよう最適化するための計画作成条件を取得する場合を例として挙げる。
【００２３】
作業計画の作成問題には、本実施形態で取り上げる例の他に、決められた作業数をこなせるよう作業者を追加する場合や、決められた作業者数で作業をこなせるよう作業数を減らす場合が考えられる。これらの場合に対しては、計画作成条件の受付画面に作業者の追加指示や作業の削除指示を受付け、該当するネットワーク上のノードとリンクを追加または削除することで対応可能となる。
【００２４】
作業の割振り問題を表すネットワーク表現は、事前に決まっている条件や計画対象の属性によって異なるが、本実施形態では、作業者の労働可能時間数と作業実施時刻と作業の実施コストが決まっているものとする。
【００２５】
よって、本実施形態で例として扱うネットワーク表現は、作業と作業者をそれぞれノードとし、作業ノードと作業者ノードの間に作業ノードをリンク先ノード、該作業を実施可能な作業者を表す作業者ノードをリンク元ノードとするリンクを定義し、作業ノードと作業ノードの間には実施時刻が早い作業ノードをリンク元ノード、実施時刻が遅い作業ノードをリンク先ノードとするリンクを定義し、リンクの流量は作業者に割振られた作業量に応じて計算し、リンクの重みはリンク先の作業ノードが表す作業を行う際にかかるコストを表すことで計画問題を表現したネットワークとする。
【００２６】
計画作成条件取得装置２００の各処理部の詳細と動作を説明する前に、本実施形態で取扱う情報を、図３〜図１０を参照して説明する。
【００２７】
図３は、リンク状態情報のレコード構成と各レコードに対応するデータの一例を示す図である。リンク状態情報３は、計画対象間の関係を表現したネットワークのリンク状態を示す。図３において、リンク状態情報３は、計画問題を表現したネットワーク上のリンク状態に関する情報を格納する「リンク状態情報」であり、計画対象間の関係が変化するごとに追加されていく情報である。以下、例えば、「状態ＩＤ３１のレコード」を、「のレコード」を省略して適宜、「状態ＩＤ３１」という。
【００２８】
リンク状態情報３は、状態ＩＤ３１、リンクＩＤ３２、リンク元ノード３３、リンク先ノード３４、状態確定３５、流量３６、重み３７から構成されている。状態ＩＤ３１は、
属性情報を適用するネットワーク状態を一意に識別する「状態ＩＤ」のレコードである。リンクＩＤ３２は、状態ＩＤ３１と組合せて、リンクを一意に識別するためのＩＤを格納する「リンクＩＤ」のレコードである。
【００２９】
リンク元ノード３３およびリンク先ノード３４は、状態ＩＤ３１とリンクＩＤ３２で識別されるリンクを形成するノードに関するレコードであり、それぞれ順に、リンク元ノードを一意に識別するためのＩＤを格納する「リンク元ノード」のレコード、「リンク先ノード」のレコードである。
【００３０】
状態確定３５は、状態ＩＤ３１とリンクＩＤ３２で識別されるリンクの接続または切断状態が確定しているかを判断するＩＤを格納する「状態確定」のレコードであり、本実施形態では「０」が状態が確定していないことを表し、「１」が状態が確定していることを表すものとする。
【００３１】
流量３６は、状態ＩＤ３１とリンクＩＤ３２で識別されるリンクの流量を格納する「流量」のレコードである。この流量３６が表す内容は、計画問題を表現するネットワークの形態に応じて異なり、本実施形態では、作業者ノードと作業ノード間のリンクの場合は作業者が割振られた作業を実施するために必要な作業時間の合計値を表し、作業ノード間のリンクの場合はリンク先ノードが表す作業とそれ以降に同一の作業者が実施する全作業の作業時間の合計値を表す。
【００３２】
重み３７は、状態ＩＤ３１とリンクＩＤ３２で識別されるリンクの重みを格納する「重み」のレコードである。リンクの重み３７が表す内容は、計画問題を表現するネットワークの形態に応じて異なり、本実施形態ではリンク先のノードが表す作業を行うためのコストを表す。本実施形態では重みを格納するレコードを一つとしたが、一つのリンクに対して異なる意味を表す重みを複数設定する場合は設定する重みの数だけレコードを作成する。
【００３３】
図４は、作業者ノードの属性情報のレコード構成と各レコードに対応するデータの一例を示す図である。作業者ノードの属性情報４は、計画対象である作業者の属性情報を示す。作業者ノードの属性情報４は、状態ＩＤ４１、ノードＩＤ４２、名称４３、労働開始時刻４４、労働終了時刻４５、容量４６、余裕度４７、実施可能作業数４８、および割当て量４９から構成される。
【００３４】
状態ＩＤ４１は、属性情報を適用するネットワーク状態を一意に識別する「状態ＩＤ」のレコードである。ノードＩＤ４２は、状態ＩＤ４１と組合せてノードを一意に識別するためのＩＤを格納する「ノードＩＤ」のレコードである。名称４３は、状態ＩＤ４１とノードＩＤ４２で識別されるノードが表す作業者の名称を格納する「名称」のレコードである。労働開始時刻４４および労働終了時刻４５は、状態ＩＤ４１とノードＩＤ４２で識別されるノードが表す作業者が作業に従事する時間帯に関するレコードであり、それぞれ順に、作業に従事する時間帯の開始時刻を格納する「労働開始時刻」のレコード、作業に従事する時間帯の終了時刻を格納する「労働終了時刻」のレコードである。
【００３５】
容量４６は、状態ＩＤ４１とノードＩＤ４２で識別されるノードの容量を格納する「容量」のレコードである。この容量４６が表す内容は、計画問題を表現するネットワークの形態に応じて異なり、状態ＩＤ４１とノードＩＤ４２で識別されるノードが表す作業者が提供できる図３における流量３６で表される内容の最大値である。本実施形態では、ネットワークを流れる流量で作業の所要時間を表すため、容量４６は、状態ＩＤ４１とノードＩＤ４２で識別されるノードが表す作業者の労働可能時間数となる。
【００３６】
余裕度４７、実施可能作業数４８、割当て量４９は、計画作成条件取得装置２００の処理が進むごとに更新される情報を計算するための関数を格納するレコードである。余裕度４７は、状態ＩＤ４１とノードＩＤ４２で識別されるノードが表す作業者の余裕度を計算するための関数を格納する「余裕度」のレコードである。この余裕度４７は、状態ＩＤ４１とノードＩＤ４２で識別されるノードが表す作業者が、割当てられている作業に加えて請負うことが可能な作業量を表す。実施可能作業数４８は、状態ＩＤ４１とノードＩＤ４２で識別されるノードが表す作業者の実施可能作業数を計算するための関数を格納する「実施可能作業数」のレコードである。割当て量４９は、状態ＩＤ４１とノードＩＤ４２で識別されるノードが表す作業者に割当てられた作業量を計算するための関数を格納する「割当て量」のレコードである。
【００３７】
図５は、作業ノードの属性情報のレコード構成と各レコードに対応するデータの一例を示す図である。作業ノードの属性情報５は、作業者ノードの属性情報４とは異なるもう一つの計画対象である作業の属性情報を示す。作業ノードの属性情報５は、状態ＩＤ５１、ノードＩＤ５２、名称５３、作業開始時刻５４、作業終了時刻５５、容量５６、および実施可能作業者数５７から構成される。
【００３８】
状態ＩＤ５１は、属性情報を適用するネットワーク状態を一意に識別するためのＩＤを格納する「状態ＩＤ」のレコードである。ノードＩＤ５２は、状態ＩＤ５１と組合せてノードを一意に識別するためのＩＤを格納する「ノードＩＤ」のレコードである。名称５３は、状態ＩＤ５１とノードＩＤ５２で識別されるノードが表す作業の名称を格納する「名称」のレコードである。作業開始時刻５４は、状態ＩＤ５１とノードＩＤ５２で識別されるノードが表す作業の作業開始時刻を格納する「作業開始時刻」のレコードである。作業終了時刻５５は、状態ＩＤ５１とノードＩＤ５２で識別されるノードが表す作業の作業終了時刻を格納する「作業終了時刻」のレコードである。
【００３９】
容量５６は、状態ＩＤ５１とノードＩＤ５２で識別されるノードの容量を格納する「容量」のレコードである。実施可能作業者数５７は、計画作成条件取得装置２００の処理が進むごとに更新される情報を計算するための関数を格納するレコードであり、状態ＩＤ５１とノードＩＤ５２で識別されるノードで表される作業を実行できる作業者数を計算するための関数を格納する「実施可能作業者数」のレコードである。
【００４０】
図６は、リンク数の制限値情報のレコード構成と各レコードに対応するデータの一例を示す図である。図３〜図５を適宜参照して説明する。リンク数の制限値情報６は、ネットワーク上のリンク数の制限に関する情報を示す。リンク数の制限値情報６は、状態ＩＤ６１、対象リンクＩＤ６２、および合計リンク数の制限６３から構成される。
【００４１】
状態ＩＤ６１は、状態ＩＤを一意に識別するためのＩＤを格納する「状態ＩＤ」のレコードある。対象リンクＩＤ６２は、リンク数の制限対象となるリンクを一意に識別するためのＩＤを格納する「対象リンクＩＤ」のレコードである。この対象リンクＩＤ６２に格納された個々のリンクＩＤは、状態ＩＤ６１と組合せてリンクを識別できるＩＤであり、図３における状態ＩＤ３１とリンクＩＤ３２を組合せて識別できるリンクと同一のものとする。
【００４２】
合計リンク数の制限６３は、状態ＩＤ６１と対象リンクＩＤ６２により一意に識別されるリンクのリンク数の制限を格納する「合計リンク数の制限」のレコードである。ここでのリンク数の制限とは、対象リンクＩＤ６２に格納されたリンクＩＤのうち、接続状態が確定したリンクの数の合計数に対する制限である。接続状態の確定とは、リンク状態情報３における状態確定３５の値が「１」であり、流量３６の値が０より大きい状態で表す。
【００４３】
例えば、リンク数の制限値情報６の第一レコード６４は、リンク状態情報３における状態ＩＤ３１が「０」で、リンクＩＤ３２が「１」，「２」，「３」，「４」，「５」のリンクのうち（図３に示すように、リンクＩＤ３２が「１」，「２」，「３」，「４」，「５」は、リンク元ノード３３が「１」で共通であり、リンク先ノード３４が「４」，「５」，「６」，「７」，「８」と異なる。）、合計リンク数の制限６３が１本と制限されている。すなわち、図３において、状態確定３５の値が「１」で、流量３６の値が０より大きいリンクは、１本のみとする制限を意味する。
【００４４】
リンク数の制限値情報は、リンクの本数によって表される制約条件と計画問題をネットワークで表現するためのリンクの張り方の制限を示しており、本実施形態では、作業者ノードをリンク元とするリンクの本数の制限は、作業者が同時に実施可能な作業数を表し、作業ノードをリンク先とするリンクの本数は作業の実施に必要な作業者数を表す。
【００４５】
例えば、第一レコード６４は、上記例より、ノードＩＤ「１」から出るリンクの本数を１本と制限している。作業者ノードの属性情報４より、ノードＩＤ「１」は、作業者Ａを表しているので、第一レコード６４は「作業者Ａが同時に実施可能な作業数は１つまで」という条件を表す。
【００４６】
また、第十一レコード６５は、リンク状態情報３における状態ＩＤ３１が「０」で、リンクＩＤ３２が「５」，「９」，「１１」，「１４」，「１５」，「１６」のリンクのうち（図３に示すように、リンクＩＤ３２が「５」，「９」，「１１」，「１４」，「１５」，「１６」は、リンク元ノード３３が「１」，「２」，「３」，「４」，「６」，「７」と異なるが、リンク先ノード３４が「８」と共通である。）、合計リンク数の制限６３が１本と制限されている。作業ノードの属性情報５よりノードＩＤ「８」は、作業ｅを表しているので、第十一レコード６５は、「作業ｅは作業者一人で実施する」という条件を表す。
【００４７】
図７は、条件情報のレコード構成と各レコードに対応するデータの一例を示す図である。条件情報７は、計画作成条件取得装置２００が受付けた条件に関する情報を示す。条件情報７は、条件ＩＤ７１、条件の種類７２、対象ノード７３、基準状態ＩＤ７４、状態基準７５、および制約条件７６から構成される。
【００４８】
条件ＩＤ７１は、条件を一意に識別するためのＩＤを格納する「条件ＩＤ」のレコードである。条件の種類７２、対象ノード７３は、条件ＩＤ７１で識別される条件に関するレコードであり、それぞれ順に、条件の種類を格納する「条件の種類」のレコード、条件の適用対象となるノードのＩＤを格納する「対象ノード」のレコードである。
【００４９】
対象ノードＩＤ７３と基準状態ＩＤ７４を組合せて識別されるノードは、対象ノードが作業者ノードである場合は、図４における状態ＩＤ４１とノードＩＤ４２で識別されるノードと同一であり、対象ノードが作業ノードの場合は、図５における状態ＩＤ５１とノードＩＤ５２で識別されるノードと同一である。
【００５０】
基準状態ＩＤ７４、状態基準７５、制約条件７６は、条件ＩＤ７１で識別される条件を構成する情報に関するレコードであり、それぞれ順に、計画作成条件取得装置２００が条件を受付けた際に表示していた状態を一意に識別するＩＤを格納する「基準状態ＩＤ」のレコード、条件を適用する状態を識別する際に基準となる項目を格納する「状態基準」のレコード、条件を格納する「制約条件」のレコードである。
【００５１】
制約条件７６は、条件の種類７２で識別される条件の種類によって格納する内容が異なる。本実施形態では、条件の種類７２が「リンク指定」である場合は、接続または切断するリンクのリンク元となるノードとリンク先となるノードの特徴をそれぞれ表す情報および接続または切断の指定を格納する。条件の種類７２が「計画の評価基準」である場合は、計画の評価基準に基づくリンク同士の比較基準情報および接続または切断の指定を格納する。条件の種類７２が「属性値変更」である場合は、変更する属性を識別する項目と項目に格納する値を必要分だけ格納する。条件の種類７２が「テキスト入力」である場合は、計画作成条件取得装置２００が条件として受付けた文字列をそのまま格納する。例えば、図７に示す第一レコード７７の制約条件７６は、実施可能作業数が少ないノードと該ノードとリンクを持つ任意のノードを接続することを意味する。第五レコード７８の制約条件７６は、作業者Ａを表すノードの労働終了時刻レコードの値を「１６：３０」に変更することを表す。
【００５２】
図８は、計画の評価基準情報のレコード構成と各レコードに対応するデータの一例を示す図である。計画の評価基準情報８は、作成された計画を評価する基準に関する情報を示す。計画の評価基準情報８は、評価基準名８１、関数８２から構成される。
【００５３】
評価基準名８１は、計画の評価基準を一意に識別するための評価基準名を格納する「評価基準名」のレコードである。関数８２は、評価基準名８１で識別された評価基準の値をネットワークの状態を基に計算するための関数を格納する「関数」のレコードである。
【００５４】
関数８２は、計画問題を表現したネットワークの形態に応じて異なる。本実施形態ではリンクの重みをコストとしたため、コストの合計値は、リンクの重みを基に計算し、作業者への作業の割振りをリンクの流量で表現したため、作業量の偏りはリンクの流量を基に計算する。例えば、第一レコード８３は、評価基準名８１が「コスト」であり、関数８２は、「コストの合計」で表す。「コストの合計」は、「（リンクの流量が０より大きいリンクの重みの合計）」という関数で計算することを表している。
【００５５】
本実施形態において、リンクの流量が０より大きいリンクは、割当てが決定したリンクを表すので、第一レコード８３の関数で計算される値は、計算対象のネットワーク状態が表す割当てに基づいて作業を実施する際の作業コストを表す。第二レコード８４は、評価基準名８１が「作業量」は「作業量の偏り」で表し、「作業量の偏り」は「（作業者ノードから作業ノードへのリンクの流量の偏差）」という関数で計算することを表している。
【００５６】
本実施形態において、作業者ノードから作業ノードへのリンクの流量は、計算対象のネットワーク状態が表す割当て状態において、作業者が割当てられた作業を全て実施する際の合計作業量を表す。よって、第二レコード８４で計算される値は、各作業者に割当てられた作業量の偏りを表す。
【００５７】
図９は、リンク変更履歴情報のレコード構成と各レコードに対応するデータの一例を示す図である。リンク変更履歴情報９は、計画条件を基にネットワークの状態を変化させる過程で属性や制限に変更を加えたリンクの情報を示す。リンク変更履歴情報９は、状態ＩＤ９１、リンクＩＤ９２、変更操作９３、適用条件９４から構成される。
【００５８】
状態ＩＤ９１は、変更を加えたネットワーク状態を一意に識別するためのＩＤを格納する「状態ＩＤ」のレコードである。リンクＩＤ９２は、状態ＩＤ９１において変更が加えられたリンクを識別するためのＩＤを格納する「リンクＩＤ」のレコードである。状態ＩＤ９１とリンクＩＤ９２で識別されるリンクは、図３において状態ＩＤ３１とリンクＩＤ３２で識別されるリンクと同一のものとする。変更操作９３は、状態ＩＤ９１とリンクＩＤ９２で識別されたリンクに対して実施した変更内容を格納する「変更操作」のレコードである。適用条件９４は、状態ＩＤ９１とリンクＩＤ９２で識別されたリンクを変更する際に適用した条件を識別するための情報を格納する「適用条件」のレコードである。
【００５９】
適用条件９４には、リンクの属性や制限を変更するために適用できる条件を識別できる情報を格納するものとし、本実施形態では、図６におけるリンク数の制限値情報６を示す文字列「リンク数の制限値」、または条件情報７における条件ＩＤ７１、または利用者からのリンクの接続指定を示す文字列「ユーザ指定」を格納する。
【００６０】
例えば、第一レコード９５は、状態ＩＤ「０」においてリンクＩＤ「１」で識別されるリンクを、リンク数の制限値情報６（図６参照）に基づいて接続したことを表す。第二レコード９６は、第一レコード９５の変更を実施後のネットワーク状態において、条件ＩＤ「０」に基づいてリンクＩＤ「１０」を接続したことを表す。条件ＩＤ「０」は、条件情報７（図７参照）を参照すると「実施可能作業数が少ないノードを任意のノードに接続する」という制約条件を表しているので、第二レコード９６のリンク変更は、状態ＩＤ「１」で表される割当て状態において、実施可能作業数が最も少ない作業者に作業を割振る処理を表している。また、第二レコード９６は、第一レコード９５の状態ＩＤからＩＤが一つ大きな番号となっているため、第一レコードの変更後に計画作成条件の矛盾が生じた、または適用可能な計画作成条件がない状態となり、利用者から計画作成条件の入力を受付けたことが読取れる。
【００６１】
第三レコード９７は、第二レコード９６のリンク変更を反映後の割当て状態に対して加えた変更を表し、第四レコード９８は、第三レコード９７のリンク変更を反映後の割当て状態に対して加えた変更を表す。第二レコード９６、第三レコード９７、第四レコード９８は、全て状態ＩＤ「１」におけるリンク変更となっているので、状態ＩＤ「１」が表す割当て状態では、計画作成条件の矛盾が生じたり、適用可能な計画作成条件がなくなることなく、合計三ステップの処理が進んだことを表している。
【００６２】
図１０は、リンク操作関数情報のレコード構成と各レコードに対応するデータの一例を示す図である。リンク操作関数情報１０は、ネットワーク上のリンク状態を変更させる操作を、ネットワーク表現作成部２０３で作成したネットワーク表現に反映させるための関数を格納する「リンク操作関数情報」を示す。リンク操作関数情報１０は、操作名１０１、関数１０２から構成される。
【００６３】
操作名１０１は、リンク状態に対して行う操作の名称を格納する「操作名」のレコードである。関数１０２は、操作名１０１で表される操作をネットワーク表現へ反映させるための関数を格納する「関数」のレコードである。関数１０２のレコードの内容は、計画問題を表現したネットワークの形態に応じて異なる。
【００６４】
以下に、本実施形態の処理の手順を、図２を参照して詳細に説明する。
まず、ステップＳ１１において、ネットワーク表現作成部２０３は、記憶部２１２に格納されたリンク状態情報３、作業者ノードの属性情報４、および作業ノードの属性情報５を基にネットワーク表現を作成する。
【００６５】
ステップＳ１２において、状態計算部２０４は、ネットワーク表現を基に計画対象間の関係を計算する。ここで計算の基となるネットワーク表現は、ステップＳ１２の前に実行された処理（ステップＳ１１またはステップＳ１８）に依存する。すなわち、ステップＳ１２の前にステップＳ１１を実行した場合はステップＳ１１で作成したネットワーク表現を基に計算を実行し、ステップＳ１２の前にステップＳ１８を実行した場合はステップＳ１８において作成した計画作成条件を反映させたネットワーク表現を基に計算を実行する。
【００６６】
ステップＳ１３において、状態図作成部２０８は、ネットワーク状態が示す計画対象間の関係を表す図（状態図）を作成する。作成する図は、計画問題を表したネットワーク表現に依存する。本実施形態では、作業者への作業の割振り関係は、ネットワークの作業者ノードと作業ノードとのリンクの有無を表形式で表し、作業間の実施順序はネットワークの作業ノード間のリンクの有無で表現する。図を作成する際に元となるネットワーク状態は、ステップＳ１３の前に実行した処理（ステップＳ１２またはステップＳ１６）に依存する。すなわち、ステップＳ１３の前にステップＳ１２を実行した場合は、ステップＳ１２で計算された計画対象間の関係を基に状態図を作成し、ステップＳ１３の前にステップＳ１６を実行した場合はステップＳ１６で読込んだ過去の計画対象間の関係を基に状態図を作成する。
【００６７】
ステップＳ１４において、条件受付部２０９は、ステップＳ１３で作成した状態図を基に利用者から計画作成条件を受付ける。
【００６８】
ステップＳ１５において、条件受付部２０９は、利用者から計画対象間の関係を変更前の状態に戻す指示が入力されたか判断する。戻る指示が入力された場合は（ステップＳ１５，Ｙｅｓ）、ステップＳ１６へ進み、戻る指示以外が入力された場合は（ステップＳ１５，Ｎｏ）ステップＳ１７へ進む。
【００６９】
ステップＳ１６において、状態検索部２１０は、利用者に表示した状態よりも一つ前の状態を、該状態を示す状態ＩＤ３１を検索キーとして記憶部２１２に格納したリンク状態情報３（図３参照）からリンクＩＤ３２、リンク元ノード３３、リンク先ノード３４、流量３６、重み３７を取得する。例えば、利用者に表示した状態の状態ＩＤ「１」を例にとると、状態ＩＤ「０」で識別される、リンクＩＤ「１」、リンク元ノード「１」、リンク先ノード「４」、流量「０」、重み「２」であるリンクと、リンクＩＤ「２」、リンク元ノード「１」、リンク先ノード「５」、流量「０」、重み「３」であるリンクというように、計１６行分のリンク情報を取得する。そして、ステップＳ１３へ戻る。
【００７０】
ステップＳ１７において、条件受付部２０９は、利用者から計画作成条件の構成要素の入力を受付けたかを判断し、計画作成条件の構成要素の入力を受付けた場合は（ステップＳ１７，Ｙｅｓ）、ステップＳ１８へ進み、計画作成条件の構成要素以外の入力を受付けた場合は（ステップＳ１７，Ｎｏ）、ステップＳ１９へ進む。
【００７１】
ステップＳ１８において、条件作成部２１１は、ステップＳ１４で受付けた計画作成条件の構成要素を基に計画作成条件を作成する。そして、ステップＳ１２へ戻る。
【００７２】
ステップＳ１９において、条件受付部２０９は、利用者から装置の実行を終了する指示を受付けたかを判断する。終了指示を受付けた場合は（ステップＳ１９，Ｙｅｓ）、一連の処理を終了し、終了指示を受付けていない場合は（ステップＳ１９，Ｎｏ）、ステップＳ１２へ戻る。
【００７３】
図１１は、計画対象間の状態の計算の詳細な手順を示すフローチャートである。図１１のフローチャートを用いて、状態計算部２０４がネットワーク表現を基に計画対象間の状態の計算する手順（ステップＳ１２）の詳細を説明する。
【００７４】
ステップＳ１１１において、条件検索部２０５は、ネットワーク表現に適用可能な計画作成条件を取得する。ステップＳ１１２において、状態計算部２０４はステップＳ１１１で計画作成条件が取得できたかを判断する。計画作成条件が取得できた場合は（ステップＳ１１２，Ｙｅｓ）、ステップＳ１１３へ進む。計画作成条件が取得できなかった場合は（ステップＳ１１２，Ｎｏ）、ステップＳ１１４へ進む。
【００７５】
ステップＳ１１３において、条件反映部２０６は、ステップＳ１１１で取得した計画作成条件に基づいてネットワーク上のリンク状態を変化（更新）させる。そして、ステップＳ１１４へ進む。ステップＳ１１４において、ネットワーク形状の制限反映部２０７は、ネットワーク形状に対する制限を基に現在読みこんでいるネットワーク状態を変化（更新）させる。そしてステップＳ１１５へ進む。
【００７６】
ステップＳ１１５において、状態計算部２０４は、記憶部２１２に格納されたリンク数の制限値情報６における状態ＩＤ６１と対象リンクＩＤ６２を検索キーとして合計リンク数の制限６３を取得し、取得した合計リンク数の制限にステップＳ１１４で更新されたネットワーク上のリンク状態が違反しないかを検査する。
【００７７】
利用者から入力されたリンクの選択や条件自体がリンク数の制限値に反する場合は、利用者からの入力を優先し、違反としては検出しない。例えば検査対象となるネットワーク上のリンク状態が状態ＩＤ「０」である場合、リンク数の制限値情報６（図６参照）から対象リンクＩＤ「１，２，３，４，５」と合計リンク数の制限「１に等しい」、対象リンクＩＤ「６，７，８，９」と合計リンク数の制限「１に等しい」、というようにリンク数制限値情報を計７個取得する。このうち対象リンクＩＤ「１，２，３，４，５」のリンク数の制限を例にとると、リンク状態情報３から状態ＩＤ「０」とリンクＩＤ「１」で識別されるリンクと、状態ＩＤ「０」とリンクＩＤ「２」で識別されるリンクと、状態ＩＤ「０」とリンクＩＤ「３」で識別されるリンクと、状態ＩＤ「０」とリンクＩＤ「４」で識別されるリンクと、状態ＩＤ「０」とリンクＩＤ「５」で識別されるリンクのうち、流量が０より大きいリンクは０個であるため、流量が０より大きいリンク数が「１に等しい」という制限に違反すると判断する。
【００７８】
ステップＳ１１６において、状態計算部２０４は、ステップＳ１１５で違反が検出されたかを判断する。違反が検出された場合は（ステップＳ１１６，Ｙｅｓ）、ステップＳ１１７へ進む。違反が検出されなかった場合は（ステップＳ１１６，Ｎｏ）、ステップＳ１１１へ戻る。
【００７９】
ステップＳ１１７において、状態計算部２０４は、ネットワーク状態の状態ＩＤを更新し、記憶部２１２に格納する。格納する情報はリンクの属性情報とノードの属性情報であり、本実施形態ではリンク状態情報３（図３参照）、作業者ノードの属性情報４（図４参照）、作業ノードの属性情報５（図５参照）である。例えば、状態ＩＤ「０」で識別されるネットワーク状態を基に、ステップＳ１２やステップＳ１８の各処理を実施した場合は、状態ＩＤ「１」としてリンク状態情報３に現在のネットワーク上のリンクを表すリンク元ノードＩＤとリンク先ノードＩＤと流量と重みを追加し、状態ＩＤ「１」として現在のネットワークにおける作業者ノードに基づいて作業者ノードの属性情報４を追加し、状態ＩＤ「１」として現在のネットワークにおける作業ノードに基づいて作業ノードの属性情報５を追加する。
【００８０】
図１２は、適用可能な条件を検索の詳細な手順を示すフローチャートである。図１２のフローチャートを用いて、条件検索部２０５がネットワーク表現に適用可能な条件を検索する手順（ステップＳ１１１）の詳細を説明する。
【００８１】
ステップＳ１２１において、条件検索部２０５は、記憶部２１２に格納されている条件情報７から条件ＩＤ７１を検索キーとして、条件の種類７２、対象ノード７３、基準状態ＩＤ７４、状態基準７５、および制約条件７６を取得する。ただし、条件の種類のレコードが「テキスト入力」の場合は除く。例えば、条件ＩＤ「０」とした場合を例にとると、条件情報７から条件の種類「リンク指定」、対象ノード「１，２，３」、基準状態ＩＤ「０」、状態基準「実施可能作業数，割当て量」を取得する。
【００８２】
ステップＳ１２２において、条件検索部２０５は、ステップＳ１２１で取得した条件に条件を適用する状態の指定があるかを判断する。状態の指定がある場合は（ステップＳ１２２，Ｙｅｓ）、ステップＳ１２３へ進み、状態の指定がない場合は（ステップＳ１２２，Ｎｏ）、ステップＳ１２６へ進む。本実施形態では、ステップＳ１２１で取得した条件の状態基準７５に値が指定されている場合に状態の指定があるものとみなす。
【００８３】
ステップＳ１２３において、条件検索部２０５は、ステップＳ１２１で取得した条件の適用基準を得るため、ステップＳ１２１で取得した条件の対象ノード７３、基準状態ＩＤ７４、および状態基準７５を検索キーとして、記憶部２１２に格納された作業者ノードの属性情報４（図４参照）、作業ノードの属性情報５（図５参照）、および計画の評価基準情報８（図８参照）を検索し、状態基準値を取得する。ここで取得した状態基準値が関数であった場合は、基準状態ＩＤ７４を検索キーとして、記憶部２１２に格納されたリンク状態情報３（図３参照）からリンク情報を取得し、取得したリンク情報を上記で状態基準値として取得した関数に代入し、値を算出する。
【００８４】
例えば、ステップＳ１２１において条件ＩＤ「０」で取得した条件を例にとると、この条件情報の基準状態ＩＤは「０」、状態基準は「実施可能作業数，割当て量」、対象ノードは「１，２，３」であるため、状態基準の一つである「実施可能作業数」レコードを保持する作業者ノードの属性情報４から状態ＩＤ「０」とノードＩＤ「１」を検索キーとして、実施可能作業数「（実施可能作業数）＝（ノードＩＤ１とつながっているノードの数）」を取得する。同様にノードＩＤ「２」と「３」の実施可能作業数４８もそれぞれ取得する。また、状態基準のもう一方である「割当て量」レコードを保持する作業者ノードの属性情報４から状態ＩＤ「０」とノードＩＤ「１」を検索キーとして、割当て量「（割当て量）＝（ノードＩＤ１とつながっている流量が０より大きいリンクの数）」を取得する。同様にノードＩＤ「２」と「３」の割当て量レコード４９もそれぞれ取得する。ここで取得した実施可能作業数と割当て量は関数であるので、基準状態ＩＤ「０」を検索キーとしてリンク状態情報３からリンク情報を取得し、取得したリンク情報を基に対象ノードの実施可能作業数と割当て量をそれぞれ算出する。
【００８５】
また、例えば、条件の対象ノードの一つであるノードＩＤ「１」の実施可能作業数を例にとると、実施可能作業数「（実施可能作業数）＝（ノードＩＤ１とつながっているノードの数）」であるので、取得したリンク情報のうちリンク元ノード３３が「１」、流量３６が０以上であるリンクの数と、該リンクのリンク先ノード３４の値がリンク元ノード３３の値と同一であり、かつ、流量３６が０以上のリンクの数、というように、他のノードを介してでもつながっている流量３６が０以上のリンクの数を合計した値を算出する。
【００８６】
ステップＳ１２４において、条件検索部２０５は、ステップＳ１２１で取得した条件の状態基準７５に格納された項目の値を基に、ステップＳ１２３で取得したリンク情報と現在のネットワーク上のリンク情報の類似度を算出する。例えば、ステップＳ１２１で条件ＩＤ「０」として取得した条件を例にとると、状態基準「実施可能作業数，割当て量」となるので、ステップＳ１２３で取得した実施可能作業数４８の値と同じくステップＳ１２３で取得した割当て量レコード４９の値を、現在のネットワーク上のリンク情報を用いて計算した実施可能作業数４８の値と割当て量レコード４９の値と比較し、類似度合いを計算する。
【００８７】
ステップＳ１２５において、条件検索部２０５は、ステップＳ１２４で計算した類似度合いが閾値以上であるか判断する。閾値以上である場合は（ステップＳ１２５，Ｙｅｓ）、ステップＳ１２６へ進み、それ以外の場合は（ステップＳ１２５，Ｎｏ）、ステップＳ１２１へ戻る。
【００８８】
ステップＳ１２６において、条件検索部２０５は、ステップＳ１２５で状態基準との類似度が閾値以上であると判断された条件の条件情報を選別し、保持する。
【００８９】
ステップＳ１２７において、条件検索部２０５は、記憶部２１２に格納されている条件情報７のレコードを全て検索したかを判別する。全ての情報を検索済みである場合は（ステップＳ１２７，Ｙｅｓ）、処理手順１１１を終了とし、検索済みでない場合は（ステップＳ１２７，Ｎｏ）、ステップＳ１２１へ戻る。
【００９０】
図１３は、条件に基づくネットワーク状態の更新の詳細な手順を示すフローチャートである。図１３のフローチャートを用いて、条件反映部２０６が条件に基づいてネットワーク状態を更新する手順（ステップＳ１１３）の詳細を説明する。
【００９１】
ステップＳ１３１において、条件反映部２０６は、ステップＳ１１１で検索した条件情報のうちの一つを選択する。
【００９２】
ステップＳ１３２において、条件反映部２０６は、ステップＳ１３１で選択した条件を適用する対象を取得する。取得手順は条件の種類７２に応じて異なり、条件の種類が「リンク指定」である場合は現在読込んでいる作業者ノードの属性情報４（図４参照）または作業ノードの属性情報５（図５参照）から、条件の対象ノード７３に格納されたＩＤをノードＩＤ４２またはノードＩＤ５２に対する検索キーとし、条件の制約条件７６に記述されている属性名を各レコード名に対する検索キーとして、該属性名をレコードとしてもつノードの属性情報を取得し、取得した属性情報を基に制約条件７６に記述されている条件に適合するノードを選択する。
【００９３】
制約条件７６に属性名ではなくノードＩＤが記述されている場合は、ノードＩＤを検索キーとしてノードを取得する。また、条件の種類７２の値が「計画の評価基準」である場合は、制約条件７６に記述されている評価基準名を基に、計画の評価基準情報８から評価基準名８１を検索キーとして評価値を計算する関数を取得し、取得した関数の値を制約条件７６に記述されている条件に適合させるようなリンクを、現在のネットワーク上のリンクのうち条件の対象ノード７３をリンク元ノードまたはリンク先ノードとするリンクの中から選択する。
【００９４】
条件の種類が「属性値の変更」である場合は、現在読込んでいる情報のうち、制約条件７６に記述された対象名で識別されるノードを取得する。例えば、現在読みこんでいるネットワークが状態ＩＤ「０」であり、条件ＩＤ「０」を選択した場合を例とすると、対象ノード「１，２，３」のうちの一つである対象ノード「１」と制約条件７６に記述された「実施可能作業数」を検索キーとして作業者ノードの属性情報４から実施可能作業数「（実施可能作業数）＝（ノードＩＤ１とつながっているノードの数）」を取得する。
【００９５】
同様に、対象ノード「２」と「実施可能作業数」、対象ノード「３」と「実施可能作業数」をそれぞれ検索キーとして作業者のノード属性情報を取得する。取得した実施可能作業数４８は関数なので、取得した個々の関数と現在読みこんでいるネットワーク上のリンク状態を基に個々の値を計算すると、対象ノード「１」、「２」、「３」それぞれ、計「５」、「４」、「２」となり、計算した値を比較することで制約条件「実施可能作業数が少ないノード」を満たすノードＩＤ「３」を取得する。
【００９６】
また、制約条件７６のリンク先ノードを構成するノードは「任意」となっているため、現在読みこんでいるネットワーク上において上記で取得したノードＩＤ「３」と直接リンクが存在するノード「７」を選択する。また、現在読みこんでいるネットワークが状態ＩＤ「０」であり、条件ＩＤ「３」であった場合を例とすると、制約条件「（（コストの合計），小，接続）」のリンク選択基準の基準値を記述する「コストの合計」を検索キーとして計画の評価基準情報８から関数「（コストの合計）＝（リンクの流量が０より大きいリンクの重みの合計）」を取得する。現在のネットワーク状態を基に、取得した関数の値が制約条件のリンク選択基準「（（コストが小さい），接続）」つまり、コストの合計を小さくするという基準に適合するように、対象ノードを含むリンクからリンクを選択する。また、現在読みこんでいるネットワークが状態ＩＤ「０」であり、条件ＩＤ「４」であった場合を例とすると、現在読込んでいる情報から制約条件「（作業者Ａ，労働終了時刻，  １６：３０）」に記述された計画対象名「作業者Ａ」を取得する。
【００９７】
ステップＳ１３３において、条件反映部２０６は、ステップＳ１３１で取得した条件を基にネットワーク状態を変更する。変更手順は条件の種類７２に応じて異なり、条件の種類が「リンク指定」または「計画の評価基準」である場合は、制約条件７６に記述された操作名を検索キーとしてリンク操作関数情報１０から関数１０２を取得し、取得した関数を基にステップＳ１３２で取得した条件の適用対象に変更を加えることで、現在読込んでいるネットワークの状態を変化させ、変化させたリンクの情報を記憶部２１２に格納されたリンク変更履歴情報９に追加する。
【００９８】
条件の種類が「属性値の変更」である場合は、ステップＳ１３２で取得した計画対象名で識別されるノードの、ステップＳ１３１で取得した条件に記述された属性値を、制約条件７６に記述された値に変更する。例えば、条件ＩＤ「０」である場合、条件情報７の制約条件「接続」を検索キーとしてリンク操作関数情報１０から関数「（リンクの流量）＝（リンク先の作業ノードの容量）」を取得する。現在読込んでいるネットワーク状態を状態ＩＤ「０」とすると、ステップＳ１３２の例で取得したノードＩＤ「３」をリンク元ノードとし、同じくステップＳ１３２で取得したノードＩＤ「７」をリンク先ノードとするリンクの流量レコードを「０」からリンク先ノード「７」の容量である「４５」に変更し、該リンクの状態確定レコードを「１」に変更する。また、条件ＩＤ「４」である場合、作業者Ａを表す作業ノードの労働終了時刻レコードを１６：３０に変更する。
【００９９】
ステップＳ１３４において、条件反映部２０６は、ステップＳ１３３で変更したネットワーク状態に対して、リンク操作関数情報１０の操作名「更新」を検索キーとし、関数１０２を取得し、取得した関数を基にネットワーク状態を更新する。例として、ステップＳ１３３の例で取り上げた状態ＩＤ「０」におけるリンクＩＤ「１０」のリンク情報の更新を例に説明する。
【０１００】
リンク操作関数情報１０から「更新」を検索キーとして関数「作業者ノードと作業ノードのリンクの場合：（リンクの流量）＝（作業者ノードとつながっている作業ノードの流量の合計）、作業ノード間のリンクの場合：（リンクの流量）＝（リンク先の作業ノードの容量）」を取得する。状態ＩＤ「０」、リンクＩＤ「１０」で識別されるリンクは作業者ノードと作業ノードとのリンクにあたるので、関数「（リンクの流量）＝（作業者ノードとつながっている作業ノードの流量の合計）」を適用し、ネットワーク上の該リンクの流量をノードＩＤ「３」とつながる作業ノードの流量の合計値「４５」とする。
【０１０１】
ステップＳ１３５において、条件反映部２０６は、ステップＳ１１１で検索した全ての条件を処理したか判断する。全ての条件を処理した場合は（ステップＳ１３５，Ｙｅｓ）、ステップＳ１１３の処理を終了し、全ての条件を処理していない場合は（ステップＳ１３５，Ｎｏ）、ステップＳ１３１へ戻る。
【０１０２】
図１４は、ネットワーク形状に基づく状態の更新の詳細な手順を示すフローチャートである。図１４のフローチャートを用いて、ネットワーク形状の制限反映部２０７がネットワーク形状の制限を基にネットワーク状態を変更する手順（ステップＳ１１４）の詳細を説明する。
【０１０３】
ステップＳ１４１において、ネットワーク形状の制限反映部２０７は、記憶部２１２に格納されたリンク数の制限値情報６（図６参照）から、現在読込んでいるネットワーク状態の状態ＩＤを状態ＩＤ６１に対する検索キーとして、対象リンクＩＤ６２と合計リンク数の制限６３を取得する。
【０１０４】
ステップＳ１４２において、ネットワーク形状の制限反映部２０７は、ステップＳ１４１で取得したリンク数の制限値情報と現在のネットワーク上のリンク状態を基に、リンクの接続または切断が一意に決まるリンクを抽出する。リンクの状態が一意に決まるかどうかは、リンク数の制限値情報６の対象リンクＩＤ６２に含まれるリンクのうち、状態が確定しているリンクの接続状態と合計リンク数の制限６３によって判断する。
【０１０５】
例えば、現在読込んでいるネットワーク状態が状態ＩＤ「０」であり、リンクＩＤ「１０」のみが状態確定、つまり状態確定３５が「１」であり、流量３６が「４５」であった場合を例にとると、状態ＩＤ「０」で識別されるリンク数の制限値情報６のうち、リンクＩＤ「１０」を対象リンクＩＤ６２に含むものは、図６の第三レコード（３行目）と第十レコード（１０行目）の情報である。３行目の対象リンクＩＤは、他にリンクＩＤ「１１」を含んでおり、合計リンク数の制限６３は「１に等しい」とある。この制限は接続状態のリンク数が１本のみであることを表しており、リンクＩＤ「１０」は状態が確定しており、流量レコードが０より大きいので接続状態が確定している。よって、リンクＩＤ「１１」は切断が確定となる。１０行目も同様に、対象リンクＩＤに格納されているリンクＩＤ「４」、リンクＩＤ「８」、リンクＩＤ「１３」の切断が確定となる。
【０１０６】
ステップＳ１４３において、ネットワーク形状の制限反映部２０７は、ステップＳ１４２でリンクが抽出されたか判断する。リンクが抽出された場合は（ステップＳ１４３，Ｙｅｓ）、ステップＳ１４４へ進み、抽出されない場合は（ステップＳ１４３，Ｎｏ）、ステップＳ１１４の処理を終了する。
【０１０７】
ステップＳ１４４において、ネットワーク形状の制限反映部２０７は、ステップＳ１４２において抽出されたリンクの状態を変更し、変更したリンクのリンク情報と適用条件を記憶部２１２に格納されたリンク変更履歴情報９に追加する。このとき、適用条件９４にはリンク数の制限による変更であることが判別できる内容を格納する。リンク状態の変更は、ステップＳ１４２で一意に決まると判断したリンク状態、つまり「接続」または「切断」を検索キーとして、記憶部２１２に格納されたリンク操作関数情報１０から関数１０２を取得し、取得した関数と現在のネットワーク状態を基に流量を計算することで実行する。
【０１０８】
例えば、リンクＩＤ「１１」はステップＳ１４２において切断状態が確定すると判断されたので、「切断」を検索キーとしてリンク操作関数情報１０から関数「（リンクの流量）＝０」を取得し、取得した関数に基づいて現在のネットワーク上のリンクＩＤ「１１」で識別されるリンクの流量を０として格納し、状態確定レコードに「１」を格納する。
【０１０９】
ステップＳ１４５において、ネットワーク形状の制限反映部２０７は、ステップＳ１４４で変更したネットワーク状態に対して、リンク操作関数情報１０の操作名「更新」を検索キーとし、関数１０２を取得し、取得した関数を基にネットワーク状態を更新する。そして、ステップＳ１４１へ戻る。
【０１１０】
図１５は、計画作成条件の受付の詳細な手順を示すフローチャートである。図１５のフローチャートを用いて、条件受付部２０９がネットワーク状態を基に利用者から計画作成条件を受付ける手順（ステップＳ１４）の詳細を説明する。
【０１１１】
ステップＳ１５１において、条件受付部２０９は、ステップＳ１３で作成した計画対象間の状態図と計画対象の属性情報と表示した状態に至るまでに適用した計画作成条件の履歴情報を、表示部２１３を用いて利用者に表示する。表示画面の例を図１６と図１７に示す。
【０１１２】
図１６は、計画対象間の状態図画面を示す説明図である。図１６（ａ）は計画対象間の関係図と各操作を受付けるための画面である。画面（またはウィンドウ）１６０１には、「作業者と作業の関係」のラベル１６０３、作業者への作業の割振り状況を表形式で表現した図１６０２、「作業間の関係」のラベル１６０５、作業間の実施順序をネットワーク形式で表現した図１６０４、計画対象の属性値を確認するためのボタン１６０６、表示している計画対象間の関係を作成するまでに適用した計画作成条件（適用条件）の履歴を確認するボタン１６０７、表示している状態の一つ前に表示した状態を表示するための戻るボタン１６０８、表示している状態から一つ先の状態を表示するための次へボタン１６０９、条件を作成する（条件を生成する）ための画面を表示する条件生成ボタン１６１０、および終了ボタン１６１１を有している。
【０１１３】
図１６０２の見方は、表中の無地の黒いマス（網掛けのマス）が割当て候補を表し、斜線のマスは割当てが確定状態であること、表中の無地の白いマスは割当て不可であることを表している。
【０１１４】
例えば、１行２列目のマスは、作業者Ａは作業ｂの割当て候補であることを表し、１行１列目のマスは作業者Ａへの作業ａの割当てが確定しことを表している。２列目は２行目のマスも黒いマスであるので、図１６（ａ）に表示した状態においては、作業ｂに作業者Ａと作業者Ｂが割当て候補としてあがっていることを表している。
【０１１５】
図１６０４の見方は、各ノードが作業を表し、ノードの近くに表示された文字列がそのノードが現している計画対象の名称である。ノード間のリンクは、作業の実施順序を表しており、リンク元のノードが表す作業を先に実施し、リンク先のノードが表す作業をその後に実施することを表している。
【０１１６】
例えば、図１６（ａ）に示した図においては、作業ａを先に実施し、その後に実施する作業の候補として作業ｂ、作業ｃ、作業ｄ、作業ｅがあがっていることを示している。
【０１１７】
戻るボタン１６０８は、表示している状態を利用者が気に入らず、手動で計画作成をやり直す場合に利用するためのものである。次へボタン１６０９は、表示している状態から一つ先の状態を表示するためのボタンであり、このボタンは利用者が計画対象間の関係の選択や条件の入力をせずに、計画作成条件取得装置２００に次の計画対象の関係の選択を任せる場合に使用するためのものである。
【０１１８】
図１６（ａ）に示した画面中の図１６０２、図１６０４は、計画作成条件取得装置２００が計画作成条件を取得しながら計画を作成していく過程を示す図であるため、計画作成条件取得の実行が進行するうちに、変化していく。
【０１１９】
例として、図１６（ａ）の１６０２の変化の例を図１６（ｂ）および図１６（ｃ）に示す。図１６（ｂ）は、図１６（ａ）の状態に対して、利用者から制約条件「実施可能作業数が少ない作業者に作業を割当てる」をネットワーク表現で表した「実施可能作業数が少ないノードに任意のノードを接続する」という条件を受付け、任意の作業として作業ｄを選択した場合を示している。図１６（ａ）の状態では、作業者Ｃが最も実施可能作業数が少ないので、状態計算部２０４は作業者Ｃへ任意の作業、ここでは作業ｄを割当てる。リンク数の制限値情報６からリンクの本数の制限を参照し、リンク数の制限値情報６で指定されているリンクの構成ノードをリンク状態情報３から特定すると、作業ｄを表すノードＩＤ「８」へのリンク数の制限値が「１に等しい」となっている。よって、状態計算部２０４は作業ｄへの割当て候補であった作業者Ａと作業者Ｂそれぞれのノードから、作業ｄのノードへのリンクを切断する。他に適用可能な計画作成条件がない場合、条件受付部２０９は状態計算部２０４の処理結果を基にした状態図として図１６（ｂ）を表示する。
【０１２０】
図１６（ｃ）は、図１６（ｂ）の状態に対して、利用者から制約条件「作業者Ｃへ作業ｅは割当てない」をネットワーク表現で表した、「ノードＩＤ３からノードＩＤ８へのリンクを切断する」という条件を受付けた場合を示している。状態計算部２０４は、ノードＩＤ３からノードＩＤ８へのリンクを切断する処理を行い、条件受付部２０９は状態計算部２０４の処理結果を基にした状態図として図１６（ｃ）を表示する。
【０１２１】
図１７は、計画対象間の属性値画面および条件適用履歴画面を示す説明図である。図１７（ａ）は、計画対象の属性値を表示する画面である。画面（またはウィンドウ）１７０１には、ラベル１７０２，１７０３、属性値を表示した表１７０４，１７０５を有している。
【０１２２】
ラベル１７０２，１７０３は、それぞれ「作業者の属性値」と「作業の属性値」のラベルであり、属性値を表示する計画対象の種類を識別できるラベルを表示する。表１７０４、１７０５は、それぞれ、異なる種類の計画対象の属性値を表示した表であり、同じ種類の計画対象をまとめながら、その種類に属する計画対象の属性値を全て表示する。本実施形態では、計画対象の種類は作業者と作業となるので、記憶部２１２に格納された作業者の属性情報４（図４参照）、作業の属性情報５（図５参照）をそれぞれ表示する。表示にあたっては、属性情報の項目に関数が格納されている場合は画面に表示しているネットワーク状態を基に関数値を計算し、計算した値を表示する。
【０１２３】
図１７（ｂ）は、表示している状態を作成する過程で適用した計画作成条件の履歴を表示する画面である。画面（またはウィンドウ）１７１０には、ラベル１７１１、履歴を表示した表１７１２を有している。
【０１２４】
ラベル１７１１は、「条件適用履歴」のラベルであり、表１７１２は、条件適用履歴情報である。この条件適用履歴は、記憶部２１２に格納されたリンク変更履歴情報９を基に表示する。表示にあたっては、条件を適用したリンクと適用した条件を判別できるよう、リンクＩＤ９２を、状態ＩＤ９１とリンクＩＤ９２で識別されるリンクのリンク元ノードの名称とリンク先ノードの名称に置き換えて表示し、適用条件９４に条件ＩＤを格納している場合は条件情報７から該条件ＩＤで識別される条件の制約条件７６の内容に置き換えて表示する。
【０１２５】
図１５に戻り、ステップＳ１５２において、条件受付部２０９は、ステップＳ１５１で表示した画面を開始画面とし、利用者の知識の受付けとして、入力部２１４を介して利用者から計画対象間の関係の選択または計画作成条件またはその両方を受付ける。計画対象間の関係の選択の受付け方法と計画作成条件の受付け方法を説明する。
【０１２６】
計画対象間の関係の選択は、計画対象間の関係を表す図を介して受付ける。本実施形態では、図１６（ａ）に示す図１６０２の表形式の図、または、図１６０４のネットワーク形式の図を介して選択を受付ける。例えば、作業者Ａへの作業ａの割振りを入力する場合は、図１６０２の作業者Ａの行と作業ａの列が交差するマスを利用者に選択してもらい、作業ａの後に作業ｂを実施するという作業の実施順序を入力する場合は、図１６０４の作業ａノードをリンク元とし、作業ｂノードをリンク先とするリンクを利用者に選択してもらう。
【０１２７】
計画作成条件の入力は、制約条件の入力と共に、制約条件を適用する状態の判別基準となる情報を受付ける。制約条件を適用する状態の判別基準とは、ＩＦ−ＴｈｅｎルールのＩＦの部分に相当し、制約条件を適用するかどうかを判別する基準を計画対象の状態で表したものである。制約条件を適用する状態の判別基準と制約条件の受付け画面の例を図１８に示し、それぞれの受付け方法を説明する。
【０１２８】
図１８は、制約条件を適用する状態の判別基準と制約条件の受付け画面を示す説明図である。図１８において、画面（またはウィンドウ）１８０１には、ラベル１８０２，１８０３，１８０４，１８０５で示される状態判別基準の選択、リンク選択基準の選択、属性値の変更、テキスト入力、および登録ボタン１８３１を有する。
【０１２９】
ラベル１８０３，１８０４，１８０５は、それぞれ、「状態判別基準」のラベル、「リンク選択基準」のラベル、「属性値の変更」のラベル、「テキスト入力」のラベルである。
【０１３０】
条件を適用する状態の判別基準は、計画対象の状態で表すので、判別基準となるノードの選択と、選択されたノードの属性のうち、基準とする属性の選択を受付ける。または、個々の計画対象の選択基準ではなく、計画対象全体で表現される基準を受付ける。
【０１３１】
前者の基準は、基準１８０６，１８０７，１８０８を介して入力を受付け、後者の基準は、基準１８０９を介して受付ける。基準１８０６は、計画対象の名称を全て表示し、基準１８０７，１８０８には、計画対象の属性情報を全て表示し、基準１８０９には、計画の評価基準を全て表示する。本実施形態では、基準１８０６には、記憶部２１２に格納された作業者ノードの属性情報４の名称４３と作業ノードの属性情報５の名称５３を表示する。基準１８０７には、作業者ノードの属性情報４の属性情報を全て表示し、基準１８０８には作業ノードの属性情報５の属性情報を全て表示する。基準１８０９には、計画の評価基準情報８の評価基準名８１を全て表示する。
【０１３２】
条件の入力方法には、条件の種類に応じて３種類ある。一つは計画対象間の関係を制限する条件であり、計画問題をネットワーク表現として表した場合、接続または切断するリンクを選択するための条件である。本実施形態では、選択するリンクを構成するリンク元ノードの選択条件とリンク先ノードの選択条件の入力を受付ける（前者）。またはリンク同士の比較に基づく選択条件を受付ける（後者）。前者は項目１８１０，１８１２，１８１３，１８１４，１８１６，１８１７を介して受付け、後者は項目１８１８，１８１９を介して受付ける。
【０１３３】
計画対象の選択条件は、計画対象の属性値の比較で表される。このため、項目１８１０は、計画対象の属性情報、ノードを指定しない「任意」、個々のノードを指定する計画対象の名称を列挙する。スクロールバー１８１１は、項目１８１０に列挙した項目が表示範囲に表示し切れなかった場合に隠れている部分を表示するためのスクロールバーである。項目１８１２は、項目１８１０で指定した属性値の比較関係を表し、属性値が大きいものを選択するか小さいものを選択するかの入力を受付ける。項目１８１３は、項目１８１０と項目１８１２の組合せで表現されるリンク元ノードの選択条件を複数入力する場合に、条件間の関係である論理和「または」と論理積「かつ」を受付ける。
【０１３４】
同様に、項目１８１４、スクロールバー１８１５、項目１８１６、項目１８１７は、リンク先のノードの選択条件を受付け、それぞれ、項目１８１０、スクロールバー１８１１、項目１８１２、項目１８１３に同じであるので説明を省略する。
【０１３５】
項目１８１８は、計画対象の選択ではなく計画対象間の関係を選択する条件の入力を受付ける項目であり、リンクの属性情報を表示する。ただし、リンクを識別するための情報は除くため、本実施形態ではリンク状態情報３の流量３６と重み３７を表示するものとし、表示内容はそれぞれのレコードで表現している内容を示す文字列「作業量」と「コスト」とする。この表示内容は計画問題のネットワーク表現によって異なる。
【０１３６】
項目１８１９は、項目１８１８で選択した属性値が大きいものを選択するか小さいものを選択するかの入力を受付ける。項目１８２０は、項目１８１０，１８１２，１８１３，１８１４，１８１６，の入力で表された条件、または、項目１８１８，１８１９で表された条件によって選択されるリンクを、接続するか切断するかの入力を受付ける。なお、接続は、作業者に作業を割当てるまたは作業間の実施順序をつけることを意味し、切断はその逆を意味する。
【０１３７】
項目１８２１は、リンク選択条件を固定するための入力を受付ける項目群であり、項目１８２２とボタン１８２３で構成される。項目１８２２は、複数の条件を組合せてリンク選択条件を作成する場合に選択する項目であり、条件の論理和「かつ」を受付ける。ボタン１８２３は、入力されたリンク選択条件を計画作成条件の構成要素として保持するためのボタンである。項目１８２２を指定し、ボタン１８２３を選択した（押下した）場合は、図１８の画面が更新され、新たにリンク選択条件が入力可能となり、最終的に作成される条件はそれまでに入力された条件を論理和で結合した条件となる。
【０１３８】
二つ目の条件の入力方法は、計画対象の属性値を変更する条件の入力である。ラベル１８２４は、入力欄１８２５に入力する内容を表す「対象」ラベルであり、入力欄１８２５は、属性値を変更する対象名の入力を受付ける。ラベル１８２６は、入力欄１８２７に入力する内容を表す「属性名」ラベルであり、入力欄１８２７は、属性値を変更する属性名の入力を受付ける。ラベル１８２８は、入力欄１８２９に入力する内容を表す「値」ラベルであり、入力欄１８２９は、変更した後の属性値の入力を受付ける。
【０１３９】
三つ目の条件の入力方法は、前記二つの条件には当てはまらない条件の入力であり、入力欄１８３０を介して受付ける。入力欄１８３０は、テキスト形式で条件の自由な記述を受付ける。この形式で入力された条件は履歴として計画作成条件取得装置２００に記憶されるが、計画対象間の関係の変化には反映されない。
【０１４０】
登録ボタン１８３１は、条件の入力を終了し、計画作成条件取得装置２００が入力された条件の処理を開始するためのボタンである。
【０１４１】
図１９は、計画作成条件の作成の詳細な手順を示すフローチャートである。図１９のフローチャートを用いて、条件作成部２１１がステップＳ１４で受付けた計画作成条件の構成要素を基に計画作成条件を作成する手順（ステップＳ１８）の詳細を説明する。
【０１４２】
ステップＳ１９１において、条件作成部２１１は、制約条件が入力されたかを判断する。制約条件が入力された場合は（ステップＳ１９１，Ｙｅｓ）、ステップＳ１９２へ進み、制約条件が入力されない場合は（ステップＳ１９１，Ｎｏ）、ステップＳ１９６へ進む。
【０１４３】
ステップＳ１９２において、条件作成部２１１は、状態判別基準が入力されたか判断する。状態判別基準が入力された場合は（ステップＳ１９２，Ｙｅｓ）、ステップＳ１９３へ進み、状態判別基準が入力されていない場合は（ステップＳ１９２，Ｎｏ）、ステップステップＳ１９４へ進む。
【０１４４】
ステップＳ１９３において、条件作成部２１１は、現在保持している計画対象の属性値やリンク状態を基に、利用者から状態判別基準として入力された属性の値を抽出する。入力された状態判別基準が計画の評価基準である場合は、計算が必要なため、記憶部２１２に格納された計画の評価基準情報８を基に計算する。
【０１４５】
ステップＳ１９４において、条件作成部２１１は、利用者から入力された制約条件と状態判別基準を基に計画作成条件を作成する。本実施形態では、状態判別基準を対象レコード、基準状態ＩＤレコード、状態基準レコードで表す。対象レコードは、図１８に示した画面を介して基準１８０６に入力された内容を格納し、基準状態ＩＤレコードは、図１６（ａ）に示した画面に表示した計画対象間の関係を示す状態ＩＤを格納し、状態基準レコードは、図１８に示した画面を介して、基準１８０７，１８０８，１８０９に入力された内容を格納する。制約条件は、条件の種類に応じて参照しやすいような定形に変換する。
【０１４６】
本実施形態では、条件の種類がリンク選択基準であり、リンク元ノードとリンク先ノードの選択条件により入力された場合は、「（リンク先元ノードの選択条件，リンク先ノードの選択条件，操作）」で表現する。リンク選択基準の条件がリンクの選択条件により入力された場合は、「（リンクの選択条件，操作）」で表現する。操作の部分は接続または切断が入るものとする。また、条件の種類が属性値の変更である場合は、「（対象名，属性名，値）」で表現する。条件がテキスト入力の場合は、入力された内容を文字列としてそのまま表現する。
【０１４７】
ステップＳ１９５において、条件作成部２１１は、ステップＳ１９４で作成された計画作成条件を記憶部２１２に格納された条件情報７へ追加する。
【０１４８】
ステップＳ１９６において、条件受付部２０９は、計画作成を進めるための計画対象間の関係の指定が利用者から入力されたかを判断する。計画対象間の関係の指定が入力された場合は（ステップＳ１９６，Ｙｅｓ）、ステップＳ１９７へ進み、計画対象間の関係の指定が入力されていない場合は（ステップＳ１９６，Ｎｏ）、ステップＳ１８の処理を終了する。
【０１４９】
ステップＳ１９７において、条件作成部２１１は、入力された計画対象間の関係の指定を記憶部２１２に格納されたリンク変更履歴情報９（図９参照）へ追加する。
【０１５０】
ステップＳ１９８において、条件作成部２１１は、入力された計画対象間の関係の指定を、記憶部２１２に格納されたリンク操作関数情報１０（図１０参照）を用いてネットワーク上のリンク状態に反映させる。例えば、「接続」指定であった場合は操作名「接続」を検索キーに記憶部２１２に格納されたリンク操作関数情報１０から関数を取得し、取得した関数を基に指定された計画対象間の関係に該当するリンクの流量を算出し、算出した値を該リンクの流量とし、該リンクの状態確定を「１」とする。
【０１５１】
本実施形態の計画作成条件取得装置２００は、計画対象の属性と計画対象間の関係を表現したネットワーク表現を作成するネットワーク表現作成部２０３と、ネットワーク表現と記憶手段に格納した計画対象間の制限を基に計画対象間の関係の状態情報を計算する状態計算部２０４と、状態情報に基づいて状態図を作成する状態図作成部２０８と、状態図を表示手段に提示し、計算された計画対象間の関係を基に利用者から作成条件の指定を受付ける条件受付部２０９と、受付けた作成条件をネットワーク表現のリンク操作に変換して記憶手段に格納し、受付けた作成条件をネットワーク表現に反映する条件作成部２１１と、計画対象間の関係の指定を反映したネットワーク表現と記憶手段に格納された作成条件を基に計画対象間の関係の状態情報を修正して計算する修正状態計算手段（例えば、状態計算部２０４）と、を具備する。
【０１５２】
本実施形態の計画作成条件取得装置２００は、記憶手段に格納された計画対象をノードとし、計画対象間の割振り可否の関係および実施順序をノード間のリンクで表し、計画対象間の関係を制限する制約条件をリンクの属性およびリンクの数の制限で表したネットワーク表現を作成するネットワーク表現作成部２０３と、ネットワーク表現のリンクの接続状態を、制約条件に基づいて更新し、制約条件に適用可能な条件がない場合または条件の矛盾が生じる場合に利用者へ提示するために、更新させた計画対象間の割当て可否の関係や実施順序を計算する状態計算部２０４と、計算された結果を基に利用者から新たな制約条件とその制約条件の適用の是非を判断するための基準となる計画対象の属性や計画対象の割当て関係や実施順序の項目指定を条件適用基準として受付ける条件受付部２０９と、受付けた新たな制約条件と条件適用基準を作成条件として記憶手段に追加する条件作成部２１１と、記憶手段に格納した作成条件に基づいてネットワーク表現上のリンクの接続状態を修正して計算する修正状態計算手段（例えば、状態計算部２０４）と、修正して計算させた結果を提示し、新たに作成条件を受付ける修正条件受付手段（例えば、条件受付部２０９）と、を具備する。
【０１５３】
本発明によれば、計画作成者が計画作成途中に用いている制約条件と制約条件を適用した際の割当て状態と制約条件の適用可否の判断基準の履歴を取得できる。これにより、計画作成者が意図する計画に近い計画となるよう最適化した計画を自動提案する装置を作成するための、制約条件と条件適用基準で表された計画作成条件を取得することができる。
【図面の簡単な説明】
【０１５４】
【図１】計画作成条件取得装置の構成を示すブロック図である。
【図２】計画作成条件取得装置の基本的な動作手順を示すフローチャートである。
【図３】リンク状態情報のレコード構成と各レコードに対応するデータの一例を示す図である。
【図４】作業者ノードの属性情報のレコード構成と各レコードに対応するデータの一例を示す図である。
【図５】作業ノードの属性情報のレコード構成と各レコードに対応するデータの一例を示す図である。
【図６】リンク数の制限値情報のレコード構成と各レコードに対応するデータの一例を示す図である。
【図７】条件情報のレコード構成と各レコードに対応するデータの一例を示す図である。
【図８】計画の評価基準情報のレコード構成と各レコードに対応するデータの一例を示す図である。
【図９】リンク変更履歴情報のレコード構成と各レコードに対応するデータの一例を示す図である。
【図１０】リンク操作関数情報のレコード構成と各レコードに対応するデータの一例を示す図である。
【図１１】計画対象間の状態の計算の詳細な手順を示すフローチャートである。
【図１２】適用可能な条件を検索の詳細な手順を示すフローチャートである。
【図１３】条件に基づくネットワーク状態の更新の詳細な手順を示すフローチャートである。
【図１４】ネットワーク形状に基づく状態の更新の詳細な手順を示すフローチャートである。
【図１５】計画作成条件の受付の詳細な手順を示すフローチャートである。
【図１６】計画対象間の状態図画面を示す説明図である。
【図１７】計画対象間の属性値画面および条件適用履歴画面を示す説明図である。
【図１８】制約条件を適用する状態の判別基準と制約条件の受付け画面を示す説明図である。
【図１９】計画作成条件の作成の詳細な手順を示すフローチャートである。
【符号の説明】
【０１５５】
２００    計画作成条件取得装置
２０１    メモリ
２０２    プログラム
２０３    ネットワーク表現作成部（ネットワーク表現手段）
２０４    状態計算部（状態計算手段、または、修正状態計算手段）
２０５    条件検索部
２０６    条件反映部
２０７    ネットワーク形状の制限反映部
２０８    状態図作成部（状態図作成手段）
２０９    条件受付部（条件受付手段、または、修正条件受付手段）
２１０    状態検索部
２１１    条件作成部（条件作成手段）
２１２    記憶部
２１３    表示部
２１４    入力部
２１５    ＣＰＵ
２１６    通信部
２１７    データバス
【図１】
2009064390.tif 000003
【図２】
2009064390.tif 000004
【図３】
2009064390.tif 000005
【図４】
2009064390.tif 000006
【図５】
2009064390.tif 000007
【図６】
2009064390.tif 000008
【図７】
2009064390.tif 000009
【図８】
2009064390.tif 000010
【図９】
2009064390.tif 000011
【図１０】
2009064390.tif 000012
【図１１】
2009064390.tif 000013
【図１２】
2009064390.tif 000014
【図１３】
2009064390.tif 000015
【図１４】
2009064390.tif 000016
【図１５】
2009064390.tif 000017
【図１６】
2009064390.tif 000018
【図１７】
2009064390.tif 000019
【図１８】
2009064390.tif 000020
【図１９】
2009064390.tif 000021