SUMMARY
The evolutionary solver contains an algorithm that complements the linear solver, the nonlinear
solver, and the branch-and-bound procedure. Unlike those algorithms, however, it does not
explicitly seek a local optimum or a global optimum. Nevertheless, it can often find optimal sol-
utions to very difficult problems, and it may be the only effective procedure we can apply when a
nonsmooth function exists in the model.
The considerations influencing the building of models for the evolutionary solver are
different from those for linear and nonlinear programs. Because nonsmooth functions are per-
mitted, we have great flexibility in drawing on Excel’s various built-in functions if we wish to
calculate complex results in convenient ways. Also, experience suggests that the evolutionary
solver performs best if the number of variables and the number of constraints is not large. To
avoid constraints, we can often impose a numerical penalty when a condition is violated and
include the penalty in the objective function instead of entering the constraint explicitly.
Having built a model this way, it is helpful if we can start with an initial solution that satisfies
all constraints—that is, a solution without penalties. Otherwise, the evolutionary solver may not
be effective at finding feasible solutions (those without penalties) in models that contain penalty
terms in the objective.
The evolutionary solver is not likely to be trapped by local optima, as is the case with the
nonlinear solver. This feature is advantageous in searching for good solutions to problems con-
taining nonsmooth functions, especially nonlinear problems with integer variables. On the other
hand, we must realize that the search procedure is both random (subject to probabilistic vari-
ation) and heuristic (not guaranteed to find an optimum). For that reason, we usually reserve
the use of the evolutionary solver for only the most difficult problems.
The evolutionary solver works with a set of specialized parameters. Although we offered
default settings, these settings are merely a starting point. Different choices might be suitable
for different problem types. In addition, we may want to use one set of choices at the start
and then other settings in subsequent runs, while we look for improvements. As compared
to arbitrary settings, the intelligent selection of these parameters can enhance the performance
of the evolutionary solver considerably. Aside from the guidelines given here, practice
and experience using the evolutionary solver are the key ingredients in effective parameter
selection.
EXERCISES
9.1. Sequencing Jobs A fundamental model in scheduling contains a set of jobs that are
waiting to be processed by a machine or processor. The machine is capable of handling
only one job at a time, so the jobs must be processed in sequence. The problem is to find
the best sequence for a given objective function.
For example, the processor might be an integrated machining center that performs a
number of metal-cutting operations on components for complex assemblies. Ten different
components have reached the center and are awaiting processing. These jobs and their
processing times (expressed in hours) are described in the following table. In addition,
each job has a corresponding due date that has been calculated by the production control
system. As a result of the sequence chosen, each job will either be on time or late. If it is
late, the amount of time by which it misses its due date is called its tardiness. The objec-
tive is to minimize the total tardiness in the schedule.
362 Chapter 9 Heuristic Solutions with the Evolutionary Solver