情報工学における最適化(
英: Optimization)とは、システムを何らかの観点でより効率的に動作するよう変更することをいう。例えば、
プログラムの最適化は、高速化のためだったり、
記憶装置の使用量を削減するためだったり、電力消費を抑えるためだったりする。最適化の対象となるシステムは、1つの
プログラムの場合もあるし、複数の
コンピュータの場合もあるし、
インターネットのようなネットワーク全体の場合もある。"optimization" という単語の語源は "optimal"(最適な、最善な)と同じだが、最適化によって真に最適なシステムとなることは稀である。最適化されたシステムは一般にある面でのみ最適となる。プログラムの実行時間を削減するためにメモリ使用量を増やしてでも実行時間を最適化したり、逆にメモリが少ないシステムで実行時間が長くなることを覚悟してメモリ使用量が少ない
アルゴリズムを選んだりする。あらゆる場合に最適な方法や設計は存在しないので、
技術者は最も重要と思われる観点での最適化のために
妥協点を探る。さらに、ソフトウェアを完全に最適にする(それ以上どうやっても最適化できない状態にする)のに要する労力は、その最適化されたシステムを利用することで得られる利益よりも大きい。従って、最適化の工程は完全な最適解に到達する以前に終了させられるのが普通である。幸いなことに、効果の大きい改善は最適化工程の初期に現れることが多い。
Wikipedia.orgをもっと見ると…