部分最適化と全体最適化

投稿日:2008年01月16日 作成者:yasunaka

なんか、脈絡のない話ですが…

ビジネス活動においては様々な最適化が行われています。例えば少しでもコストを下げようとしたり、少しでもサービスを向上させようとしたり、少しでも品質を向上させようとしたり。こういった活動はすべて、何らかの目標(例で言えばコストや、サービス指標値、品質指標値など)の最適化を目指して行われているわけです。

実際には物事はもっと複雑で、例えば品質を向上させるためには、バグ発生率を下げなければならない、テストを大量・効率的に実施しなければならない、そのためには…と様々な連鎖的な最適化活動が大量に行われ、その結果として目標の最適化が実現されることになります。

難しいのは、そのようにブレークダウンされた部分最適化活動がそれぞれMAXになったからといって、必ずしもそれが全体最適化の解とはならないことです。目標の中には様々な相反する指標があります。例えば品質の向上には一般にコストがかかります。コストを抑えすぎると品質が悪化する場合もあるわけです。どの程度でバランスさせるべきか、という部分は、いくら部分最適化を実行しても答えは得られません。

昔は物事を全て線形代数の世界で表現してOR(オペレーション・リサーチ)という手法で最適解を求める、などといったことが盛んに行われていましたが、最近実際の応用例はあまり聞かなくなってきたように思います。そもそも線形代数の世界で表現する、という前提に無理がある場合が多いのでしょう。

デリバティブ(派生証券)の分析手法として、昔は式を解いて解を求めるというやり方が主流でしたが、徐々に複雑な条件によってそのように解析的には解けない場合が増えた結果、モンテカルロ法といって、コンピュータ上で乱数によるシミュレーションを実施して解く、というやり方が増えてきています。ビジネス活動の全体最適化にも、このようなシミュレーションによる解析方法(コンピュータによるものとは限らないかもしれません)が最適なのかもしれません。