5.9K Views
March 12, 23
スライド概要
船舶海洋工学分野におけるCMA-ESの使用ノウハウに関する発表
日本船舶海洋工学会関西支部KFRセミナー「船舶海洋工学者のためのブラックボックス最適化セミナー 」における
宮内新喜さん(博士課程学生)の講演スライドです.
2023年3月10日
大阪大学 工学研究科 地球総合工学専攻 船舶海洋工学部門 船舶知能化領域です. 研究室の発表スライドなどを共有します. We are Ship Intelligentization Subarea, Dept. of Naval Architecture & Ocean Engineering, Div. of Global Architecture, Graduate School of Engineering, Osaka University.
CMA-ESを用いた実問題における ユーザー起因の頻出問題とその解決法 宮内 新喜 大阪大学 大学院 KFRセミナー 工学研究科 地球総合工学専攻 船舶海洋工学者のためのブラックボックス最適化セミナー 2023年3月10日
自己紹介 宮内 2 新喜(みやうち • 大阪大学 工学研究科 よしき) 船舶海洋海洋工学コース 博士課程(社会人学生) • 研究テーマ:自動運航船のための操縦モデルと経路計画の最適化 • 秋本先生の指導を受けながらCMA-ESをメインの最適化手法として使用 • 社会人D入学時はCMA-ESの経験ゼロ 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
今日の話題 3 船舶の実問題でのCMA-ESの使い方を説明します l CMA-ESの適用事例のご紹介 l モデルケースに沿った作業の流れの紹介 l CMA-ESを使うときに気を付けることxx個 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
ブラックボックス最適化問題 Black-Box Optimization: BBO 目的関数がシミュレーションを通してのみ観測可能 設計変数x 目的関数 f(x) 数値シミュレーションでf(x)は計算可能 ものすごく複雑 目的関数の形は不明 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー 4
船舶におけるブラックボックス最適化問題 5 船舶海洋工学においても身近な問題クラス Black-Box Optimization 計画 最適化 離着桟理想経路 モデル 最適化 制御 最適制御 設計 最適化 デバイスモデル 海底探索の経路 制御器のゲイン Weather Routing NN 配船計画 2023/3/10 船型の設計変数 KRFセミナー 操縦モデル 動揺モデル 船舶海洋工学者のためのブラックボックス最適化セミナー 構造最適化
BBOとCMA-ESの操船研究への適用事例 6 運動制御を中心に様々なテーマに適用されている ⇨理想経路生成器として活用 着桟の理想経路 作成 自動着桟制御 最適制御の適用 Maki 2020a 複雑港湾形状に対応 Miyuachi 2021a PID追従制御 Rachman 2022b RL+教師有学習 Shimizu 2022 SQPとの統合 Rachman 2022a 終端許容値の導入 Maki 2020b RL+追従制御 Wakita 2022 最適制御による着桟制御 Rachman 2021 低層NN+Robust最適化 Akimoto 2022 低速操縦型MMG Miyauchi 2022 ワーストケース最適化 Miyagi 2022 ポーポイジングmodel Hamada 2023 運動モデルの推定 拡張Abkowitz 宮内 2021b Weather 2023/3/10 Routing 人間が介入可能に Suyama 2022 Modeling自動化 Miyauchi 2023 実船ログから推定 神原 2022,2023 実数型GA Maki 2011 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
CMA-ES(Covariance Matrix Adaption Evolutional Strategy)のおさらい 7 多変量正規分布から解候補を生成する進化戦略 CMA-ESによる最適化の課程 Reproduction of Fig.2 of Maki et. al, 2021a より詳しい説明はチュートリアル 2023/3/10 KRFセミナー https://doi.org/10.48550/arXiv.1604.00772 船舶海洋工学者のためのブラックボックス最適化セミナー を参考
CMA-ESのユーザーから見た特徴 8 困難な最適化問題にも対応可能 目的関数の多峰性 局所解 不連続,微分不能 最適解 そもそも多峰性があるかないかすら わからない場合が多い・・・ 2023/3/10 KRFセミナー 目的関数が不連続になってしまうことがよくある 例:岸壁にぶつかる or ぶつからない 船舶海洋工学者のためのブラックボックス最適化セミナー
CMA-ESのユーザーから見た特徴 どんなシミュレータでもいいから シミュレータで目的関数が得られる問題なら対応できる 手持ちのシミュレーション手法で目的関数が計算できる問題であれば, 最適化することができる(可能性が高い) シミュレータの制限が少ないため,手元にあるシミュレータが使える可能性が高く, 実務者にとって非常に楽. 例: 非線形な運動モデルを用いたシミュレーション(MMGモデル) if文だらけのシミュレーションコード,目的関数 ※ただし,問題設定によってはCMA-ES以外の手法が適している場合もあります. 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー 9
CMA-ESのユーザーから見た特徴 目的関数の定式化に制約が少なく,自由に設計できる 目的関数はなんらかの重み付き多項式の形で表せればOK (重み係数の調整は必要になるが) 𝑓(𝑥) = 𝑊! 𝐴(𝑥; 𝜃) + 𝑊" 𝐵(𝑥; 𝜃) + ⋯ 非線形,非凸,非2次形式,微分不可能でもOK 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー 10
CMA-ESのユーザーから見た特徴 11 数百次元まで探索できる つまり 実問題の範囲ではあまり探索の次元(設計変数の数)に制約がない 私は運動モデルのパラメータ推定問題で600個までやりました 2023/3/10 KRFセミナー (Miyauchi 2023) 船舶海洋工学者のためのブラックボックス最適化セミナー
CMA-ESのユーザーから見た特徴 準パラメータフリーで,ユーザーの苦労が少ない 準パラメータフリー Ø 最適化アルゴリズムの設定で悩まないで済む(ボタンを押せば最適化できる) Ø 初期値の推奨値が設定済 Ø 最適化問題の定式化には,ユーザーの努力が必要! ü 目的関数の定式化 ü 解の探索数,探索範囲 ü シミュレーションモデルの開発 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー 12
今日使うCMA-ES 13 矩形制約・リスタート戦略ありCMAーESを使用 矩形制約 (Sakamoto 2017) リスタート戦略 (Auger 2005) 設計変数の探索範囲に制約を任意に与えられる • 機械的な限界 • 先験的な解(水槽試験結果,人間の操船) 解候補が収束したら,Popサイズを倍にして 異なる初期解候補で探索をリスタート (1) (3) (3) (4) (5) (6) の周辺を探索 𝑓(𝛿) 実行不可能領域 LB: −35° 2023/3/10 UB: 35° KRFセミナー 𝛿 船舶海洋工学者のためのブラックボックス最適化セミナー
問題設定と表記規約
14
これ以降は,以下の設定と表記を前提として説明します
目的関数 𝑓 を最小化する実数解 𝐱 を探索する連続最適化問題とする.
minimize 𝑓 x , subject to: x ∈ ℝ! , LB𝑖 ≤ x" ≤ UB𝑖
目的関数 𝑓
解 𝐱 の性能を表すスカラー(単目的最適化問題)
次元 𝑛
最適化したい設計変数の数(解 𝐱の長さ)
解候補 𝐱 #
探索に供する設計変数ベクトルのこと. 𝑘 ∈ {1, … , 𝜆}
世代 𝑡
(イテレーション)
ある多変数正規分布 𝒩(𝒎, 𝜎 $ 𝑪)から𝜆個の解候補𝐱 #%&,…,) を生成し,
𝜆個の𝑓(x# )を計算し, 𝒩を更新する一連の試行一回.
集団size 𝜆
1世代あたりの解候補の数.
f-call
ある1個の x# に対して𝑓(x# )を1回計算する過程.
2023/3/10
KRFセミナー
船舶海洋工学者のためのブラックボックス最適化セミナー
CMA-ESを使うためユーザーがやる必要があること ユーザーが問題の評価部分を設計する必要がある f-call 𝐱# CMA-ES 評価部分 1. 𝐱 # に対してシミュレーション計算で 𝑓(𝐱 # )を求める 𝑓(𝐱 # ) 2. 𝑓(𝐱 # )をCMA-ESに渡す 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー 15
具体的なやること,気を付けること 16 ここからは,ユーザーの作業を具体的に紹介します 1. 問題を定義する 2. シミュレーション環境を作る 3. 矩形制約を設定する 4. 目的関数を設計する 5. CMA-ESの(数少ない)パラメータを設定する 6. 計算を実行し,結果を確認する ※末尾に問題事例からの対策の逆引きを用意してます 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
モデルケース1 (Miyauchi 2021a) 運動性能(MMGモデル)を考慮した 着桟経路計画の最適化問題を例に説明します ≈ .3 ,2 " 𝐿! ≈ 5m 95 5m 35 " 𝐿! 2 . ,6 © OpenStreetMap contributors 大阪南港におけるカーフェリーの着桟(牧先生撮影) KRFセミナー 船舶海洋工学者のためのブラックボック 17
モデルケース1 (Miyauchi 2021a) 運動性能(MMGモデル)を考慮した 着桟経路計画の最適化問題を例に説明します ≈ .3 ,2 " 𝐿! ≈ 5m 95 5m 35 " 𝐿! 2 . ,6 大阪南港におけるカーフェリーの着桟(牧先生撮影) KRFセミナー 船舶海洋工学者のためのブラックボック 18
モデルケース2 (Miyauchi 2022) 19 運動モデルのシステム同定を例に説明します 規定のモデル構造に対して,計測された運動と一致するようなモデルパラメータを推定する問題 Input (自走模型試験) 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
モデルケース2 (Miyauchi 2022) 20 運動モデルのシステム同定を例に説明します 規定のモデル構造に対して,計測された運動と一致するようなモデルパラメータを推定する問題 学習に使っていない未知データに対して 先験的な解の10倍程度の探索範囲から MMGモデルのほぼ全てのパラメタ(𝐶!と𝐾!カーブ以外,57個)を推定 拘束模型試験からのモデルと同等以上の推定精度 Input (自走模型試験) 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
21 モデルケース2例の論文リンク モデルケース1 運動性能(MMGモデル)を考慮した着桟経路計画の最適化問題 Miyauchi et. al,., Optimization on planning of trajectory and control of autonomous berthing and unberthing for the realistic port geometry, Ocean Eng. 245, 2022, 110390, ISSN 0029-8018, https://doi.org/10.1016/j.oceaneng.2021.110390 前刷り https://arxiv.org/abs/2106.02459 モデルケース2 運動モデル(MMGモデル)のシステム同定 Miyauchi et al., System parameter exploration of ship maneuvering model for automatic docking/berthing using CMA-ES, J Mar Sci Technol 27, 1065–1083 (2022). https://doi.org/10.1007/s00773-022-00889-3 前刷り 2023/3/10 https://arxiv.org/abs/2111.06124 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
22 1.問題を定義する 2.シミュレーション環境を作る 3.矩形制約を設定する 4.目的関数を設計する 5.CMA-ESの(数少ない)パラメータを設定する 6.計算を実行し,結果を確認する 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
“問題の定義”の例 23 “何”を最適化したいのか,目的関数などを決める MC1:着桟の参照経路計画 ニーズ 自動着桟制御の参照経路を自動で作りたい どんなシミュレーションにするか? 地形と風を考慮しながら,本船の運動性能で実現可能で, 何を評価するか? 障害物と衝突せず(ペナルティ), 設計変数にするか? 所望の終端状態(着桟)を満たし, 所要時間を最小化する操船と終了時刻を探す 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
“問題の定義”の例 24 目的によっては,最適化計算以外が必要になる場合も MC2:運動モデルのパラメタ推定 ニーズ 操船シミュレータのための,任意の運動で高精度のモデル を作る どんなシミュレーションにするか? 推定した係数の運動モデルを用いたシミュレーションが, 何を評価するか? 設計変数にするか? 学習データ(実船の運動時系列)との誤差が最小になる, モデルパラメタを探す 最適化計算以外 未知のデータに対して最適パラメタの検証が必要 (汎化性能の確認) 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
“問題の定義”で気をつけること 1 次元を過度に大きくしない 収束に要するイテレーション数が増える ⇨ 所望の解に辿り着くのに要する計算時間が増える イテレーションあたり 𝓞(𝛌𝐧𝟐 )の計算時間 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー 25
“問題の定義”で気をつけること 2 最初から難しくしない CMA-ESが強力とはいえ, ユーザーが必ずしも解ける問題を設定しているとは限らない 明らかに解ける問題から始めてみる. 例: 𝐔𝟎 = 𝟏 𝐤𝐧から 𝟐 𝐋𝐏𝐏 だけ進んで停止 先験的な解の±𝟐𝟎%の範囲で探索してみる 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー 26
“問題の定義”で気をつけること 3 探索する設計変数を全て使う必要は無い CMA-ESは, 目的関数に影響を与えない設計変数 𝐱 𝐢 が存在しても最適化可能 例:最短時間操舵問題,ある位置 𝑿 = (𝑋, 𝑌, 𝜓)に到達するまでの時刻を最小化 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー 27
“問題の定義”で気をつけること 3 28 探索する設計変数を全て使う必要は無い CMA-ESは, 目的関数に影響を与えない設計変数 𝐱 𝐢 が存在しても最適化可能 例:最短時間操舵問題,ある位置 𝑿 = (𝑋, 𝑌, 𝜓)に到達するまでの時刻を最小化 ① 離散司令舵角 𝛿& , … , 𝛿! と終端時刻 𝑡* を探索対象とする: 𝐱 # = (𝛿& , … , 𝛿! , 𝑡* ) 𝛿 time 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
“問題の定義”で気をつけること 3 29 探索する設計変数を全て使う必要は無い CMA-ESは, 目的関数に影響を与えない設計変数 𝐱 𝐢 が存在しても最適化可能 例:最短時間操舵問題,ある位置 𝑿 = (𝑋, 𝑌, 𝜓)に到達するまでの時刻を最小化 ① 離散司令舵角 𝛿& , … , 𝛿! と終端時刻 𝑡* を探索対象とする: 𝐱 # = (𝛿& , … , 𝛿! , 𝑡* ) 𝑡* 𝛿 𝛿& time 𝛿$ 𝛿! 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
“問題の定義”で気をつけること 3 30 探索する設計変数を全て使う必要は無い CMA-ESは, 目的関数に影響を与えない設計変数 𝐱 𝐢 が存在しても最適化可能 ② 𝛿& , … , 𝛿! から𝛿(𝑡)を適宜生成する 𝛿& 𝛿 𝑡* time 𝛿$ 𝛿! 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
“問題の定義”で気をつけること 3 31 探索する設計変数を全て使う必要は無い CMA-ESは, 目的関数に影響を与えない設計変数 𝐱 𝐢 が存在しても最適化可能 ③ 𝑡+ ≤ 𝑡 ≤ 𝑡* で運動シミュレーションをする 𝛿& 𝛿 𝑡* 𝜓 time 𝛿$ 𝛿! 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー 𝑡*
“問題の定義”で気をつけること 3 32 探索する設計変数を全て使う必要は無い CMA-ESは, 目的関数に影響を与えない設計変数 𝐱 𝐢 が存在しても最適化可能 ④ 𝑋(𝑡* )と𝑋,-./-, から目的関数 𝑓 を計算する 𝛿 𝛿$ 𝛿& 𝑡* 𝜓 time 𝛿! 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー 𝑡*
“問題の定義”で気をつけること 3 33 探索する設計変数を全て使う必要は無い CMA-ESは, 目的関数に影響を与えない設計変数 𝐱 𝐢 が存在しても最適化可能 ⇨あえて使わない設計変数があるようにすると,問題設計が簡単になる ④ 𝑋(𝑡* )と𝑋,-./-, から目的関数 𝑓 を計算する 𝛿& 𝛿 𝛿$ 𝑡* 𝑓に影響を与えない設計変数 time 𝛿! 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
34 1.問題を定義する 2.シミュレーション環境を作る 3.矩形制約を設定する 4.目的関数を設計する 5.CMA-ESの(数少ない)パラメータを設定する 6.計算を実行し,結果を確認する 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
“シミュレーション環境を作る”は何をする? 目的関数を計算できる計算コードを用意する 解候補に対して目的関数が計算できさえすれば,その計算コードはどんな形でも問題ない (このあと述べる気をつけることを除けば)制約は無いのでなんでもOK. 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー 35
“シミュレーション環境を作る”で気をつけること 1 1秒以下で目的関数を計算する! 1e5 ‒ 1e6ぐらいのf-callをする前提で考える ü 1sec/f-callだと27時間から270時間 f-callあたりの時間が長い手法を用いたいときは, 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー 36
“シミュレーション環境を作る”で気をつけること 1 1秒以下で目的関数を計算する! 1e5 ‒ 1e6ぐらいのf-callをする前提で考える ü 1sec/f-callだと27時間から270時間 f-callあたりの時間が長い手法を用いたいときは, 並列計算を試してみる ü 𝜆 = 4 + 3ln(𝑛)が推奨値, 𝑛=100だと𝜆 ≥ 18 ü work station程度の並列プロセス数でも有効 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー 37
“シミュレーション環境を作る”で気をつけること 1 1秒以下で目的関数を計算する! 1e5 ‒ 1e6ぐらいのf-callをする前提で考える ü 1sec/f-callだと27時間から270時間 f-callあたりの時間が長い手法を用いたいときは, 並列計算を試してみる ü 𝜆 = 4 + 3ln(𝑛)が推奨値, 𝑛=100だと𝜆 ≥ 18 ü work station程度の並列プロセス数でも有効 代替手段を考える ü low fidelityな手法に変える(CFD→ストリップ法, RK4→Euler) ü タイムステップ幅や学習データ量を調整する 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー 38
“シミュレーション環境を作る”で気をつけること 1 1秒以下で目的関数を計算する! 1e5 ‒ 1e6ぐらいのf-callをする前提で考える ü 1sec/f-callだと27時間から270時間 f-callあたりの時間が長い手法を用いたいときは, 並列計算を試してみる ü 𝜆 = 4 + 3ln(𝑛)が推奨値, 𝑛=100だと𝜆 > 17 ü work station程度の並列プロセス数でも有効 代替手段を考える ü low fidelityな手法に変える(CFD→ストリップ法, RK4→Euler) ü タイムステップ幅や学習データ量を調整する 計算コードを高速化する ü インタプリタ型→コンパイル型 (cython, f2py, JIT) 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー 39
“シミュレーション環境を作る”で気をつけること 2 40 infやNaN が生まれないようにする シミュレーションでNaNが生じると, 目的関数 𝑓(𝐱 W ) もNaNになる Rank- 𝜇 update (イテレーションの解候補のうち上位 𝜇 で次世代を生成) により, ある程度の数のNaNであればCMA-ESは対処可能だが 計算が遅くなる可能性がある 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
“シミュレーション環境を作る”で気をつけること 2 Random Search を念頭においていない シミュレーション手法はNaNが起きがち Overflow, Underflow, sqrt(-1), 0/0 が原因 • 運動モデルのパラメタ推定で探索範囲が非常に広い,または非物理的(抵抗が負など) ü 運動シミュレーションが発散する:船が吹っ飛ぶ • 意図せず平方根に負数,分母にゼロが来る 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー 41
“シミュレーション環境を作る”で気をつけること 2 Random Search を念頭においていない シミュレーション手法はNaNが起きがち よくある例:MMGの舵力モデルの有効流入速度 𝐽0 = &12! 3 !! 4! が𝑛0 = 0 ではNaN, プロペラモデルでは例外処理しているけど,舵力モデルで忘れる 例外処理を実装した上で,debugをしっかりやって, NaNにワーニングが出るようにしましょう Fortran だと -fpe0 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー 42
“シミュレーション環境を作る”で気をつけること 3 43 モデル化誤差が顕著であると現実と乖離した解が生じる 右図に対する参照経路生成の試計算 2023/3/10 KRFセミナー 人間による入港操船の航跡 (Suyama 2022) 船舶海洋工学者のためのブラックボックス最適化セミナー
“シミュレーション環境を作る”で気をつけること 3 モデル化誤差が顕著であると現実と乖離した解が生じる 後進を多用した解を得た ü 人間による操船の航跡とは異なる ü 使用した運動モデルは,後進力が過大に計算される傾向 経験的に,モデル化誤差が顕著な特定の状態があるとその部分を多用して, 非現実的な解(ただし,目的関数への適合度は高い)を得やすい傾向がある とはいえ,モデル化誤差だけに原因があるとは断定できない ü 目的関数の重み係数,矩形制約範囲などにも依存している可能性がある 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー 44
45 1.問題を定義する 2.シミュレーション環境を作る 3.矩形制約を設定する 4.目的関数を設計する 5.CMA-ESの(数少ない)パラメータを設定する 6.計算を実行し,結果を確認する 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
“矩形制約の設定”は何をする? 46 シミュレーションにどんな形で入力するか?を念頭に 探索範囲の上限,下限の値を設定する 設計変数 𝐱 𝐢 ごとに,LB𝐢, UB𝐢 を設定する LB𝐢 ≤ 𝐱 𝐢 ≤ UB𝐢 ü 舵の使用したい範囲 : [−15°, 15°] ü 船長による概ねの着桟所要時間を参考に: [0.5𝑇,-./-01 , 2𝑇,-./-01 ] ü 水槽試験から得たパラメタ: [0, 10𝐶2,345] 必要に応じて, 𝐱 𝐢 からシミュレーションの入力に適した変数サイズに変更する ü 運動モデルのパラメタ推定→必要なし ü 最適操舵→有限個の x6 からタイムステップ 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
“矩形制約の設定”の例 47 時間領域シミュレーションに適した形に 舵の操舵入力時系列を生成する 𝛿 LB𝑡 # UB𝑡 # UB𝛿 time LB𝛿 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
“矩形制約の設定”の例 48 時間領域シミュレーションに適した形に 舵の操舵入力時系列を生成する 𝛿 𝑡* LB𝑡 # UB𝑡 # UB𝛿 time LB𝛿 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
“矩形制約の設定”の例 49 時間領域シミュレーションに適した形に 舵の操舵入力時系列を生成する 𝛿 𝑡* LB𝑡 # UB𝑡 # UB𝛿 time LB𝛿 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
“矩形制約の設定”の例 50 時間領域シミュレーションに適した形に 舵の操舵入力時系列を生成する 𝛿 𝑡* LB𝑡 # UB𝑡 # UB𝛿 time LB𝛿 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
“矩形制約の設定”の例 51 矩形制約は設計変数ごとに設定してよい 実船の航跡から推定された運動モデルのパラメタ 2023/3/10 KRFセミナー (神原 2022) 船舶海洋工学者のためのブラックボックス最適化セミナー
“矩形制約の設定”で気をつけること 1 条件設定にはある程度,トライアンドエラーが必要 先験的な解などの参考情報がない場合,矩形制約の決定は試行を要する 矩形制約の変更で目的関数の関数景観は変わりうる ⇨ 最適化に影響を与える 特に,運動モデルの推定のようなパラメタ探索問題で課題になりやすい ü 新しい運動モデルで,参考となるような水槽試験結果が無い場合 ü パラメータの値のオーダーが不明(たとえば,高次多項式の係数) 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー 52
“矩形制約の設定”で気をつけること 1 53 よくある矩形制約設定のトラブル 矩形制約の境界の解を得る 矩形制約が広すぎて,最適解周辺が探索されない 𝑓(𝐱 # ) 𝑓(𝐱 # ) 得た解 より良い解 LB𝑖, UB𝑖 x#," 最適解 「UV構造」 2023/3/10 KRFセミナー (池田 船舶海洋工学者のためのブラックボックス最適化セミナー 2002) x#,"
“矩形制約の設定”で気をつけること 1 54 よくある矩形制約設定のトラブル 制約を緩める 矩形制約を狭めてみる 𝑓(𝐱 # ) 𝑓(𝐱 # ) LB𝑖, 2023/3/10 x#," 最適解 UB𝑖 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー x#,"
“矩形制約の設定”で気をつけること 1 55 よくある矩形制約設定のトラブル 制約を緩める 関数景観は観察できないので, 矩形制約を狭めてみる 𝑓(𝐱 # ) 𝑓(𝐱 # あくまで最適化で得た解の値と目的関数から想像するしかない. ) したがって,トライアンドエラーが必要になる. もちろん,UV構造でも,探索が上手くいく場合もある. LB𝑖, 2023/3/10 x#," 最適解 UB𝑖 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー x#,"
56 1.問題を定義する 2.シミュレーション環境を作る 3.矩形制約を設定する 4.目的関数を設計する 5.CMA-ESの(数少ない)パラメータを設定する 6.計算を実行し,結果を確認する 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
“目的関数の設計”は何をする? 57 x を評価する目的関数 f を作る これが一番重要.エンジニアの腕の見せ所 ユーザーがして欲しい最適化を,どうやってCMA-ESに理解させるか CMA-ESの気持ちを想像することが大事(勾配がどう見えるか) 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
“目的関数の設計” の例 58 f に勾配が生まれるよう,最適化したい事項を多項式で表す MC1:経路計画 自動着桟制御の参照経路を自動で作りたい ①障害物と衝突せず(ペナルティ),②所望の終端状態(着桟)を満たし, ③所要時間を最小化する 𝑓 = 𝑊# 𝐶 + 𝑡$ 𝑊%&' 𝑔(𝑿𝒅𝒆𝒔 − 𝑿(𝑡+ )) ① ③ ② 𝐶 : 衝突ペナルティ関数 𝑔(𝑿𝒅𝒆𝒔 − 𝑿(𝑡< )) : 目標状態𝑿𝒅𝒆𝒔 と終端状態 𝑿(𝑡< )の差より決まるコスト関数 𝑊= , 𝑊>01 : 重み係数 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
“目的関数の設計” の例 59 衝突ペナルティ関数も勾配が生まれるように MC1:経路計画 𝑆,-./0123,5 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
“目的関数の設計” の例 60 衝突ペナルティ関数も勾配が生まれるように MC1:経路計画 時間による勾配 𝑡 = 𝑡5 𝑡 = 𝑡6 𝑡 = 𝑡7 𝑆,-./0123,5 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
“目的関数の設計” の例 61 衝突ペナルティ関数も勾配が生まれるように MC1:経路計画 時間による勾配 侵入長さによる勾配 𝑡 = 𝑡5 𝑡 = 𝑡6 𝑡 = 𝑡7 𝐿83'3/,9 𝑆,-./0123,5 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
“目的関数の設計” の例 62 時間シミュレーションでは, ある特定の状態だけ合わせるような目的関数は避ける MC2:操縦モデルの推定 旋回試験の縦距・横距・TDを目的関数でMMGモデルの係数を最適化すると.. 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
“目的関数の設計” の例 63 時間シミュレーションでは, ある特定の状態だけ合わせるような目的関数は避ける MC2:操縦モデルの推定 縦距・横距・TDに相当するタイムステップの時刻のみ一致すれば良いので 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
“目的関数の設計” の例 64 時間シミュレーションでは, ある特定の状態だけ合わせるような目的関数は避ける MC2:操縦モデルの推定 望ましい運動モデルが得られない可能性がある モデルの自由度,パラメタの制約範囲が広い場合は思いも寄らないモデルができてしまうこ とがある 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
“目的関数の設計” の例 65 時間シミュレーションでは, ある特定の状態だけ合わせるような目的関数は避ける MC2:操縦モデルの推定 全てのタイムステップが関与する目的関数にする. 例えば, 6" 𝑓 = Z 𝑠 − 𝑠 d𝑡 + 𝑔74 ⋅ + ℎ84 (⋅) + 𝑗79 (⋅) + 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
目的関数の設計で気をつけること 1 66 勾配消失をなるべく避ける 所要の解が得られなかったケース (Miyuachi 2021a) 6.0 x 0 / L pp 5.0 time = 788.000 s 4.0 x 0 / L pp 2.0 0.0 -5.0 0 100 200 300 0.0 400 700 500 600 700 4.0 u (m/s) -4.0 -6.0 -20.0 -15.0 -10.0 y 0 / L pp -5.0 3.5 3.0 2.5 0 100 200 300 400 Time (s) 80.0 -5.0 p KRFセミナー 70.0 船舶海洋工学者のためのブラックボックス最適化セミナー .) 600 4.5 -2.0 2023/3/10 500 Time (s)
目的関数の設計で気をつけること 1 67 だまし構造や勾配消失をなるべく避ける 目的関数の景観を想像してみる 6.0 x 0 / L pp 5.0 time = 788.000 s 4.0 x 0 / L pp 2.0 0.0 -5.0 0 0.0 100 200 300 600 500 600 4.0 u (m/s) -4.0 -6.0 -20.0 -15.0 -10.0 y 0 / L pp -5.0 3.5 3.0 2.5 0 100 200 300 400 Time (s) 2023/3/10 500 Time (s) ゴール4.5 -2.0 400 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
目的関数の設計で気をつけること 1 68 だまし構造や勾配消失をなるべく避ける 所要の解の近傍(似たような操舵時系列)は衝突する=目的関数がオーダー違いで大きい 6.0 x 0 / L pp 5.0 time = 788.000 s 4.0 x 0 / L pp 2.0 0.0 -5.0 0 0.0 100 200 300 600 500 600 4.0 u (m/s) -4.0 -6.0 -20.0 -15.0 -10.0 y 0 / L pp -5.0 3.5 3.0 2.5 0 100 200 300 400 Time (s) 2023/3/10 500 Time (s) ゴール4.5 -2.0 400 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
目的関数の設計で気をつけること 1 69 だまし構造や勾配消失をなるべく避ける 所要の解の近傍(似たような操舵時系列)は衝突する=目的関数がオーダー違いで大きい 所要の解から遠ざかる=真っ直ぐ進む方に目的関数の降下方向がある x 0 / L pp 6.0 time = 788.000 s 4.0 2.0 x 0 / L pp 5.0 0.0 -5.0 0 0.0 100 200 300 600 500 600 4.0 u (m/s) -4.0 -6.0 -20.0 -15.0 -10.0 y 0 / L pp -5.0 3.5 3.0 2.5 0 100 200 300 400 Time (s) 2023/3/10 500 Time (s) ゴール4.5 -2.0 400 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
目的関数の設計で気をつけること 1 70 関数景観を想像してみる 所要の解の近傍(似たような操舵時系列)は衝突する=目的関数がオーダー違いで大きい time = 788.000 s 4.0 log 𝑓(𝐱 # ) 0.0 20.0 0.0 -20.0 2.0 -5.0 0 0.0 100 200 300 500 600 700 0 10 0 10 Time (s) ゴール4.5 -2.0 400 100.0 4.0 u (m/s) -4.0 -6.0 -20.0 2023/3/10 -15.0 KRFセミナー -10.0 y 0 / L pp -5.0 n p (rpm) x 0 / L pp (degree) 6.0 x 0 / L pp 所要の解から遠ざかる=真っ直ぐ進む方に目的関数の降下方向がある 5.0 3.5 x#," 3.0 こんな関数景観?? 2.5 0 船舶海洋工学者のためのブラックボックス最適化セミナー 100 200 300 400 Time (s) 500 600 700 50.0 0.0 -50.0 -100.0
改善策 71 関数景観が変わるよう,目的関数を修正 目的関数の式 𝑓 = 𝑊# 𝐶 + 𝑡$ ( 𝑊%&' 𝑔 𝑿𝒅𝒆𝒔 − 𝑿 𝑡+ 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー + 𝑊:; ℎ:; ⋅ )
改善策 72 関数景観が変わるよう,目的関数を修正 目的関数の式 log 𝑓(𝐱 # ) 𝑓 = 𝑊# 𝐶 + 𝑡$ 𝑊%&' 𝑔 𝑿𝒅𝒆𝒔 − 𝑿 𝑡+ + 𝑊:; ℎ:; (⋅) x#," こんな風に変えたい 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
目的関数の設計で気をつけること 2 理想的な解を追求しすぎないようにする 工学である以上,トレードオフは生じうる.たとえば, 着桟完了の位置決め精度.1mオーダー? ミリオーダー? なにも考えずに目的関数を実装すると,定数の重み係数でトレードオフを制御するしかない. CMA-ESは長い t * でミリ単位の位置極めを追求する(場合がある) 𝑓 = 𝑊# 𝐶 + 𝑡$ 𝑊%&' 𝑔(𝑿𝒅𝒆𝒔 − 𝑿(𝑡+ )) 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー 73
目的関数の設計で気をつけること 2 74 理想的な解を追求しすぎないようにする 許容値を目的関数に導入することで,目的関数の景観を変える (目的関数にif文が入っててもOK) 𝑔(𝑿𝒅𝒆𝒔 − 𝑿(𝑡+ )) | 𝑿𝒅𝒆𝒔 − 𝑿 𝑡+ | 許容値 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
75 1.問題を定義する 2.シミュレーション環境を作る 3.矩形制約を設定する 4.目的関数を設計する 5.CMA-ESの(数少ない)パラメータを設定する 6.計算を実行し,結果を確認する 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
“CMA-ESのパラメータを設定する”は何をする? 基本的には 最大集団サイズを設定する(だけ)! 全てのCMA-ESのパラメータには推奨値があり,(基本的には)変える必要がない. 初期集団サイズも 𝜆 > 4 + 3 𝑙𝑛 𝑛 が推奨値. リスタートで集団サイズを倍増するので,その最大サイズを決める. リスタート発生の判定基準値を変える必要がある場合もあります 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー 76
77 1.問題を定義する 2.シミュレーション環境を作る 3.矩形制約を設定する 4.目的関数を設計する 5.CMA-ESの(数少ない)パラメータを設定する 6.計算を実行し,結果を確認する 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
“計算を実行し,計算結果を確認する”は何をする? 目的関数fが適切に設計できているかを確認する! CMA-ESの計算推移 最適解の可視化 目的関数,共分散行列などのイテレーション推移を見る 104 103 0.0 2.0 4.0 6.0 Iteration KRFセミナー 2023/3/10 船舶海洋工学者のためのブラックボック 8.0 104 最適解を用いたシミュレーションの描画し, 望みの解が得られているか確認する 78
計算結果の確認で気をつけること 79 どこまで目的関数が下がればいいか把握しておく 工学的には,からなずしも大域的な最適解のみが有効とは限らない 104 3 10 0.0 2.0 4.0 Iteration 2023/3/10 KRFセミナー 6.0 8.0 4 10 船舶海洋工学者のためのブラックボックス最適化セミナー
計算結果の確認で気をつけること 80 どこまで目的関数が下がればいいか把握しておく 目的関数の下げたい目安を用意しておくと,計算時間が短くできる 104 この解は, 着桟失敗なのか?? 3 10 0.0 2.0 4.0 Iteration 2023/3/10 KRFセミナー 6.0 8.0 4 10 船舶海洋工学者のためのブラックボックス最適化セミナー
最後に 81 所望の解に辿り着くには,ある程度のトライアンドエラー が必要 1. 問題を定義する 2. シミュレーション環境を作る 3. 矩形制約を設定する 4. 目的関数を設計する 5. CMA-ESの(数少ない)パラメータを設定する 6. 2023/3/10 計算を実行し,結果を確認する KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
まとめ 82 CMAーESはシミュレータさえ用意できればよく,適用先が多い ユーザーの設定するのは目的関数と矩形制約.ここに工夫が必要 勾配フリーな手法だが,勾配を意識して目的関数を設計する 矩形制約はトライアンドエラーが必要な場合が多い 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
逆引き対策集 症例 計算時間が長い 83 考えられる原因 f-callあたりの時間が長い 1 f-callあたりの計算時間を短くする.並列計算を使う.f関数をプロファイリングする.インタプリタ型ではない言語を使う. 理想的な解を追求しすぎている 2 どれぐらい目的関数を下げたいか決め,それ以下なら妥協する 3 目的関数の目的状態に許容幅を導入する. 4 最大集団サイズを減らす 5 並列計算を試す 探索次元数が多いと,収束に要するイタ レーション回数は増えるし.逆行列を解く のに時間が計算時間がかかる 6 探索次元数を減らす ユーザーの気が短い 7 収束に1e4から1e5 イテレーション要する場合もある.待つ. Feasibleな解がない 8 いきなり難しい問題に取り組まない.シミュレーション条件が実現不可能な場合がある.明らかに達成可能な簡単な問題から始めてみる. 9 矩形制約内にfeasibleな解がないかもしれないので,制約範囲を変える 10 今の矩形制約内では勾配がほとんどないかもしれないので,矩形制約の範囲を変えてみる 11 得られた最適解で,矩形制約の境界上に値をとっているxはないか? 12 所要の解周辺が逆勾配になっている.または所要の解周辺にほとんど勾配がなく,中物になっている.所要の解への準勾配が生まれるよう な目的関数に設計し直す. 13 目的関数の重み係数の設定が悪い. 14 多項式の目的関数で,それぞれの項を同時に降下させる勾配がない可能性がある.問題の起きている解候補での目的関数の項の寄与を確認 する 15 適当な解候補で数値シミュレーションの結果を確認し,数値シミュレーションを改修する 集団サイズが大きい 目的関数が下がら ない 対策 矩形制約の範囲設定が悪い 目的関数の設計が悪い f-callの数値シミュレーションが発散してい て,目的関数がすごく大きい 2023/3/10 KRFセミナー あればその変数の矩形制約の範囲を広げる 船舶海洋工学者のためのブラックボックス最適化セミナー
逆引き対策集 (続き) 症例 思ったのと違う最 適解が出る 考えられる原因 対策 数値シミュレーションのモデル化誤差が大 きい 16 シミュレーションのある部分でモデル化誤差が大きいと,その部分を多用する解をCMA-ESが最適として探索した場合,現実世界との乖離 が大きくなり,思ったのと違う最適解が得られたと想像される.シミュレーションの精度を見直す. 目的関数の設計が悪い 17 対策11と同じ. 18 矩形制約の範囲に押し込む 19 矩形制約の範囲を見直す 20 nanが出るような数値シミュレーションにしない 収束した解が矩形 制約の外に出る nanが出る 84 nanが出るのはf-callの部分 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
85 謝辞 本講演の準備に際してましては,筑波大学の秋本洋平先生にご指導賜りました. また,本日ご紹介した研究の多くの部分において共同研究者としてご指導頂きました. ここに深甚なる謝意を表します. また,大阪大学船舶知能化領域の学生諸氏には,資料の提供や本スライドの内容についてコメント 頂きましたこと感謝いたします. 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
86 参考文献 CMA-ES関係 (Auger 2005) Auger, A., & Hansen, N. (2005). A Restart CMA Evolution Strategy With Increasing Population Size. 2005 IEEE Congress on Evolutionary Computation, 2, 1769–1776. https://doi.org/10.1109/CEC.2005.1554902 (Hansen 2016) Hansen, N. (2016). The CMA Evolution Strategy: A Tutorial. https://doi.org/10.48550/arXiv.1604.00772 (Sakamoto 2017) Sakamoto, N., & Akimoto, Y. (2017). Modified Box Constraint Handling for the Covariance Matrix Adaptation Evolution Strategy. Proceedings of the Genetic and Evolutionary Computation Conference Companion, 183–184. https://doi.org/10.1145/3067695.3075986 着桟経路の計画 (Maki 2020a) Maki, A., Sakamoto, N., Akimoto, Y., Nishikawa, H., & Umeda, N. (2020). Application of optimal control theory based on the evolution strategy (CMA-ES) to automatic berthing. Journal of Marine Science and Technology, 25(1), 221–233. https://doi.org/10.1007/s00773-019-00642-3 (Maki 2020b) Maki, A., Akimoto, Y., & Naoya, U. (2020). Application of optimal control theory based on the evolution strategy (CMA-ES) to automatic berthing (part: 2). Journal of Marine Science and Technology. https://doi.org/10.1007/s00773-020-00774-x (Miyauchi2021a) Miyauchi, Y., Sawada, R., Akimoto, Y., Umeda, N., & Maki, A. (2021). Optimization on Planning of Trajectory and Control of Autonomous Berthing and Unberthing for the Realistic Port Geometry. Ocean Engineering, 245(December 2021), 110390. https://doi.org/10.1016/j.oceaneng.2021.110390 (Rachman 2022a) ) Rachman M.D., Maki A., Miyauchi Y., Umeda N., Warm-started semionline trajectory planner for ship’s automatic docking (berthing), Ocean Engineering, Volume 252, 2022, 111127, https://doi.org/10.1016/j.oceaneng.2022.111127. (Suyama 2022) Rin Suyama, Yoshiki Miyauchi, Atsuo Maki, Ship trajectory planning method for reproducing human operation at ports, Ocean Engineering, Volume 266, Part 2, 2022, 112763, https://doi.org/10.1016/j.oceaneng.2022.112763. 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
87 参考文献 着桟制御 (Rachman 2021) Rachman M.D., Miyauchi Y., Umeda N., Maki A., Feasibility Study on the Use of Evolution Strategy: CMA-ES for Ship Automatic Docking Problem, STAB&S 2021. 7-11 June 2021, Glasgow, Scotland, UK. (Akimoto 2022)Akimoto Y., Miyauchi Y., & Maki A. (2022). Saddle Point Optimization with Approximate Minimization Oracle and Its Application to Robust Berthing Control. ACM Transactions on Evolutionary Learning and Optimization, 2(1), 1–32. https://doi.org/10.1145/3510425 (Miyagi 2022) Miyagi A.,et. al. 2022. CMA-ES with Worst-Case Ranking Approximation for Min-Max Optimization and its Application to Berthing Control Tasks. (Wakita 2022) Wakita, K., Akimoto, Y., Rachman, D. M., Miyauchi, Y., Naoya, U., & Maki, A. (2022). Collision probability reduction method for tracking control in automatic docking/berthing using reinforcement learning. arXiv preprint arXiv:2212.06415. http://dx.doi.org/10.48550/arXiv.2212.06415 (Shimizu 2022) Shoma Shimizu, Kenta Nishihara, Yoshiki Miyauchi, Kouki Wakita, Rin Suyama, Atsuo Maki, Shinichi Shirakawa, Automatic berthing using supervised learning and reinforcement learning, Ocean Engineering, Volume 265, 2022, 112553, https://doi.org/10.1016/j.oceaneng.2022.112553. (Rachman 2022) Dimas M. Rachman, Yusuke Aoki, Yoshiki Miyauchi, Naoya Umeda, Atsuo Maki, Experimental Low-speed Positioning System with VecTwin Rudder for Automatic Docking (Berthing), arXiv preprint arXiv:2212.09880. https://doi.org/10.48550/arXiv.2212.09880 (池田 2002) 池田 心, 小林 重信, GAの探索におけるUV現象とUV構造仮説, 人工知能学会論文誌, 2002, 17 巻, 3 号, p. 239-246, 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー
88 参考文献 運動モデルのパラメタ最適化,システム同定 (宮内 2021b) 宮内新喜ら: 離着桟・低速時複雑運動を再現する四象限 Abkowitzモデル, 日本船舶海洋工学会秋季講演会論文集, 33, pp. p49–58, 2021. (Miyauchi 2022) Miyauchi, Y., Maki, A., Umeda, N. et al. System parameter exploration of ship maneuvering model for automatic docking/berthing using CMA-ES. J Mar Sci Technol 27, 1065–1083 (2022). https://doi.org/10.1007/s00773-022-00889-3 (Miyauchi 2023) Yoshiki Miyauchi, Youhei Akimoto, Naoya Umeda, Atsuo Maki, Development of a Mathematical Model for Harbor-Maneuvers to Realize Modeling Automation, arXiv preprint arXiv:230210459. https://doi.org/10.48550/arXiv.2302.10459 (Hamada 2023) Hamada S., Miyauchi Y., Akimoto Y., Umeda N., Maki A., System identification of porpoising dynamics of high-speed planing craft using full scale trial data, Ocean Engineering, 270, 2023, 113585, https://doi.org/10.1016/j.oceaneng.2022.113585. (神原 2022) 神原太地,宮内新喜,細萱和敬,牧敦生: 実船の離着桟データを用いたシステムモデルの推定に関する基礎的研究, 日本船舶海洋工学会講演会論文集, 35, pp. 29-35, 2022. (神原 2023) 神原太地,宮内新喜,細萱和敬,牧敦生: 実船の離着桟データを用いたシステムモデルの推定に関する基礎的研究(第二報)−データセットの性質に関する検討−, 日本船舶海 洋工学会講演会論文集, 36, 2023. その他 (池田 2002) 池田 心, 小林 重信, GAの探索におけるUV現象とUV構造仮説, 人工知能学会論文誌, 2002, 17 , 3 号, pp. 239-246 (Maki 2011) Maki, A., Akimoto, Y., Nagata, Y. et al. A new weather-routing system that accounts for ship stability based on a real-coded genetic algorithm. J Mar Sci Technol 16, 311–322 (2011). https://doi.org/10.1007/s00773-011-0128-z 2023/3/10 KRFセミナー 船舶海洋工学者のためのブラックボックス最適化セミナー