(57)【要約】【課題】ＫＰＩツリーを使ってＫＧＩの値をシミュレーションする場合において、ある要素の値を固定する制約条件が与えられた場合においても、ＫＧＩとＫＧＩにつながる各要素の値の変化を容易に把握する。【解決手段】ＫＧＩを頂点とした要素に分解され、分解元と分解先との関係が定義されたＫＰＩツリー構造を構成する要素が固定値として指定された指定要素に関する情報を取得する固定値要素取得部と、指定要素から下位方向に経路をたどり、当該経路上にはない分解元を有した要素を探索し、探索した要素と指定要素に関する情報とに基づいて、ＫＰＩツリー構造を、指定要素を最下端に再配置した新たなＫＰＩツリー構造に変換するＫＰＩツリー変換部と、を備える。【選択図】  図６
2019200631.tif 000002
【特許請求の範囲】
【請求項１】
ＫＧＩを頂点とした要素に分解され、分解元と分解先との関係が定義されたＫＰＩツリー構造を構成する前記要素が固定値として指定された指定要素に関する情報を取得する固定値要素取得部と、
前記指定要素から下位方向に経路をたどり、当該経路上にはない分解元を有した要素を探索し、探索した前記要素と前記指定要素に関する情報とに基づいて、前記ＫＰＩツリー構造を、前記指定要素を最下端に再配置した新たなＫＰＩツリー構造に変換するＫＰＩツリー変換部と、
を備えることを特徴とするＫＰＩツリー作成支援システム。
【請求項２】
前記ＫＰＩツリー変換部は、前記指定要素から下位方向に経路をたどり、当該経路上にはない分解元を有した要素を探索できなかった場合、前記ＫＰＩツリー構造を、前記指定要素から前記ＫＰＩツリー構造を構成する末端の要素までのツリー構造を削除した前記新たなＫＰＩツリー構造に変換する、
ことを特徴とする請求項１に記載のＫＰＩツリー作成支援システム。
【請求項３】
前記ＫＰＩツリー変換部は、前記指定要素から下位方向に経路をたどり、当該経路上にはない分解元を有した要素を探索できた場合、探索した前記要素から下位のツリー構造を削除し、探索した前記要素から前記指定要素に向かう要素間のツリー構造と分解元に付与されている前記定義された演算子を削除し、削除後の新たな要素間のツリー構造を追加し、前記演算子とは演算が逆の演算子を分解先に付与することにより、前記ＫＰＩツリー構造を、前記新たなＫＰＩツリー構造に変換する、
ことを特徴とする請求項１に記載のＫＰＩツリー作成支援システム。
【請求項４】
前記新たなＫＰＩツリー構造に対して、前記指定要素を除いた各要素に対して前記ＫＧＩへの感度分析を実行し、前記感度分析が実行された前記各要素のうち最も感度の高い要素から前記ＫＧＩへの経路を表示部に強調表示するＫＰＩツリー表示部、
を備えることを特徴とする請求項１に記載のＫＰＩツリー作成支援システム。
【請求項５】
固定値要素取得部が、ＫＧＩを頂点とした要素に分解され、分解元と分解先との関係が定義されたＫＰＩツリー構造を構成する前記要素が固定値として指定された指定要素に関する情報を取得し、
ＫＰＩツリー変換部が、前記指定要素から下位方向に経路をたどり、当該経路上にはない分解元を有した要素を探索し、探索した前記要素と前記指定要素に関する情報とに基づいて、前記ＫＰＩツリー構造を、前記指定要素を最下端に再配置した新たなＫＰＩツリー構造に変換する、
ことを特徴とするＫＰＩツリー作成支援方法。
【請求項６】
前記ＫＰＩツリー変換部は、前記指定要素から下位方向に経路をたどり、当該経路上にはない分解元を有した要素を探索できなかった場合、前記ＫＰＩツリー構造を、前記指定要素から前記ＫＰＩツリー構造を構成する末端の要素までのツリー構造を削除した前記新たなＫＰＩツリー構造に変換する、
ことを特徴とする請求項５に記載のＫＰＩツリー作成支援方法。
【請求項７】
前記ＫＰＩツリー変換部は、前記指定要素から下位方向に経路をたどり、当該経路上にはない分解元を有した要素を探索できた場合、探索した前記要素から下位のツリー構造を削除し、
前記ＫＰＩツリー変換部は、探索した前記要素から前記指定要素に向かう要素間のツリー構造と分解元に付与されている前記定義された演算子を削除し、
前記ＫＰＩツリー変換部は、削除後の新たな要素間のツリー構造を追加し、前記演算子とは演算が逆の演算子を分解先に付与することにより、前記ＫＰＩツリー構造を、前記新たなＫＰＩツリー構造に変換する、
ことを特徴とする請求項５に記載のＫＰＩツリー作成支援方法。
【請求項８】
ＫＰＩツリー表示部が、前記新たなＫＰＩツリー構造に対して、前記指定要素を除いた各要素に対して前記ＫＧＩへの感度分析を実行し、前記感度分析が実行された前記各要素のうち最も感度の高い要素から前記ＫＧＩへの経路を表示部に強調表示する、
を備えることを特徴とする請求項５に記載のＫＰＩツリー作成支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＫＰＩ(Ｋｅｙ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｉｎｄｉｃａｔｏｒ：重要業績評価指標)ツリー作成支援システムおよびＫＰＩツリー作成支援方法に関する。
【背景技術】
【０００２】
従来、ＫＰＩツリーにおいて、１つのＫＧＩ（Ｋｅｙ  Ｇｏａｌ  Ｉｎｄｉｃａｔｏｒ：重要目標達成指標）あるいは要素を複数の要素に分解したＫＧＩ−複数の要素あるいは要素−複数の要素との間の親子関係を数式で定義することで、子にあたる要素の値を入力値として、親にあたるＫＧＩまたは要素の値を算出することができる。これにより、末端に配置されている要素に対して数値を設定することで、末端からＫＧＩに向かって伝播しながら途中の値を算出し、最後にＫＧＩの値を算出することができる。
【０００３】
このツリー構造の作成を支援する技術として、特許文献１では、ツリー構造に新しいノード（要素）を追加する際に選択される位置によって、ツリー構造を自動変更する技術が記載されている。また、ぞれぞれの要素の値の振る舞いを容易に把握できる技術として、特許文献２では、ＫＰＩへ至る経路上にある要素と、経路上にはないが途中の要素と因果関係のある要素とを区別して分類し、平行座標プロット上に描画する技術が記載されている。また、シミュレーションの観点では、特許文献３で、１つのパラメータの値を固定し、他のパラメータの値を変更しながら、特定の回数のシミュレーションを実行して統計的特徴量を求めることによって、処理時間を短縮する技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−３０２２５４号公報
【特許文献２】ＷＯ２０１５／１９３９８３号公報
【特許文献３】特開２００５−３１８０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＫＰＩツリーを使ってＫＧＩや各要素の値の変化を観察する場合、前述のとおり、ＫＰＩツリーの末端の要素の値を変更しながら、ＫＧＩとＫＧＩにつながる各要素の値をシミュレーションし、それらの値の変化を観察する。この場合、末端以外の要素は自動で計算されることになる。一方で、一旦ＫＰＩツリーを作成した後に、末端以外の要素の値を固定した制約条件の下で、末端の要素の値を変化させながら、ＫＧＩやＫＧＩにつながる各要素の値の変化を観察したいケースがある。例えば、ＫＰＩツリーの中に、出荷量＝計画稼働時間＊製造能力の演算関係をもつ計画稼働時間、製造能力、出荷量の要素が含まれている場合において、出荷能力の制約があり、出荷能力を最大能力に固定してシミュレーションしたいケースなどがある。特許文献１および特許文献２においては、ある要素を固定した条件は考慮されておらず、また特許文献３においては、ＫＰＩツリーという構造の下でのシミュレーションではないため、ＫＧＩおよびＫＧＩにつながる各要素の値がどのように変化するかを把握することはできない。
【０００６】
本発明は、ＫＰＩツリーを使ってＫＧＩの値をシミュレーションする場合において、ある要素の値を固定する制約条件が与えられた場合においても、ＫＧＩとＫＧＩにつながる各要素の値の変化を容易に把握することを目的とする。
【課題を解決するための手段】
【０００７】
本発明にかかるＫＰＩツリー作成支援システムは、ＫＧＩを頂点とした要素に分解され、分解元と分解先との関係が定義されたＫＰＩツリー構造を構成する前記要素が固定値として指定された指定要素に関する情報を取得する固定値要素取得部と、前記指定要素から下位方向に経路をたどり、当該経路上にはない分解元を有した要素を探索し、探索した前記要素と前記指定要素に関する情報とに基づいて、前記ＫＰＩツリー構造を、前記指定要素を最下端に再配置した新たなＫＰＩツリー構造に変換するＫＰＩツリー変換部と、を備えることを特徴とするＫＰＩツリー作成支援システムとして構成される。
【０００８】
また、本発明は、上記ＫＰＩツリー作成支援システムで行われるＫＰＩツリー作成支援方法としても把握される。
【発明の効果】
【０００９】
本発明によれば、ＫＰＩツリーを使ってＫＧＩの値をシミュレーションする場合において、ある要素の値を固定する制約条件が与えられた場合においても、ＫＧＩとＫＧＩにつながる各要素の値の変化を容易に把握することができる。
【図面の簡単な説明】
【００１０】
【図１】ＫＰＩツリー作成支援システムのハードウェア構成例を示す図である。
【図２】ＫＰＩツリー作成支援システムの機能構成例を示す図である。
【図３】ＫＰＩツリー作成支援システムで作成されるＫＰＩツリー例を示す図である。
【図４】ノードデータ・テーブルのデータ構成例を示す図である。
【図５】接続データ・テーブルのデータ構成例を示す図である。
【図６】ＫＰＩツリー作成支援方法の処理フロー例を示す図である。
【図７Ａ】ＫＰＩツリー作成支援方法でＫＰＩツリー構造が変換される過程を説明する図である。
【図７Ｂ】ＫＰＩツリー作成支援方法でＫＰＩツリー構造が変換される過程を説明する図である。
【図７Ｃ】ＫＰＩツリー作成支援方法でＫＰＩツリー構造が変換される過程を説明する図である。
【図７Ｄ】ＫＰＩツリー作成支援方法でＫＰＩツリー構造が変換される過程を説明する図である。
【図７Ｅ】ＫＰＩツリー作成支援方法でＫＰＩツリー構造が変換される過程を説明する図である。
【図７Ｆ】ＫＰＩツリー作成支援方法でＫＰＩツリー構造が変換される過程を説明する図である。
【図７Ｇ】ＫＰＩツリー作成支援方法でＫＰＩツリー構造が変換される過程を説明する図である。
【図８】ＫＰＩツリー作成支援方法の他の例を説明する図である。
【図９】ＫＰＩツリー表示部がＫＰＩツリーを表示する画面例を示す図である。
【図１０】ＫＰＩツリー表示部が変換後のＫＰＩツリーを表示した画面例を示す図である。
【図１１】ＫＰＩツリー表示部が別の変換後のＫＰＩツリーを表示した画面例を示す図である。
【発明を実施するための形態】
【実施例】
【００１１】
以下に実施形態について図面を用いて詳細に説明する。
【００１２】
図１は、本実施形態のＫＰＩツリー作成支援システムのハードウェア構成例を示す図である。ＫＰＩツリー作成支援システムは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１、主記憶装置１０２、補助記憶装置１０３、入力装置１０４、表示装置１０５が、バス１０６で接続された構成となっている。
【００１３】
このうちＣＰＵ１０１は、たとえば、補助記憶装置１０３などから主記憶装置１０２に読み出したプログラム１０７を実行することで、ＫＰＩツリー作成支援システムたる機能を実装する演算装置である。
【００１４】
また、主記憶装置１０２は、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）やハードディスクドライブなど適宜な不揮発性記憶素子で構成される記憶装置である。同様に、補助記憶装置１０３は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）など揮発性記憶素子で構成されるメモリである。
【００１５】
また、入力装置１０４は、ユーザからのキー入力や音声入力、マウス操作などを受け付ける装置である。また、表示装置１０５は、処理データの表示を行うディスプレイ等の装置である。
【００１６】
こうしたＫＰＩツリー作成支援システムがプログラム１０７を実行することで実装する機能構成の一例を、図２に示す。
【００１７】
本実施形態のＫＰＩツリー作成支援システム１０００は、ＫＰＩツリー作成部２０１、ＫＰＩツリー表示部２０２、固定値要素取得部２０３、ＫＰＩツリー変換部２０４、を備えるものとする。
【００１８】
また、こうした各機能部のうちＫＰＩツリー作成部２０１、ＫＰＩツリー表示部２０２、ＫＰＩツリー変換部２０４が処理対象とするデータ類は、例えば、補助記憶装置１０３内に保持された、ＫＰＩツリーデータ格納部２０５、に格納されているものとする。なお、この格納部が保持するテーブルの具体例については後述する。
【００１９】
上述のＫＰＩツリー作成部２０１は、入力装置１０４からのユーザ操作にしたがってＫＰＩツリーのデータを作成し、ＫＰＩツリーデータ格納部２０５に格納する。また、ＫＰＩツリー表示部２０２は、ＫＰＩツリー生成部２０１からＫＰＩツリーのデータを受け取り、表示装置１０５にＫＰＩツリーを表示する。入力装置１０４を介してユーザが作成し、表示装置１０５に表示されるＫＰＩツリーの一例を図３に示す。
【００２０】
ＫＰＩツリー表示部２０２は、頂点ノードにＫＧＩ３０１が配置され、その頂点ノードにつながるノードに要素３０２〜３１２がユーザによって配置された上記ＫＰＩツリー３を表示装置１０５に表示する。ＫＰＩツリー表示部２０２は、ＫＧＩ３０１と各要素３０２〜３１２に、ユーザによって入力装置１０４から入力された名称を表示する。
【００２１】
また、ＫＧＩの要素への分解や、ある要素の別の要素への分解は、矢印を接続して表現される。ここで、矢印で接続される分解元を親ノード、分解先を子ノードと呼ぶこととする。親ノードと子ノードの演算関係は演算子３１３〜３１８で表現される。例えば、親ノードのＫＧＩ３０１と、その子ノードである要素３０２、要素３０３との演算関係は、ＫＧＩ３０１に対して上から順に要素３０２と要素３０３が接続されていることから、ＫＧＩ３０１が要素３０２から要素３０３を減算して算出される関係である。
【００２２】
また、ＫＰＩツリー３の頂点側を上位、ＫＰＩツリーの末端側を下位と呼ぶこととする。ここでは、ＫＧＩ３０１を頂点として左から右に分解した要素を配置しているが、上から下に配置してもよい。
【００２３】
図２に戻って、固定値要素取得部２０３は、表示装置１０５に表示されているＫＰＩツリー３に対して、ユーザが入力装置１０４を介して値を固定する要素を指定した際に、その指定された要素の情報を取得する。
【００２４】
ＫＰＩツリー変換部２０４は、まず固定値要素取得部２０３からユーザによって指定された、値を固定する要素の情報を取得し、その要素を有したＫＰＩツリー３のデータをＫＰＩツリーデータ格納部２０５から読み出す。次に、ＫＰＩツリー変換部２０４は、値を固定する要素の情報を入力として、ＫＰＩツリー３のデータを変換し、変換されたＫＰＩツリー３のデータをＫＰＩツリーデータ格納部２０５に格納する。ＫＰＩツリーを変換する処理フローの具体例については後述する。
【００２５】
続いて、本実施形態のＫＰＩツリー作成支援システム１０００のＫＰＩツリーデータ格納部２０５に格納されるテーブル類について説明する。
【００２６】
図４に、本実施形態のＫＰＩツリーデータ格納部２０５に格納されるノードデータ・テーブル４の一例を示す。ノードデータ・テーブル４は、ツリー構造を構成するノードに関する情報であるノードデータを記憶したテーブルであり、具体的には、親ノードと子ノードにおける演算関係を定めたテーブルである。
【００２７】
そのデータ構造は、ＫＰＩツリーを識別するＩＤであるツリーＩＤ４０１、そのＫＰＩツリーを構成するＫＧＩあるいは要素となるノードを識別するＩＤであるノードＩＤ４０２、そのＫＧＩ、要素の名称であるノード名４０３、そのＫＧＩあるいは要素に接続されている複数の子ノードに対して実行される演算の種別を示す演算子４０４、の集合体である。
【００２８】
例えば、データ４０５は、図３に示したＫＰＩツリー３のＫＧＩ３０１に関するデータであり、その子ノードである要素３０２から要素３０３を減算して算出されるので、演算子４０４には、減算を示す“−”が格納されている。また、データ４０６は、図３のＫＰＩツリー３の要素３０４に関するデータであり、子ノードがないので、演算子４０４には何も格納されていない。
【００２９】
図５に、本実施形態のＫＰＩツリーデータ格納部２０５に格納される接続データ・テーブル５の一例を示す。接続データ・テーブル５は、ツリー構造を構成する親ノードと子ノードの接続に関する情報である接続データを記憶したテーブルであり、具体的には、親ノードに対する子ノードの接続順位を定めたテーブルである。
【００３０】
そのデータ構造は、ＫＰＩツリーを識別するＩＤであるツリーＩＤ５０１、そのＫＰＩツリーを構成する要素のうち子ノードを識別するＩＤであるノードＩＤ５０２、その要素の親ノードのＩＤである親ノードＩＤ５０３、その親ノードに接続される子ノードの順位を示す接続順位５０４、の集合体である。
【００３１】
例えば、データ５０５は、図３に示したＫＰＩツリー３における要素３０２のＫＧＩ３０１への接続に関するデータである。また、データ５０６は、図３に示したＫＰＩツリー３における要素３０３のＫＧＩ３０１への接続に関するデータである。ＫＧＩ３０１の値は、要素３０２の値から要素３０３の値を減算して算出されることから、データ５０５の接続順位５０４には“１”、データ５０６の接続順位５０４には“２”が格納される。
【００３２】
以下、本実施形態におけるＫＰＩツリー作成支援方法の実施手順について図に基づき説明する。以下で説明するＫＰＩツリー作成支援方法に対応する各種動作は、ＫＰＩツリー作成支援システム１０００が主記憶装置等から読み出して実行するプログラムによって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成される。
【００３３】
図６は、本実施形態におけるＫＰＩツリー作成支援方法の処理フロー例を示す図である。ここで、ＫＰＩツリー変換部２０４は、固定値要素取得部２０３から、ある要素の値を固定にする要求指示を受けたとする。この場合、ＫＰＩツリー変換部２０４は、固定値要素取得部２０３から値を固定するように指定された要素（以下、指定要素と呼ぶ）に関する情報として、指定要素を含むＫＰＩツリーのＩＤであるツリーＩＤと、指定要素のＩＤであるノードＩＤを、上述の要求指示と一緒に取得する。
【００３４】
ＫＰＩツリー変換部２０４は、固定値要素取得部２０３から上記要求指示を受けると、当該要求指示とともに取得したツリーＩＤ（４０１、５０１）をキーとして、ＫＰＩツリー格納部２０５に記憶されているノードデータ・テーブル４と接続データ・テーブル５からデータを取得する（Ｓ６０１）。ＫＰＩツリー変換部２０４は、取得したデータを一旦補助記憶装置１０３、あるいは、主記憶装置１０２に記憶する。以降の処理では、ＫＰＩツリー変換部２０４はその記憶したデータにアクセスする。
【００３５】
次に、ＫＰＩツリー変換部２０４は、ツリー構造の指定要素を起点に、下位方向に経路をたどっていき、経路上にはない親ノードをもつ要素を探索する（Ｓ６０２）。ここからは、ツリー構造の一例を示す図を使って具体的に動きを説明する。
【００３６】
図７Ａ〜７Ｇは、図６に示したフロー例の動作を説明するための図である。図７Ａは、図３のツリー構造と同じ構造であり、図４のノード・テーブル４と、図５の接続データ・テーブル５のツリーＩＤ（４０１、５０１）の値が１のデータと対応づいている。ここでは、固定値要素取得部２０３が、ユーザから要素３０２の値を固定するように指示を受けたとする。
【００３７】
Ｓ６０２の処理において、ＫＰＩツリー変換部２０４は、指定要素である要素３０２から下位方向に経路をたどっていき、当該経路上の要素にはない親ノードをもつ要素を探索する。すなわち、ＫＰＩツリー変換部２０４は、指定要素と、当該指定要素の下位方向に接続されている要素とを接続する経路を順にたどり、当該経路上の要素にはない親ノードをもつ要素を探索する。要素３０２から下位方向にたどると、要素３０２は要素３０４と要素３０５の２つの子ノードと接続している（図７Ｂ）。
【００３８】
要素３０４の親ノードは要素３０２のみなので、要素３０４は該当しない。また子ノードもないので、ＫＰＩツリー変換部２０４は、これ以上、下位方向にたどっていくことはできない。続いて、要素３０５の親ノードも要素３０２のみなので、要素３０５は該当しない。ＫＰＩツリー変換部２０４が要素３０５からさらに下位方向にたどると、要素３０５は要素３０７と要素３０８の２つの子ノードと接続している（図７Ｃ）。
【００３９】
要素３０７の親ノードは要素３０５のみなので、要素３０７は該当しない。また子ノードもないので、ＫＰＩツリー変換部２０４は、これ以上、下位方向にたどっていくことはできない。要素３０８の親ノードは、これまでたどってきた経路上にある親ノードである要素３０５と上記経路上にはない親ノードである要素３０３の２つの親ノードと接続している。要素３０３は上記経路外の要素であることから、ＫＰＩツリー変換部２０４は、要素３０８は探索条件に該当すると判断する（図７Ｄ）。
【００４０】
図６の処理フローに戻って、ＫＰＩツリー変換部２０４は、該当する要素が存在するか否かを判定する（Ｓ６０３）。図７Ｄの例においては、上述のとおり、該当する要素３０８が存在するので、次の処理Ｓ６０４に移行する。
【００４１】
ＫＰＩツリー変換部２０４は、該当する要素があると判定した場合（Ｓ６０３；Ｙｅｓ）、Ｓ６０４に進み、複数ある場合にそのうちの１つを選択し、その要素を中間要素に設定する（Ｓ６０４）。中間要素は、上述したように、指定要素の下位方向に接続されている要素のうち、指定要素に接続する経路上の要素にはない親ノードをもつ要素のことである。図７Ｄの例においては、該当する要素は要素３０８のみなので、ＫＰＩツリー変換部２０４は、要素３０８を中間要素に設定する。
【００４２】
また、例えば、図８に示すＫＰＩツリーの例のように、該当する要素が要素３０７と要素３０８の２つ存在する場合、ＫＰＩツリー変換部２０４は、予め定義したルールに従って１つを選択する。例えば、ＫＰＩツリー変換部２０４は、子ノードを持たない要素を優先して選択するというルールに従って、要素３０７を中間要素として選択する。
【００４３】
図６の処理フローに戻って、ＫＰＩツリー変換部２０４は、中間要素から下位の要素に関するデータとその要素に関するデータをＳ６０１で記憶したデータから削除する（Ｓ６０５）。図７Ｄの例においては、中間要素３０８の下位に要素３１１と要素３１２が存在するので、ＫＰＩツリー変換部２０４は、Ｓ６０１で記憶したノードデータ・テーブル４から、要素３１１と要素３１２に関するデータを削除する。また、ＫＰＩツリー変換部２０４は、Ｓ６０１で記憶した接続データ・テーブル５から、要素３０８−要素３１１、要素３０８−要素３１２の接続に関するデータを削除する。処理Ｓ６０５実行後のツリー構造は図７Ｅとなる。
【００４４】
次に、ＫＰＩツリー変換部２０４は、中間要素から指定要素に向かっていく経路順に、親ノード（Ｎ１）、子ノード（Ｎ２）の間の接続と、親ノード（Ｎ１）に接続されるもう一方の子ノード（Ｎ３）との接続を削除し、Ｎ１に付与されていた演算子を削除する。そして、ＫＰＩツリー変換部２０４は、Ｎ２に対して１番目のコードがＮ１、２番目の子ノードがＮ３になるように接続を追加し、削除した演算子とは演算が逆の演算子をＮ２に付与する（Ｓ６０６）。すなわち、ＫＰＩツリー変換部２０４は、中間要素から指定要素に向かう経路順に、ノード間の接続と、親ノード（Ｎ１）に付与されている演算子を削除し、新たなノード間の接続を追加し、これまでの演算関係を維持するように、演算が逆の演算子を子ノード（Ｎ２）に付与する。これを指定要素にたどりつくまで繰り返す。図７の例を使って具体的に説明する。
【００４５】
図７Ｅの中間要素３０８から指定要素３０２への経路上において、最初、親ノード（Ｎ１）は要素３０５、子ノード（Ｎ２）は要素３０８、もう一方の子ノード（Ｎ３）は要素３０７となる。ここで、ＫＰＩツリー変換部２０４は、親ノード（Ｎ１）である要素３０５と子ノード（Ｎ２）である要素３０８の接続に関するデータと、親ノード（Ｎ１）である要素３０５ともう一方の子ノード（Ｎ３）である要素３０７の接続に関するデータを、Ｓ６０１で記憶した接続データ・テーブル５から削除する。また、ＫＰＩツリー変換部２０４は、Ｓ６０１で記憶したノードデータ・テーブル４において、上記Ｎ１である要素３０５のデータに対して、演算子４０４として登録されている“＋”を削除する。
【００４６】
そして、ＫＰＩツリー変換部２０４は、上記Ｎ２である要素３０８を新たな親ノードとし、当該要素３０８に対して、１番目の子ノードがＮ１である要素３０５、２番目の子ノードがＮ３である要素３０７になるような新たな接続に関するデータを、Ｓ６０１で記憶した接続データ・テーブル５に追加する。また、ＫＰＩツリー変換部２０４は、Ｓ６０１で記憶したノードデータ・テーブルにおいて、新たな親ノードとなったＮ２である要素３０８の演算子４０４として、“＋”の逆の演算子である“−”を登録する。この時点でのＫＰＩツリー構造は、図７Ｆとなる。
【００４７】
続いて、図７Ｆにおいて、ＫＰＩツリー変換部２０４は、次の新たな親ノード（Ｎ１）は要素３０２であり、次の新たな子ノード（Ｎ２）は要素３０５であり、もう一方の次の新たな子ノード（Ｎ３）は要素３０４であると判断する。上述と同様に、ＫＰＩツリー変換部２０４は、次の新たな親ノード（Ｎ１）である要素３０２と次の新たな子ノード（Ｎ２）である要素３０５の接続に関するデータと、次の新たな親ノード（Ｎ１）である要素３０２ともう一方の次の新たな子ノード（Ｎ３）である要素３０４の接続に関するデータを、Ｓ６０１で記憶した接続データ・テーブル５から削除する。また、ＫＰＩツリー変換部２０４は、Ｓ６０１で記憶したノードデータ・テーブル４において、上記Ｎ１である要素３０２のデータに対して、演算子４０４として登録されている“×”を削除する。
【００４８】
そして、ＫＰＩツリー変換部２０４は、上記Ｎ２である要素３０５をさらに次の新たな親ノードとし、当該要素３０５に対して、１番目の子ノードがＮ１である要素３０２、２番目の子ノードがＮ３である要素３０４になるようにさらに次の新たな接続に関するデータを、Ｓ６０１で記憶した接続データ・テーブル５に追加する。また、ＫＰＩツリー変換部２０４は、Ｓ６０１で記憶したノードデータ・テーブルにおいて、上記Ｎ２である要素３０５の演算子４０４として、“×”の逆の演算子である“÷”を登録する。その結果、ツリー構造は図７Ｇとなる。図７Ｇでは、指定要素３０２がツリー構造の最下端に再配置された変換後の新たなＫＰＩツリー構造となっていることがわかる。
【００４９】
このように、Ｓ６０６では、ＫＰＩツリー変換部２０４が、指定要素から下位方向に経路をたどり、当該経路上にはない分解元を有した中間要素を探索できた場合、探索した中間要素から下位のツリー構造を削除し、探索した中間要素から指定要素に向かう要素間のツリー構造と分解元に付与されている分解元と分解先との関係が定義された演算子を削除し、削除後の新たな要素間のツリー構造を追加し、上記演算子とは演算が逆の演算子を分解先に付与することにより、ＫＰＩツリー構造を、新たなＫＰＩツリー構造に変換する。したがって、要素同士の演算関係を維持しつつ指定要素をＫＰＩツリーの末端に移動させてＫＰＩツリーの構造を変換することができる。
【００５０】
指定要素３０２まで処理を実行したので、ＫＰＩツリー変換部２０４は、Ｓ６０６の処理を終了させる。Ｓ６０６が終了した時点で、指定要素が末端に配置されたＫＰＩツリー構造になる。
【００５１】
図６の処理に戻って、ＫＰＩツリー変換部２０４は、最後にＳ６０１で記憶したノードデータ・テーブル４と、接続データ・テーブル５を、ＫＰＩツリー格納部２０５に出力して補助記憶装置１０３に記録する（Ｓ６０７）。その際、ＫＰＩツリー変換部２０４は、ノードデータ・テーブル４のツリーＩＤ４０１と、接続データ・テーブル５のツリーＩＤ５０１を、未割り当ての値につけなおすることで、変換前のＫＰＩツリーのデータを保持した状態で、変換後である新規のＫＰＩツリーとしてデータを記憶できる。
【００５２】
なお、図６の処理フローのＳ６０２で該当する要素を探索できなかった場合、ＫＰＩツリー変換部２０４は、Ｓ６０５の処理と同じように、Ｓ６０１で記憶したテーブルから、指定要素から下位の要素に関するノードデータ・テーブル４のデータと、接続データ・テーブル５のデータを削除し（Ｓ６０８）、処理をＳ６０７に移行する。
【００５３】
このように、Ｓ６０８では、ＫＰＩツリー変換部２０４が、指定要素から下位方向に経路をたどり、当該経路上にはない分解元を有した要素を探索できなかった場合、ＫＰＩツリー構造を、指定要素からＫＰＩツリー構造を構成する末端の要素までのツリー構造を削除した新たなＫＰＩツリー構造に変換する。したがって、Ｓ６０２で該当する要素を探索できなかった場合でも、強制的に指定要素を末端に配置した変換後の新たなＫＰＩツリー構造とすることができる。
【００５４】
図９は、ＫＰＩツリー表示部２０２がＫＰＩツリーを表示する画面例を示す図である。画面９にはユーザが作成したＫＰＩツリーが表示され、ユーザは画面上で入力装置１０４を介して、値を固定したい要素を指定し、ツリー構造の変換を指示することができる。例えば、画面９に配置された変換実行のボタン９０１をユーザがクリックあるいはタップした際に、ＫＰＩツリー作成部２０１がＫＰＩツリー構造の変換を開始するユーザーインターフェースが考えられる。
【００５５】
図１０は、ＫＰＩツリー表示部２０２が、変換後のＫＰＩツリーを表示した画面１０の例を示す図である。
【００５６】
ＫＰＩツリーの末端の各要素に対して、ユーザは入力装置１０４を介して、時系列の数値１００１を設定することができる。例えば、月単位や年単位で数値を直接設定してもよいし、数式で表現してもよい。ユーザが値を固定したい要素に対しては、１つの数値（固定値）のみを入力し、その値を複製できてもよい。末端の要素の値が設定され、ＫＰＩツリー表示部２０２が、下位から上位に向かって月単位あるいは年単位などで末端以外の要素およびＫＧＩの値を自動計算することで、ＫＧＩ１００７および各要素のシミュレーション結果を生成する。そして、ＫＰＩツリー表示部２０２が、ＫＧＩ１００７および各要素のシミュレーション結果をグラフ表示１００２することで、時間的変化を把握することができる。また、ＫＰＩツリー表示部２０２が、値が固定された指定要素を除いた、末端の要素の値を随時変更しながらシミュレーションを実行してグラフ表示１００２させることで、ＫＧＩおよび各要素の変化を容易に観察することができる。図１０では、指定要素である要素１００８の値が固定されたときのＫＧＩ１００７および各要素のシミュレーション結果が表示されている。これにより、ある要素の値を固定した制約条件の下、末端の要素からどのように値が変化してＫＧＩに影響を与えているかを画面上で容易に把握できるようになる。
【００５７】
加えて、ＫＰＩツリー表示部２０２が、値を固定する要素を除いた末端の各要素に対して、ＫＧＩ１００７への感度分析を実行し、最も感度の高い要素からＫＧＩ１００７への経路を強調表示１００３することで、どの要素がどのようにＫＧＩに影響を大きく与えているかを同時に把握することができる。感度分析は、例えばその要素が基準値より１０％変動した場合に、ＫＧＩの変動がどの程度かを計測する分析方法である。図１０の例では、感度分析の結果、要素１００４が最もＫＧＩ１００７に対して感度が高く、要素１００４から要素１００５、要素１００６を経て、ＫＧＩ１００７に影響を与えていることを示している。
【００５８】
このように、ＫＰＩツリー表示部２０２が、新たなＫＰＩツリー構造に対して、指定要素を除いた各要素に対してＫＧＩへの感度分析を実行し、感度分析が実行された各要素のうち最も感度の高い要素からＫＧＩへの経路を表示装置１０５に表示された画面に強調表示する。したがって、最も感度の高い要素によるＫＧＩに対する影響経路を一見して把握することができる。
【００５９】
なお、変換後のＫＰＩツリーのＫＧＩ、各要素のシミュレーション結果を、図９の変換前のＫＰＩツリーを表示した画面上に表示してもよい。これにより、最初に作成したＫＰＩツリーをベースにして、ＫＧＩや各要素の変換前後の変化を容易に把握することができる。
【００６０】
図１１は、ＫＰＩツリー表示部２０２が、別の変換後のＫＰＩツリーを表示した画面１１の例を示す図である。
【００６１】
ユーザが要素１１０１の値を固定するために変換したＫＰＩツリーであり、指定要素である要素１１０１以外の各要素に対して、ＫＧＩ１１０２への感度分析を実行した結果、要素１１０３が最も感度が高い結果になった場合を示している。
【００６２】
図１１では、要素１１０３からＫＧＩ１１０２への経路は２つ存在しており、このように複数の経路が存在する場合には、ＫＰＩツリー表示部２０２は、その要素１１０３が、ＫＧＩに向かう経路において合流するノードの子ノードそれぞれに対して、どのくらい影響を与えているか感度分析を実行し、感度の高い方の子ノードを含む経路を強調表示させる。図１１においては、ＫＰＩツリー表示部２０２は、上記合流するノードの１つとなるＫＧＩ１１０２の子ノードである要素１１０４、要素１１０５のそれぞれに対して、要素１１０３がどのぐらい影響を与えるか感度分析し、どちらの要素がＫＧＩ１１０３に対する感度が高いかを判定する。ＫＰＩツリー表示部２０２は、要素１１０４の方がＫＧＩ１１０３に対する感度が高いと判定した場合、経路１１０６を選択し、画面１１において当該経路を強調表示させる。ＫＰＩツリー表示部２０２がこのような処理を行うことにより、末端の要素からＫＧＩに向かう経路が複数存在する場合であっても、ユーザは、どの要素がどのようにＫＧＩに影響を大きく与えているかを容易に把握することができる。
【００６３】
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。こうした本実施形態によれば、ある要素をＫＰＩツリーの末端に移動させることで、その要素の値を固定することが可能となり、その要素の値を固定した制約条件の下で、他の末端の要素の値を変更しながら、ＫＧＩやＫＧＩにつながる各要素の変化を容易に把握することが可能になる。すなわち、ＫＧＩを頂点に配置し、ＫＧＩをＫＰＩや中間変数などの要素に分解してツリー構造で表現したＫＰＩツリーを作成し、特定の要素の値を固定する条件下において、別の要素の値を変動させた場合に、要素同士の演算関係を維持しながら、指定した要素をＫＰＩツリーの末端に移すように、ＫＰＩツリーの構造を変形させることにより、それ以外の要素にどのように影響してＫＧＩに影響を及ぼすかを容易に把握することができる。
【符号の説明】
【００６４】
１０００…ＫＰＩツリー作成支援システム、１０1…ＣＰＵ、１０２…主記憶装置、１０３…補助記憶装置、１０４…入力装置、１０５…表示装置、１０６…バス、１０７…プログラム、２０１…ＫＰＩツリー作成部、２０２…ＫＰＩツリー表示部、３…ＫＰＩツリー、４…ノードデータ・テーブル、４０１…ツリーＩＤ、４０２…ノードＩＤ、４０３…ノード名、４０４…演算子、５…接続データ・テーブル、５０１…ツリーＩＤ、５０２…ノードＩＤ、５０３…親ノードＩＤ、５０４…接続順位、９…ＫＰＩツリー表示画面、９０１…変換実行ボタン、１０…ＫＰＩツリー表示画面、１１…ＫＰＩツリー表示画面
【図１】
2019200631.tif 000003
【図２】
2019200631.tif 000004
【図３】
2019200631.tif 000005
【図４】
2019200631.tif 000006
【図５】
2019200631.tif 000007
【図６】
2019200631.tif 000008
【図７Ａ】
2019200631.tif 000009
【図７Ｂ】
2019200631.tif 000010
【図７Ｃ】
2019200631.tif 000011
【図７Ｄ】
2019200631.tif 000012
【図７Ｅ】
2019200631.tif 000013
【図７Ｆ】
2019200631.tif 000014
【図７Ｇ】
2019200631.tif 000015
【図８】
2019200631.tif 000016
【図９】
2019200631.tif 000017
【図１０】
2019200631.tif 000018
【図１１】
2019200631.tif 000019