非線形最適化
非線形最適化は、目的関数または制約に非線形が含まれる最適化問題を解く枠組みである。一般形は「min f(x) s.t. g(x)≤0, h(x)=0」で表し、設計変数の相互作用、材料の非線形、飽和や摩擦など現象起因の非線形を扱う。線形に限定する線形計画法と異なり、局所解や鞍点の存在、感度の非一様性が本質的課題となる。工学では重量最小化、性能最大化、コスト低減などを同時に満たすために非線形最適化を用いる。
定義と位置づけ
非線形最適化では、目的関数fや制約g,hのいずれかが非線形である。凸性が成立する場合は大域最適性の保証が得られるが、一般の非凸では大域解は保証されない。そのためモデリング段階での凸化、正則化、変数変換が重要となる。問題定義の明確化は最適化問題、指標設計は目的関数、制限設定は制約条件の考え方に依拠する。
非線形性の典型例
- 幾何学的非線形:大変形、接触、座屈などで剛性が状態依存となる。
- 材料非線形:弾塑性、粘弾性、摩擦・摩耗。応答が非線形関数で表される。
- 機器特性の非線形:飽和、デッドゾーン、バックラッシュ、ヒステリシス。
- モデル化非線形:経験式、実験式、ブラックボックス近似。
代表的アルゴリズム
- 勾配降下法・最急降下法:大域的には保証が弱いが実装容易。ラインサーチやアームijo・Wolfe条件を併用。
- ニュートン法:ヘッセ行列を用い局所二次収束。計算負荷と正定性の管理が鍵。
- 準ニュートン(BFGS/L-BFGS):ヘッセ近似で計算量を削減し大規模問題に適する。
- SQP(逐次二次計画):非線形制約を二次近似し準最適を反復的に洗練。
- 内点法:バリア関数で実行可能域内を移動し高速収束を狙う。
- 確率的勾配(SGD)・モメンタム・Adam:機械学習の大規模非凸に適用。
- メタヒューリスティクス:遺伝的アルゴリズム、SAなど。大域探索に有効だが保証は弱い。
収束と計算量の考え方
一次法はO(1/k)程度、ニュートン近傍は二次収束が期待される。信頼領域法はモデル妥当性に基づきステップ幅を調整する。前処理・スケーリングで条件数を下げることが計算時間短縮に寄与する。
制約付き最適化とKKT
制約付き非線形最適化の停留条件はKKTで記述される。ラグランジアンL(x,λ,μ)=f(x)+λᵀg(x)+μᵀh(x)の下で、勾配消失、相補性、実行可能性、乗数非負が満たされる。MFCQやLICQなどの資格条件が解の性質を左右する。モデル化では実行可能領域の幾何を理解し、必要なら変数分解やスラック導入で扱いやすくする。
ペナルティ・バリア・投影
等式・不等式の取り扱いには、外部/内部ペナルティ、障壁(バリア)法、投影勾配がある。SQPはサブ問題QPを解くことで制約を満たしつつ目的関数を低下させる。単純な境界制約は投影やボックス制約対応のL-BFGS-Bが有効である。
凸と非凸の違い
凸問題では任意の局所解が大域解であるため手法選択が素直になる。非凸では初期値依存性が強く、複数初期値の並列探索、ランダムリスタート、正則化による凸近似などが実務的対策となる。逆算型の課題は逆問題として現れ、観測ノイズや不適切なモデルで不良設定になりやすい。
実務でのモデリング
- 機械・構造:重量や剛性のトレードオフ、固有値や応答ピーク抑制。動的特性は状態方程式と伝達関数で表し、評価は周波数応答で行う。
- 信号・制御:周波数領域の形状制約や帯域最適化ではフーリエ解析やスペクトル解析を指標化に用いる。
- 計算設計:解析コスト削減のためサロゲートや多忠実度を併用し、KrigingやRBFで近似した上で非線形最適化を行う。
- 設計経済性:評価関数の構成はコスト関数や目的関数の分解が役立つ。
数値実装の要点
- スケーリング:変数と制約のスケールを揃え、条件数を改善する。
- 初期値戦略:フィージブル初期点生成、ホットスタート、多点初期化。
- 正則化:L2/L1やTikhonovで不良設定を緩和し、過学習や過剰適合を抑える。
- 停止判定:目的関数減少、勾配ノルム、実行可能性残差、相対改善率を併用。
- 検証:感度解析、交差検証、ブートストラップで解の頑健性を確認。
微分の取り扱い
自動微分(AD)は正確な勾配を高速に提供し、準ニュートンやSQPの性能を高める。解析微分はモデル理解を促進し、数値微分は実装容易だが丸め誤差やステップ幅選択に注意が必要である。
手法選択の指針
制約の有無、凸性、次元、微分可能性、評価コストを基準に選ぶ。滑らかで中規模ならL-BFGSやSQP、強い非線形制約には内点法、評価が高コストならサロゲート+全局的探索、ノイズが大きい非凸なら確率的手法を検討する。関連する基礎概念は最適化問題、実装前の整理は制約条件と目的関数が参考になる。