ものづくりのための数理モデルの最適化...最適化 ドキュメント 生成...
TRANSCRIPT
![Page 1: ものづくりのための数理モデルの最適化...最適化 ドキュメント 生成 もし、matlabの最適化機能に興味をお持ちになりましたら、 ぜひともお試しください。](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e5107339026396f6507e325/html5/thumbnails/1.jpg)
1© 2016 The MathWorks, Inc.
ものづくりのための数理モデルの最適化
MathWorks Japan
アプリケーションエンジニアリング部
アプリケーションエンジニア
大開 孝文
![Page 2: ものづくりのための数理モデルの最適化...最適化 ドキュメント 生成 もし、matlabの最適化機能に興味をお持ちになりましたら、 ぜひともお試しください。](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e5107339026396f6507e325/html5/thumbnails/2.jpg)
2
アジェンダ
数理モデル
線形システム– 劣決定、過決定
– そのほかの線形システム
最適化問題– 実験計画
– 最適化
– 多目的最適化
対象者:MATLAB初心者
![Page 3: ものづくりのための数理モデルの最適化...最適化 ドキュメント 生成 もし、matlabの最適化機能に興味をお持ちになりましたら、 ぜひともお試しください。](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e5107339026396f6507e325/html5/thumbnails/3.jpg)
3
(ものづくりにおける)数理モデル、システムとは
システム(入力)
誤差因子• 環境変動• 劣化• もののばらつき• ……
出力
有効成分(Signal)
有害成分(Noise)
製品化:OK
製品化:NG
参考書籍:基礎から学ぶ品質工学
![Page 4: ものづくりのための数理モデルの最適化...最適化 ドキュメント 生成 もし、matlabの最適化機能に興味をお持ちになりましたら、 ぜひともお試しください。](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e5107339026396f6507e325/html5/thumbnails/4.jpg)
4
数理モデル
線形モデル
非線形モデル
定常モデル
非定常モデル
静的解析
動的解析
様々な、モデル・解析がありますが基本を知りましょう
![Page 5: ものづくりのための数理モデルの最適化...最適化 ドキュメント 生成 もし、matlabの最適化機能に興味をお持ちになりましたら、 ぜひともお試しください。](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e5107339026396f6507e325/html5/thumbnails/5.jpg)
5
線形システム(1)
Xb = 𝑦
未知 既知既知
入力 応答(出力)
内部性質
![Page 6: ものづくりのための数理モデルの最適化...最適化 ドキュメント 生成 もし、matlabの最適化機能に興味をお持ちになりましたら、 ぜひともお試しください。](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e5107339026396f6507e325/html5/thumbnails/6.jpg)
6
線形システム(2)
𝐴𝑥 = 𝑦
既知 既知未知
入力
応答(出力)
内部性質
![Page 7: ものづくりのための数理モデルの最適化...最適化 ドキュメント 生成 もし、matlabの最適化機能に興味をお持ちになりましたら、 ぜひともお試しください。](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e5107339026396f6507e325/html5/thumbnails/7.jpg)
7
線形システム
𝑋𝑏 = 𝑦
𝑥11 ⋯ 𝑥1𝑛⋮ ⋱ ⋮
𝑥𝑚1 ⋯ 𝑥𝑚𝑛
正方システム
劣決定システム
過決定システム
入力 出力
m = n
m < n
m > n
逆行列存在の可能性
𝑏 = 𝑋−1𝑦
>> b = X¥y
![Page 8: ものづくりのための数理モデルの最適化...最適化 ドキュメント 生成 もし、matlabの最適化機能に興味をお持ちになりましたら、 ぜひともお試しください。](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e5107339026396f6507e325/html5/thumbnails/8.jpg)
8
実験計測の現場では
過決定システムの事が多いはず(実験データ > 未知パラメータ)
𝑏 = (𝑋𝑇𝑋)−1𝑋𝑇𝑦
t y
0 0.82
0.3 0.72
0.8 0.63
1.1 0.6
1.6 0.55
2.3 0.5
: :
𝑦 = 𝑏1 +𝑏2 𝑒−𝑡
MATLABのメリット
かんたんな最小2乗法によるフィッティングであればMATLABの基本機能でも、対応できます。
>> X = [ones(size(t)) exp(-t)]
>> b = X¥y
![Page 9: ものづくりのための数理モデルの最適化...最適化 ドキュメント 生成 もし、matlabの最適化機能に興味をお持ちになりましたら、 ぜひともお試しください。](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e5107339026396f6507e325/html5/thumbnails/9.jpg)
9
PCR/PLS回帰
𝑋𝑏 = 𝑦
𝑥11 ⋯ 𝑥1𝑛⋮ ⋱ ⋮
𝑥𝑚1 ⋯ 𝑥𝑚𝑛
行列行列
>> plsregress
行列
Statistics and Machine Learning Toolbox™
𝑦11 ⋯ 𝑦1𝑛⋮ ⋱ ⋮
𝑦𝑚1 ⋯ 𝑦𝑚𝑛
![Page 10: ものづくりのための数理モデルの最適化...最適化 ドキュメント 生成 もし、matlabの最適化機能に興味をお持ちになりましたら、 ぜひともお試しください。](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e5107339026396f6507e325/html5/thumbnails/10.jpg)
10
常微分方程式、偏微分方程式の数理モデル
常微分方程式
偏微分方程式
ሶ𝑥 = 𝐴𝑥>> ode45
𝑎𝜕2𝜑
𝜕𝑥2𝜕𝜑𝜕𝑡
=
𝜑𝑖,𝑗+1 = 𝜑𝑖,𝑗 + 𝛼 𝜑𝑖−1,𝑗 − 𝜑𝑖,𝑗 + 𝜑𝑖+1,𝑗
>> pdepe>> ode15s
![Page 11: ものづくりのための数理モデルの最適化...最適化 ドキュメント 生成 もし、matlabの最適化機能に興味をお持ちになりましたら、 ぜひともお試しください。](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e5107339026396f6507e325/html5/thumbnails/11.jpg)
11
混合整数線形計画問題(MILP)
利益 = 収益 - 合計燃料コスト - 運転開始コスト
利益 =販売価格*個数 – 仕入れ価格*個数
Optimization Toolbox™
>> intlinprog
![Page 12: ものづくりのための数理モデルの最適化...最適化 ドキュメント 生成 もし、matlabの最適化機能に興味をお持ちになりましたら、 ぜひともお試しください。](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e5107339026396f6507e325/html5/thumbnails/12.jpg)
12
線形システムについてのまとめ
線形モデルに落として、表現出来る(している) ものが多い
実験データ と 未知パラメータ– 劣決定問題(実験データ < 未知パラメータ)では、正しい推定ができない
– 過決定問題(実験データ > 未知パラメータ)では、最小2乗近似によるパラメータ推定
– ランク落ちしているかどうか調べる関数が用意されている
Toolbox には、最適化ソルバーを用意している
![Page 13: ものづくりのための数理モデルの最適化...最適化 ドキュメント 生成 もし、matlabの最適化機能に興味をお持ちになりましたら、 ぜひともお試しください。](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e5107339026396f6507e325/html5/thumbnails/13.jpg)
13
ものづくりにおいての数理モデル活用の課題
よくある、ものづくりの会社様の声
– 実際にシミュレーションを導入したが、うまくいかない。
モデリングの難しさ(抽象度レベル)
設定パラメータの多さ
![Page 14: ものづくりのための数理モデルの最適化...最適化 ドキュメント 生成 もし、matlabの最適化機能に興味をお持ちになりましたら、 ぜひともお試しください。](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e5107339026396f6507e325/html5/thumbnails/14.jpg)
14
何の入力を決めて、何の結果を最小化、最大化にするのか?
MATLABは、(あくまでも)汎用的な数値計算のプログラミング言語
目的関数を自由に設定することが可能
– 原材料費
– 重さ
– ひずみ量
– 内部応力
– 周波数解析
![Page 15: ものづくりのための数理モデルの最適化...最適化 ドキュメント 生成 もし、matlabの最適化機能に興味をお持ちになりましたら、 ぜひともお試しください。](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e5107339026396f6507e325/html5/thumbnails/15.jpg)
15
デモ- 設計最適化 -
形状の最適化を考える
構造解析– 構造モデルの設計
– 各種設計パラメータの確認
– 実験計画法
– S/N比
– 最適化、目的関数の設計
– 多目的最適化
傘立てハンガー
![Page 16: ものづくりのための数理モデルの最適化...最適化 ドキュメント 生成 もし、matlabの最適化機能に興味をお持ちになりましたら、 ぜひともお試しください。](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e5107339026396f6507e325/html5/thumbnails/16.jpg)
16
仕様設定 パラメータ 下限 上限
幅 10(固定)
高さ 5(固定)
素材 A or B
中心座標x 2 9.5
中心座標y 0.2 4.5
楕円半径 rx 0.5 3
楕円半径 ry 0.2 2.6
飛び出し dh 0.1 0.3
回転角度theta
-pi/4 (rad) pi/4 (rad)
中心座標によって、楕円半径は制約を受ける
右下のひずみが最小になる楕円設定の最適化問題
![Page 17: ものづくりのための数理モデルの最適化...最適化 ドキュメント 生成 もし、matlabの最適化機能に興味をお持ちになりましたら、 ぜひともお試しください。](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e5107339026396f6507e325/html5/thumbnails/17.jpg)
17
実験計画法(品質工学)
制御因子を直交表に割り付けて、実験回数を減らす。最適解を見つける– 多数の制御因子を絞り込むことが可能
直交表に割当
結果の解析最適条件の決定
パラメータを絞る
1 1 1 1 1 1 1
1 1 1 2 2 2 2
1 2 2 1 1 2 2
1 2 2 2 2 1 1
2 1 2 1 2 1 2
2 1 2 2 1 2 1
2 2 1 1 2 2 1
2 2 1 2 1 1 2
1 1 1 1
1 2 2 2
1 3 3 3
2 1 2 3
2 2 3 1
2 3 1 2
3 1 3 2
3 2 1 3
3 3 2 1
𝑳𝟖
𝑳𝟗
1 1 1 1 1 1 1 1
1 1 2 2 2 2 2 2
1 1 3 3 3 3 3 3
1 2 1 1 2 2 3 3
1 2 2 2 3 3 1 1
1 2 3 3 1 1 2 2
1 3 1 2 1 3 2 3
1 3 2 3 2 1 3 1
1 3 3 1 3 2 1 2
2 1 1 3 3 2 2 1
2 1 2 1 1 3 3 2
2 1 3 2 2 1 1 3
2 2 1 2 3 1 3 2
2 2 2 3 1 2 1 3
2 2 3 1 2 3 2 1
2 3 1 3 2 3 1 2
2 3 2 1 3 1 2 3
2 3 3 2 1 2 3 1
𝑳𝟏𝟖
![Page 18: ものづくりのための数理モデルの最適化...最適化 ドキュメント 生成 もし、matlabの最適化機能に興味をお持ちになりましたら、 ぜひともお試しください。](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e5107339026396f6507e325/html5/thumbnails/18.jpg)
18
実験計画(𝑳𝟏𝟖)
材料 x y rx ry dh theta xxx
1 2 1 0.5 0.2 0.1 -0.261799388 0
1 2 2 1.2 0.55 0.2 0 0
1 2 3 1.9 0.9 0.3 0.261799388 0
1 5 1 0.5 0.55 0.2 0.261799388 0
1 5 2 1.2 0.9 0.3 -0.261799388 0
1 5 3 1.9 0.2 0.1 0 0
1 8 1 1.2 0.2 0.3 0 0
1 8 2 1.9 0.55 0.1 0.261799388 0
1 8 3 0.5 0.9 0.2 -0.261799388 0
2 2 1 1.9 0.9 0.2 0 0
2 2 2 0.5 0.2 0.3 0.261799388 0
2 2 3 1.2 0.55 0.1 -0.261799388 0
2 5 1 1.2 0.9 0.1 0.261799388 0
2 5 2 1.9 0.2 0.2 -0.261799388 0
2 5 3 0.5 0.55 0.3 0 0
2 8 1 1.9 0.55 0.3 -0.261799388 0
2 8 2 0.5 0.9 0.1 0 0
2 8 3 1.2 0.2 0.2 0.261799388 0
18 回の実験243 倍の効率
![Page 19: ものづくりのための数理モデルの最適化...最適化 ドキュメント 生成 もし、matlabの最適化機能に興味をお持ちになりましたら、 ぜひともお試しください。](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e5107339026396f6507e325/html5/thumbnails/19.jpg)
19
要因効果図
要因効果図から、最適化するべきパラメータを読み取る
第4,5 因子は、1水準にすることでS/N比が高くすることができる
第1因子は、1水準にすると出力を抑えられる
S/N比 出力値
![Page 20: ものづくりのための数理モデルの最適化...最適化 ドキュメント 生成 もし、matlabの最適化機能に興味をお持ちになりましたら、 ぜひともお試しください。](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e5107339026396f6507e325/html5/thumbnails/20.jpg)
20
FEM 解析の流れ(CAE)
形状の決定 ディリクレ、ノイマン条件メッシュのサイズ、メッシュの形状
各種パラメータ設定解を求める
ジオメトリの決定 境界条件メッシュ作成 求解
メッシュ(ジオメトリ依存)によって数式(行列A)が変形する
𝐴𝑥 = 𝑦
入力 出力
x,y 座標dh回転角度
ひずみ量
![Page 21: ものづくりのための数理モデルの最適化...最適化 ドキュメント 生成 もし、matlabの最適化機能に興味をお持ちになりましたら、 ぜひともお試しください。](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e5107339026396f6507e325/html5/thumbnails/21.jpg)
21
FEM 解析の流れ(CAE)
>> model.Meshans = FEMesh のプロパティ:
Nodes: [2x972 double]Elements: [3x1803 double]
MaxElementSize: 0.3000MinElementSize: 0.0737GeometricOrder: 'linear'
>> model.Meshans = FEMesh のプロパティ:
Nodes: [2x977 double]Elements: [3x1814 double]
MaxElementSize: 0.3000MinElementSize: 0.0737GeometricOrder: 'linear'
Partial Differential Equation Toolbox™
![Page 22: ものづくりのための数理モデルの最適化...最適化 ドキュメント 生成 もし、matlabの最適化機能に興味をお持ちになりましたら、 ぜひともお試しください。](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e5107339026396f6507e325/html5/thumbnails/22.jpg)
22
今回のケースは、どのような最適化問題になるのか?
ジオメトリの形状で、数式が変形する特殊な(微分不可)目的関数になっています。
→ 古典的な最適化ソルバは適してません。
→ 大域的最適化ソルバが適しています。
Global Optimization Toolboxが対応製品– 遺伝的アルゴリズム(ga)
– パターンサーチ(patternsearch)
– 焼きなまし法(simulannealbnd)
– 粒子群最適化(particalswarm)
デモの実行
Global Optimization Toolbox
![Page 23: ものづくりのための数理モデルの最適化...最適化 ドキュメント 生成 もし、matlabの最適化機能に興味をお持ちになりましたら、 ぜひともお試しください。](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e5107339026396f6507e325/html5/thumbnails/23.jpg)
23
最適化の設定を行います。
目的関数
制約条件
– 範囲制約
– 非線形不等式制約
x(1) + 0.5cos(x(4)) < 10x(2) + 0.5sin(x(4)) < 5x(2) ー 0.5sin(x(4)) > 0
2.00.20.1
−𝑝𝑖/4
≤ 𝑋 ≤
9.54.50.3𝑝𝑖/4
楕円が、外の領域をはみ出さない
x(4)
![Page 24: ものづくりのための数理モデルの最適化...最適化 ドキュメント 生成 もし、matlabの最適化機能に興味をお持ちになりましたら、 ぜひともお試しください。](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e5107339026396f6507e325/html5/thumbnails/24.jpg)
24
最適化のTips
Global Optimization Toolboxが対応製品
大域的ソルバー 範囲制約 非線形不等式制約
遺伝的アルゴリズム(ga) ○ ○
パターンサーチ(patternsearch)
○ ○
焼きなまし法(simulannealbnd)
○ ☓
粒子群最適化(particalswarm)
○ ☓
![Page 25: ものづくりのための数理モデルの最適化...最適化 ドキュメント 生成 もし、matlabの最適化機能に興味をお持ちになりましたら、 ぜひともお試しください。](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e5107339026396f6507e325/html5/thumbnails/25.jpg)
25
最適化アルゴリズムの違いによる計算結果の推移
![Page 26: ものづくりのための数理モデルの最適化...最適化 ドキュメント 生成 もし、matlabの最適化機能に興味をお持ちになりましたら、 ぜひともお試しください。](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e5107339026396f6507e325/html5/thumbnails/26.jpg)
26
多目的最適化
剛性軽量化
相反するものの最適化を行いたい>> gamultiobj
デモの実行
![Page 27: ものづくりのための数理モデルの最適化...最適化 ドキュメント 生成 もし、matlabの最適化機能に興味をお持ちになりましたら、 ぜひともお試しください。](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e5107339026396f6507e325/html5/thumbnails/27.jpg)
27
レポーティング
ライブエディタ
パブリッシュ
MATLAB Report Generator™
カスタマイズされた書式のレポートの自動生成
![Page 28: ものづくりのための数理モデルの最適化...最適化 ドキュメント 生成 もし、matlabの最適化機能に興味をお持ちになりましたら、 ぜひともお試しください。](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e5107339026396f6507e325/html5/thumbnails/28.jpg)
28
MATLABは他のツールとの連携が可能-設計ツールが他社ツールの場合-
C/C++
.NET/COM
JAVA
Python
DOS/Shell コマンド
MATLABで目的関数を作成- 他言語連携を考えましょう –
function out = myobjfun(in)
in : 設定パラメータ他のツールをコール
out :結果を取得
![Page 29: ものづくりのための数理モデルの最適化...最適化 ドキュメント 生成 もし、matlabの最適化機能に興味をお持ちになりましたら、 ぜひともお試しください。](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e5107339026396f6507e325/html5/thumbnails/29.jpg)
29
まとめ
ソフトウェア
FEM/CAEなど
モデリング最適化
ドキュメント生成
もし、MATLABの最適化機能に興味をお持ちになりましたら、ぜひともお試しください。
MATLABでは最適化を行う関数が用意されている
ブラックボックス化されたモデルについても、適用可能
他言語連携機能を利用して、CAEツール連携も可能
MATLABStatistics and Machine Learning Toolbox™Optimization Toolbox™Global Optimization ToolboxPartial Differential Equation Toolbox™MATLAB Report Generator™