1. 最適化の概要
工学における最適化は、制約集合の下で最良のシステム設計を探す過程で、社会の多くの場面で用いられ、理工学の基礎や応用に多様に関わっている。データから有意義な情報を抽出する分析手法では、その多くが最適化に立脚している。最適化は関数の大域的最小値を求めることに関心がある。その最小値は勾配がとなるところで生じる。しかし勾配がだからといって最適だとは限らない。
1.1 最適化問題とは
「与えられた条件を満たす解のうちある関数の値を最小(または最大)にするものを求めること」を最適化という。
より数学的に定式化すると、最適化問題とは、集合および関数が与えられたときに、
を満たすようなを求める問題を言う*1。この最適化問題に対して、を目的関数、を実行可能領域、条件を制約と呼ぶ。また制約を満たす点を実行可能解という*2。またの最小値を実現する実行可能解を最適解と呼び、そのときの目的関数の値を最適値という。
用語をまとめると以下のようになる:
制約 | 解が満たすべき、与えられた条件 |
---|---|
目的関数 | 最小(または最大)とする対象となる、良くしたい評価尺度 |
決定変数(または設計変数)*3 | 決定したい数 |
実行可能解 | 最適化問題の制約を満たす(だけの)解*4 |
実行可能領域(または許容領域) | 実行可能解の集合 |
最適解 | 実行可能解のうち、目的関数を最小(または最大)にするようなもの |
最適値 | 最適解における目的関数の値 |
目的関数を最小にするような最適解を求める場合の最適化問題を特に最小化問題、最大にするような最適解を求める場合を最大化問題と呼ぶ。
なお最小化問題は
と最大化問題と等価であるから、最適化問題では最小化ないし最大化の一方のみに言及する。
1.1.1 最適化の設計
多くの学問が最適化をその中核に置いている。応用先に応じ対象指標は効率性、安全性および精確性を持たなければならない。その設計で制約となるのがコスト、重み、そして構造的な頑健性である。
最適化デザインにおけるプロセス
1.2 最適解の概念
1.2.1 最適解の存在と実行可能性
においては、解について以下の4パターンに帰着できる:
(1) | 実行可能解が存在する()。 | ||
(a) | 実行可能領域において目的関数が下に有界であり、実際に下限を達成するような実行可能解が存在する。 | ||
(b) | 実行可能領域において目的関数が下に有界であるものの、実際に下限を達成するような実行可能解が存在しない。 | ||
(c) | 実行可能領域において目的関数が下に有界でない。 | ||
(2) | 実行可能解が存在しない()。 |
(1)が成り立つ場合、最適化問題は実行可能であるという。(2)の場合を実行不可能であるという。
1.2.2 大域的最適解と局所最適解
一般に、最適化問題で真の最適解を求めることは容易であるとは限らない。その場合、制約を少し緩めた解を求めることが実用上、少なくない。そこで解の最適性について、いくつかのパターンを考える必要がある。
まずすべての実行可能解のうち、目的関数を最小(または最大)にするような実行可能解を大域的最適解という。すなわち、を目的関数、を実行可能領域として、
が成立するときに、を大域的最適解という。
これに対し、その値の近傍において目的関数の値がより小さい(大きい)値が存在しないような実行可能解を局所的最適解という。すなわちあるに対してとおくとき、
が成立するとき、をを局所的最適解という。
最適化における臨界点
1.3 連続最適化と離散最適化
最適化問題をその特徴で分類することを考えると、①実行可能解が有限個であるもの、②実行可能解が無限個である(連続的に変化できる)もの、の2つに分けられ、前者を離散最適化問題、後者を連続最適化問題という。
1.4 理論の枠組み:凸計画,線形計画,非線形計画
最適化問題の難しさや特徴は、目的関数および実行可能領域の性質に応じて様々である。典型的な最適化問題を分類する。先にまとめておくと以下のとおりである:
凸計画問題 実行可能領域が凸集合であり目的関数が凸関数である最適化問題 線形計画問題 実行可能領域が多面体で目的関数が1次式であるような最適化問題 非線形計画問題 目的関数(および制約)が必ずしも1次式でないような最適化問題 整数計画問題 変数が整数値のみを取るような最適化問題 多目的最適化問題 競合関係にある複数の目的関数を同時に最適化する必要のある最適化問題 変分問題 無限次元での(汎関数の)最適化問題
1.4.1 線形計画問題
を線形計画問題という。
これの実行可能領域は線形方程式および線形不等式で表される集合
である。このような一次式のみで表される集合を多面体という。解きたい問題を線型計画問題として定式化しその最適解を求める方法論を線形計画(法)という。
実行可能領域が多面体で目的関数が凸な二次関数であるような問題を凸2次計画問題という。
1.4.2 凸計画問題
集合が任意の点に対して条件
を満たすとき、を凸集合という。
またが任意の点に対して条件
を満たすとき、を凸関数と呼ぶ。
の最適化問題
において、実行可能領域が凸集合であり目的関数が凸関数である場合を凸計画問題という。またこの問題は変数を新たに導入して
と書き換えても同値である。
最適化の理論では線形か否かよりも凸性を持つか否かで扱いやすさが分かれる。
1.4.3 非線形計画問題
非線形計画問題は一般に、についてを変数実関数(かつ普通は微分可能と仮定)として
と定式化できるような最適化問題である。を不等式制約、を等式制約という。等式制約も不等式制約も無い最適化問題を無制約最適化問題といい、少なくとも一方があるものを制約付き最適化問題という。
1.4.4 整数計画問題
変数が整数値のみを取るような最適化問題を整数計画問題という。特に変数がのみを取るような整数計画問題を-整数計画問題という。取り得る値が整数に限られた変数を整数変数という。一部が連続変数で残りが整数変数であるような問題を混合整数計画問題と呼ぶ。