チーム・マネジメント

チームマネジメント、人間-機械システム、そしてヒューマンファクターズを考える

何のための最善か? 【最適化】

最適化(Optimization)との用語は一般的に用いられていますが、最適制御(Optimum Control)を研究していた立場から気付き事項を述べておきます。始めに学術的になってしまいますが、最適化問題とは何かと言う問いから入っていきます。

最適化問題とは、ある制約条件のもとに、与えられた評価関数(目的関数)を最大または最小にするような方策を見出すことである。

日常の問題を通じて最適化を考えていきます。例えば、目的地へ移動しようとした場合、自動車、電車、飛行機など様々な移動手段を選ぶことができます。ここで制約として、何時まで到着しなければならないか、そんなに高い運賃は出費できない、途中に経由地があったりします。その中で、移動手段を決定する基準として評価関数(言いかえれば意思決定基準)を用います。評価関数を時間とすれば、最短時間で到着できるのは飛行機や新幹線を使うことが最善となります。評価関数を費用とすれば、高速バスが最も望ましくなるかもしれません。


このように評価関数が異なれば最適な解(答え)は全く違ってきます。最適化手法で注意すべき点は、評価関数の選択であり、評価関数が定義されて初めて「最適」の意味が確定します。制御系設計において最適レギュレータ(Optimal Regulator)があります。レギュレータとは、外乱等によって生じた平衡点からのずれを補正する機構のことです。評価関数が決まれば制御系パラメータはそれほど難しくなく算出できます。評価関数として位置誤差と速度誤差の和を選び、最小とするように設計していきます。実際に設計してみると、位置誤差を重視するか、速度誤差を重視するかによって、制御系の特性が全く異なってきます。そのため、位置誤差と速度誤差の重みを変えてみて試行錯誤することになります。


実際の問題では、評価関数に取り込む基準は多くの要素が考えられ、それぞれをどのくらい重視するかを決定しなければ、最適な方策は見出せません。考慮すべき基準が評価関数に含まれておらず、その条件で最適化を実施してしまい、部分最適を実現したとしても実際には全体最適にはなりません。また、考慮すべき制約条件に抜けがある最適な解(答え)を得ても、実際には成り立たないため、全体最悪となる可能性もあります。


最適化というのは一見良さそうな検討を行っているようですが、評価関数の選択や制約条件によっては、最適にならないために注意が必要です。



参考文献