(57)【要約】      （修正有）【課題】ハードディスクのスライダ形状等の設計に用いられる多目的最適化設計支援技術等におけるコスト計算技術に関し、設計対象形状に応じて目的関数を効率的に計算可能とする。【解決手段】パラメタ組生成部１０３は、設計対象形状に対する複数種類のパラメタからなるパラメタ組を順次入力し、その各パラメタをその各範囲データが示す範囲で順次変更しながら、パラメタ組を順次生成する。目的関数計算部１０７は、所定の計算に基づいて目的関数を計算し、該目的関数に基づいて最適な設計対象形状及び該設計対象形状に対応するパラメタ組の決定を支援する。【選択図】図１
2011008675.tif 000002
【特許請求の範囲】
【請求項１】
設計対象形状に対する複数種類のパラメタからなるパラメタ組を順次入力して、所定の計算に基づいて目的関数を計算し、該目的関数に基づいて最適な設計対象形状及び該設計対象形状に対応するパラメタ組の決定を支援する設計支援装置において、
前記複数種類のパラメタ及び該各パラメタの範囲を示す各範囲データを入力し、該各パラメタを該各範囲データが示す範囲で順次変更しながら、パラメタ組を順次生成するパラメタ組生成部と、
該パラメタ組生成部が生成するパラメタ組と前記設計対象形状の初期形状を示す初期形状データとに基づいて、前記設計対象形状を示す設計対象形状データを生成する設計対象形状データ生成部と、
該設計対象形状データに基づいて前記設計対象形状の幾何的特性の良否を示す幾何ペナルティ関数値を算出する幾何ペナルティ関数値算出部と、
前記幾何ペナルティ関数値と現在までに得られている目的関数の最良値とに基づいて、該幾何ペナルティ関数値に対応して前記パラメタ組生成部が生成したパラメタ組を目的関数の計算に使用するか否かを決定する目的関数計算制御部と、
該目的関数計算制御部によって決定されたパラメタ組を入力して目的関数を計算する目的関数計算部と、
を含むことを特徴とする設計支援装置。
【請求項２】
前記目的関数計算制御部は、前記幾何ペナルティ関数値と前記目的関数の最良値の大小関係に基づいて、該幾何ペナルティ関数値に対応して前記パラメタ組生成部が生成したパラメタ組を目的関数の計算に使用するか否かを決定する
ことを特徴とする請求項１に記載の設計支援装置。
【請求項３】
前記目的関数計算制御部は、前記幾何ペナルティ関数値から確率的に決定される決定関数値と前記目的関数の最良値の大小関係に基づいて、該幾何ペナルティ関数値に対応して前記パラメタ組生成部が生成したパラメタ組を目的関数の計算に使用するか否かを確率的に決定する
ことを特徴とする請求項１に記載の設計支援装置。
【請求項４】
設計対象形状に対する複数種類のパラメタからなるパラメタ組を順次入力して、所定の計算に基づいて目的関数を計算し、該目的関数に基づいて最適な設計対象形状及び該設計対象形状に対応するパラメタ組の決定を支援する設計支援方法において、
前記複数種類のパラメタ及び該各パラメタの範囲を示す各範囲データを入力し、該各パラメタを該各範囲データが示す範囲で順次変更しながら、パラメタ組を順次生成し、
該生成されたパラメタ組と前記設計対象形状の初期形状を示す初期形状データとに基づいて、前記設計対象形状を示す設計対象形状データを生成し、
該設計対象形状データに基づいて前記設計対象形状の幾何的特性の良否を示す幾何ペナルティ関数値を算出し、
前記幾何ペナルティ関数値と現在までに得られている目的関数の最良値とに基づいて、該幾何ペナルティ関数値に対応して前記生成されたパラメタ組を目的関数の計算に使用するか否かを決定し、
該決定されたパラメタ組を入力して目的関数を計算する、
ことを特徴とする設計支援方法。
【請求項５】
設計対象形状に対する複数種類のパラメタからなるパラメタ組を順次入力して、所定の計算に基づいて目的関数を計算し、該目的関数に基づいて最適な設計対象形状及び該設計対象形状に対応するパラメタ組の決定を支援するコンピュータに、
前記複数種類のパラメタ及び該各パラメタの範囲を示す各範囲データを入力し、該各パラメタを該各範囲データが示す範囲で順次変更しながら、パラメタ組を順次生成し、
該生成されたパラメタ組と前記設計対象形状の初期形状を示す初期形状データとに基づいて、前記設計対象形状を示す設計対象形状データを生成し、
該設計対象形状データに基づいて前記設計対象形状の幾何的特性の良否を示す幾何ペナルティ関数値を算出し、
前記幾何ペナルティ関数値と現在までに得られている目的関数の最良値とに基づいて、該幾何ペナルティ関数値に対応して前記生成されたパラメタ組を目的関数の計算に使用するか否かを決定し、
該決定されたパラメタ組を入力して目的関数を計算する、
処理を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
開示する技術は、設計に用いられる多目的最適化設計支援技術等におけるコスト計算技術に関する。
【背景技術】
【０００２】
ハードディスクの高密度化・高容量化に伴い、磁気ディスクとヘッダとの距離はますます小さくなってきている。標高差やディスク半径位置による浮上変動量の少ないスライダ設計が要求されている。
【０００３】
スライダは、図９の９０１として示されるように、ハードディスク内の磁気ディスク上を移動するアクチュエータ９０２の先端下部に設置されており、ヘッダの位置はスライダ９０１の形状によって計算される。
【０００４】
スライダ９０１の最適な浮上性能を決める際、ヘッダの位置に関係するフライハイト（図９の９０３）、ロール（９０４）、ピッチ（９０５）に関する形状パラメタに関する設計条件を、それらのパラメタの関数(目的関数・コスト関数)として表現し、その目的関数を最小にするようパラメタを設定すること(最適化)が必要となる。この最適化では、数種類〜数十種類のパラメタ値を変更しながら、対応する形状に対して浮上計算シミュレーション計算を実行して目的関数である浮上コストを計算し、そのコストが小さくなるような形状が探索される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平６−３２５１０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
スライダ形状を決定するパラメータとしては、例えば図１０のｐ、ｑ、ｒとして示されるような物理量がある。これらの値が少しずつ変更されながらパラメタ組が決定され、各パラメタ組毎に浮上シミュレーション計算が実行される。この計算において、各パラメタを正規化して例えば範囲[０，１]間を動くようにしておくと、探索空間は単位超立方体となり、その中の１点に対して１つの設計対象形状が対応する。いろいろな形状を一度の最適化で処理しようとするとパラメタの個数が増え、探索空間が大きくなる。
【０００７】
一般に、スライダ形状が細部まで探索される場合には、パラメタ（図１０のｐ、ｑ、ｒ等）の数が１０〜２０個前後にもなり、１万回以上の浮上シミュレーション計算が必要になり、探索空間が広くなって最適化に非常に時間がかかるという問題点を有していた。
【０００８】
ここで、パラメタの個数が増えると、探索空間の中で調べても無意味な場所、即ち製造時に形状の切出しが非常に困難又は不可能で採用できないパラメタの組合せなども生じる。
【０００９】
しかし従来は、それを考慮することなく浮上性能のコストのみで最適化を行っていた。そのため計算コストの掛かる浮上計算を無駄に行っており、目的関数の計算が実時間で終了しないような場合も発生し得るという問題点を有していた。
【００１０】
そこで、本発明の１つの側面では、設計対象形状に応じて目的関数を効率的に計算可能とすることを目的とする。
【課題を解決するための手段】
【００１１】
態様の一例では、設計対象形状に対する複数種類のパラメタからなるパラメタ組を順次入力して、所定の計算に基づいて目的関数を計算し、該目的関数に基づいて最適な設計対象形状及び該設計対象形状に対応するパラメタ組の決定を支援する設計支援装置として実現され、以下の構成を有する。
【００１２】
パラメタ組生成部は、複数種類のパラメタ及びその各パラメタの範囲を示す各範囲データを入力し、その各パラメタをその各範囲データが示す範囲で順次変更しながら、パラメタ組を順次生成する。
【００１３】
設計対象形状データ生成部は、そのパラメタ組生成部が生成するパラメタ組と設計対象形状の初期形状を示す初期形状データとに基づいて、設計対象形状を示す設計対象形状データを生成する。
【００１４】
幾何ペナルティ関数値算出部は、その設計対象形状データに基づいて設計対象形状の幾何的特性の良否を示す幾何ペナルティ関数値を算出する。
目的関数計算制御部は、幾何ペナルティ関数値と現在までに得られている目的関数の最良値とに基づいて、その幾何ペナルティ関数値に対応してパラメタ組生成部が生成したパラメタ組を目的関数の計算に使用するか否かを決定する。
【００１５】
目的関数計算部は、その目的関数計算制御部によって決定されたパラメタ組を入力して目的関数を計算する。
【発明の効果】
【００１６】
幾何ペナルティ関数値を用いることにより、製造不可能だったり製造コストが高くて切り出せないような形状については、計算量の多い目的関数の計算を省略することが可能となる。
【００１７】
また、幾何ペナルティ関数値が定義されることで、設計対象形状に関する問題外の配置、目的関数の計算値が非常に良ければ容認できる配置などに、柔軟に対応することが可能となる。
【００１８】
更に、幾何ペナルティ関数値と現在までに得られている目的関数の最良値とに基づいて浮上コスト計算の実行の有無が判定されることにより、目的関数値の探索が進んで最良値が小さくなるにつれて容認できる探索配置空間を狭めるような制御が可能となる。
【図面の簡単な説明】
【００１９】
【図１】設計支援装置の実施形態を示す構成図である。
【図２】実施形態の制御処理を示す動作フローチャートである。
【図３】幾何ペナルティ関数の第１の定義例の説明図（その１）である。
【図４】幾何ペナルティ関数の第１の定義例の説明図（その２）である。
【図５】幾何ペナルティ関数値の具体的な計算例を示した図である。
【図６】幾何ペナルティ関数の第２の定義例の説明図である。
【図７】決定関数の定義例の説明図である。
【図８】実施形態を実現できるコンピュータのハードウェア構成の一例を示す図である。
【図９】ハードディスクのスライダの説明図である。
【図１０】スライダ形状のパラメータの説明図である。
【発明を実施するための形態】
【００２０】
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
図１は、設計支援装置の実施形態を示す構成図である。
本実施形態は、設計対象形状に対する複数種類のパラメタからなるパラメタ組を順次入力して、所定の計算に基づいて目的関数を計算し、該目的関数に基づいて最適な設計対象形状及び該設計対象形状に対応するパラメタ組の決定を支援する設計支援装置として実現され、以下の構成を有する。
【００２１】
初期形状データ記憶部１０１は、設計対象形状であるスライダ形状（例えば図１０に示される形状）の初期形状ファイルを記憶する。
パラメタ・範囲データ記憶部１０２は、スライダ形状を表す複数種類のパラメタ（例えば図１０のｐ、ｑ、ｒ等）及びその各パラメタの範囲を示す範囲データとからなるパラメタファイルを記憶する。
【００２２】
パラメタ組生成部１０３は、パラメタ・範囲データ記憶部１０２からパラメタファイルを入力する。そして、パラメタ組生成部１０３は、各パラメタの値をその各範囲データが示す範囲で順次変更しながら、パラメタ組を順次生成する。即ち、１つのパラメタ組は、複数種類のパラメタ値の組である。
【００２３】
設計対象形状データ生成部１０４は、パラメタ組生成部１０３が生成するパラメタ組と、初期形状データ記憶部１０１から読み出した初期形状ファイルとに基づいて、設計対象形状を示す設計対象形状データを生成する。
【００２４】
幾何ペナルティ関数値算出部１０５は、設計対象形状データ生成部１０４が生成した設計対象形状データに基づいて、設計対象形状の幾何的特性の良否を示す幾何ペナルティ関数値を算出する。
【００２５】
目的関数計算制御部１０６は、幾何ペナルティ関数値算出部１０５が算出した幾何ペナルティ関数値と目的関数計算部１０７にて現在までに得られている目的関数の最良値、即ち最良コスト値とに基づいて、以下の決定処理を行う。即ち、目的関数計算制御部１０６は、幾何ペナルティ関数値に対応してパラメタ組生成部１０３が生成したパラメタ組を、目的関数計算部１０７での目的関数の計算に使用するか否かを決定する。
【００２６】
目的関数計算部１０７は、目的関数計算制御部１０７によって決定されたパラメタ組を入力して目的関数の計算、即ち浮上コスト計算を実行する。
目的関数計算部１０７にて、設計者が満足する最良コスト値が得られたら、それが最小コスト値とされて、その計算に使用された形状データ及びパラメタ組と共に、出力用データ記憶部１０８に記憶される。
【００２７】
出力部１０９は、出力用データ記憶部１０８に記憶されたデータを処理して、設計者に対して、最適形状の表示やパラメタ組の表示、又はパラメタ組とコスト値（目的関数値）との関係のディスプレイ表示又は印字出力などを行う。
【００２８】
図２は、図１の構成が、コンピュータ（後述する図８参照）によるプログラム処理として実現される場合の制御処理を示す動作フローチャートである。
以下、図１の実施形態の詳細な動作について、図２の動作フローチャートに沿って説明する。
【００２９】
まず、初期形状データ記憶部１０１からスライダの初期形状ファイルが読み込まれ、また、パラメタ・範囲データ記憶部１０２からパラメタファイルが読み込まれる。更に、以下のステップＳ２０７の浮上コスト計算の繰返し回数と、以下のステップＳ２０２からＳ２０９までの最適化アルゴリズム処理の繰返し回数が、設計者により設定される（以上、図２のステップＳ２０１）。
【００３０】
次に、所定の最適化アルゴリズムに従って、パラメタファイル中の各パラメタの値が、同じくパラメタファイル中の各範囲データが示す範囲で順次変更されながら、複数のパラメタ組が生成される。更に、生成されたパラメタ組と初期形状ファイルとに基づいて、設計対象形状を示すサンプル形状ファイルの組（設計対象形状データ）が生成される（以上、図２のステップＳ２０２）。これらの処理は、図１のパラメタ組生成部１０３及び設計対象形状データ生成部１０４の機能に対応する。
【００３１】
次に、ステップＳ２０２で生成されたサンプル形状ファイルの組が順次読み込まれ、未だ処理されていない形状ファイルがあるか否かが判定される（図２のステップＳ２０３）。
【００３２】
未処理の形状ファイルがありステップＳ２０３の判定がＹＥＳならば、未処理の形状ファイルが１つ選択される（図２のステップＳ２０４）。
次に、ステップＳ２０４で選択された形状ファイルに基づいて、スライダ形状の幾何的特性の良否を示す幾何ペナルティ関数値が計算される（図２のステップＳ２０５）。この処理は、図１の幾何ペナルティ関数値算出部１０５の機能に対応する。この処理の詳細については後述する。
【００３３】
次に、ステップＳ２０５にて計算された幾何ペナルティ関数値が、現在までに次のステップＳ２０７の浮上コスト計算にて得られている最良コスト値以下であるか否かが判定される（図２のステップＳ２０６）。幾何ペナルティ関数値が最良コスト値よりも大きく、ステップＳ２０６の判定がＮＯならば、次の浮上コスト計算は実行されずに、ステップＳ２０３の次の未処理の形状ファイルの選択処理に戻る。一方、幾何ペナルティ関数値が最良コスト値以下で、ステップＳ２０６の判定がＹＥＳならば、次の浮上コスト計算が実行される。この処理は、図１の目的関数計算制御部１０６の機能に対応する。
【００３４】
ステップＳ２０６の判定がＹＥＳの場合に、現在選択されている形状ファイルに対応するパラメタ組を使って、浮上コスト計算（シミュレーション計算）が実行される（図２のステップＳ２０７）。この処理は、図１の目的関数計算部１０７の機能に対応する。この計算の終了後、ステップＳ２０３の次の未処理の形状ファイルの選択処理に戻る。
【００３５】
以上のステップＳ２０４からからＳ２０７までの一連の処理が、未処理の形状ファイル毎に繰り返し実行される。これらの処理は、コンピュータのＣＰＵ（中央演算装置）が複数ある場合には、分散計算により、複数組の形状ファイルに対して同時に処理されてもよい。ステップＳ２０３にて、未処理の形状ファイルがないと判定されると、以下の処理が実行される。
【００３６】
ステップＳ２０７の浮上コスト計算によって現在までに得られた最良コスト値が更新されて内部のメモリにに記憶される（図２のステップＳ２０８）。
その後、最適化アルゴリズムの繰返し回数が、ステップＳ２０１にて指定された指定値に達したか否かが判定される（図２のステップＳ２０９）。最適化アルゴリズムの繰返し回数が指定値に達しておらずステップＳ２０９の判定がＮＯならば、ステップＳ２０２の処理に戻って、新たなサンプル形状ファイルの複数組が選択されて上記と同様の一連の処理が実行される。最適化アルゴリズムの繰返し回数が指定値に達してステップＳ２０９の判定がＹＥＳになると、最終的に得れている最良コスト値が最小コスト値として、それに対応するスライダ形状データと共に、図１の出力用データ記憶部１０８に出力される（図２のステップＳ２１０）。
【００３７】
ここで、前述したステップＳ２０５の幾何ペナルティ関数値算出処理、即ち図１の幾何ペナルティ関数値算出部１０５の機能について、詳細に説明する。
図２に示される設計対象形状の最適化処理では、ステップＳ２０７の浮上コスト計算にかかる時間が支配的である。
【００３８】
そこで、本実施形態では、各パラメタ値の範囲指定に対応させて、設計対象形状の幾何的特性が判定される。具体的には、例えばスライダ形状（図１０参照）において、連動して動くべき頂点、他の頂点の位置に動きを制限される頂点など、従属して動く頂点のグループが取り出されて判定され、形の悪い形状には“ペナルティ”が付与される。具体的には、後述するように、好ましくない頂点配置に対して数値が大きくなるような幾何ペナルティ関数が定義され計算される。そして、幾何ペナルティ関数値が現在までに浮上コスト計算で得られている最良コスト値よりも大きい場合には、ステップＳ２０６にて、製造時に形状の切出しが非常に困難又は不可能で採用できない形状であると判定されて、浮上コスト計算が省略される。
【００３９】
上述の処理を実現するために、まず、図２のステップＳ２０１でパラメタファイルが読み込まれたときに、幾何ペナルティ関数が定義される。
このためにまず、スライダ形状において、下記のような悪い頂点の位置関係が、頂点座標の代数（不等）式、論理式で表現される。
【００４０】
シマが凹になっている
シマが尖りすぎている
シマの面積や幅が小さすぎる
シマとシマの間隔が狭すぎる、など
ここで、「シマ」とは、例えば図１０に示されるスライダ形状において、スライダ表面の高さの高い部分をいう。
【００４１】
次に、上記論理式等に基づいて、幾何ペナルティ関数が、好ましくない度合いと対応するように定義される。特に、浮上コスト計算が不要となる頂点配置に対応して、幾何ペナルティ関数値が無限大になるように定義される。
【００４２】
図３及び図４は、幾何ペナルティ関数の第１の定義例の説明図である。
図３（ａ）及び（ｂ）の塗りつぶし部分は、スライダ形状の１つのシマの例を表しており、４頂点Ａ，Ｂ，Ｃ，Ｄの位置が、変更し得るものとする。
【００４３】
まず、頂点Ａは、線分ＰＳ上を動く。即ち、
ｑｘ≦Ａｘ≦ｓｘ
である。ここで、Ａｘは頂点Ａのｘ座標値、ｑｘは頂点Ｐ及びＱのｘ座標値、ｓｘは頂点Ｓのｘ座標値である。
【００４４】
次に、頂点Ｂ，Ｃは、長方形ＰＱＲＳ内を動く。即ち、
ｑｘ≦Ｂｘ≦ｓｘ
ｑｙ≦Ｂｙ≦ｓｙ
ｑｘ≦Ｃｘ≦ｓｘ
ｑｙ≦Ｃｙ≦ｓｙ
である。ここで、Ｂｘ及びＢｙは頂点Ｂのｘ及びｙ座標値、Ｃｘ及びＣｙは頂点Ｃのｘ及びｙ座標値、ｑｙは頂点頂点Ｑのｙ座標値、ｓｙは頂点Ｓのｙ座標値である。
【００４５】
更に、頂点Ｄは、線分ＱＲ上を動く。即ち、
ｑｘ≦Ｄｘ≦ｓｘ
である。ここで、Ｄｘは頂点Ｄのｘ座標値である。
【００４６】
ここで、図３（ａ）は、設計者が浮上コスト計算させたいパラメタの配置例を示しており、頂点ＡＢＣＤＥＦが凸六角形をなしている。
一方、図３（ｂ）は、浮上コスト値がたとえ良くても、製造時に切り出し困難で考える必要の無いパラメタの配置例を示しており、灰色部分の六角形の内角ＡＢＣがπラジアンより大きいため灰色部分が凹六角形をなしている。
【００４７】
これらの幾何的関係が反映されるような幾何ペナルティ関数は、図４に示されるようにして定義される。
図４（ａ）において、まず、
ｒ１：＝角ＡＢＣ（ｒａｄ）（図４（ａ）の４０１）
ｒ２：＝角ＢＣＤ（ｒａｄ）（図４（ａ）の４０２）
とする。単位（ｒａｄ）は、ラジアンである。また、関数ｗ（ｘ）を以下のように定義する。
【００４８】
ｗ（ｘ）：＝０（ｘ＜０の場合）
ｗ（ｘ）：＝ｘ（ｘ≧０の場合）
上述のｒ１，ｒ２，及びｗ（ｘ）を用いて、頂点Ａ，Ｂ，Ｃ，Ｄに関する幾何ペナルティ関数ｐ（Ａ，Ｂ，Ｃ，Ｄ）を、次式で定義する。
【００４９】
ｐ（Ａ，Ｂ，Ｃ，Ｄ）：＝ｋ１×ｗ（ｒ１−π）＋ｋ２×ｗ（ｒ２−π）
ここで、ｋ１，ｋ２は、非負定数、πは円周率である。
【００５０】
なお、例えば上述のｒ１（角ＡＢＣ）は、次のようにして算出することができる。今、図４（ｂ）に示される直線ＯＰの水平線からの角度は、関係式、
ｔａｎ（θ）＝ｑ／ｐ
により算出できる。ここで、「ｔａｎ」は正接関数である。ｐ，ｑの符号を考慮に入れると、０≦θ＜２πが一意に定まる。次に、図４（ｃ）に示される直線ＢＡから見た直線ＢＣの角度は、それぞれの直線の水平線からの角度をそれぞれθ１，θ２とすると、θ２−θ１が求める角度である。従って、上式によりθ１，θ２を算出した後に、θ２−θ１を計算することにより、直線ＢＡから見た直線ＢＣの角度、即ち角ＡＢＣ＝ｒ１を算出できる。但し、θ２−θ１が負になった場合には、２πが加算される。これにより、結果は０以上２π未満になる。
【００５１】
ｒ２（角ＢＣＤ）についても、同様に算出できる。
このようにして定義される幾何ペナルティ関数値が、図２のステップＳ２０５にて、形状ファイルに含まれる頂点データから計算される。
【００５２】
図５（ａ）及び（ｂ）は、幾何ペナルティ関数値の具体的な計算例を示した図である。
図５（ａ）において、３頂点Ａ，Ｂ，Ｃのうち、頂点Ｂのｘ座標、頂点Ｃのｘ座標、頂点Ｃのｙ座標の３つがパラメタであるとする。この結果、頂点Ｂは左右に動き、頂点Ｃは長方形内を動く。
【００５３】
今例えば、着目する頂点Ａ，Ｂ，Ｃの下記の各座標値が、形状ファイルから取り出される。
Ａ＝［１．１２５４７４，０．４６００００］
Ｂ＝［１．１１７６５４，０．４０７９４０］
Ｃ＝［１．１６５３４８，０．３６５６０５］
これらに対して、各頂点により形成される図５（ｂ）に示される各角度ｄ１，ｄ２，ｄ２−ｄ１が、以下のようにして計算される。
【００５４】
ベクトルＢＡ＝［０．００７８２０，０．０５２０６０］
ベクトルＢＣ＝［０．０４７６９４，−０．０４２３３５］
ｄ１＝１．４２１６９９７４０（ｒａｄ）
ｄ２＝５．５５７２４２２５３（ｒａｄ）
ｄ２−ｄ１＝４．１３５５４２５１３（ｒａｄ）
ベクトル［ｘ，ｙ］と水平線の成す角はａｒｃｔａｎ（ｙ／ｘ）で計算される。但し、点［ｘ，ｙ］が第２、第３象限にあるときはπが、第４象限にあるときは２πが加算されて、結果が０以上２π未満になるようにされる。また、ｘ＝０のときはｙ＞０ならπ／２、ｙ＜０なら３×π／２とされる。
【００５５】
この結果、幾何ペナルティ関数値が、以下のようにして計算される。
ｐ（Ａ，Ｂ，Ｃ）＝５０×ｗ（４．１３５５４２５１３−π）
＝４９．６９７４９２９５
ここでは、定数ｋ＝５０とされている。
【００５６】
以上のような幾何ペナルティ関数値を用いることにより、製造不可能だったり製造コストが高くて切り出せないような形状については、ステップＳ２０６の判定により、ステップＳ２０７の浮上コスト計算を省略することが可能となる。
【００５７】
また、幾何ペナルティ関数値が定義されることで、問題外の頂点配置、浮上コストが非常に良ければ容認できる配置などに、柔軟に対応することが可能となる。
更に、ステップＳ２０６では、幾何ペナルティ関数値と現在までの最良コスト値とから浮上コスト計算の実行の有無が判定されることにより、コスト値探索が進んで最良コスト値が小さくなるにつれて容認できる探索配置空間を狭めるような制御が可能となる。
【００５８】
図６は、幾何ペナルティ関数の第２の定義例の説明図である。
図６（ａ）、（ｂ）、（ｃ）の塗りつぶし部分は、スライダ形状の１つのシマの例を表しており、３頂点Ｂ，Ｃ，Ｄの位置が、変更し得るものとする。
【００５９】
まず、頂点Ｂは、線分ＰＳ上を動く。即ち、
ｑｘ≦Ｂｘ≦ｓｘ
である。ここで、Ｂｘは頂点Ａのｘ座標値、ｑｘは頂点Ｐ及びＱのｘ座標値、ｓｘは頂点Ｓのｘ座標値である。
【００６０】
次に、頂点Ｄは、線分ＲＱ上を動く。即ち、
ｒｙ≦Ｄｙ≦ｑｙ
である。ここで、Ｄｙは頂点Ｄのｙ座標値、ｒｙは頂点Ｒのｙ座標値、ｑｙは頂点Ｑのｙ座標値である。
【００６１】
更に、頂点Ｃは、頂点ＡＢＣＤが長方形を成すように動く。即ち、
Ｃｘ＝Ｂｘ
Ｃｙ＝Ｄｙ
である。ここで、Ｃｘ及びＣｙは頂点Ｃのｘ及びｙ座標値である。
【００６２】
図６（ａ）は、設計者が浮上コスト計算させたいパラメタの配置例を示しており、頂点ＡＢＣＤからなるシマの面積が十分な大きさを有している場合である。
次に、図６（ｂ）は、浮上コスト計算をしたくないパラメタの配置例を示しており、シマの面積が小さすぎる場合を示している。
【００６３】
また、図６（ｃ）も、浮上コスト計算をしたくないパラメタの配置例を示しており、シマの縦横比が大きすぎる（小さすぎるでもよい）場合を示している。
以上のような幾何的関係が反映されるような幾何ペナルティ関数も、具体例は省略するが定義することができ、効率的な浮上コスト計算に寄与させることが可能となる。
【００６４】
以上説明した実施形態では、幾何ペナルティ関数値と現在までに得られている最良コスト値との大小関係に基づいて、図２のステップＳ２０７の浮上コスト計算が実行されるか否かが決定された。しかし、設計形態によっては、ペナルティの大きな設計対象形状を全て除外するのではなく、確率的に多少は考慮したいような場合もある。そこで、以下の実施形態では、幾何ペナルティ関数値が大きいほど浮上コスト計算が省略される度合が大きくなるような決定関数が定義され、これに基づいて浮上コスト計算の実行の有無が確率的に決定される。
【００６５】
図７は、決定関数の定義例の説明図である。
まず、図７（ａ）において、以下の角度が定義される。
ｒ：＝角ＡＢＣ（ｒａｄ）（図７（ａ）の６０１）
これに基づいて、幾何ペナルティ関数ｐ（ｒ）が、次式で定義される。
【００６６】
ｐ（ｒ）：＝５０×ｒ／π
この定義では、前述した幾何ペナルティ関数の第１の定義例の場合とは異なり、頂点ＡＢＣで形成される部分が凸になっていても、ペナルティ値は発生する。
【００６７】
次に、幾何ペナルティ関数値ｐを用いて、決定関数ｄが次式で定義される。
ｄ（ｐ，ｍ）：＝（１／π）×ａｒｃｔａｎ（ｐ−ｍ／２）＋１／２
ここで、「ａｒｃｔａｎ」は逆正接関数である。また、ｍは、それまでの探索での最良コスト値を示している。
【００６８】
図７（ｃ）は、ｍ＝８０とした場合の、幾何ペナルティ関数値ｐと決定関数値ｄの関係を示したグラフである。このように、幾何ペナルティ関数値が大きくなるほど浮上コスト計算をしない確率が高くなるような仕組みを構築することが可能となる。
【００６９】
前述したステップＳ２０６では、幾何ペナルティ関数値の代わりに上述の決定関数値ｄと現在までの最良コスト値との大小関係から、浮上コスト計算の実行の有無が判定される。
【００７０】
図８は、上述の実施形態を実現できるコンピュータのハードウェア構成の一例を示す図である。
図８に示されるコンピュータは、ＣＰＵ８０１、メモリ８０２、入力装置８０３、出力装置８０４、外部記憶装置８０５、可搬記録媒体８０９が挿入される可搬記録媒体駆動装置８０６、及びネットワーク接続装置８０７を有し、これらがバス８０８によって相互に接続された構成を有する。同図に示される構成は上記システムを実現できるコンピュータの一例であり、そのようなコンピュータはこの構成に限定されるものではない。
【００７１】
ＣＰＵ８０１は、当該コンピュータ全体の制御を行う。メモリ８０２は、プログラムの実行、データ更新等の際に、外部記憶装置８０５（或いは可搬記録媒体８０９）に記憶されているプログラム又はデータを一時的に格納するＲＡＭ等のメモリである。ＣＵＰ８０１は、プログラムをメモリ８０２に読み出して実行することにより、全体の制御を行う。
【００７２】
入力装置８０３は、例えば、キーボード、マウス等及びそれらのインタフェース制御装置とからなる。入力装置８０３は、ユーザによるキーボードやマウス等による入力操作を検出し、その検出結果をＣＰＵ８０１に通知する。
【００７３】
出力装置８０４は、表示装置、印刷装置等及びそれらのインタフェース制御装置とからなる。出力装置８０４は、ＣＰＵ８０１の制御によって送られてくるデータを表示装置や印刷装置に出力する。
【００７４】
外部記憶装置８０５は、例えばハードディスク記憶装置である。主に各種データやプログラムの保存に用いられる。
可搬記録媒体駆動装置８０６は、光ディスクやＳＤＲＡＭ、コンパクトフラッシュ（登録商標）等の可搬記録媒体８０９を収容するもので、外部記憶装置８０５の補助の役割を有する。
【００７５】
ネットワーク接続装置８０７は、例えばＬＡＮ（ローカルエリアネットワーク）又はＷＡＮ（ワイドエリアネットワーク）の通信回線を接続するための装置である。
本実施形態によるシステムは、図１の各処理部又は図２の動作フローチャートの制御動作に必要な機能を搭載したプログラムをＣＰＵ８０１が実行することで実現される。そのプログラムは、例えば外部記憶装置８０５や可搬記録媒体８０９に記録して配布してもよく、或いはネットワーク接続装置８０７によりネットワークから取得できるようにしてもよい。
【００７６】
以上説明した実施形態は、設計対象形状がスライダ形状である場合のものであったが、設計対象形状はその他様々なものが適用可能である。
【符号の説明】
【００７７】
１０１  初期形状データ記憶部
１０２  パラメタ・範囲データ記憶部
１０３  パラメタ組生成部
１０４  設計対象形状データ生成部
１０５  幾何ペナルティ関数値算出部
１０６  目的関数計算制御部
１０７  目的関数計算部
１０８  出力用データ記憶部
１０９  出力部
８０１  ＣＰＵ
８０２  メモリ
８０３  入力装置
８０４  出力装置
８０５  外部記憶装置
８０６  可搬記録媒体駆動装置
８０７  ネットワーク接続装置
８０８  バス
８０９  可搬記録媒体
９０１  スライダ
９０２  アクチュエータ
９０３  フライハイト
９０４  ロール
９０５  ピッチ
【図１】
2011008675.tif 000003
【図２】
2011008675.tif 000004
【図５】
2011008675.tif 000005
【図８】
2011008675.tif 000006
【図３】
2011008675.tif 000007
【図４】
2011008675.tif 000008
【図６】
2011008675.tif 000009
【図７】
2011008675.tif 000010
【図９】
2011008675.tif 000011
【図１０】
2011008675.tif 000012