5. small ε#

5.1. 説明#

十分小さな正定数値 \(\varepsilon\) を small ε という. 等号を含まない不等式制約を記述したい場合に考えることが多い.

5.1.1. 等号を含まない不等式制約の記述#

\(x > 0\) というように等号を含まない不等式を記述したい場合がある. 例えば考える制約条件として \(f(x) \geq 0\) があった場合に,その否定 (NOT) は \(f(x) < 0\) というような場合である. 含意 \(P\implies Q\)\((\lnot P)\lor Q\) に同値であるので,このような制約を記述したい場合には必然的に, 等号を含まない不等式制約の記述が要求される.

このような \(f(x) < 0\) という制約条件は計算機にとっては不都合がある. それはもし \(x\in\mathbb{R}\) ならば原理的には \(0\) に負値の中で限りなく近い数を意味するためである. 現実のビジネス問題の解決にかかわる定式化で無限小が問題になることは少ないが, 最小単位が明らかでない場合も珍しくない. このような事情はあるものの,計算機が扱う上で十分小さな正定数値 \(\varepsilon\) を何かしら仮定して, 次のように記述すれば,\(f(x) < 0\) を記述したことに同じである.

(5.1)#\[f(x) \leq -\varepsilon\]

5.1.2. small ε を短絡的に設定しないこと#

危険

small ε の \(\varepsilon\) は十分に小さいということで, じゃあ小さくとってやろうと言って,\(\varepsilon = 0.000000000000000001\) と いうような値を設定することは,数値計算においてはまず避けるべき危険な設定である.

small ε それ自体はモデルの中に簡単に複数導入できるが, 問題の数値スケールと複数入れた small ε のスケールとがバラバラになる場合には, 定式化の スケーリング が悪く,数値計算時に大変な負荷がかかるおそれがあるためである.

5.2. 関連#