最適化手法
TOP > CAE総論  >  最適化  > 最適化手法

<多目的最適化:再度>

# 3453 # 2002年8月7日 # promechanica初心者 #
 先日は多目的最適化につき教えて頂きまして有難うございました。
 調べてみますと、私の計算してみたい問題(駄目になるプロセスと
して構成するセメントの破壊と界面*2の破断が問題とされています)
ではiSIGHTとFrontierが望ましく思われます。ただ、形状最適化を
行うのでFEM(我々はANSYS)とCAD(我々はPro-E)をこれらのソフトに
接続して多目的最適化を計算させるようです。実際に見た事がないので
どの程度大変なのか、どの程度有用なのか、分からずに導入しようか
迷っています。特に二次元の小さな問題では解析可能かもしれませんが、
三次元の大規模な問題(要素数数千程度)では、実際に計算規模として
可能なものでしょうか?もちろん導入に際してはデモをしてもらう必要は
あると思いますが、実際にこのようなソフトを使われた方はいらっしゃい
ませんか?
 もしいらっしゃいましたら、こういった感じだった、この位大変だった、
等教えて頂けますと非常に参考になります。
 宜しくお願いします。


%
No.3455# Re: 3453 多目的最適化:再度
# 2002年8月7日# 23時56分(水曜日)# ハッピー#
> ただ、形状最適化を
> 行うのでFEM(我々はANSYS)とCAD(我々はPro-E)をこれらのソフトに
> 接続して多目的最適化を計算させるようです。実際に見た事がないので
> どの程度大変なのか、どの程度有用なのか、分からずに導入しようか
> 迷っています。
by promechanica初心者さん
これらのソフトは単なる手配師ですから、2Dであろうが3Dであろうが、
或いは線形解析であろうが非線形解析であろうが、関係ないですよ。
従来、人間がドロ臭く何日もかけてやっていたような作業を、自動的・合
理的にやろうとするものです。
GUIの使い易さは、さすがと感心します。
安くないソフトですので、「分からずに導入」は避けるべきでしょう。
プログラミングの心得が多少ある人なら、自分でマクロやシェルを書いたり、
また、最近は最適解析機能のない「手配師プラットフォーム」も安く出てますし。

うちは、何度も営業、技術の方の話を聞いたり、セミナーに行ったり、解析
事例を集めたりした上で、ベンチマークテストもやって入れました。うちは
後悔してませんヨ。


# 3456 # 2002年8月8日 # 金色ウサギ #
> 特に二次元の小さな問題では解析可能かもしれませんが、
> 三次元の大規模な問題(要素数数千程度)では、実際に計算規模として
> 可能なものでしょうか?

理屈では2D、3Dの違いや計算規模は関係ないのですが、実際に使うとなる
と色々と影響が出てきます。

1)最適化ソフト側で計算規模に制約はありません。要は計算結果が出れば
 よいのですから。

 しかし、多峰性問題を解く場合などはかなりの回数の計算が必要です。
 となると、 計算規模は小さい方が望ましいですよね。
 また、パラメータを変えて自動計算させる仕組みですので、後から計算
 結果が妥当なものであるかを確認するケースも出てくるでしょう。
 そのことを考えると、シンプルなモデルがベターです。

2)3DだとCADで形状を変更するときに注意が必要です。
 最適化ソフトは、形状がちゃんとできるのかを考えてパラメータを変更
 するわけではありません。2Dならば、ユーザが変更可能なパラメータの
 範囲を事前に把握するのは簡単ですが、3Dでは結構難しいです。
 最適化ソフトが指定したパラメータで形状変更がうまくいかないケース、
 形状変更できても解析モデル生成がうまくいかないケースを想定して
 CADのマクロを作らなければなりません。

ただ、この辺りを理解して使う分には障害にはなりません。回避する術は
ありますので。知らないで使うことが問題ということです。



# 3457 # 2002年8月8日 # よし☆彡 #
>  しかし、多峰性問題を解く場合などはかなりの回数の計算が必要です。
>  となると、 計算規模は小さい方が望ましいですよね。

こんにちわ.ハッピーさん,金色ウサギさん,参考になります.
私も汎用ソフトを使ったことがないので教えて下さい.
たとえば,アルゴリズムの選択による経路依存解について,
真解であるか,または,最良の選択であったかどうか
判断する上で,なにか秘策,提案がありますか?

 また,セミナーに参加しても,たとえば,多くのアルゴリズムが
あるなか,どの方法が良いのかその神髄がよく説明されてないように
感じます.このへんの考えは,直面している問題のルートと別に,
CAEソフトと一緒で使っていく中でノウハウ?(or勉強)を蓄積して
いく物でないかとも思えますが.
なにか良い案,情報などありますか?


# 3459 # 2002年8月8日 # 金色ウサギ #
> たとえば,アルゴリズムの選択による経路依存解について,
> 真解であるか,または,最良の選択であったかどうか
> 判断する上で,なにか秘策,提案がありますか?

う~ん、難しいですね。秘策と言えるものはないですね。
経路依存解というのは初期値が違うと異なる最適解が得られること
ですよね。数理計画法などを使った数理的手法で多峰性問題を解く
ときに生じますよね。

やはり、多峰性問題には探索的手法を用いるという当たり前の方法
になるのではないでしょうか。ちなみに、iSIGHTには焼きなまし法
と遺伝的アルゴリズムがあります。

探索的手法をサポートしていない、もしくは、1ケースの解析時間
が長く、なるべく速く最適解を求めたいという場合は、パラメータ
スタディを行ってから最適解に近いパターンいくつかを初期設定に
して数理計画法で解くといった実用的(?)な方法もあります。
でもこれは理論的には怪しげです。あくまでも実用的な方法です。

>  また,セミナーに参加しても,たとえば,多くのアルゴリズムが
> あるなか,どの方法が良いのかその神髄がよく説明されてないように
> 感じます.このへんの考えは,直面している問題のルートと別に,
> CAEソフトと一緒で使っていく中でノウハウ?(or勉強)を蓄積して
> いく物でないかとも思えますが.
> なにか良い案,情報などありますか?

iSIGHTでは、探索的手法なら焼きなまし法(SA:Simulated Annealing)
を勧めているようです。また、数理的手法ではMMFD(Modified Method
of Feasible Design、数理計画法を改良したものでしょうか)を使う
ことが多いようですね。

でも、神髄となると。。。
SAは実用的な点も含めてよく採用されるのだと思います。遺伝的アルゴ
リズムはかなりの計算回数が必要だと聞きますし。
最適化手法にこだわるのなら、ソフトの開発元や大学の先生などに話を
伺うのも良いのかも。エンジニアス・ジャパン(iSIGHT開発元の日本法
人)の設立記念講演会ではそのあたりの話が出ていたように思います。
私にはちんぷんかんぷんでしたが (^^;


# 3460 # 2002年8月8日 # よし☆彡 #
>iSIGHTでは、探索的手法なら焼きなまし法(SA:Simulated Annealing)
>を勧めているようです。

そうですか,やっぱり1回の計算時間がネックになってる感じがしますね.
詳しく書いていただいてありがとうございます.

余談ですが,一時期GA(遺伝的アルゴリズム)がものすごいブームで
様々な問題に応用されてきましたが,GAが流行るかはやらないかのころ,
生物の進化は,そんな単純なものでないと,激怒された先生がおられました.
もちろん,その方は生物の進化に思い入れがあったのだと思いますが,,,
GAも結構パラメータに依存してしまいますからねぇ
本当に真解だけにやっかい!  
 すみません,つまらない余談でした.
(編集担当:burning 2002/12/28)



<最適化と目的関数>

# 3380 # 2002年7月26日 # promechanica初心者 #
FEMから職場の事情で1年半程、離れていましたが再び戻ってき
まして、早速皆さんに教えて頂きたく書かせて頂きます。
 最適化と目的関数の関係についてですが、通常は制約条件は幾
つかあるにしても無いにしても目的関数は1つと理解していたの
ですが、どうも2つ以上の目的関数を用い最適化を行えると聞き
ました。
 この事につきご存知の方がいらっしゃいましたら、方法論・ソ
フト等教えて頂けますと助かります。
 それから、ある物の破壊を考える時にvon MisesやSED等の方向
の無い指標を使う時もあるかと思いますが、界面の破断では通常
のnormal stress、shear stressとは異なり方向を持たない指標等
が使われる事はあるでしょうか?
 以上、ご教授お願い致します。


# 3381 # 2002年7月26日 # imada #

> ですが、どうも2つ以上の目的関数を用い最適化を行えると聞き
> ました。
>  この事につきご存知の方がいらっしゃいましたら、方法論・ソ
> フト等教えて頂けますと助かります。

by promechanica初心者 さん。

それは、Pro/EのBMXモジュールにある「MULTI-OBJECTIVE
DESIGN STUDIES」ではないでしょうか?
モンテカルロ法を用いたもので、複数の目的関数を扱えることとロ
ーカルオプチマムに落ち込まないというのが売りのようです。
多数のサンプリングによる結果のプロットを分析して最適解を求め
るようですが、例題を見ただけで自分で試していないのでよくわか
りません。
PTCのサイトで上記のキーワードをサーチすると何か見つかると
思います。

また、そのほかのソフトにも多目的関数の最適化アルゴリズムがある
かもしれませんが参考まで。


# 3385 # 2002年7月27日 # ハッピー #
>  最適化と目的関数の関係についてですが、通常は制約条件は幾
> つかあるにしても無いにしても目的関数は1つと理解していたの
> ですが、どうも2つ以上の目的関数を用い最適化を行えると聞き
> ました。
by promechanica初心者さん

お久しぶり、promechanica初心者さん。
最適化ソフトといえば、まず
iSIGHT:http://www.engineous.co.jp/isight/isight1.html
でしょうか。その対抗?として出てきたのが、
FRONTIER:http://www.cd-adapco.co.jp/software/products/frontier/index.html
あと、シンプル機能でお求めやすい価格なら
DesinDirector:http://www.nhkspg.co.jp/DD/japanese/jindex.htm
かな?
多目的といっても、目的関数それぞれに重みを掛けた和として、新た
な一つの目的関数を定義するわけですから、ロジックは単目的と大差
ないのかも。
つまり、目的関数がn個の場合、Ftotalの最大化ないし最小化を目指
します。
Ftotal=W1×F1+W2×F2+W3×F3+...Wn×Fn
この重みWiがコンスタントなソフトと、関数で定義できるソフトがある
ようで、上記2ソフトは何れも後者。
パラメータを振る際には、imadaさんが書かれたモンテカルロ法でサイコ
ロを振ったり直交表を使ったり,,,,サンプリング手法には種々有る
ようですね。
この重みWiを如何に決めるかが、設計ノウハウになろうかと思います。

#最適化ソフトは今年初め頃にも掲示板で盛り上がりましたね。


# 3391 # 2002年7月29日 # よし☆彡 #
> 多目的といっても、目的関数それぞれに重みを掛けた和として、新た
> な一つの目的関数を定義するわけですから、ロジックは単目的と大差
> ないのかも。

数理計画では2つは解けませんものね.
例えばバイトで考えると

1.もっともお金が入る
2.もっとも働かなくて済む

は永遠の課題かもしれませんが,これは無理ですよね.
ですから,2つを統合して

3.もっとも時給が高いバイト

などにしてしまうわけですよね.
最近の風情は,

3.もっとも時間制約の少ないバイト

かもしれませんが,(笑)


# 3392 # 2002年7月29日 # ハッピー #
> 例えばバイトで考えると
>> 1.もっともお金が入る
> 2.もっとも働かなくて済む
byよし☆彡さん

これは分かり易い!
前に書き忘れましたが、複数ある目的の中に最大化と最小化が混ざって
いる場合はどちらかを逆数にします。
この例では、F収入=最大化、F時間=最小化ですから
Ftotal=W1×F収入+W2/F時間
とすれば、Ftolalの最大化を目指せばよい。
統合すると、F(収入/時間)で、まさに自給ですね。
(編集担当:burning 2002/12/28)



<最適化ツールの手法について>

#2001年8月3日#たっく#
構造最適化の私の質問に御回答頂きましてありがとうございます.
今回は構造最適化ソフトの手法につきましての質問させてください.

質問-位相最適化の手法としまして,均質化法と密度法がありますが,
双方のメリット,デメリットを教えて頂けないでしょうか.

質問-形状最適化の手法「ベースベクター」につきましてのメリット,
デメリットを教えて頂けないでしょうか.

質問-上記の手法につきまして,詳細が分かる文献ございましたら
ご紹介願いたいと思います.

以上,どうぞよろしくお願い致します.


#2001年8月4日#よし☆彡#
>均質化法と密度法がありますがメリット,デメリットを教えて

密度法は計算工数が低いが、細かく分割しないとメッシュに依存した
位相や、チェッカーボードの位相がでる。均質化法はその逆ということ
ではないでしょうか。

>手法「ベースベクター」メリット,デメリットを教えて
ベースベクターってどんな方法ですか?

>上記の手法につきまして,詳細が分かる文献ございましたら
Quint様か、菊池先生のHPから辿っていけば良いのではないでしょうか。
計算工学会にもいくつか論文が投稿されてます。


#2001年8月4日#atmori#
話はちょっとそれますが、Ansysにも位相最適化っていうのがあるんですが、
この言葉って正式な言葉なんでしょか?

位相最適化ってTopological Optimizationなわけで、これは 「位相幾何
最適化」であり、略すなら「幾何最適化」の方がマシと思うのですが。
どうも「位相」というと「Phase」っていう気が。
↓(AnsysEDでやった、位相最適化のしょぼい例(笑))
http://www.hoops.ne.jp/~atmori/fem/topt/index.htm


#2001年8月4日#ハッピー#
> 話はちょっとそれますが、Ansysにも位相最適化っていうのがあるんですが、
> この言葉って正式な言葉なんでしょか?
by_atmoriさん

「位相最適化」は一般用語と思いますよ。もともと、最適化というと各部材
の板厚などを変更するという程度であったものが、部材の配置、相対関係
(位相)を変えるところまで踏み込んだものだと思ってますが。

> ↓(AnsysEDでやった、位相最適化のしょぼい例(笑))
EDでこんなことも出きるんですね! 

>>手法「ベースベクター」メリット,デメリットを教えて
>ベースベクターってどんな方法ですか?
byよし☆彡さん
「Basis Vector法」のことでは?予め、多くの形状変更パターン(
変形モード)を用意しておいて、あとは各パターンの重みを求めて重ね
合わせで形状を決めるような手法だったとぼんやり記憶していますが


#2001年8月4日#よし☆彡#
> ↓(AnsysEDでやった、位相最適化のしょぼい例(笑))
> http://www.hoops.ne.jp/~atmori/fem/topt/index.htm

形として真解に近いような気がします。(笑)

実際は要素ごとの密度を目的関数として最適解を探してゆきます。
その後、atmoriさんがやっているようなフィルタリング処理を行う
ようですよ~
しかし、真解に似ている。(笑)


#2001年8月4日#ハッピー#
自己レスです

> 「Basis Vector法」のことでは?予め、多くの形状変更パターン(変形モードを
> 用意しておいて、あとは各パターンの重みを求めて重ね合わせで形状を決めるような
> 手法だったとぼんやり記憶していますが

「ベーシス・ベクトル」で検索すると
http://www.ftr.co.jp/soft/basis.htm
他、いろいろ見つかりますよ!


#2001年8月4日#burning#
> 密度法は計算工数が低いが、細かく分割しないとメッシュに
> 依存した位相や、チェッカーボードの位相がでる。均質化法は
> その逆ということではないでしょうか。
by よし☆彡 さん

均質化法の代表的なソフトには、Quintさん(菊池先生)の Optishape
と、Altairさんの OptiStruct があります。

Quintさんによると、Optishapeでは今のところチェッカーボードが出て
しまうのはどうしようもないそうです。 また、OptiStruct にはチェッ
カーボードを防ぐ機能が付いたという資料を見たことあります。

2~3年前に菊池先生の話を聞きましたが、均質化法のソフトにも得手
不得手があり、ある形状ではうまく行っても違う形状ではうなくいかない
こともあるとのことでした。その時は、Optishape も100%ではないが、
どの形状でも平均的にうまくいく可能性が高いという話をされていました。(^_^)


#2001年8月5日#atmori#
Ansysの位相最適化って、実務ではあんまり使った事ないです。
「10%軽量化したときに、最大の剛性を出すには?」 
 という課題の場合、「ここを削っても良い」というのはわかっても
「ここにリブを張ると良い」っていう解答は得られないわけですよね。
まぁ残った部分を厚くするという発想には繋がりますが。
 ま、あんまり高度な解析をされたら設計者の立場が無いというのも
ありますが(笑)
(編集担当:burning 2001/12/23)



<おすすめの最適化解析ソフト>

#2001年4月20日#たっく#
さて,現在自動車部品(アルミダイカスト)をメインに構造解析を担当
しておりますが,例えばカーメーカ様への形状提案におきまして,解析
結果を評価し,メーカ様の仕様を満足できるまで,形状変更を繰り返す
という方法で行っております.この方納期一杯まで検討を繰りかえして
いるのが現状です.苦労して作り出した形状も,競合社に負けることも
しばしばあります.市場には沢山の最適化を唱った解析ツールがござい
ますが,お奨めのツールがあれば情報を御願い致します.

最適化の目的とするところは,軽量化,等応力分布,固有振動数の最大
化等を考えております.最適化解析ソフト,最適化エンジンソフト何でも
結構ですので,情報を御願い致します.


#2001年4月20日#モLD#
>最適化の目的とするところは,軽量化,等応力分布,固有振動数の最大化等を考
> えております.最適化解析ソフト,最適化エンジンソフト何でも結構
> ですので,情報を御願い致します.

営業掲示板を見たことありますでしょうか?
たまにプリポストとの組み合わせでPRあります。
エンジンでしたら、iSightなんかが有名です。
他はOpt*名称の数個に絞られると思います。
(編集担当:burning 2001/12/23)



<位相最適化>

#2000年3月11日#atmori#
AnsysEDっていう最大500メッシュのFEMソフトでTopological Optimizationの
マネゴトをしてみました

http://www.hoops.ne.jp/~atmori/fem/topt/index.htm


#2000年3月11日#seaman#
みなさんの意見楽しく読ませていただきました。

昔会社でOptishapeを入れようとして断念(不景気で)。
そのころからとても興味があります。このOptishape、奇想天外な答えを出して
くれる(本当に作れるのかって形)ので、設計ツールというよりか思考ツール
/教育ツールって感じで頭が鍛えられます。

成形可能な最適解を得るような方法(制約条件とか)があったら入れ知恵く
ださい。


#2000年3月15日#ハッピー#
Optishapeの例題の結果を頂いたので、早速、自作等高面コンターにかけて
見ると..

ボクセルのモザイク形状?から、滑らかなOptiなshapeが浮かび
上がってきました。(モザイクが粗いので多少のゴツゴツ有り)例題は
2次元だったので、厚み方向に押し出して3次元化してのトライです。
面は、3角パッチつまりSTLと同じなので、3次元CADに渡せるかも。

やっぱりOptishapeっていうんだったら、ここまでやらないとねぇ。
(編集担当:burning 2001/12/23)



<最適化アルゴリズム>

#2000年3月6日#pro mechanica初心者#
またまた、最適化の事で恐縮ですが、最適化アルゴリズムには色々ある
ようで、Pro/MECHANICAにはSQP(sequential quadratic programming aigorithm)
とGDA(gradient projection algorithm)が選択可能とされていますが、これら
の名前は一般的に認められている名前なのでしょうか?
 又、SQPの方が計算速度が速いとは記載されているのですが、これらのアル
ゴリズムはいったいどのようになっているのでしょうか?
 この辺は全く訳も分からずいじくり回していますが、どなたかご教授下さい。
 もちろん他のアルゴリズムも全く理解できていないので、簡単な事から、
こういった所に記載されているといった事まで何でもご教授頂けますと幸い
です。


#2000年3月7日#ハッピー#
>ようで、Pro/MECHANICAにはSQP(sequential quadratic programming aigorithm)
>とGDA(gradient projection algorithm)が選択可能とされていますが、これら
>の名前は一般的に認められている名前なのでしょうか?
by_pro mechanica初心者さん

名前から何となく想像は出来ますが....
Mechanicaには理論マニュアルはついてませんか?(操作マニュアル
は見たことがありますが、小ぶりな割に活字が大きくて、情報量が少ないなぁ
と感じました。)


#2000年3月7日#ピンクのムカデ#
>これらの名前は一般的に認められている名前なのでしょうか?

私が「ピンクのムカデ」と称しても何ら支障がないのと同じ程度ではないですか。
Design Study Reference にも詳細は掲載されていません。
GDAは以前はGDPと表示されていたような気がしますが、これは、最適化の
解析を行うときは制約条件の接線方向に進みながら最適値を捜して行くという
方法で、更に目的を考慮して決定する方式としてSQPが現れたようです。
原理的な違いは図表で説明するとわかりやすいのですが、掲載できないので・・・
アルゴリズムを知りたいと言われますので、私も見たことはありませんが、

G.N.Vanderplaats:Numerical Optimization Techniques for Engineering Design,McGraw-Hill Series in Mechanical Engineering,MacGraw-Hill,1984
の195-199ページに載っているそうです.

Mechanicaの購入先に聞くのが一番でしょう。聞いてもKUSCOのYさん以外は
答えられないと思いますので、他から購入されたのならあきらめましょう。

>この辺は全く訳も分からずいじくり回していますが、

そうやって自分の対象となる分野・製品群への最適使用解を見つけることが
ベストだと思います。所詮はケトウの作ったソフトです。実課題への適用の
繰り返しの中で、「ツール」から自分たちの「道具」に変えて行くという使い
方の「最適解」を見つけ出すしかないと思います。


#2000年3月8日#ハッピー#
>だと思います。所詮はケトウの作ったソフトです。実課題への適用の繰り返しの
>中で、「ツール」から自分たちの「道具」に変えて行くという使い方の「最適解」を
>見つけ出すしかないと思います。
byピンクのムカデさん

道具のくせを飲み込んで行くということですね。
使い込んでいくと手に馴染んでくる...というようにソフトの動きが感覚的
に分かってくるっていうのはありますね。
(編集担当:burning 2001/12/23)



<最適化とは>

#1997年12月11日#よし☆彡#
最適化とは設計変数の範囲を指定して、目標とLimitを満たす最適な形状を決定
する手法である。

でも、実際には何処までを、最適化の手法と言うのかはあまり良く分かりません。
CAEとは何?ってのと似てる..

設計変数 -形状、板厚、材質etc...
Limit関数 -応力、変位、固有振動数etc...
目的関数 -応力を最大化する、重量を最小化するetc

上式を足しあわせ、内点法などを使い、感度を求め、その感度に似合った形状を
次々計算して行く様だ。

こんなアルゴリズムが使われている(ほんの、一部)
/均質化法  オプチxxxx などはこれ
変分法   最近はあまり使われてないかも
 数理計画法 /線形 シンプレックス法、など
    非線形 逐次線形計画法、ペナルティー法、遺伝的アルゴリズム、など
                              ↑ こいつは面白い!

では、実際にアプリになっているものを使おうとすると、以下の事に注意しないといけない、
1.与えた設計変数が本当にそれで良いのか?
2.出て来た形状が、本当にGlobalな最適解であるか?

おわり。
(編集担当:burning 2001/12/23)





NCnetwork