(57)【要約】【課題】予測対象を精度良く予測できる設計予測装置、設計予測プログラムおよび設計予測方法を提供する。【解決手段】分類部４１は、複数の設計データ３０Ａから抽出された設計情報に基づいて、複数の設計データ３０Ａを、予測対象の設計項目に対して支配的な特徴が同じ設計データ３０Ａごとのクラスタに分類する。生成部４２は、分類されたクラスタごとに、当該クラスタに含まれる設計データ３０Ａの設計情報から予測対象の設計項目を予測する予測モデルを生成する。【選択図】図１
2018032210.tif 000002
【特許請求の範囲】
【請求項１】
複数の設計データから抽出された設計情報に基づいて、前記複数の設計データを、予測対象の設計項目に対して支配的な特徴が同じ設計データごとのクラスタに分類する分類部と、
前記分類部により分類されたクラスタごとに、当該クラスタに含まれる設計データの設計情報から予測対象の設計項目を予測する予測モデルを生成する生成部と、
を有することを特徴とする設計予測装置。
【請求項２】
前記分類部は、前記複数の設計データから抽出された設計情報から前記予測対象の設計項目を予測する非線形の予測モデルを生成し、生成された非線形の予測モデルにおける各設計データの設計情報の傾きを算出し、算出された傾きに基づいて、前記複数の設計データを支配的な特徴が同じ設計データごとのクラスタに分類する
ことを特徴とする請求項１に記載の設計予測装置。
【請求項３】
前記分類部は、前記複数の設計データを設計情報が類似する設計データごとのクラスタに分類し、分類されたクラスタごとに、当該クラスタに含まれる設計データの設計情報から予測対象の設計項目を予測する線形の予測モデルを生成し、生成された線形の予測モデルでの設計情報に対する重み値に基づいて、類似するクラスタを結合する
ことを特徴とする請求項１に記載の設計予測装置。
【請求項４】
予測対象の設計データの設計情報を受け付ける受付部と、
前記受付部により受け付けた設計情報に基づき、前記予測対象の設計データが何れのクラスタに分類されるかを特定する特定部と、
前記特定部により特定されたクラスタに対応する予測モデルを用いて、前記受付部により受け付けた設計情報から予測対象の設計項目の予測値を算出する算出部と、
前記算出部により算出された予測対象の設計項目の予測値を出力する出力部と、
をさらに有する請求項１〜３の何れか１つに記載の設計予測装置。
【請求項５】
前記算出部は、前記受付部により受け付けた設計情報が前記予測値に影響した度合を示す寄与度をさらに算出し
前記出力部は、算出された寄与度をさらに出力する
ことを特徴とする請求項４に記載の設計予測装置。
【請求項６】
複数の設計データから抽出された設計情報に基づいて、前記複数の設計データを、予測対象の設計項目に対して支配的な特徴が同じ設計データごとのクラスタに分類し、
分類されたクラスタごとに、当該クラスタに含まれる設計データの設計情報から予測対象の設計項目を予測する予測モデルを生成する
処理をコンピュータに実行させることを特徴とする設計予測プログラム。
【請求項７】
複数の設計データから抽出された設計情報に基づいて、前記複数の設計データを、予測対象の設計項目に対して支配的な特徴が同じ設計データごとのクラスタに分類し、
分類されたクラスタごとに、当該クラスタに含まれる設計データの設計情報から予測対象の設計項目を予測する予測モデルを生成する
処理をコンピュータが実行することを特徴とする設計予測方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設計予測装置、設計予測プログラムおよび設計予測方法に関する。
【背景技術】
【０００２】
製品の設計では、設計を開始する前に、ある設計項目の予測が行われることがある。例えば、プリント基板の実装設計では、プリント基板に搭載する部品やネットリストが決まると、実装設計の前に、プリント基板の信号層、電源層、グラウンド層の層数の予測が行われる。この予測では、適切な層数を予測することが期待されている。予測された層数が適切な層数よりも少ない場合、実装設計がやり直しとなり、工数・時間の損失となる。一方、予測された層数が適切な層数よりも多い場合、プリント基板の製造コストが増加する。
【０００３】
そこで、回帰分析により予測を行う技術がある。例えば、過去の設計資産から、ＳＶＲ（Support  Vector  Regression：サポートベクトル回帰）の線形カーネルを用いて予測対象の設計項目を予測する線形の予測モデルを生成する。なお、ＳＶＲは、ＳＶＭ（Support  Vector  Machine：サポートベクターマシン）とも呼ばれる。そして、生成された予測モデルを用いて予測対象の設計項目の予測値を算出する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１０／０２９６２７号
【特許文献２】特開２０００−０２０５０４号公報
【特許文献３】特開２００６−３３０９８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
線形の予測モデルは、線形であるため、予測値の予測の根拠が理解し易い。しかしながら、線形の予測モデルは、過去の設計資産のデータ全体に対して、トータルの誤差が最小となるように生成されるため、予測値の予測精度が低い部分が生じる場合がある。
【０００６】
そこで、過去の設計資産のデータをクラスタリングで分類し、各クラスタごとに線形の予測モデルを生成することが考えられる。例えば、k-means法、mean-shift法などのクラスタリング手法を用いて、過去の設計資産のデータを、類似したデータごとのクラスタに分類し、各クラスタで線形の予測モデルを生成することが考えられる。しかしながら、この場合、予測モデルがクラスタのデータに対してオーバーフィッティングとなってしまい、予測精度の低い場合がある。
【０００７】
なお、製品の設計を例に説明したが、かかる問題は、システムの設計など他の設計において、ある設計項目を予測する場合全般に該当する問題である。
【０００８】
一つの側面では、予測対象を精度良く予測できる設計予測装置、設計予測プログラムおよび設計予測方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
第１の案では、設計予測装置は、分類部と、生成部とを有する。分類部は、複数の設計データから抽出された設計情報に基づいて、複数の設計データを、予測対象の設計項目に対して支配的な特徴が同じ設計データごとのクラスタに分類する。生成部は、分類部により分類されたクラスタごとに、当該クラスタに含まれる設計データの設計情報から予測対象の設計項目を予測する予測モデルを生成する。
【発明の効果】
【００１０】
本発明の一の実施態様によれば、予測対象を精度良く予測できるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、設計予測装置の概略的な構成を示す図である。
【図２】図２は、設計情報テーブルのデータ構成の一例を示す図である。
【図３】図３は、設計情報を抽出する流れの一例を示した図である。
【図４】図４は、各設計項目の設計情報の正規化の一例を示した図である。
【図５】図５は、実施例１に係る分類部による分類の流れを機能的に示した図である。
【図６】図６は、非線形の予測モデルを模式的に示した図である。
【図７】図７は、線形の予測モデルを模式的に示した図である。
【図８】図８は、分類の流れを説明する図である。
【図９】図９は、実施例１に係る分類の計算の流れの一例を示した図である。
【図１０】図１０は、予測モデルの生成の流れの一例を示した図である。
【図１１】図１１は、クラスタ割当モデルの生成の流れの一例を示した図である。
【図１２】図１２は、クラスタを特定する流れの一例を示した図である。
【図１３】図１３は、信号層の層数を算出する流れの一例を示した図である。
【図１４】図１４は、寄与度を算出する流れの一例を示した図である。
【図１５】図１５は、寄与度の出力の一例を示した図である。
【図１６】図１６は、実施例１に係る生成処理の手順の一例を示すフローチャートである。
【図１７】図１７は、予測処理の手順の一例を示すフローチャートである。
【図１８】図１８は、実施例２に係る分類部による分類の流れを機能的に示した図である。
【図１９】図１９は、実施例２に係る分類の計算の流れの一例を示した図である。
【図２０】図２０は、実施例２に係る生成処理の手順の一例を示すフローチャートである。
【図２１】図２１は、他の設計項目を予測する一例を説明する図である。
【図２２】図２２は、他の設計項目を予測する一例を説明する図である。
【図２３】図２３は、設計予測プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１２】
以下に、本発明にかかる設計予測装置、設計予測プログラムおよび設計予測方法を図面に基づいて詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下に示す実施例は、矛盾を起こさない範囲で適宜組み合わせてもよい。
【実施例１】
【００１３】
［設計予測装置の構成］
実施例１に係る設計予測装置１０について説明する。図１は、設計予測装置の概略的な構成を示す図である。製品の設計では、設計を開始する前に、ある設計項目の予測が行われることがある。設計予測装置１０は、設計を開始する前に、ある設計項目を予測する装置である。本実施例では、プリント基板の実装設計の前にプリント基板の信号層の層数の予測を行う場合を例に説明する。
【００１４】
設計予測装置１０は、例えば、パーソナルコンピュータやサーバコンピュータなどのコンピュータなどである。設計予測装置１０は、１台のコンピュータとして実装してもよく、また、複数台のコンピュータによるクラウドとして実装することもできる。本実施例では、設計予測装置１０を１台のコンピュータとした場合を例として説明する。なお、設計予測装置１０は、ネットワークを介して端末装置と通信可能に接続され、端末装置から各種の操作情報を受け付け、操作情報に応じた処理結果を端末装置に送信するサーバコンピュータであってもよい。設計予測装置１０は、例えば、プリント基板の実装設計を行う開発者が使用するコンピュータである。なお、設計予測装置１０は、ＣＡＤ（Computer  Aided  Design）装置などのハードウェアを設計する設計ソフトウェアが動作する設計装置であってもよい。図１に示すように、設計予測装置１０は、入力部２０と、表示部２１と、記憶部２２と、制御部２３とを有する。なお、設計予測装置１０は、上記の機器以外の他の機器を有してもよい。
【００１５】
入力部２０は、各種の情報を入力する入力デバイスである。入力部２０としては、マウスやキーボードなどの操作の入力を受け付ける入力デバイスが挙げられる。入力部２０は、各種の情報の入力を受付ける。例えば、入力部２０は、仮想的なハードウェアモデルに対する各種の操作の入力を受け付ける。入力部２０は、受け付けた操作内容を示す操作情報を制御部２３に入力する。
【００１６】
表示部２１は、各種情報を表示する表示デバイスである。表示部２１としては、ＬＣＤ（Liquid  Crystal  Display）やＣＲＴ（Cathode  Ray  Tube）などの表示デバイスが挙げられる。表示部２１は、各種情報を表示する。例えば、表示部２１は、操作画面など各種の画面を表示する。
【００１７】
記憶部２２は、ハードディスク、ＳＳＤ（Solid  State  Drive）、光ディスクなどの記憶装置である。なお、記憶部２２は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ、ＮＶＳＲＡＭ（Non  Volatile  Static  Random  Access  Memory）などのデータを書き換え可能な半導体メモリであってもよい。
【００１８】
記憶部２２は、制御部２３で実行されるＯＳ（Operating  System）や各種プログラムを記憶する。例えば、記憶部２２は、後述する生成処理および予測処理を実行するプログラムを記憶する。さらに、記憶部２２は、制御部２３で実行されるプログラムで用いられる各種データを記憶する。例えば、記憶部２２は、設計資産データ３０と、設計情報テーブル３１と、予測モデルデータ３２と、クラスタ割当モデルデータ３３とを記憶する。
【００１９】
設計資産データ３０は、設計に利用可能な設計資産に関する各種の情報を記憶したデータである。例えば、設計資産データ３０には、設計済みの設計データ３０Ａが複数含まれている。
【００２０】
設計データ３０Ａは、過去に実装設計されたプリント基板のデータである。設計データ３０Ａには、実装設計されたプリント基板や実装された部品、配線に関する各種の設計情報が記憶されている。例えば、設計データ３０Ａには、設計情報として、プリント基板の形状や信号層の層数、部品の位置情報、各信号層の配線の位置情報などが記憶されている。
【００２１】
設計情報テーブル３１は、設計資産データ３０から抽出された各種の設計情報を記憶したデータである。例えば、設計情報テーブル３１には、各設計データ３０Ａからそれぞれ抽出された各種の設計項目の設計情報が記憶される。
【００２２】
図２は、設計情報テーブルのデータ構成の一例を示す図である。図２に示すように、設計情報テーブル３１は、データＩＤ、設計情報Ａ、設計情報Ｂ・・・の各項目を有する。なお、設計情報テーブル３１は、上記以外にも各種の情報を記憶してもよい。
【００２３】
データＩＤの項目は、設計データ３０Ａを識別する識別情報を記憶する領域である。設計データ３０Ａには、それぞれを識別情報として、ユニークなデータＩＤが付与される。データＩＤの項目には、設計情報が抽出された設計データ３０ＡのデータＩＤが格納される。設計情報Ａ、設計情報Ｂの項目は、データＩＤの設計データ３０Ａからそれぞれ抽出された設計項目の設計情報を記憶する領域である。
【００２４】
予測モデルデータ３２は、予測対象の設計項目の適切な設計情報を予測する予測モデルに関する情報を記憶したデータである。本実施例では、予測対象の設計項目をプリント基板の信号層の層数とする。予測モデルデータ３２には、プリント基板の信号層の層数を予測する予測モデルの情報が記憶される。予測モデルの詳細は、後述する。
【００２５】
クラスタ割当モデルデータ３３は、予測対象の設計データが何れのクラスタに属するかを予測するクラスタ割当モデルに関する情報を記憶したデータである。クラスタ割当モデルの詳細は、後述する。
【００２６】
図１に戻り、制御部２３は、設計予測装置１０を制御するデバイスである。制御部２３としては、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等の電子回路や、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路を採用できる。制御部２３は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部２３は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部２３は、抽出部４０と、分類部４１と、生成部４２と、受付部４３と、特定部４４と、算出部４５と、出力部４６とを有する。
【００２７】
抽出部４０は、設計資産データ３０から予測モデルに生成に用いる各種の情報を抽出する。例えば、抽出部４０は、設計データ３０Ａから複数の設計項目の設計情報を抽出する。例えば、抽出部４０は、設計データ３０Ａから予測対象の設計項目の設計情報と、予測対象の設計項目に影響を与える設計項目の設計情報を抽出する。抽出部４０が抽出対象とする設計項目は、予め定められていてもよく、外部から提供されてもよい。抽出部４０は、設計データ３０Ａから抽出した各設計項目の設計情報を設計情報テーブル３１に格納する。
【００２８】
図３は、設計情報を抽出する流れの一例を示した図である。図３の例では、抽出対象とする設計項目が、特徴リストとして提供される。図３の例では、プリント基板の信号層の層数に影響を与える設計項目として、基板面積、全ネット数、部品数、・・・、ＢＧＡ（Ball  Grid  Array）のピンピッチが特徴リストに記載されている。抽出部４０は、特徴リストに記載された設計項目の設計情報を設計データ３０Ａからそれぞれ抽出する。そして、抽出部４０は、設計データ３０Ａから抽出した各設計項目の設計情報を設計情報テーブル３１に格納する。図３の例では、データＩＤが「１」〜「５００」の設計データ３０Ａからそれぞれ抽出された基板面積、全ネット数、部品数、・・・、ＢＧＡのピンピッチが設計情報テーブル３１に記憶されている。
【００２９】
分類部４１は、各種の分類を行う。例えば、分類部４１は、設計情報テーブル３１に記憶された各設計データ３０Ａの設計情報に基づいて、各設計データ３０Ａを、予測対象の設計項目に対して支配的な特徴が同じ設計データ３０Ａごとのクラスタに分類する。
【００３０】
例えば、最初に、分類部４１は、設計情報テーブル３１に記憶された各設計項目の設計情報を、設計項目ごとに所定の範囲の特徴値に正規化する。図４は、各設計項目の設計情報の正規化の一例を示した図である。例えば、分類部４１は、設計情報テーブル３１に記憶された各設計項目の設計情報を、設計項目ごとに０〜１の範囲の特徴値に正規化し、各設計データ３０Ａごとに、設計項目の特徴値を成分とした特徴ベクトルを求める。
【００３１】
次に、分類部４１は、各設計データ３０Ａの特徴ベクトルを用いて、予測対象の設計項目に対して支配的な特徴が同じ設計データ３０Ａごとのクラスタに分類する。
【００３２】
図５は、実施例１に係る分類部による分類の流れを機能的に示した図である。分類部４１は、非線形モデル生成部５０と、傾き計算部５１と、クラスタリング部５２とを有する。
【００３３】
非線形モデル生成部５０は、設計情報テーブル３１に記憶された各設計データ３０Ａの設計情報から予測対象の設計項目を予測する非線形の予測モデルを生成する。例えば、非線形モデル生成部５０は、各設計データ３０Ａの設計情報を正規化した特徴ベクトルから、プリント基板の信号層の層数を示す特徴値を予測する非線形の予測モデルを生成する。例えば、非線形モデル生成部５０は、非線形モデルとして、Radial  Basis  Function（ＲＢＦ）カーネルのＳＶＲによる予測モデルを用いて、非線形の予測モデルを生成する。例えば、非線形モデル生成部５０は、予測対象の設計項目に影響を与える設計項目の特徴量を入力とし、予測対象の設計項目の特徴量を出力する非線形の予測モデルを生成する。本実施例では、非線形モデル生成部５０は、プリント基板の信号層の層数を示す特徴値を設計値として予測する非線形の予測モデルを生成する。
【００３４】
ここで、非線形の予測モデルと線形の予測モデルについて説明する。最初に、非線形の予測モデルについて説明する。図６は、非線形の予測モデルを模式的に示した図である。図６の例には、各設計データ３０Ａの設計情報を正規化した特徴ベクトルから、予測対象の設計項目を示す設計値を予測する非線形の予測モデルの曲線Ｌ１が示されている。なお、図６の例では、予測モデルの入力とする設計項目の特徴値を２次元(ｆ１、ｆ２)に簡略化してベクトル空間を簡略化して示しているが、実際は、各設計項目の特徴値がそれぞれ軸となってより多次元となる。図６の例では、特徴ベクトルの各成分を軸とした空間内に、各設計データ３０Ａの特徴ベクトルに応じた点Ｐが示されている。非線形の予測モデルは、各点Ｐをより少ない誤差で通過する非線形の曲線Ｌ１となる。このような非線形の予測モデルは、予測値の誤差が小さいものの、予測値が何故その値になったのかがわからない。このため、設計者は、予測モデルによる予測結果を信頼し難い。
【００３５】
次に、線形の予測モデルについて説明する。図７は、線形の予測モデルを模式的に示した図である。図７の例には、各設計データ３０Ａの設計情報を正規化した特徴ベクトルから、予測対象の設計項目を示す設計値を予測する線形の予測モデルの直線Ｌ２が示されている。なお、図７の例でも、予測モデルの入力とする設計項目の特徴値を２次元(ｆ１、ｆ２)に簡略化してベクトル空間を簡略化して示しているが、実際は、各設計項目の特徴値がそれぞれ軸となってより多次元となる。図７の例では、特徴ベクトルの各成分を軸とした空間内に、各設計データ３０Ａの特徴ベクトルに応じた点Ｐが示されている。線形の予測モデルは、各点Ｐをより少ない誤差で通過する直線Ｌ２となる。線形の予測モデルは、線形であるため、予測値が何故その値になったのかが分かり易い。しかしながら、線形の予測モデルでは、予測値に大きい誤差が発生する部分がある場合がある。
【００３６】
例えば、非線形モデル生成部５０は、設計情報テーブル３１に記憶された各設計データ３０Ａの設計情報を正規化した特徴ベクトルから、各設計データ３０Ａにフィットする非線形の予測モデルを生成する。図８は、分類の流れを説明する図である。図８には、図６と同様に、予測対象の設計項目の設計値を予測する非線形の予測モデルの曲線Ｌ１と、各設計データ３０Ａの特徴ベクトルに応じた点Ｐとが示されている。
【００３７】
傾き計算部５１は、非線形モデル生成部５０により生成された非線形の予測モデルにおける各設計データ３０Ａの設計情報の傾きを算出する。例えば、傾き計算部５１は、それぞれの点Ｐに対応した位置での曲線Ｌ１の軸に対する傾き（勾配）を計算する。例えば、傾き計算部５１は、点Ｐごとに、曲線Ｌ１に対して最も近い点を求め、最も近い点での軸に対する曲線Ｌ１の傾きを計算する。
【００３８】
クラスタリング部５２は、傾き計算部５１により算出された傾きに基づいて、各設計データ３０Ａを支配的な特徴が同じ設計データ３０Ａごとのクラスタに分類する。例えば、クラスタリング部５２は、各設計データ３０Ａの特徴ベクトルからそれぞれ傾きが最も大きい設計項目を特定する。そして、クラスタリング部５２は、傾きが最も大きい設計項目が同じ設計データ３０Ａが同じクラスタになるように、各設計データ３０Ａをクラスタに分類する。図８の例では、各設計データ３０Ａに対応した各点Ｐが、ｆ１の傾きが最も大きいクラスタと、設計項目ｆ２の傾きが最も大きいクラスタに分類されている。
【００３９】
分類部４１の各処理部による分類の具体的な計算の流れの一例を説明する。図９は、実施例１に係る分類の計算の流れの一例を示した図である。例えば、非線形モデル生成部５０は、各設計データ３０Ａの設計情報を正規化した特徴ベクトルをＲＢＦカーネルのＳＶＲでモデリングし、予測モデルを用いて、プリント基板の信号層の層数（信号層数）を予測する予測モデルの関数を生成する。傾き計算部５１は、各特徴ベクトルの点Ｐに対応した位置での予測モデルの関数の軸に対する傾き（勾配）を計算する。クラスタリング部５２は、各特徴ベクトルの勾配に基づいて、各設計データ３０Ａを支配的な特徴が同じ設計データ３０Ａごとのクラスタに分類する。例えば、クラスタリング部５２は、各特徴ベクトルからそれぞれ傾きが最も大きい設計項目を特定する。例えば、図９の例では、特徴ベクトルｘ１については、傾きが「１０．８」となっている最初の設計項目の成分が、支配的な特徴と特定される。また、特徴ベクトルｘ２については、傾きが「１４」となっている３番目の設計項目の成分が、支配的な特徴と特定される。クラスタリング部５２は、傾きが最も大きい設計項目が同じ設計データ３０Ａが同じクラスタになるように、各設計データ３０Ａをクラスタに分類する。例えば、図９の例では、特徴ベクトルｘ１、特徴ベクトルｘ４、・・・、特徴ベクトルｘ５００が、クラスタａに分類されている。また、特徴ベクトルｘ２、特徴ベクトルｘ３、・・・が、クラスタｂに分類されている。なお、クラスタリング部５２は、傾きが最も大きい設計項目を、支配的な特徴としたが、これに限定されない。例えば、クラスタリング部５２は、傾きが大きい順に上位所定個（例えば、上位３位）の設計項目を支配的な特徴として、上位所定個の設計項目が同じ設計データ３０Ａをクラスタに分類してもよい。
【００４０】
図１に戻り、生成部４２は、各種の予測モデルを生成する。例えば、生成部４２は、分類部４１により分類されたクラスタごとに、当該クラスタに含まれる設計データ３０Ａの設計情報から予測対象の設計項目を予測する予測モデルを生成する。例えば、生成部４２は、クラスタごとに、当該クラスタに含まれる設計データ３０Ａの特徴ベクトルから、プリント基板の信号層の層数を示す特徴値を設計値として予測する線形の予測モデルを生成する。生成部４２は、クラスタごとに、生成した予測モデルの情報を予測モデルデータ３２に記憶する。
【００４１】
図１０は、予測モデルの生成の流れの一例を示した図である。生成部４２は、クラスタごとに、当該クラスタに含まれる設計データ３０Ａの設計情報の特徴ベクトルからプリント基板の信号層の層数を示す特徴値を設計値として予測する線形の予測モデルを生成する。図１０の例では、クラスタａ、ｂについて、それぞれ線形の予測モデルが生成され、クラスタごとに、予測モデルの情報が予測モデルデータ３２に記憶されている。
【００４２】
また、生成部４２は、分類部４１により分類結果に基づき、設計データ３０Ａをクラスタに割り当てるクラスタ割当モデルを生成する。例えば、生成部４２は、各設計データ３０Ａのクラスタの分類結果を教師データとして、ＳＶＣや、Random  Forestなどのクラス分類手法を用いて、設計データ３０Ａをクラスタに割り当てるクラスタ割当モデルを生成する。生成部４２は、生成したクラスタ割当モデルの情報をクラスタ割当モデルデータ３３に記憶する。
【００４３】
図１１は、クラスタ割当モデルの生成の流れの一例を示した図である。図１１では、５００個各設計データ３０Ａに対し、クラスタａ、ｂ、・・・の何れかのクラスタが示されている。各設計データ３０Ａの設計項目のデータと、各設計データ３０Ａのクラスタの分類結果が示されている。生成部４２は、各設計データ３０Ａの各設計項目のデータとクラスタの分類結果を教師データとして、クラス分類手法により、各設計項目のデータからクラスタを推定するクラスタ割当モデルを生成する。生成部４２は、生成したクラスタ割当モデルの情報をクラスタ割当モデルデータ３３に記憶する。
【００４４】
受付部４３は、各種の受け付けを行う。例えば、受付部４３は、予測対象の設計データの設計情報を受け付ける。例えば、受付部４３は、プリント基板の実装設計を開始する場合、プリント基板の信号層の層数を予測するための操作画面を表示部２１に表示する。そして、受付部４３は、操作画面から信号層の層数を予測する対象のプリント基板の各設計項目の設計情報の入力を受け付ける。なお、受付部４３は、ネットワークを介して通信可能に接続された端末装置に操作画面を表示させ、端末装置から信号層の層数を予測する対象のプリント基板の各設計項目の設計情報の入力を受け付けてもよい。
【００４５】
特定部４４は、各種の特定を行う。例えば、特定部４４は、受付部４３により受け付けた設計情報に基づき、予測対象の設計データが何れのクラスタに分類されるかを特定する。例えば、特定部４４は、クラスタ割当モデルデータ３３に記憶されたクラスタ割当モデルを用いて、信号層の層数を予測する対象のプリント基板の各設計項目の設計情報から、当該プリント基板が何れのクラスタに分類されるかを特定する。
【００４６】
図１２は、クラスタを特定する流れの一例を示した図である。図１２には、データＩＤ「５０１」として、信号層の層数を予測する対象のプリント基板の各設計項目のデータの一例が示されている。特定部４４は、各設計項目の設計情報を、設計項目ごとに所定の範囲の特徴値に正規化する。図１２には、信号層の層数を予測する対象のプリント基板の各設計項目の設計情報の正規化した特徴ベクトルｘ５０１が示されている。特定部４４は、クラスタ割当モデルデータ３３に記憶されたクラスタ割当モデルを用いて、特徴ベクトルｘ５０１が、何れのクラスタに属するか特定する。図１２の例では、特徴ベクトルｘ５０１が、クラスタｂに属すると特定されている。
【００４７】
算出部４５は、各種の算出を行う。例えば、算出部４５は、特定部４４により特定されたクラスタに対応する予測モデルを用いて、受付部により受け付けた設計情報から予測対象の設計項目の予測値を算出する。例えば、算出部４５は、予測モデルデータ３２に記憶された予測モデルのうち、特定されたクラスタに対応する予測モデルを用いて、信号層の層数を予測する対象のプリント基板の設計データの各設計項目のデータから、信号層の層数を算出する。
【００４８】
図１３は、信号層の層数を算出する流れの一例を示した図である。図１３の例では、特徴ベクトルｘ５０１が、クラスタｂに属する。算出部４５は、クラスタｂの予測モデルを用いて、特徴ベクトルｘ５０１から信号層の層数を算出する。図１３の例では、信号層の層数が４層と算出されている。
【００４９】
また、算出部４５は、受付部４３により受け付けた設計情報が予測値に影響した度合を示す寄与度を算出する。例えば、算出部４５は、設計項目ごとに、特徴値と予測モデルの重み値を乗算して、設計項目ごとの寄与度を算出する。
【００５０】
図１４は、寄与度を算出する流れの一例を示した図である。図１４の例では、特徴ベクトルｘ５０１の設計項目ごとに、特徴値を、当該設計項目の重みと乗算して、設計項目ごとの寄与度を算出する。この寄与度が大きい設計項目は、予測対象の設計項目に対して影響の多い設計項目である。
【００５１】
出力部４６は、各種の出力を行う。例えば、出力部４６は、算出部４５により算出された予測対象の設計項目の予測値を出力する。例えば、出力部４６は、算出部４５により算出された信号層の層数を表示部２１に出力する。また、出力部４６は、算出部４５により算出された設計項目ごとの寄与度を出力する。例えば、出力部４６は、算出部４５により算出された設計項目ごとの寄与度を表示部２１に出力する。なお、受付部４３は、ネットワークを介して通信可能に接続された端末装置の画面に算出された信号層の層数や設計項目ごとの寄与度を出力してもよい。
【００５２】
設計者は、出力結果から、予測対象の設計項目の予測値を把握できる。また、設計者は、寄与度から、予測値に影響の大きい設計項目を把握でき、予測値が何故その値になったのかがわかるため、予測値の算出根拠が適切であるかを判断できる。このため、設計者は、予測モデルによる予測結果を信頼できる。
【００５３】
図１５は、寄与度の出力の一例を示した図である。図１５の例では、設計項目ごとの寄与度を棒グラフとして出力している。図１５の例では、特徴値ｆ３の設計項目の寄与度が大きいことが把握できる。
【００５４】
次に、本実施例に係る設計予測装置１０が実行する各種の処理の流れを説明する。最初に、設計予測装置１０が予測モデルを生成する生成処理の流れを説明する。図１６は、実施例１に係る生成処理の手順の一例を示すフローチャートである。この生成処理は、所定のタイミング、例えば、管理者から予測モデルの生成開始を指示する所定操作が行われたタイミングや、予測対象の設計項目の予測を行う際に、後述する予測処理の処理前のタイミングで実行される。
【００５５】
図１６に示すように、抽出部４０は、各設計データ３０Ａから、予測対象の設計項目の設計情報と、予測対象の設計項目に影響を与える設計項目の設計情報を抽出し、抽出した各設計項目の設計情報を設計情報テーブル３１に格納する（Ｓ１０）。
【００５６】
非線形モデル生成部５０は、設計情報テーブル３１に記憶された各設計データ３０Ａの設計情報から予測対象の設計項目を予測する非線形の予測モデルを生成する（Ｓ１１）。傾き計算部５１は、生成された非線形の予測モデルにおける各設計データ３０Ａの設計情報の傾きを算出する（Ｓ１２）。クラスタリング部５２は、算出された傾きに基づいて、各設計データ３０Ａを支配的な特徴が同じ設計データ３０Ａごとのクラスタに分類する（Ｓ１３）。
【００５７】
生成部４２は、クラスタごとに、当該クラスタに含まれる設計データ３０Ａの設計情報から予測対象の設計項目を予測する予測モデルを生成し、生成した予測モデルの情報を予測モデルデータ３２に記憶する（Ｓ１４）。また、生成部４２は、分類結果に基づき、設計データ３０Ａをクラスタに割り当てるクラスタ割当モデルを生成し、生成したクラスタ割当モデルの情報をクラスタ割当モデルデータ３３に記憶して（Ｓ１５）、処理を終了する。
【００５８】
次に、設計予測装置１０が予測対象の設計項目を予測する予測処理の流れを説明する。図１７は、予測処理の手順の一例を示すフローチャートである。この予測処理は、所定のタイミング、例えば、操作画面に、信号層の層数を予測する対象のプリント基板の各設計項目の設計情報が入力されて処理開始を指示する所定操作が行われたタイミングで実行される。
【００５９】
図１７に示すように、特定部４４は、クラスタ割当モデルデータ３３に記憶されたクラスタ割当モデルを用いて、操作画面に入力されたプリント基板の各設計項目の設計情報から、当該プリント基板が何れのクラスタに分類されるかを特定する（Ｓ５０）。
【００６０】
算出部４５は、予測モデルデータ３２に記憶された予測モデルのうち、特定されたクラスタに対応する予測モデルを用いて、信号層の層数を予測する対象のプリント基板の設計データの各設計項目のデータから、信号層の層数を算出する（Ｓ５１）。また、算出部４５は、受付部４３により受け付けた設計情報が予測値に影響した度合を示す寄与度を算出する（Ｓ５２）。
【００６１】
出力部４６は、算出された信号層の層数と設計項目ごとの寄与度を表示部２１に出力し（Ｓ５３）、処理を終了する。
【００６２】
このように、設計予測装置１０は、複数の設計データ３０Ａから抽出された設計情報に基づいて、複数の設計データ３０Ａを、予測対象の設計項目に対して支配的な特徴が同じ設計データ３０Ａごとのクラスタに分類する。設計予測装置１０は、分類されたクラスタごとに、当該クラスタに含まれる設計データ３０Ａの設計情報から予測対象の設計項目を予測する予測モデルを生成する。これにより、設計予測装置１０は、予測対象を精度良く予測できる。
【００６３】
また、設計予測装置１０は、複数の設計データ３０Ａから抽出された設計情報から予測対象の設計項目を予測する非線形の予測モデルを生成する。設計予測装置１０は、生成された非線形の予測モデルにおける各設計データ３０Ａの設計情報の傾きを算出する。設計予測装置１０は、算出された傾きに基づいて、複数の設計データ３０Ａを支配的な特徴が同じ設計データ３０Ａごとのクラスタに分類する。これにより、設計予測装置１０は、複数の設計データ３０Ａを、支配的な特徴が同じ設計データ３０Ａごとのクラスタに精度よく分類できる。
【００６４】
また、設計予測装置１０は、予測対象の設計データの設計情報を受け付ける。設計予測装置１０は、受け付けた設計情報に基づき、予測対象の設計データが何れのクラスタに分類されるかを特定する。設計予測装置１０は、特定されたクラスタに対応する予測モデルを用いて、受け付けた設計情報から予測対象の設計項目の予測値を算出する。設計予測装置１０は、算出された予測対象の設計項目の予測値を出力する。これにより、設計予測装置１０は、予測対象の設計データについて、予測対象の設計項目の予測値を精度良く提示でき、効率的な設計を支援できる。
【００６５】
また、設計予測装置１０は、受け付けた設計情報が前記予測値に影響した度合を示す寄与度をさらに算出する。設計予測装置１０は、算出された寄与度をさらに出力する。設計者が、出力された寄与度から予測値が適切であるか、信頼できるかを評価できる。すなわち、設計予測装置１０は、予測値の予測の根拠を出力できる。
【実施例２】
【００６６】
次に、実施例２について説明する。実施例２に係る設計予測装置１０の構成は、図１に示した実施例１と同様であるため、説明を省略する。
【００６７】
分類部４１は、各設計データ３０Ａの特徴ベクトルを用いて、予測対象の設計項目に対して支配的な特徴が同じ設計データ３０Ａごとのクラスタに分類する。
【００６８】
図１８は、実施例２に係る分類部による分類の流れを機能的に示した図である。分類部４１は、クラスタリング部６０と、モデル生成部６１と、結合部６２とを有する。
【００６９】
クラスタリング部６０は、複数の設計データ３０Ａを設計情報が類似する設計データ３０Ａごとのクラスタに分類する。例えば、クラスタリング部６０は、k-means法、mean-shift法などの分類手法を用いて、各設計データ３０Ａを、特徴ベクトルの特徴量が類似な設計データ３０Ａ同士がクラスタに分類する。モデル生成部６１は、分類されたクラスタごとに、当該クラスタに含まれる設計データ３０Ａの設計情報から予測対象の設計項目を予測する線形の予測モデルを生成する。本実施例では、モデル生成部６１は、プリント基板の信号層の層数を示す特徴値を設計値として予測する線形の予測モデルを生成する。結合部６２は、生成された線形の予測モデルでの設計情報に対する重み値に基づいて、類似するクラスタを結合する。例えば、結合部６２は、類似するクラスタとして、重み値が最大となる設計項目が同じ予測モデルのクラスタ同士を結合する。なお、結合部６２は、重み値が大きい順に上位所定個（例えば、上位３位）の設計項目を支配的な特徴とし、上位所定個の設計項目が同じ予測モデルのクラスタを類似するクラスタとして結合してもよい。
【００７０】
分類部４１の各処理部による分類の具体的な計算の流れの一例を説明する。図１９は、実施例２に係る分類の計算の流れの一例を示した図である。例えば、クラスタリング部６０は、k-means法、mean-shift法などの分類手法を用いて、各設計データ３０Ａを、特徴ベクトルの特徴量が類似な設計データ３０Ａ同士をクラスタに分類する。例えば、図１９の例では、特徴ベクトルｘ１、特徴ベクトルｘ４、・・・が、クラスタ１に分類されている。また、特徴ベクトルｘ２、特徴ベクトルｘ３、・・・が、クラスタ２に分類されている。
【００７１】
モデル生成部６１は、分類されたクラスタごとに、当該クラスタに含まれる設計データ３０Ａの設計情報から予測対象の設計項目を予測する線形の予測モデルを生成する。モデル生成部６１は、クラスタごとに、当該クラスタに含まれる設計データ３０Ａの特徴ベクトルから、プリント基板の信号層の層数（信号層数）を予測する線形の予測モデルの関数を生成する。例えば、図１９の例では、クラスタ１、２についてそれぞれ、線形の予測モデルの関数が生成されている。
【００７２】
結合部６２は、生成された線形の予測モデルでの設計情報に対する重み値に基づいて、類似するクラスタを結合する。例えば、結合部６２は、類似するクラスタとして、重み値が最大となる設計項目が同じ予測モデルのクラスタ同士を結合する。このように類似するクラスタを結合することで、分類されたクラスタのうち、支配的な特徴が同じクラスタが結合される。例えば、図１９の例では、特徴ベクトルｘ１、特徴ベクトルｘ４、・・・、特徴ベクトルｘ５００が、クラスタａに分類されている。また、特徴ベクトルｘ２、特徴ベクトルｘ３、・・・が、クラスタｂに分類されている。
【００７３】
生成部４２、実施例１と同様に、分類部４１により分類されたクラスタごとに、当該クラスタに含まれる設計データ３０Ａの設計情報から予測対象の設計項目を予測する予測モデルを生成する。
【００７４】
図２０は、実施例２に係る生成処理の手順の一例を示すフローチャートである。実施例２に係る生成処理は、図１６に示した実施例１に係る生成処理と一部が同一であるため、同一の部分については同一の符号を付して説明を省略し、主に異なる部分について説明する。
【００７５】
クラスタリング部６０は、k-means法、mean-shift法などの分類手法を用いて、各設計データ３０Ａを、特徴ベクトルの特徴量が類似な設計データ３０Ａ同士がクラスタに分類する（Ｓ２０）。モデル生成部６１は、分類されたクラスタごとに、当該クラスタに含まれる設計データ３０Ａの設計情報から予測対象の設計項目を予測する線形の予測モデルを生成する（Ｓ２１）。結合部６２は、生成された線形の予測モデルでの設計情報に対する重み値に基づいて、類似するクラスタを結合する（Ｓ２２）。
【００７６】
このように、設計予測装置１０は、複数の設計データ３０Ａを設計情報が類似する設計データ３０Ａごとのクラスタに分類する。設計予測装置１０は、分類されたクラスタごとに、当該クラスタに含まれる設計データ３０Ａの設計情報から予測対象の設計項目を予測する線形の予測モデルを生成する。設計予測装置１０は、生成された線形の予測モデルでの設計情報に対する重み値に基づいて、類似するクラスタを結合する。これにより、設計予測装置１０は、複数の設計データ３０Ａを、支配的な特徴が同じ設計データ３０Ａごとのクラスタに精度よく分類できる。
【実施例３】
【００７７】
さて、これまで開示の装置に関する実施例について説明したが、開示の技術は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００７８】
例えば、上記の実施例では、プリント基板の信号層の層数の予測する場合を例に説明したが、開示の装置はこれに限定されない。例えば、他の設計項目の予測も用いてもよい。
【００７９】
他の設計項目を予測する一例を説明する。図２１は、他の設計項目を予測する一例を説明する図である。図２１の例は、ＣＰＵとヒートシンクの位置に対するプリント基板の温度を予測する場合を示している。抽出部４０は、設計資産データ３０から予測モデルに生成に用いる各種の情報を抽出する。例えば、抽出部４０は、設計データ３０Ａごとに、基板温度と、ＣＰＵのサイズ、ヒートシンクサイズなどプリント基板の温度の予測に用いる複数の設計項目の設計情報を抽出する。分類部４１は、各設計項目の設計情報を、設計項目ごとに０〜１の範囲の特徴値に正規化し、各設計データ３０Ａごとに、設計項目の特徴値を成分とした特徴ベクトルを求める。この特徴ベクトルを用いて、支配的な特徴が同じ設計データ３０Ａごとのクラスタに分類して予測モデルを生成することで、ＣＰＵとヒートシンクの位置に対するプリント基板の温度を精度良く予測できる。
【００８０】
例えば、上記の実施例では、プリント基板の実装設計で予測対象の設計項目を予測する場合を例に説明したが、開示の装置はこれに限定されない。例えば、システムの設計など他の設計において、設計項目を予測に用いてもよい。
【００８１】
他の設計項目を予測する一例を説明する。図２２は、他の設計項目を予測する一例を説明する図である。図２２の例は、システムの設計において、ディスク容量を予測する場合を示している。設計資産データ３０は、設計データ３０Ａとして、設計済みのシステムの各種の設計情報を記憶する。抽出部４０は、設計資産データ３０から予測モデルに生成に用いる各種の情報を抽出する。例えば、抽出部４０は、設計データ３０Ａごとに、使用しているＯＳの種類や、利用者数、ディスクのＲＡＩＤ（Redundant  Array  of  Inexpensive  Disks）の種類の情報などディスク容量の予測の予測に用いる複数の設計項目の設計情報を抽出する。分類部４１は、各設計項目の設計情報を、設計項目ごとに０〜１の範囲の特徴値に正規化し、各設計データ３０Ａごとに、設計項目の特徴値を成分とした特徴ベクトルを求める。この特徴ベクトルを用いて、支配的な特徴が同じ設計データ３０Ａごとのクラスタに分類して予測モデルを生成することで、新たに設計するシステムのディスク容量を精度良く予測できる。
【００８２】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、抽出部４０、分類部４１、生成部４２、受付部４３、特定部４４、算出部４５および出力部４６の各処理部が適宜統合または分割されてもよい。また、各処理部にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００８３】
［設計予測プログラム］
また、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。図２３は、設計予測プログラムを実行するコンピュータを示す図である。
【００８４】
図２３に示すように、コンピュータ３００は、ＣＰＵ３１０、ＨＤＤ（Hard  Disk  Drive）３２０、ＲＡＭ（Random  Access  Memory）３４０を有する。これら３１０〜３４０の各部は、バス４００を介して接続される。
【００８５】
ＨＤＤ３２０には上記実施例の各処理部と同様の機能を発揮する設計予測プログラム３２０Ａが予め記憶される。例えば、上記実施例の抽出部４０、分類部４１、生成部４２、受付部４３、特定部４４、算出部４５および出力部４６と同様の機能を発揮する設計予測プログラム３２０Ａを記憶させる。なお、設計予測プログラム３２０Ａについては、適宜分離しても良い。
【００８６】
また、ＨＤＤ３２０は、各種データを記憶する。例えば、ＨＤＤ３２０は、ＯＳや各種データを記憶する。
【００８７】
そして、ＣＰＵ３１０が、設計予測プログラム３２０ＡをＨＤＤ３２０から読み出して実行することで、実施例の各処理部と同様の動作を実行する。すなわち、設計予測プログラム３２０Ａは、実施例の抽出部４０、分類部４１、生成部４２、受付部４３、特定部４４、算出部４５および出力部４６と同様の動作を実行する。
【００８８】
なお、上記した設計予測プログラム３２０Ａについては、必ずしも最初からＨＤＤ３２０に記憶させることを要しない。設計予測プログラム３２０Ａは、外部装置からＨＤＤ３２０に記憶させてもよい。
【００８９】
例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、Compact  Disk  Read  Only  Memory（ＣＤ−ＲＯＭ）、Digital  Versatile  Disk（ＤＶＤ）、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【００９０】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ３００に接続される「他のコンピュータ（またはサーバ）」などにプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【符号の説明】
【００９１】
１０  設計予測装置
２０  入力部
２１  表示部
２２  記憶部
２３  制御部
３０  設計資産データ
３０Ａ  設計データ
３１  設計情報テーブル
３２  予測モデルデータ
３３  クラスタ割当モデルデータ
４０  抽出部
４１  分類部
４２  生成部
４３  受付部
４４  特定部
４５  算出部
４６  出力部
５０  非線形モデル生成部
５１  傾き計算部
５２  クラスタリング部
６０  クラスタリング部
６１  モデル生成部
６２  結合部
【図１】
2018032210.tif 000003
【図２】
2018032210.tif 000004
【図３】
2018032210.tif 000005
【図４】
2018032210.tif 000006
【図５】
2018032210.tif 000007
【図６】
2018032210.tif 000008
【図７】
2018032210.tif 000009
【図８】
2018032210.tif 000010
【図９】
2018032210.tif 000011
【図１０】
2018032210.tif 000012
【図１１】
2018032210.tif 000013
【図１２】
2018032210.tif 000014
【図１３】
2018032210.tif 000015
【図１４】
2018032210.tif 000016
【図１５】
2018032210.tif 000017
【図１６】
2018032210.tif 000018
【図１７】
2018032210.tif 000019
【図１８】
2018032210.tif 000020
【図１９】
2018032210.tif 000021
【図２０】
2018032210.tif 000022
【図２１】
2018032210.tif 000023
【図２２】
2018032210.tif 000024
【図２３】
2018032210.tif 000025