JP4101048B2 - Optimal design method - Google Patents
Optimal design method Download PDFInfo
- Publication number
- JP4101048B2 JP4101048B2 JP2002363918A JP2002363918A JP4101048B2 JP 4101048 B2 JP4101048 B2 JP 4101048B2 JP 2002363918 A JP2002363918 A JP 2002363918A JP 2002363918 A JP2002363918 A JP 2002363918A JP 4101048 B2 JP4101048 B2 JP 4101048B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- coefficient
- design
- design variable
- search
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、設計パラメタの最適化問題の解法に関し、特に構造部材のトポロジーを含む形状最適化のための自動設計技術に関するものである。
【0002】
【従来の技術】
構造トポロジー最適設計とは、与えられた条件の下で最適な、構造部材のトポロジーおよび形状寸法を決定する問題である。以下、構造部材のトポロジーおよび形状寸法を設計変関数といい、上記決定問題を設計変関数最適化問題という。変関数という理由は、トポロジーおよび形状寸法が3次元空間の関数になっているからである。
【0003】
設計変関数最適化問題では、各設計変関数の値に対して、状態変関数の最適化問題を解かなければならない。この意味から、構造トポロジー最適設計は、内側に状態変関数の最適化問題、外側に設計変関数の最適化問題を持つ、2重構造最適化問題と捉える事が出来る。内側の状態変関数最適化問題では、従来技術の蓄積により、空間を有限個の要素に分割するという考え方が採用される。
【0004】
特に構造部材の歪エネルギーを評価汎関数としている問題では、その解析手法として有限要素法が一般的である。有限要素法の解法としては一次方程式に対する直接法が採用されている。一方、設計変関数の最適化問題に対しては、大別すると、以下に示す3種類の方法が提供されている(〔文献1〕或いは〔文献2〕):
1.Evolutionary法(以下、E法)
2.Homogenization法(以下、H法)
3.Material distribution法(以下、MD法)
E法では、空間を分割することによって得られる部分空間のそれぞれをセルと称し、その生成と消滅を適当な規則によって繰り返す。構造部材は、最終的に存在しているセルの集合として与えられる。セルが存在するか否かという2つの状態のみを許すことにより、明確な構造部材が得られる。また、評価汎関数の微分情報を用いないので、局所最適解にトラップされないことから、評価汎関数が多峰性の場合に有効である。〔文献3〕ではE法の一種である遺伝的探索法を用いた、骨組構造部材の最適化設計装置が提供されている。本最適化設計装置では、蓄積されたノウハウに基づく試行計算を必要とし、従って膨大な設計変数が存在する実設計問題に対応することが出来なかった従来技術の課題を、以下の方法によって解決している。即ち、骨組部材断面寸法などの離散設計変数データの近似式を使用する近似最適化計算装置と、該設計変数データを使用する詳細最適化計算装置を設け、これら2つの計算装置を結合して骨組構造の最適設計装置を構成している。
【0005】
H法は分割された各部分空間に位置する構造要素に、更に微細な構造を仮定し、連続値を取る設計変関数を新たに導入することによって、感度解析の採用を可能にしている。ここで感度解析とは、設計変関数に関する評価汎関数の微分情報を利用した解析手法のことであり、感度解析が可能になれば、勾配法のような反復解法を用いることが出来、E法のような総当り的手法に比べて、少なくとも局所最適解の探索に係る計算時間は大幅に短縮される。
【0006】
MD法は、構造部材の存在確率を示す0から1の範囲の実数を各要素に割当てることによって、構造部材のトポロジーや形状寸法変化を表現する方法である。構造部材が存在するか否かという離散的な情報を存在確率という連続値に置き換えることによって感度解析を可能にしたという意味でH法と同様のものであるが、H法よりパラメタ数が少ない分、モデル化が容易であり適用範囲も広い。
【0007】
〔文献5〕にはMD法による構造物の位相最適化手法が開示されている。本手法の特徴は以下のとおりである:
(1)ボクセル有限要素法(空間を等間隔に分割)を用いているため、あらゆる要素に対する要素剛性マトリクスが同じである。従って、要素剛性マトリクスを予め1度だけ計算しておけば、以後の計算に利用できる。更に、要素が規則正しく配置されているため、各要素の節点番号情報を記憶する必要がない。
【0008】
(2)大規模連立一次方程式を解くために、前処理付共役勾配法とElement−by−Element法を組み合わせて用いたことにより、全体剛性マトリクスを組み立てることなく解が求められるので、必要とするメモリ容量が少なくて済む。
【0009】
(3)均質化法では、1要素に対して6個の設計変数(3次元の場合)が必要になる。更に設計変数が変化するたびに要素剛性マトリクスを再計算しなければならない。一方、構造部材の存在率を密度比で表現する密度法を採用することによって、1要素に対して1つの設計変数でよい。また設計変数の変化が要素剛性マトリクスに影響を与えない。
〔文献1〕S.Bulman,J.Sienz,E.Hinton:“Comparisons between algorithms for structural topology optimization using a series of benchmark studies,” Computers and Structures,79,pp.1203−1218(2001).
〔文献2〕Y−L.Hsu,M−S.Hsu,C−T.Chen:“Interpreting results from topology optimization using density contours,” Computers and Structures,79,pp.1049−1058(2001).
〔文献3〕特開2001−134628号公報
〔文献4〕山川宏:“最適化デザイン,”計算力学とCAEシリーズ9,培風館(1996)
〔文献5〕藤井,鈴木,大坪:“ボクセル有限要素法を用いた構造物の位相最適化,”Transactions of JSCES, Paper No.20000010(2000).
【0010】
【発明が解決しようとする課題】
しかしながら、従来技術には以下に述べるような課題があった。
【0011】
一般に構造最適化問題は、設計変数ベクトルの最適化問題の各反復ステップ毎に、状態変数ベクトルの最適化問題を含む、2重の最適化問題として定式化される。設計変数ベクトルの最適化問題を外側の最適化、状態変数ベクトルの最適化問題を内側の最適化と呼ぶと、内側の最適化は、設計変数ベクトルをパラメタとし、即ち設計変数ベクトルを固定し、状態変数ベクトルを求める問題である。これは通常、構造解析と呼ばれ、有限要素法によって線形方程式の解法を用いて解く事が出来る。
【0012】
ところが、構造が変化し、ある領域の構造部材が存在しなくなると、例えば部材に穴が空いてしまうと、対応する要素の設計変数が0となり、結果的に要素のヤング率が0となる。すると、上記線形方程式の係数行列がフルランクでなくなり、逆行列が存在しないという理由で、直接法では解けなくなる。
【0013】
そのため、殆どの従来技術では、設計変数ベクトルが0となる場合には、正確に0とはせずに0に近い微小な値で置き換えるという方法を取ってきた。〔文献5〕で採用されているボクセル有限要素法でも同様である。
【0014】
しかるに、要素の設計変数を微小な値に設定すると言うことは、物理的には薄い膜、或いは弱い部材が存在することに相当する。つまり従来法では、物質がない部分を正確に表現していないことになる。
【0015】
【課題を解決するための手段】
上記課題を解決するために、本発明によれば、プログラムを記憶した記憶手段と、プログラムを実行する実行手段とを備え、前記実行手段が前記記憶手段に記憶されたプログラムを実行することにより実現される、第1及び第2の求解手段と、勾配ベクトル計算手段と、収束判定手段と、第1及び第2の係数計算手段と、探索ベクトル計算手段と、設計変数ベクトル更新手段と、最大ステップサイズ計算手段と、絞込み手段と、係数決定手段とを有する構造最適設計装置において、前記第1の求解手段が、構造部材の存在可能な領域を分割した各領域における構造部材の存在率を表す設計変数ベクトルをパラメタとして状態変数ベクトルに対する第1の評価関数の最適化問題を解く第1の求解工程と、前記第2の求解手段が、前記第1の求解工程で求められた状態変数ベクトルと、前記設計変数ベクトルとに対する第2の評価関数の最適化問題を解く第2の求解工程とを備える最適設計方法において、前記第2の求解工程は、前記勾配ベクトル計算手段が、前記設計変数ベクトルに関する前記第2の評価関数の勾配ベクトルを計算する勾配ベクトル計算工程と、前記収束判定手段が、前記勾配ベクトルのノルムの値が所定値未満か否かを判定する収束判定工程と、前記第1の係数計算手段が、前記勾配ベクトルのノルムの値に基づいて第1の係数を計算する第1の係数計算工程と、前記探索ベクトル計算手段が、該第1の係数と前記勾配ベクトルとに基づいて探索ベクトルを計算する探索ベクトル計算工程と、前記第2の係数計算手段が、前記設計変数ベクトルと前記探索ベクトルとに基づいて第2の係数を計算する第2の係数計算工程と、前記設計変数ベクトル更新手段が、前記第2の係数と前記探索ベクトルとに基づいて前記設計変数ベクトルを逐次更新する設計変数ベクトル更新工程とを含み、前記第2の求解工程を、前記収束判定工程において前記第2の評価関数の勾配ベクトルのノルムの値が前記所定値未満となるまで繰り返し実行し、前記第2の係数計算工程は、前記最大ステップサイズ計算手段が、前記設計変数ベクトルに対する拘束条件に基づいて最大ステップサイズを決定する最大ステップサイズ計算工程と、前記絞込み手段が、前記最大ステップサイズより決定される探索区間の中から極小点を探索する探索範囲を絞込む絞込み工程と、前記係数決定手段が、前記探索範囲の端点及び中点における前記第2の評価関数の比較に基づいて、より小さい評価関数値を与える点を前記第2の係数に決定する係数決定工程とを備える。
【0016】
【発明の実施の形態】
本実施形態の構成を図2に示す。図中、201はCPU、202は表示装置、203は入力装置、204は1次記憶装置、205は2次記憶装置、206は通信装置、207はバスラインである。
【0017】
本実施形態における各処理機能は、プログラムとして予め2次記憶装置205に格納されており、入力装置203或いは通信装置206等からのコマンド入力によって、1次記憶装置にロードされ、実行されるものである。
【0018】
以下の説明のために対象とする問題の定式化を行う。
【0019】
有限要素法による定式化により、変関数は有限次元ベクトルで表現されるものとすると、変関数の評価汎関数は、変数ベクトルの評価関数となる。以下、有限次元ベクトルで表現されているとして記述する。
状態変数ベクトルx、設計変数ベクトルfをそれぞれ列ベクトルとして以下のように書く:
(式1)x=(x1,x2,…,xm)T
(式2)f=(f1,f2,…,fn)T
ここでTは転置を表す。xはm次元ベクトル、fはn次元ベクトルである。
xおよびfの境界条件をそれぞれB1、B2とする:
(式3)B1(x)=0
(式4)B2(f)=0
状態変数ベクトルxおよび設計変数ベクトルfに関する評価関数を、それぞれL1、L2とする:
(式5)L1=L1(x;f)
(式6)L2=L2(f,x)
L1はxを変数ベクトル、fをパラメタとする関数であり、L2はxおよびfを変数ベクトルとする関数である。
【0020】
一般の最適化問題では、K1個の等式拘束条件とK2個の不等式拘束条件とが課せられることが多い。そこで、設計変数に関するj番目の等式拘束条件およびk番目の不等式拘束条件を、それぞれQj、Rkとする:
(式7)Qj(f,x)=0
(式8)Rk(f,x)≧0
以上の表記より、最適設計問題は、拘束条件(式4)、(式5)、(式6)、(式7)、および(式8)の下で、次式を満足する解として与えられる:
(式9)min[L2]
ただし、状態変数xは拘束条件(式3)の下で次式を満足する解として得られる:
(式10)min[L1]
上記定式化に基づき、本実施形態の処理を説明する。
以下では、説明を簡単にするために、(式7)の等式拘束条件を次式の1個とする:
【外1】
【0021】
ここでcj(j=0,1,・・・,n)は定数である。
【0022】
また(式8)の不等式拘束条件を次式のように、値の範囲に対するものとする:
(式12)Rj −(f)=ft(j)−fjmin≧0
Rj +(f)=fjmax−ft(j)≧0
ただし、j=1,2,…,n。
【0023】
従って、不等式拘束条件の数は設計変数の数の2倍となる。
【0024】
設計変数ベクトルと同次元のフラグベクトルa+、およびa−を以下のように定義する:
a+=0, if 0≧Rj +(f)
a+=1, otherwise
および
a−=0, if 0≧Rj −(f)
a−=1, otherwise
また、a+およびa−が共に1であるjの集合を∧1、それ以外のインデクスの集合を∧2とする。
【0025】
図1には、第二の求解工程のフローチャートが示されている。図中、ステップS101は、シミュレーション対象となる系の諸元を読み込む処理である。諸元の読み込みは、入力装置203或いは通信装置206からの入力データで行っても良いし、予め2次記憶装置205にファイルとして格納しておいたデータを読み出して利用することもできる。系の諸元にはx、fの初期値、境界条件B1、B2、評価関数L1、L2、拘束条件Qj、Rkが含まれている。プログラムは、この情報によって、必要な変数領域を1次記憶装置204に確保し、値を設定する。
【0026】
ステップS102では、反復回数tを1に初期化する。反復回数tは、上述の第2の求解工程における第1の反復処理を行なった回数であり、以下のステップS103から111の処理の反復回数が設定値Tに達したら終了する。
【0027】
ステップS103では勾配ベクトル計算工程を実行する。同工程では、設計変数ベクトルに関する第2の評価関数のグラジェントベクトルgtを計算する。gtは次式で計算される:
(式13)gt=(∂L2/∂f1,∂L2/∂f2,…,∂L2/∂fn)T
∂L2/∂fjは解析的に解ける場合とそうでない場合がある。解析解がある場合は、その計算工程を利用して(式10)を得る。そうでない場合は、自動微分という技術を利用して計算することが出来る。自動微分技術は、以下の〔文献6〕等によって公知である。
【0028】
〔文献6〕久保田光一,伊理正夫:“アルゴリズムの自動微分と応用,”現代非線形科学シリーズ,コロナ社(1998年)
ステップS104では、(式13)で得られたgtに対して、第一のベクトル修正工程を実行する。同工程は図6を用いて後述する。
【0029】
ステップS105では、収束判定工程を実行する。同工程では、gtのノルムの2乗を計算し、その値が0或いは0に近い非常に小さい値ε未満になると処理を終了する。ノルムの2乗は次式で計算する:
(式14)‖gt‖2=gt Tgt
ステップS106では、第一の係数計算工程を実行する。第一の係数計算工程では、(式15)により係数βを計算する:
(式15)β=‖gt‖2/‖gt−1‖2
ただしt=1のときはβ=1とする。
【0030】
ステップS107では探索ベクトル計算工程を実行する。同工程では(式16)を用いて、反復回数t回目の探索ベクトルptを計算する:
(式16)pt←−gt−1+βpt−1
ステップS108では、(式16)より得られたptに対して、第一のベクトル修正工程を実行する。同工程は図6を用いて後述する。
【0031】
ステップS109ではライン探索工程を実行する。同工程では設計変数の更新のための係数δを決定する。同工程は図3を用いて後述する。
【0032】
ステップS110では設計変数ベクトル更新工程を実行する。同工程では設計変数ベクトルを更新する:
(式17)ft+1=ft+δpt
ステップS111では、設計変数ベクトルに対して第二のベクトル修正工程を実行する。同工程は図7を用いて後述する。
【0033】
ステップS112ではtをt+1に更新し、更新後のtが予め設定された反復回数を超えたら処理を終了する。
【0034】
以上が第二の求解工程の流れである。以下、各ステップについて詳述する。
【0035】
図3を参照してライン探索工程を説明する。同工程には、現在の設計変数値ft、現在の設計変数値における探索ベクトルptが引数として与えられる。更に、評価関数や拘束条件は適宜与えられているとする。
【0036】
ステップS301では最大ステップサイズΔを、次式を用いて計算する:
【外2】
【0037】
ただし
また、各変数の初期化を次式のように実行する:
(式19)g1=(3.0−5.01/2)/2,
g2=(5.01/2−1)/2,
dΔ=Δ/Tm,
a1=0.0,
a2=a1+dΔ,
ただしTmは探索範囲を適当な区間に分割するための正整数であり、例えば10〜100等の値を設定する。
【0038】
ステップS302では探索範囲絞り込み工程を実行する。同工程は図4を用いて後述する。
【0039】
ステップS303では探索範囲絞込み工程で設定されたδと最大ステップサイズΔとを比較し、等しければ処理を終了する。そうでなければステップS304へ進む。
【0040】
ステップS304では極小点探索工程を実行する。同工程は図5を用いて後述する。以上でライン探索工程を終了する。
【0041】
図4を参照して探索範囲絞込み工程を実行する。
【0042】
ステップS401では第2の評価関数値を計算する:
(式20)L21=L2(x(ft+a1pt),ft+a1pt)
(式21)L22=L2(x(ft+a2pt),ft+a2pt)
ただしx(ft+a1pt)、およびx(ft+a2pt)は図10を用いて後述する第一の求解工程を実行することによって得られる。
【0043】
ステップS402ではL21とL22とを比較し、L21が大きければ処理を終了し、そうでなければステップS403へ進む。
【0044】
ステップS403ではtを0に、μ(t)を0に初期化する。
【0045】
ステップS404ではμ(t)を更新する:
(式22)μ(t)=μ(t−1)+dΔ
ステップS405ではL21とL22を更新する:
(式23)L21=L22
(式24)L22=L2(x(fx+μ(t)pt),fx+μ(t)pt)
ただしx(fx+μ(t)pt)は図12を用いて後述する第一の求解工程を実行することによって得られる。
【0046】
ステップS406ではL21とL22とを比較し、L21がL22以下ならステップS408へ、そうでなければステップS407へ進む。
【0047】
ステップS407では、tをt+1に更新したあと、tとTmを比較し、tが大きければステップS409へ、そうでなければステップS404へ進む。
【0048】
ステップS408では、次式を実行する:
(式25)a1=μ(t)−2dΔ
a2=μ(t)
ステップS409ではμ(t)とΔを比較し、μ(t)が大きければδにΔを代入し、そうでなければ、δにΔ以外の任意の値を代入して、探索範囲絞込み工程を終了する。
【0049】
図5を用いて極小点探索工程を説明する。
【0050】
ステップS501では次式を計算し
(式26)da=a2−a1
daが予め設定された微小な正の実数以下であればステップS504へ進み、そうでなければステップS502へ進む。
【0051】
ステップS502では次式を計算する:
(式27)v1=a1+g1da
v2=a1+g2da
更に探索範囲の絞込みを行う:
(式28)a2=v2,if L21<L22
a1=v1, otherwise
これは、黄金分割法による区間縮小である。
【0052】
ステップS503では、以下の式により第二の評価関数の値を計算し、ステップS501へ進む。
【0053】
(式29)L21=L2(x(fx+a1pt),fx+a1pt)
L22=L2(x(fx+a2pt),fx+a2pt)
ただしx(ft+a1pt)、およびx(ft+a2pt)は図10を用いて後述する第一の求解工程を実行することによって得られる。
【0054】
ステップS504では探索区間の中点acと、その位置での第2の評価関数値L2cを計算する:
(式30)ac=(a1+a2)/2
(式31)L2c=L2(x(fx+acpt),fx+acpt)
ステップS505ではδの値を決定する:
(式32)δ=ac,if L2c=MIN[L21,L22,L2c,L2e]
=a1, else if L21=MIN[L21,L22,L2c,L2e]
=a2, else if L22=MIN[L21,L22,L2c,L2e]
=Δ, else if L2e=MIN[L21,L22,L2c,L2e]
=0, otherwise
ただしMIN[]は引数の中の最小値を返す関数である。以上で極小点探索工程を終了する。
【0055】
ステップS104およびステップS108で実施される第一のベクトル修正工程について、図6を用いて説明する。
【0056】
ステップS601では第二の係数計算工程を実行する。ここでは、単位法線ベクトルNN、原点から超平面への垂線の長さDST、および係数Bの値を計算する。同処理は図8を用いて詳述する。
【0057】
ステップS602では第一のベクトル射影工程を実行する。この工程は、ステップS601で計算した単位法線ベクトルNN、原点から超平面への垂線の長さDST、及び係数Bを使用し、次式に基づいてベクトルXを修正する:
以上で第一のベクトル修正工程を終了する。
【0058】
ステップS111で実施される第二のベクトル修正工程について、図7を用いて説明する。
【0059】
ステップS701では第二の係数計算工程を実行する。同処理は図8を用いて詳述する。
【0060】
ステップS702では第二のベクトル射影工程を実行する。この工程は、ステップS701で計算した単位法線ベクトルNN、原点から超平面への垂線の長さDST、及び係数Bを使用し、次式に基づいてベクトルXを修正する:
以上で第二のベクトル修正工程を終了する。
【0061】
図8を用いて第二の係数計算工程を説明する。
【0062】
ステップS801では法線ベクトル計算工程を実行し、NN、およびDSTを得る。同工程は図9を用いて後述する。
【0063】
ステップS802では、次式を用いて係数Bを計算する:
【外3】
【0064】
以上で第二の係数計算工程を終了する。
【0065】
図9を用いてステップS801の法線ベクトル計算工程を説明する。本工程では、単位法線ベクトルNNと、原点から超平面への垂線の長さDSTを計算する。
【0066】
ステップS901では次式の変数を計算する:
(式36)DST=−c(0)’
ただしc(0)’は次式で計算される:
【外4】
【0067】
(式36)のDSTを次式で修正する:
(式40)DST=DST/D
上式で与えられるDSTが、原点から超平面への垂線の長さとなる。
【0068】
ステップS902では法線ベクトルの計算を実行する。
【0069】
まず、正規化されていない法線ベクトルNを(式41)および(式42)より計算する:
【外5】
【0070】
(式42)N(j)=ft(j), otherwise
(式41)を用いて、部分空間に対する単位法線ベクトルNNを次式で計算する:
【外6】
【0071】
例えば、等式拘束条件として設計変数ベクトルの要素の総和が1である場合は、c(0)=−1, c(j)=1,j=1,2,…,nであるので、単位法線ベクトルの成分は次のように簡単になる:
(式44)NN(j)=|∧1|−1/2, if j∈∧1
ただし|∧1|は∧1の要素数である。
【0072】
以上で法線ベクトル計算工程を終了する。
【0073】
図10を用いて、第一の求解工程を説明する。
【0074】
構造が変化すると特性関数値が0となる要素が出現する可能性がある。このような構造に対して構想解析を行うと、係数行列が正則でなくなるので、直接法では解けなくなる。そのために、第1の求解工程として、以下の3通りの方法を用いる:
(1)値が0の特性関数値は0に近い微小な値に置き換えて、直接法で連立1次方程式を解く。
【0075】
(2)値が0を超える要素のみで連立1次方程式を構成し直して、直接法で解く。
【0076】
(3)逆行列の計算を必要としない、勾配ベクトルを用いた反復法で解く。これには最急降下法、共役勾配法等が含まれる。
【0077】
以下では共役勾配法を用いた求解工程を説明する。
【0078】
ステップS1001では、シミュレーション対象となる系の諸元を読み込む。系の諸元にはxの初期値、設計パラメタfの値、境界条件B1、評価関数L1が含まれている。プログラムは、この情報によって、必要な変数領域を1次記憶装置204に確保し、値を設定する。
【0079】
ステップS1002では反復回数tを1に初期化する。反復回数tは、上述の第一の求解工程に対する第1の反復処理に対するものであり、以下のステップS1003からステップS1010の処理の反復回数が設定値を超えたら終了する。
【0080】
ステップS1003では状態変数ベクトルに関する第一の評価関数のグラジエントベクトルg1,tを計算する。g1,tは次式で計算される:
(式45)g1,t=(∂L1/∂x1,∂L1/∂x2,…,∂L1/∂xn)T
∂L1/∂xjは解析的に解ける場合とそうでない場合がある。解析解がある場合は、その計算工程を利用して(式45)を得る。そうでない場合は、自動微分という技術を利用して計算することが出来る。自動微分技術は〔文献6〕等によって公知である。
【0081】
ステップS1004ではg1,tのノルムの2乗を計算し、その値が0或いは0に近い非常に小さい値のときに処理を終了する。ノルムの2乗は次式で計算する:
(式46)‖g1,t‖2=g1,t Tg1,t
ステップS1005では、(式123)よりβを計算する:
(式47)β=‖g1,t‖2/‖g1,t−1‖2
ただしt=1のときはβ=1とする。
【0082】
ステップS1006では(式124)を用いて、探索方向ベクトルptを計算する:
(式48)p1,t=−g1,t−1+βp1,t−1
ステップS1007ではライン探索工程を実行する。設計変数の更新のための係数αを決定するものである。構造解析問題を有限要素モデルを用いて解く場合には、αの値は次式で与えられる:
(式49)α=p1,t Tg1,t/(p1,t TAp1,t)
ステップS1008では状態変数ベクトルを更新する:
(式50)xt+1=xt+αp1,t
ステップS1009ではtをt+1に更新し、更新後のtが予め設定された反復回数を超えたら処理を終了する。
【0083】
以上で第一の求解工程を終了する。
【0084】
(実施例)
本実施例では、任意の位置に加重を受ける片持ち梁の最適形状自動設計に本発明を適用するものである。説明を簡単にするために平面歪問題に限定する。
【0085】
図11に示すように、構造部材の存在を可能とする設計領域は、長方形1102であり、有限要素法に従って、該領域を縦ny、横nxに等間隔に分割する。分割にされた部分領域をセルと呼び、左下および右上のセルが(1,1)(ny,nx)となるように番号付けを行う。同様に格子点をノードと呼び、左下および右上のノードが(1,1)(ny+1,nx+1)となるように番号付けを行う。
【0086】
図中1101は支持部材、1103は荷重ベクトルである。セル(j,k)には特性関数値f(j,k)が対応する。ここで特性関数値とはセル(j,k)における構造部材の存在確率を示す0から1の正の実数値をとる変数であり、本発明における設計変数ベクトルfの要素である:
(式51)f=(f(1,1),f(1,2),…,f(ny,nx))T
同様にノード(j,k)には横方向変位u(j,k)と縦方向変位v(j,k)が対応する。これらは任意の値を取る実数であり、本発明における状態変数ベクトルUの要素である:
(式52)U=(u(1,1),v(1,1),u(1,2),v(1,2),…,u(ny+1,nx+1),v(ny+1,nx+1))T
同様に剛性マトリクスをA、加重ベクトルをbと書けば、有限要素法の良く知られた結果として、状態変数ベクトルUは、次式で与えられる評価汎関数の最適化問題の解として与えられる:
(式53)L1=(1/2)UTAU−bTU
より具体的には、以下の線型方程式の解として与えられることが知られている:
(式54)AU−b=0
第一の求解工程において計算されるg1,tは(式54)の左辺として与えられる。(式54)は連立一次方程式であるので、求解法として、通常、逆行列に基づく直接解法が採用される。しかし構造最適化問題においては、剛性マトリクスAは設計変数ベクトルfの関数であり、fに0の値を取る要素があれば、剛性マトリクスAはランク落ちし正則でなくなってしまう。その結果直接解法で解けないという事態に陥るので、本発明で共役勾配法を採用しているのは、このような理由による。
【0087】
設計変数ベクトルfに対する評価関数L2は総歪エネルギーで定義される。
【0088】
(式55)L2=(1/2)UTAU
第二の求解工程で必要となるgtは次式で計算できる:
(式56)gt=∂L2/∂f(e)=−(1/2)Ue TAeUe
ただしUe、Aeは、それぞれ、要素eに対応するノードにおける変位ベクトル、該変位ベクトルに対応する要素剛性マトリクスである。
【0089】
図12に本実施例に対する計算結果を示す。図中、黒い領域が構造部材が存在する領域である。
【0090】
本実施例において、構造部材の設計領域のアスペクト比は縦/横が2対1であり、その解析解は、水平方向に対して±45度の梁が組み合わせられたものであることが知られている。
【0091】
図12に示した計算結果は、このような解析解とよく一致していることがわかる。
【0092】
尚、本発明は、単一の機器からなる装置に適用しても、複数の機器から構成されるシステムに適用してもよい。また、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、装置あるいはシステムに供給し、装置あるいはシステム内のコンピュータが記憶媒体に格納されたプログラムコードを読み出して実行することによって達成してもよい。
【0093】
更に、装置あるいはシステム内のコンピュータが記憶媒体に格納されたプログラムコードを読み出して実行することによって、上述した実施形態の機能を直接実現するばかりでなく、そのプログラムコードの指示に基づいて、コンピュータ上で稼動しているOSなどの処理により、上述の機能を実現される場合も含まれる。
【0094】
これらの場合、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0095】
以下、上記実施形態に係わる本発明の特徴を整理する。
【0096】
特徴1.
設計変数ベクトルをパラメタとして状態変数ベクトルに対する第1の評価関数の最適化問題を解く第1の求解工程と、
前記第1の求解工程で求められた状態変数ベクトルと、前記設計変数ベクトルとに対する第2の評価関数の最適化問題を解く第2の求解工程とを備える最適設計方法において、
前記第2の求解工程が、前記設計変数ベクトルを逐次更新する設計変数ベクトル更新工程を含み、該設計変数ベクトル更新工程は、
始点から探索して極小点を得る極小点探索工程と、
該極小点における前記第2の評価関数の値と、終点における前記第2の評価関数値とに基づいて最適点を決定する端点評価工程とを備えることを特徴とする最適設計方法。
【0097】
特徴2.
前記極小点探索工程は、黄金分割を用いた区間縮小法を用いることを特徴とする特徴1に記載の最適設計方法。
【0098】
特徴3.
前記極小点探索工程は、2次曲線近似による推定法を用いることを特徴とする特徴1に記載の最適設計方法。
【0099】
特徴4.
設計変数ベクトルをパラメタとして状態変数ベクトルに対する第1の評価関数の最適化問題を解く第1の求解手段と、
前記第1の求解手段で求められた状態変数ベクトルと、前記設計変数ベクトルとに対する第2の評価関数の最適化問題を解く第2の求解手段とを備える最適設計方法において、
前記第2の求解手段が、前記設計変数ベクトルを逐次更新する設計変数ベクトル更新手段を含み、該設計変数ベクトル更新手段は、
始点から探索して極小点を得る極小点探索手段と、
該極小点における前記第2の評価関数の値と、終点における前記第2の評価関数値とに基づいて最適点を決定する端点評価手段とを備えることを特徴とする最適設計方法。
【0100】
特徴5.
設計変数ベクトルをパラメタとして状態変数ベクトルに対する第1の評価関数の最適化問題を解く第1の求解工程と、
前記第1の求解工程で求められた状態変数ベクトルと、前記設計変数ベクトルとに対する第2の評価関数の最適化問題を解く第2の求解工程とを備える最適設計プログラムにおいて、
前記第2の求解工程が、前記設計変数ベクトルを逐次更新する設計変数ベクトル更新工程を含み、該設計変数ベクトル更新工程は、
始点から探索して極小点を得る極小点探索工程と、
該極小点における前記第2の評価関数の値と、終点における前記第2の評価関数値とに基づいて最適点を決定する端点評価工程とを備えることを特徴とする最適設計プログラム。
【0101】
【発明の効果】
以上説明したように、本発明によれば、個別の問題に依存する経験則を利用すること無しに、トポロジーを含む構造最適設計を実行することができる。
【図面の簡単な説明】
【図1】第2の求解工程の処理手順を示すフローチャートである。
【図2】本実施形態に係る装置のブロック構成図である。
【図3】ライン探索工程の処理手順を示すフローチャートである。
【図4】探索範囲絞込み工程の処理手順を示すフローチャートである。
【図5】極小点探索工程の処理手順を示すフローチャートである。
【図6】第1のベクトル修正工程の処理手順を示すフローチャートである。
【図7】第2のベクトル修正工程の処理手順を示すフローチャートである。
【図8】係数Bの計算工程の処理手順を示すフローチャートである。
【図9】法線ベクトル計算工程の処理手順を示すフローチャートである。
【図10】第1の求解工程の処理手順を示すフローチャートである。
【図11】実施例の問題設定の説明図である。
【図12】実施例の計算結果を示す図である。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a solution of a design parameter optimization problem, and more particularly to an automatic design technique for shape optimization including the topology of a structural member.
[0002]
[Prior art]
Structural topology optimal design is a problem that determines the optimal topology and geometry of a structural member under given conditions. Hereinafter, the topology and shape dimensions of the structural member are referred to as a design variable function, and the determination problem is referred to as a design variable function optimization problem. The reason for the variable function is that the topology and shape dimensions are functions of a three-dimensional space.
[0003]
In the design variable function optimization problem, the state variable function optimization problem must be solved for each design variable function value. In this sense, the structural topology optimum design can be regarded as a double structure optimization problem having a state variable function optimization problem inside and a design variable function optimization problem outside. The inner state variable function optimization problem employs the idea of dividing the space into a finite number of elements by accumulating the prior art.
[0004]
In particular, in the problem where the strain energy of the structural member is an evaluation functional, the finite element method is generally used as the analysis method. A direct method for linear equations is adopted as a solution method of the finite element method. On the other hand, the design variable function optimization problem is roughly classified into the following three methods ([Document 1] or [Document 2]):
1. Evolutionary method (hereinafter referred to as E method)
2. Homogenization method (H method)
3. Material distribution method (MD method)
In the E method, each of the partial spaces obtained by dividing the space is referred to as a cell, and generation and disappearance are repeated according to appropriate rules. The structural member is given as a collection of cells that are finally present. By allowing only two states, whether or not a cell is present, a clear structural member is obtained. In addition, since the differential information of the evaluation functional is not used, it is not trapped by the local optimum solution, so that it is effective when the evaluation functional is multimodal. [Document 3] provides an optimization design apparatus for a frame structure member using a genetic search method which is a kind of E method. In this optimization design device, trial calculation based on accumulated know-how is required, and therefore the problems of the prior art that could not cope with the actual design problem with a large number of design variables are solved by the following method. ing. That is, an approximate optimization calculation device that uses an approximate expression of discrete design variable data such as a cross-sectional dimension of a frame member and a detailed optimization calculation device that uses the design variable data are provided, and these two calculation devices are combined to provide a framework. It constitutes an optimal design device for the structure.
[0005]
The H method makes it possible to adopt sensitivity analysis by newly introducing a design variable function that assumes a finer structure and introduces a continuous value in a structural element located in each divided subspace. Here, sensitivity analysis is an analysis method that uses differential information of an evaluation functional related to a design variable function. If sensitivity analysis becomes possible, an iterative solution method such as a gradient method can be used. Compared with the brute force method as described above, at least the calculation time for searching for the local optimum solution is greatly shortened.
[0006]
The MD method is a method of expressing the topology and shape dimension change of a structural member by assigning each element a real number in the range of 0 to 1 indicating the existence probability of the structural member. It is the same as the H method in the sense that it enables sensitivity analysis by replacing discrete information on whether or not there is a structural member with a continuous value of existence probability, but with a smaller number of parameters than the H method. Modeling is easy and the application range is wide.
[0007]
[Document 5] discloses a phase optimization method for a structure by the MD method. The features of this method are as follows:
(1) Since the voxel finite element method (space is divided at equal intervals) is used, the element stiffness matrix for all elements is the same. Therefore, if the element stiffness matrix is calculated once in advance, it can be used for subsequent calculations. Furthermore, since the elements are regularly arranged, it is not necessary to store node number information of each element.
[0008]
(2) In order to solve a large-scale simultaneous linear equation, a solution can be obtained without assembling the entire stiffness matrix by using a combination of the preconditioned conjugate gradient method and the Element-by-Element method. Less memory capacity.
[0009]
(3) The homogenization method requires six design variables (one-dimensional case) for one element. In addition, the element stiffness matrix must be recalculated each time the design variable changes. On the other hand, one design variable may be used for one element by adopting a density method that expresses the abundance of the structural member as a density ratio. Also, changes in design variables do not affect the element stiffness matrix.
[Reference 1] S. Bulman, J .; Sienz, E .; Hinton: “Comparisons between algorithms for structural topology optimization using a series of benchmark studies,” Computers and Structures. 79. 1203-1218 (2001).
[Reference 2] YL. Hsu, MS. Hsu, C-T. Chen: “Interpreting results from topology optimization using density controls,” Computers and Structures, 79, pp. 1049-1058 (2001).
[Document 3] JP 2001-134628 [Document 4] Hiroshi Yamakawa: “Optimization Design,” Computational Mechanics and CAE Series 9, Baifukan (1996)
[Document 5] Fujii, Suzuki, Otsubo: “Topology optimization of structures using voxel finite element method,” Transactions of JSCES, Paper No. 20000010 (2000).
[0010]
[Problems to be solved by the invention]
However, the prior art has the following problems.
[0011]
In general, the structural optimization problem is formulated as a double optimization problem including a state variable vector optimization problem at each iteration step of the design variable vector optimization problem. When the optimization problem of the design variable vector is called outer optimization and the optimization problem of the state variable vector is called inner optimization, the inner optimization uses the design variable vector as a parameter, that is, the design variable vector is fixed. This is a problem of obtaining a state variable vector. This is usually called structural analysis, and can be solved by solving a linear equation by the finite element method.
[0012]
However, if the structure is changed and there is no structural member in a certain region, for example, if a hole is formed in the member, the design variable of the corresponding element becomes 0, and as a result, the Young's modulus of the element becomes 0. Then, the coefficient matrix of the linear equation is not full rank and cannot be solved by the direct method because there is no inverse matrix.
[0013]
For this reason, in most conventional techniques, when the design variable vector is 0, a method of replacing it with a minute value close to 0 instead of being exactly 0 has been taken. The same applies to the voxel finite element method employed in [Document 5].
[0014]
However, setting the element design variable to a minute value is equivalent to the presence of a physically thin film or a weak member. In other words, the conventional method does not accurately represent a portion without a substance.
[0015]
[Means for Solving the Problems]
In order to solve the above-described problem, according to the present invention, a storage unit that stores a program and an execution unit that executes the program are provided, and the execution unit executes the program stored in the storage unit. First and second solving means, gradient vector calculating means, convergence determining means, first and second coefficient calculating means, search vector calculating means, design variable vector updating means, and maximum step In the structure optimum design apparatus having a size calculating means, a narrowing means, and a coefficient determining means, the first solution finding means is a design that represents the existence ratio of the structural member in each area obtained by dividing the area where the structural member can exist. A first solution step for solving the optimization problem of the first evaluation function for the state variable vector with the variable vector as a parameter, and the second solution means include the first solution In the optimal design method, comprising the state variable vector obtained in the step and a second solving step for solving the optimization problem of the second evaluation function for the design variable vector, the second solving step includes the gradient A vector calculation means calculates a gradient vector of the second evaluation function related to the design variable vector, and the convergence determination means determines whether the norm value of the gradient vector is less than a predetermined value. A convergence determination step, a first coefficient calculation step in which the first coefficient calculation means calculates a first coefficient based on a norm value of the gradient vector, and the search vector calculation means A search vector calculation step of calculating a search vector based on a coefficient of the vector and the gradient vector, and the second coefficient calculation means includes the design variable vector and the search vector A second coefficient calculation step of calculating a second coefficient based on the design variable vector, and a design variable vector in which the design variable vector update means sequentially updates the design variable vector based on the second coefficient and the search vector The second coefficient calculation step is repeatedly executed until the norm value of the gradient vector of the second evaluation function becomes less than the predetermined value in the convergence determination step. The step includes a maximum step size calculating step in which the maximum step size calculating means determines a maximum step size based on a constraint condition for the design variable vector, and a narrowing means is a search section determined by the maximum step size. The narrowing-down process of narrowing down the search range for searching for the minimum point from the inside, and the coefficient determination means, the end point and the midpoint of the search range And a coefficient determination step of determining a point that gives a smaller evaluation function value as the second coefficient based on the comparison of the second evaluation functions.
[0016]
DETAILED DESCRIPTION OF THE INVENTION
The configuration of the present embodiment is shown in FIG. In the figure, 201 is a CPU, 202 is a display device, 203 is an input device, 204 is a primary storage device, 205 is a secondary storage device, 206 is a communication device, and 207 is a bus line.
[0017]
Each processing function in the present embodiment is stored in advance in the
[0018]
For the following explanation, we formulate the target problem.
[0019]
If the variable function is expressed by a finite-dimensional vector by the formulation by the finite element method, the evaluation functional of the variable function becomes an evaluation function of the variable vector. Hereinafter, it is described as being expressed by a finite dimensional vector.
The state variable vector x and the design variable vector f are respectively written as column vectors as follows:
(Formula 1) x = (x 1 , x 2 ,..., X m ) T
(Expression 2) f = (f 1 , f 2 ,..., F n ) T
Here, T represents transposition. x is an m-dimensional vector, and f is an n-dimensional vector.
Let the boundary conditions of x and f be B 1 and B 2 respectively:
(Formula 3) B 1 (x) = 0
(Formula 4) B 2 (f) = 0
Assume that the evaluation functions related to the state variable vector x and the design variable vector f are L 1 and L 2 , respectively:
(Formula 5) L 1 = L 1 (x; f)
(Expression 6) L 2 = L 2 (f, x)
L 1 is a function having x as a variable vector and f as a parameter, and L 2 is a function having x and f as variable vectors.
[0020]
In general optimization problems, K 1 equality constraints and K 2 inequality constraints are often imposed. Therefore, the j-th equality constraint condition and the k-th inequality constraint condition for the design variable are respectively Q j and R k :
(Expression 7) Q j (f, x) = 0
(Equation 8) R k (f, x) ≧ 0
From the above notation, the optimum design problem is given as a solution satisfying the following expression under the constraint conditions (Expression 4), (Expression 5), (Expression 6), (Expression 7), and (Expression 8). :
(Formula 9) min [L 2 ]
However, the state variable x is obtained as a solution satisfying the following equation under the constraint condition (Equation 3):
(Formula 10) min [L 1 ]
Based on the above formulation, the processing of this embodiment will be described.
In the following, for ease of explanation, the equality constraint in (Equation 7) is one of the following:
[Outside 1]
[0021]
Here, c j (j = 0, 1,..., N) is a constant.
[0022]
Also, the inequality constraint condition of (Equation 8) is for the range of values as follows:
(Equation 12) R j - (f) = f t (j) -f jmin ≧ 0
R j + (f) = f jmax −f t (j) ≧ 0
However, j = 1, 2,..., N.
[0023]
Therefore, the number of inequality constraints is twice the number of design variables.
[0024]
Define flag vectors a + and a − of the same dimension as the design variable vector as follows:
a + = 0, if 0 ≧ R j + (f)
a + = 1, otherwise
And a − = 0, if 0 ≧ R j − (f)
a − = 1, otherwise
Further, a + and a - is ∧ a set of j are both 1 1, the set of the other indexes and ∧ 2.
[0025]
FIG. 1 shows a flowchart of the second solution solving process. In the figure, step S101 is a process of reading the specifications of the system to be simulated. The specification can be read by input data from the
[0026]
In step S102, the number of iterations t is initialized to 1. The number of iterations t is the number of times the first iteration process has been performed in the above-described second solving step, and ends when the number of iterations of the following steps S103 to 111 reaches the set value T.
[0027]
In step S103, a gradient vector calculation step is executed. In the process, calculating a gradient vector g t of the second evaluation functions for the design variable vector. g t is calculated as:
(Formula 13) g t = (∂L 2 / ∂f 1 , 2L 2 / , f 2 ,..., L 2 / ∂f n ) T
∂L 2 / ∂f j may or may not be solved analytically. When there is an analytical solution, (Equation 10) is obtained using the calculation process. Otherwise, it can be calculated using a technique called automatic differentiation. The automatic differentiation technique is known from [Document 6] below.
[0028]
[Reference 6] Koichi Kubota, Masao Iri: "Automatic differentiation and application of algorithms," Modern Nonlinear Science Series, Corona (1998)
In step S104, it executes the obtained g t (Equation 13), the first vector correction process. This process will be described later with reference to FIG.
[0029]
In step S105, a convergence determination step is executed. In the process, calculates the square of the norm of g t, the process ends and the value is very less than small value ε close to 0 or 0. The square of the norm is calculated as:
(Expression 14) ‖g t ‖ 2 = g t T g t
In step S106, a first coefficient calculation step is executed. In the first coefficient calculation step, the coefficient β is calculated by (Equation 15):
(Formula 15) β = ‖g t ‖ 2 / ‖g t-1 ‖ 2
However, when t = 1, β = 1.
[0030]
In step S107, a search vector calculation step is executed. In the same process, the search vector pt of the tth iteration is calculated using (Equation 16):
(Expression 16) p t ← −g t−1 + βp t−1
In step S108, the obtained p t from the equation (16), performing a first vector correction process. This process will be described later with reference to FIG.
[0031]
In step S109, a line search process is executed. In the same process, a coefficient δ for updating the design variable is determined. This process will be described later with reference to FIG.
[0032]
In step S110, a design variable vector update process is executed. The process updates the design variable vector:
(Expression 17) f t + 1 = f t + δp t
In step S111, a second vector correction step is performed on the design variable vector. This process will be described later with reference to FIG.
[0033]
In step S112, t is updated to t + 1, and the process ends when the updated t exceeds the preset number of iterations.
[0034]
The above is the flow of the second solving process. Hereinafter, each step will be described in detail.
[0035]
The line search process will be described with reference to FIG. In the same process, the current design variable value f t and the search vector p t in the current design variable value are given as arguments. Furthermore, it is assumed that the evaluation function and constraint conditions are given as appropriate.
[0036]
In step S301, the maximum step size Δ is calculated using the following equation:
[Outside 2]
[0037]
However,
Also, initialize each variable as follows:
(Formula 19) g1 = (3.0−5.0 1/2 ) / 2
g2 = (5.0 1/2 -1) / 2
dΔ = Δ / T m ,
a1 = 0.0,
a2 = a1 + dΔ,
However, Tm is a positive integer for dividing the search range into appropriate sections, and is set to a value such as 10 to 100, for example.
[0038]
In step S302, a search range narrowing step is executed. This process will be described later with reference to FIG.
[0039]
In step S303, δ set in the search range narrowing step is compared with the maximum step size Δ, and if they are equal, the process ends. Otherwise, the process proceeds to step S304.
[0040]
In step S304, a minimum point search step is executed. This process will be described later with reference to FIG. This completes the line search process.
[0041]
The search range narrowing step is executed with reference to FIG.
[0042]
In step S401, a second evaluation function value is calculated:
(Equation 20) L21 = L2 (x ( f t + a1p t), f t + a1p t)
(Equation 21) L22 = L2 (x ( f t + a2p t), f t + a2p t)
However x (f t + a1p t) , and x (f t + a2p t) is obtained by performing a first solution finding process to be described later with reference to FIG. 10.
[0043]
In step S402, L21 and L22 are compared. If L21 is larger, the process ends. If not, the process proceeds to step S403.
[0044]
In step S403, t is initialized to 0 and μ (t) is initialized to 0.
[0045]
In step S404, μ (t) is updated:
(Expression 22) μ (t) = μ (t−1) + dΔ
In step S405, L21 and L22 are updated:
(Formula 23) L21 = L22
(Expression 24) L22 = L 2 (x (f x + μ (t) p t ), f x + μ (t) p t )
However, x (f x + μ (t) p t ) is obtained by executing a first solution solving process to be described later with reference to FIG.
[0046]
In step S406, L21 and L22 are compared. If L21 is equal to or smaller than L22, the process proceeds to step S408, and if not, the process proceeds to step S407.
[0047]
In step S407, t is updated to t + 1, t and Tm are compared, and if t is large, the process proceeds to step S409, and if not, the process proceeds to step S404.
[0048]
In step S408, the following equation is executed:
(Equation 25) a1 = μ (t) −2dΔ
a2 = μ (t)
In step S409, μ (t) and Δ are compared. If μ (t) is large, Δ is substituted for δ, and if not, any value other than Δ is substituted for δ, and the search range narrowing step is performed. finish.
[0049]
The minimum point search process will be described with reference to FIG.
[0050]
In step S501, the following expression is calculated (Expression 26) da = a2-a1.
If da is less than or equal to a preset small positive real number, the process proceeds to step S504, and if not, the process proceeds to step S502.
[0051]
In step S502, the following equation is calculated:
(Formula 27) v1 = a1 + g1da
v2 = a1 + g2da
Further refine the search range:
(Formula 28) a2 = v2, if L21 <L22
a1 = v1, otherwise
This is a section reduction by the golden section method.
[0052]
In step S503, the value of the second evaluation function is calculated by the following formula, and the process proceeds to step S501.
[0053]
(Equation 29) L21 = L2 (x ( f x + a1p t), f x + a1p t)
L22 = L2 (x (f x + a2p t), f x + a2p t)
However x (f t + a1p t) , and x (f t + a2p t) is obtained by performing a first solution finding process to be described later with reference to FIG. 10.
[0054]
In step S504, the midpoint ac of the search section and the second evaluation function value L2c at that position are calculated:
(Formula 30) ac = (a1 + a2) / 2
(Equation 31) L2c = L2 (x ( f x + acp t), f x + acp t)
In step S505, the value of δ is determined:
(Expression 32) δ = ac, if L2c = MIN [L21, L22, L2c, L2e]
= A1, else if L21 = MIN [L21, L22, L2c, L2e]
= A2, else if L22 = MIN [L21, L22, L2c, L2e]
= Δ, else if L2e = MIN [L21, L22, L2c, L2e]
= 0, otherwise
However, MIN [] is a function that returns the minimum value in the argument. This is the end of the minimum point search process.
[0055]
The first vector correction process performed in step S104 and step S108 will be described with reference to FIG.
[0056]
In step S601, the second coefficient calculation step is executed. Here, the unit normal vector NN, the length DST of the perpendicular from the origin to the hyperplane, and the value of the coefficient B are calculated. This process will be described in detail with reference to FIG.
[0057]
In step S602, the first vector projection process is executed. This process uses the unit normal vector NN calculated in step S601, the perpendicular length DST from the origin to the hyperplane, and the coefficient B, and corrects the vector X based on the following equation:
This completes the first vector correction process.
[0058]
The second vector correction process performed in step S111 will be described with reference to FIG.
[0059]
In step S701, a second coefficient calculation step is executed. This process will be described in detail with reference to FIG.
[0060]
In step S702, a second vector projection process is executed. This process uses the unit normal vector NN calculated in step S701, the perpendicular length DST from the origin to the hyperplane, and the coefficient B, and corrects the vector X based on the following equation:
This completes the second vector correction process.
[0061]
The second coefficient calculation step will be described with reference to FIG.
[0062]
In step S801, a normal vector calculation step is executed to obtain NN and DST. This process will be described later with reference to FIG.
[0063]
In step S802, the coefficient B is calculated using the following equation:
[Outside 3]
[0064]
The second coefficient calculation step is thus completed.
[0065]
The normal vector calculation process in step S801 will be described with reference to FIG. In this step, a unit normal vector NN and a perpendicular length DST from the origin to the hyperplane are calculated.
[0066]
In step S901, the following variable is calculated:
(Expression 36) DST = −c (0) ′
Where c (0) ′ is calculated as:
[Outside 4]
[0067]
Modify the DST in (Equation 36) with the following equation:
(Formula 40) DST = DST / D
The DST given by the above equation is the length of the perpendicular from the origin to the hyperplane.
[0068]
In step S902, a normal vector is calculated.
[0069]
First, an unnormalized normal vector N is calculated from (Equation 41) and (Equation 42):
[Outside 5]
[0070]
(Equation 42) N (j) = f t (j), otherwise
Using (Equation 41), the unit normal vector NN for the subspace is calculated by the following equation:
[Outside 6]
[0071]
For example, when the sum of the elements of the design variable vector is 1 as an equality constraint condition, c (0) = − 1, c (j) = 1, j = 1, 2,. The normal vector components are simplified as follows:
(Formula 44) NN (j) = | ∧ 1 | −1/2 , if j∈∧ 1
However, | ∧ 1 | is the number of elements of ∧ 1 .
[0072]
This completes the normal vector calculation step.
[0073]
The first solution finding process will be described with reference to FIG.
[0074]
When the structure changes, an element having a characteristic function value of 0 may appear. When concept analysis is performed on such a structure, the coefficient matrix is not regular and cannot be solved by the direct method. Therefore, the following three methods are used as the first solution process:
(1) The characteristic function value of 0 is replaced with a minute value close to 0, and the simultaneous linear equations are solved by the direct method.
[0075]
(2) Reconstruct a simultaneous linear equation with only elements whose value exceeds 0 and solve it by the direct method.
[0076]
(3) Solve by an iterative method using gradient vectors, which does not require calculation of the inverse matrix. This includes the steepest descent method, the conjugate gradient method, and the like.
[0077]
Hereinafter, a solution finding process using the conjugate gradient method will be described.
[0078]
In step S1001, the specifications of the system to be simulated are read. The system specifications include an initial value of x, a value of the design parameter f, a boundary condition B 1 , and an evaluation function L 1 . Based on this information, the program secures a necessary variable area in the
[0079]
In step S1002, the number of iterations t is initialized to 1. The number of iterations t is for the first iteration process for the first solution step described above, and ends when the number of iterations of the processing from step S1003 to step S1010 below exceeds a set value.
[0080]
In step S1003, a gradient vector g 1, t of the first evaluation function related to the state variable vector is calculated. g 1, t is calculated by the following formula:
(Equation 45) g 1, t = (∂L 1 / ∂x 1 , ∂L 1 / ∂x 2 ,..., L 1 / nx n ) T
∂L 1 / ∂x j may or may not be solved analytically. When there is an analytical solution, (Equation 45) is obtained using the calculation process. Otherwise, it can be calculated using a technique called automatic differentiation. The automatic differentiation technique is known from [Document 6] and the like.
[0081]
In step S1004, the norm square of g1 , t is calculated, and the process ends when the value is 0 or a very small value close to 0. The square of the norm is calculated as:
(Equation 46) ‖g 1, t ‖ 2 = g 1, t T g 1, t
In step S1005, β is calculated from (Equation 123):
(Formula 47) β = ‖g 1, t ‖ 2 / ‖
However, when t = 1, β = 1.
[0082]
In step S1006, the search direction vector p t is calculated using (Equation 124):
(Formula 48) p1 , t = -g1 , t-1 + (beta) p1 , t-1
In step S1007, a line search process is executed. The coefficient α for updating the design variable is determined. When solving a structural analysis problem using a finite element model, the value of α is given by:
(Formula 49) α = p 1, t T g 1, t / (p 1, t T Ap 1, t )
In step S1008, the state variable vector is updated:
(Expression 50) x t + 1 = x t + αp 1, t
In step S1009, t is updated to t + 1, and the process ends when the updated t exceeds the preset number of iterations.
[0083]
This completes the first solution process.
[0084]
(Example)
In this embodiment, the present invention is applied to the optimum shape automatic design of a cantilever beam that receives a load at an arbitrary position. For simplicity of explanation, we will limit it to the plane distortion problem.
[0085]
As shown in FIG. 11, the design area that allows the existence of the structural member is a
[0086]
In the figure, 1101 is a support member, and 1103 is a load vector. The characteristic function value f (j, k) corresponds to the cell (j, k). Here, the characteristic function value is a variable taking a positive real value from 0 to 1 indicating the existence probability of the structural member in the cell (j, k), and is an element of the design variable vector f in the present invention:
(Equation 51) f = (f (1,1), f (1,2),..., F ( ny , nx )) T
Similarly, the node (j, k) corresponds to the lateral displacement u (j, k) and the longitudinal displacement v (j, k). These are real numbers taking arbitrary values, and are elements of the state variable vector U in the present invention:
(Equation 52) U = (u (1,1 ), v (1,1), u (1,2), v (1,2), ..., u (n y + 1, n x +1), v ( n y +1, n x +1)) T
Similarly, if the stiffness matrix is written as A and the weighting vector is written as b, as a well-known result of the finite element method, the state variable vector U is given as a solution to the optimization problem of the evaluation functional given by the following equation:
(Formula 53) L 1 = (1/2) U T AU−b T U
More specifically, it is known to be given as a solution to the following linear equation:
(Formula 54) AU−b = 0
G 1, t calculated in the first solving process is given as the left side of (Formula 54). Since (Formula 54) is a simultaneous linear equation, a direct solution based on an inverse matrix is usually adopted as a solution. However, in the structure optimization problem, the stiffness matrix A is a function of the design variable vector f, and if there is an element in which f takes a value of 0, the stiffness matrix A drops in rank and becomes non-regular. As a result, the solution cannot be solved by the direct solution, and the conjugate gradient method is adopted in the present invention for the above reason.
[0087]
Evaluation function L 2 with respect to the design variable vector f is defined by the total strain energy.
[0088]
(Formula 55) L 2 = (1/2) U T AU
The g t required in the second solution finding process can be calculated by the following formula:
(Expression 56) g t = ∂L 2 / ∂f (e) =-(1/2) U e TA e U e
Here, U e and A e are a displacement vector at a node corresponding to the element e and an element stiffness matrix corresponding to the displacement vector, respectively.
[0089]
FIG. 12 shows the calculation results for this example. In the figure, black areas are areas where structural members are present.
[0090]
In this embodiment, the aspect ratio of the design area of the structural member is 2/1 in the vertical / horizontal direction, and the analytical solution is known to be a combination of beams of ± 45 degrees with respect to the horizontal direction. ing.
[0091]
It can be seen that the calculation result shown in FIG. 12 is in good agreement with such an analytical solution.
[0092]
Note that the present invention may be applied to an apparatus composed of a single device or a system composed of a plurality of devices. Also, a storage medium storing software program codes for realizing the functions of the above-described embodiments is supplied to the apparatus or system, and a computer in the apparatus or system reads out and executes the program code stored in the storage medium. May be achieved.
[0093]
Further, the computer in the apparatus or system reads out and executes the program code stored in the storage medium, thereby not only directly realizing the functions of the above-described embodiments but also on the computer based on the instruction of the program code. The case where the above-described functions are realized by processing of an OS or the like that is running on is also included.
[0094]
In these cases, the storage medium storing the program code constitutes the present invention.
[0095]
The features of the present invention according to the above embodiment will be summarized below.
[0096]
A first solution step for solving the optimization problem of the first evaluation function for the state variable vector with the design variable vector as a parameter;
In an optimal design method comprising: a state variable vector obtained in the first solution solving step; and a second solution solving step that solves an optimization problem of a second evaluation function for the design variable vector,
The second solving step includes a design variable vector update step of sequentially updating the design variable vector, and the design variable vector update step includes:
Searching for a minimum point by searching from the start point and obtaining a minimum point;
An optimal design method comprising: an endpoint evaluation step for determining an optimal point based on the value of the second evaluation function at the minimum point and the second evaluation function value at the end point.
[0097]
Feature 2.
The optimal design method according to
[0098]
Feature 3.
2. The optimum design method according to
[0099]
Feature 4.
First solution means for solving the optimization problem of the first evaluation function for the state variable vector using the design variable vector as a parameter;
In an optimum design method comprising: a state variable vector obtained by the first solution finding means; and a second solution finding means for solving an optimization problem of a second evaluation function for the design variable vector,
The second solving means includes design variable vector update means for sequentially updating the design variable vector, and the design variable vector update means includes:
A minimum point search means for searching from the start point to obtain a minimum point;
An optimum design method comprising: an endpoint evaluation means for determining an optimum point based on the value of the second evaluation function at the minimum point and the second evaluation function value at the end point.
[0100]
Feature 5.
A first solution step for solving the optimization problem of the first evaluation function for the state variable vector with the design variable vector as a parameter;
In an optimal design program comprising: a state variable vector obtained in the first solving step; and a second solving step for solving an optimization problem of a second evaluation function for the design variable vector,
The second solving step includes a design variable vector update step of sequentially updating the design variable vector, and the design variable vector update step includes:
Searching for a minimum point by searching from the start point and obtaining a minimum point;
An optimum design program comprising: an endpoint evaluation step for determining an optimum point based on the value of the second evaluation function at the minimum point and the second evaluation function value at the end point.
[0101]
【The invention's effect】
As described above, according to the present invention, it is possible to execute a structure optimum design including a topology without using an empirical rule depending on an individual problem.
[Brief description of the drawings]
FIG. 1 is a flowchart showing a processing procedure of a second solution solving process.
FIG. 2 is a block configuration diagram of an apparatus according to the present embodiment.
FIG. 3 is a flowchart showing a processing procedure of a line search process.
FIG. 4 is a flowchart showing a processing procedure of a search range narrowing step.
FIG. 5 is a flowchart showing a processing procedure of a minimum point search process.
FIG. 6 is a flowchart showing a processing procedure of a first vector correction step.
FIG. 7 is a flowchart showing a processing procedure of a second vector correction step.
FIG. 8 is a flowchart showing a processing procedure of a coefficient B calculation process.
FIG. 9 is a flowchart showing a processing procedure of a normal vector calculation step.
FIG. 10 is a flowchart showing a processing procedure of a first solution finding process.
FIG. 11 is an explanatory diagram of problem setting according to the embodiment.
FIG. 12 is a diagram showing a calculation result of an example.
Claims (2)
前記第1の求解手段が、構造部材の存在可能な領域を分割した各領域における構造部材の存在率を表す設計変数ベクトルをパラメタとして状態変数ベクトルに対する第1の評価関数の最適化問題を解く第1の求解工程と、
前記第2の求解手段が、前記第1の求解工程で求められた状態変数ベクトルと、前記設計変数ベクトルとに対する第2の評価関数の最適化問題を解く第2の求解工程とを備える最適設計方法において、
前記第2の求解工程は、
前記勾配ベクトル計算手段が、前記設計変数ベクトルに関する前記第2の評価関数の勾配ベクトルを計算する勾配ベクトル計算工程と、
前記収束判定手段が、前記勾配ベクトルのノルムの値が所定値未満か否かを判定する収束判定工程と、
前記第1の係数計算手段が、前記勾配ベクトルのノルムの値に基づいて第1の係数を計算する第1の係数計算工程と、
前記探索ベクトル計算手段が、該第1の係数と前記勾配ベクトルとに基づいて探索ベクトルを計算する探索ベクトル計算工程と、
前記第2の係数計算手段が、前記設計変数ベクトルと前記探索ベクトルとに基づいて第2の係数を計算する第2の係数計算工程と、
前記設計変数ベクトル更新手段が、前記第2の係数と前記探索ベクトルとに基づいて前記設計変数ベクトルを逐次更新する設計変数ベクトル更新工程とを含み、
前記第2の求解工程を、前記収束判定工程において前記第2の評価関数の勾配ベクトルのノルムの値が前記所定値未満となるまで繰り返し実行し、
前記第2の係数計算工程は、
前記最大ステップサイズ計算手段が、前記設計変数ベクトルに対する拘束条件に基づいて最大ステップサイズを決定する最大ステップサイズ計算工程と、
前記絞込み手段が、前記最大ステップサイズより決定される探索区間の中から極小点を探索する探索範囲を絞込む絞込み工程と、
前記係数決定手段が、前記探索範囲の端点及び中点における前記第2の評価関数の比較に基づいて、より小さい評価関数値を与える点を前記第2の係数に決定する係数決定工程とを備えることを特徴とする最適設計方法。Storage means for storing a program, and a execution means for executing the program, said execution unit is realized by executing a program stored in the storage means, the first and second solving means, the gradient Vector calculation means, convergence determination means, first and second coefficient calculation means, search vector calculation means, design variable vector update means, maximum step size calculation means, narrowing means, and coefficient determination means In the structural optimum design apparatus having
The first solving means solves the optimization problem of the first evaluation function for the state variable vector using the design variable vector representing the existence rate of the structural member in each region obtained by dividing the region where the structural member can exist as a parameter. 1 solution process,
Optimum design, wherein the second solution solving means includes a state variable vector obtained in the first solution solving process and a second solution solving process for solving an optimization problem of a second evaluation function for the design variable vector. In the method
The second solving step includes
A gradient vector calculating step in which the gradient vector calculating means calculates a gradient vector of the second evaluation function with respect to the design variable vector;
A convergence determination step in which the convergence determination means determines whether the norm value of the gradient vector is less than a predetermined value;
A first coefficient calculating step in which the first coefficient calculating means calculates a first coefficient based on a norm value of the gradient vector;
A search vector calculation step in which the search vector calculation means calculates a search vector based on the first coefficient and the gradient vector;
A second coefficient calculating step in which the second coefficient calculating means calculates a second coefficient based on the design variable vector and the search vector;
Said design variable vector updating means, and a design variable vector updating step of sequentially updating the design variable vector based on said search vector and the second coefficient,
The second solving step is repeatedly executed until the norm value of the gradient vector of the second evaluation function is less than the predetermined value in the convergence determining step,
The second coefficient calculation step includes:
A maximum step size calculating step in which the maximum step size calculating means determines a maximum step size based on a constraint condition on the design variable vector ;
The narrowing-down process narrows down the search range for searching for a minimum point from the search section determined from the maximum step size;
The coefficient determination means includes a coefficient determination step of determining a point that gives a smaller evaluation function value as the second coefficient based on the comparison of the second evaluation function at the end point and the middle point of the search range. An optimal design method characterized by that.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002363918A JP4101048B2 (en) | 2002-12-16 | 2002-12-16 | Optimal design method |
US10/735,143 US7319943B2 (en) | 2002-12-16 | 2003-12-11 | Optimum design method, and apparatus, and program for the same |
US11/778,367 US7676350B2 (en) | 2002-12-16 | 2007-07-16 | Optimum design method and apparatus, and program for the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002363918A JP4101048B2 (en) | 2002-12-16 | 2002-12-16 | Optimal design method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004199162A JP2004199162A (en) | 2004-07-15 |
JP4101048B2 true JP4101048B2 (en) | 2008-06-11 |
Family
ID=32761937
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002363918A Expired - Fee Related JP4101048B2 (en) | 2002-12-16 | 2002-12-16 | Optimal design method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4101048B2 (en) |
-
2002
- 2002-12-16 JP JP2002363918A patent/JP4101048B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004199162A (en) | 2004-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Singh et al. | Learning stabilizable nonlinear dynamics with contraction-based regularization | |
Masic et al. | Optimization of tensegrity structures | |
US7676350B2 (en) | Optimum design method and apparatus, and program for the same | |
US7987073B2 (en) | Method and apparatus of optimally designing a structure | |
Roman et al. | Fast eigenvalue calculations in a massively parallel plasma turbulence code | |
Kimura et al. | A column-wise update algorithm for nonnegative matrix factorization in Bregman divergence with an orthogonal constraint | |
Murillo et al. | Revised HLMS: A useful algorithm for fuzzy measure identification | |
Dempe et al. | Solving inverse optimal control problems via value functions to global optimality | |
Zhang et al. | Bayesian neural networks for weak solution of PDEs with uncertainty quantification | |
Daxini et al. | Structural shape optimization with meshless method and swarm-intelligence based optimization | |
González et al. | Three-field partitioned analysis of fluid–structure interaction problems with a consistent interface model | |
Lu | Slm: A smoothed first-order lagrangian method for structured constrained nonconvex optimization | |
JP4101047B2 (en) | Optimal design method | |
JP4101048B2 (en) | Optimal design method | |
Esnaashari et al. | Dynamic irregular cellular learning automata | |
Zeilmann et al. | Learning linear assignment flows for image labeling via exponential integration | |
Jannesari et al. | An adaptive strategy for solving convection dominated diffusion equation | |
Hu et al. | Neural-PDE: a RNN based neural network for solving time dependent PDEs | |
Nechepurenko et al. | Computation of optimal disturbances for delay systems | |
JP4101046B2 (en) | Optimal design method | |
Chen et al. | A Tensor Multigrid Method for Solving Sylvester Tensor Equations | |
Hassan et al. | Augmented lagrangian method with alternating constraints for nonlinear optimization problems | |
Weng et al. | Substructuring method for eigensolutions | |
Kafash | Approximating the solution of stochastic optimal control problems and the Merton’s portfolio selection model | |
Neumeier et al. | Computational polyconvexification of isotropic functions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051216 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070807 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071009 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071211 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080212 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080311 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080318 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110328 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120328 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130328 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140328 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |