- When you solve real engineering problems (where input parameters take values from discrete set of known values).
- When you validate some newly developed heuristic optimization method.
- Because no expert knowledge is needed.
- Because optimality of provided solution(s) is guaranteed.
- Because it is fast, reliable and easy to use.