随伴法による勾配計算の説明
この方法は、目的関数が解
u
の連続関数であると仮定して、微分 を解析的に計算する。解
u
に関する有限要素法による方程式 設計変数𝝌
に関する微分展開
解
u
の設計変数𝜒
による微分 公式を得る目的関数
𝑓(𝒖, 𝝌)
の勾配を求める公式を得る𝜕𝑓
𝜕𝝌 = 𝜕𝒖
𝜕𝝌
𝜕𝑓
𝜕𝒖
寸法最適化
M. Hashiguchi and D. Mi 2018 64
図形の問題
固定点 固定点
円周上に拘束された点
面積が最大となるには
𝑆 𝜃 = 1
2 R × sin 𝜃 × 𝐴𝐵
𝐴 𝐵
𝑅
0 < 𝜃 < 𝜋 𝜃 = 𝜋 2 𝑥 = 𝑅 cos 𝜃
𝑦 = 𝑅 sin 𝜃
𝜃
を導入することで問題を簡潔に表現できる。最適化による最大化
M. Hashiguchi and D. Mi 2018 66
手法の比較
座標探索
Nelder-Mead
BOBYQA COBYLA
マイクロ流路への応用
M. Hashiguchi and D. Mi 2018 68
ジオメトリをベジエ曲線で表現
ベジェ曲線はパラメタ化されており、
寸法最適化に利用される。
電気浸透流
電流、流体を計算
移動時間を算出
目的関数 時間差を最小化
実際に化学種を流してみる
M. Hashiguchi and D. Mi 2018 70
大幅改善!
形状最適化
2 次元片持ち梁への応用
L
0
T
0
A点
X
上辺に境界荷重を受ける片持ち梁(左端固定)において、点Aでの変位を目標 値より小さくするという拘束条件下で質量(面積)を最小にする。
変位:
solid.disp < 5 mm
M. Hashiguchi and D. Mi 2018 72
境界変形による形状最適化
https://www.comsol.jp/model/an-introduction-to-shape-optimization-in-comsol-46731
この範囲の境界形状を変更形状変化を構造解析に反映するた めに、変形形状 を利用する
関数による形状変更による最適化
バーンスタイン曲線を利用
M. Hashiguchi and D. Mi 2018 74
形状変更の際の拘束条件
重量を増やすけれど、強度は増えない形状は避けるようにする。
バーンスタイン多項式による基底関数の利用
𝐵 = 𝐶 1 − 𝑥 + 𝐶 (𝑥)
𝐵 = 𝐶 1 − 𝑥 + 𝐶 𝑥 1 − 𝑥 + 𝐶 𝑥
𝐵 = 𝐶 1 − 𝑥 + 𝐶 𝑥 1 − 𝑥 + 𝐶 𝑥 1 − 𝑥 + 𝐶 𝑥 1 − 𝑥 + 𝐶 𝑥
0 1 0 1
. . .
𝐵 𝐵
ウィキペディア
x=0とx=1を根にもつ多項式の組み合わせ
M. Hashiguchi and D. Mi 2018 76
関数への制限
𝐵 = 𝐶 1 − 𝑥 + 𝐶 𝑥 1 − 𝑥 + 𝐶 𝑥 1 − 𝑥 + 𝐶 𝑥 1 − 𝑥 + 𝐶 𝑥 𝐶
=0𝐶 < 𝐶
𝐶 = 0.9
とする 今回は、グローバルコントロール変数の 上限を設定する
𝑑𝐵 (𝑋)/𝑑𝑋 > 0
長さ方向のいたるところで微係数を正に拘束する。• 単調に減少する厚み
• 左端での拘束
• 右端で規定した最大値を超えないこと
不等式拘束を追加する
不等式拘束
M. Hashiguchi and D. Mi 2018 78
モデルビルダー
𝐶 < 0.9
ポイント和不等式拘束 ポイント毎の不等式拘束
ドメインでの積分値が目的関数
計算結果
SNOPT
による計算結果(MMA
でも同様な計算結果になった)M. Hashiguchi and D. Mi 2018 80
異なる方法での結果の比較
•
寸法最適化–
明解–
計算時間がかかる–
誰でも使える•
形状最適化–
セットアップが手間–
自身での工夫を要する•
トポロジー最適化–
斬新なデザイン–
研究を要する–
解釈を必要とするデザイン–
自身で修練を積む必要あり最適化に関する記述について
M. Hashiguchi and D. Mi 2018 82
伝熱問題での説明
5 cm 1 cm 2 cm
1 cm
𝑄 𝑇 𝑇
𝑄
断 熱
熱伝達
熱伝達
5 cm Tave2
Tave1 Tave3
目的:同一材料を
3
分割した材料の各領域の平均温度を指定値にしたい。設計変数: 温度、境界熱源、熱伝達係数 最適化ソルバ:
SNOPT
モデルビルダ
平均温度の定義
形状作成 材料:銅
伝熱
境界条件
目的関数の記述の説明
最適化ソルバー
設計変数の設定
M. Hashiguchi and D. Mi 2018 84
結果
目的関数の記述について
目的関数を和として評価する場合、複数個所に分けて記述できる。
注意:変数名はフルで記述すること
M. Hashiguchi and D. Mi 2018 86
目的関数の記述(続き)
ジオメトリックエンティティレベル毎に目的関数を記述し、
それらの和を目的関数として利用できる。
目的関数の構成
M. Hashiguchi and D. Mi 2018 88
目的関数のスケーリング
目的関数は1の大きさになるようにするとよい。