possible to avoid using these functions directly, doing so may require the use of binary
variables or auxiliary variables in cumbersome or unusual ways.) We can also include
spreadsheet-oriented functions such as CHOOSE, COUNTIF, INDEX, and
LOOKUP, which may provide convenience in spreadsheet calculations even though
they are seldom used in other circumstances. Thus, another way of interpreting non-
smooth is any computation that uses one of these dozen functions or one of the
other specialized functions in Excel.
The modeling flexibility comes at a price. Because the evolutionary solver makes
virtually no assumptions about the nature of the objective function, it has a limited
ability to identify an optimal solution. Essentially, it conducts a search, compares the
solutions encountered as it proceeds with the search, and stops when it senses that it is
making very little progress at finding improvements. The solution it generates may not
even be a local optimum, such as the solution the hill-climbing procedure delivers, yet
in many kinds of problems, the evolutionary solver delivers a good solution, if not an
optimal one. This type of procedure is called a heuristic procedure, meaning that it is a
systematic procedure for seeking good solutions, but it cannot guarantee optimality.
9.1. FEATURES OF THE EVOLUTIONARY SOLVER
A few features of the evolutionary solver are helpful to know. First, it is important
to realize that the procedure contains some randomized steps. As a consequence, we
may get different solutions when we run the evolutionary solver twice on exactly
the same model.
The evolutionary solver works with a population of solutions. At intermediate
stages of the solution procedure, it keeps track of several solutions rather than main-
taining just the one, best solution found so far. This population of solutions develops,
or evolves, in steps that mimic naturally occurring evolutionary processes. From the
population of solutions that it builds and maintains, the procedure can generate new
solutions, following the principle that an offspring solution should combine traits
from each of two parent solutions. In addition, there are occasional mutations,
which are offspring solutions with some random characteristics that do not come
from their parents. Over the course of the procedure, the population is governed by
a fitness criterion (based on the objective function) that removes the poorer solutions
and keeps the better ones. This process of selection drives the population toward better
levels of fitness (better values of the objective function). If there is evidence that the
population is no longer improving, or if one of the user-designated stopping conditions
is met, then the procedure stops. When it stops, Solver displays the best member of the
final population as the solution.
The inner workings of the evolutionary solver do not concern us at this stage.
However, in the next section, we provide an example that will help explain concep-
tually how the procedure works. The main point is that the evolutionary solver is
not handicapped by the presence of nonsmooth functions, as would be the case for
the linear and nonlinear solvers. It is also helpful to set some user-controlled options
when running the evolutionary solver. However, in the end, the evolutionary solver
cannot guarantee that it has found a global optimum, so some judgment is
338
Chapter 9 Heuristic Solutions with the Evolutionary Solver