一般的な枠組みとは書いたが,関数は大まかに言って以下のように 分けることができる.
(1) の関数形が既知かどうか: が の陽な関数形で 書けていれば,その関数形の情報を使うことができるので最適化が 簡単になる可能性がある. 一方 が完全にブラックボックスで を 与えてみないと がわからないような問題はより難しいと思われる. を得るために計算コストがどれくらいかかるかも, 最適化の戦略に影響を与えるだろう.
(2) 観測ノイズがあるかどうか: 上のブラックボックスの場合にさらに そのものではなく,それにノイズが付加された のみが観測されるような問題では,同じ でも毎回返ってくる関数値が異なるため, 最適化問題としてはより難しいと考えられる.
もちろん,関数形が既知であっても,十分複雑な関数ならば 未知でノイズありの場合と似たようなものになってくる. 以下の議論ではこれらの分類にあまり依存しない形で解説を行うが,どのような 問題であるかによって手法に向き不向きがあるので,注意する 必要がある.