Genetic Evolution as a Foundation for Supply Chain Optimization
by David Davis
Kevin Kostuik
July 30, 2007
Is
there a connection between evolution and global supply chains? Yes, and a close
one, if current trends continue. Evolution and other features of the natural
world are being used more and more to solve supply chain problems that we
haven’t been able to tackle before.
Evolution can be a very powerful way to optimize, when it is computerized and
when it is used to solve supply chain problems. In North America, genetic
algorithms, invented in the 1970s by John Holland, have been used by many
companies since the 1990s to find better solutions to supply chain problems.
Supply chain software companies are capitalizing on the new capabilities that
these algorithms (i.e. problem-solving techniques) provide us for exploiting
the computer power available to us now.
Genetic algorithms are one way of putting evolution on a computer. The
algorithms mutate, cross-breed, and evolve solutions to hard problems until
what is produced is very good—in many cases, better than the results that human
experts can find. Genetic algorithms make it possible to solve problems that
are not solvable by mathematical techniques—not, at least, in any reasonable
amount of time.
Genetic algorithms are one of a family of approaches to computerized evolution,
each with success at solving hard problems in the supply chain world. Other
related approaches are evolution strategies and evolutionary programming.
Although these approaches differ in detail, they are all members of the family
of evolutionary optimization techniques, and each is a way of harnessing
evolution to a computer to help us solve hard supply chain
problems.
When you need a very good solution fast
Computerized
evolution doesn’t necessarily find the best possible solution to a problem.
Why, then, are so many people using it? Because these techniques can find very
good solutions to a wide range of problems, and they can find them quickly.
Relaxing the requirement to find the best possible solution makes many things
possible that weren’t possible before.
As an example, Air Liquide Large Industries U.S. LP, an industrial gas company
based in Houston, uses genetic algorithms in two systems created for it by
NuTech Solutions. The first system optimizes Air Liquide’s production and
distribution of liquid oxygen and nitrogen. The system simultaneously schedules
the operation of more than forty plants and distribution by truck to more than
10,000 client sites. By optimizing both production and distribution at the same
time, the system saves a good deal of money over the solutions generated by
commercially-available supply chain software, which solve first one problem and
then the other. Charles Harper, Air Liquide’s Director of National Supply and
Pipeline Operations, says, “The system gives us a new understanding of what is
possible using contemporary approaches to optimization.”
A second system created for Air Liquide optimizes pipeline operations,
controlling more than 1,800 miles of pipelines that deliver oxygen and nitrogen
to Air Liquide’s clients. In addition to the pipelines, the system optimizes
production of oxygen and nitrogen at the plants that feed the pipeline, and
takes into account demand forecasts, client contracts, power costs, and other
aspects of the problem in order to create a unified production and distribution
plan. The system it is different from traditional approaches is many ways.
Perhaps most important is the system’s ability to control devices in the
pipeline that can change their function—and the way the pipeline flows—with a
signal from the Operations Control Center.
Both these systems illustrate the way that a genetic algorithm can solve the
whole problem that is facing supply chain personnel, as opposed to solving
sub-problems one at a time and stitching the solutions together to produce a
plan that is sub-optimal.
The techniques used in these applications can be applied across the range of
supply chain problems. If we accept very good answers instead of perfect
answers, we can get them very quickly. The result is that we can take on much larger
problems than we could solve using mathematical techniques.
Borrowing from the experts
Although
we may think of evolution as a process driven by random mutations, genetic
algorithms don’t have to operate blindly. It can be very useful to add to them
some of the techniques that human experts use. When this happens, the
algorithms may speed up dramatically and the solutions they find can be much
better. At Air Liquide, adding rules of thumb that human experts used to schedule
production doubled the speed of the liquid gas optimization
system.
What’s more, as the experts analyzed the solutions produced by the system, they
began to learn new rules. “The system is shifting production in bulk more often
than I would, but it’s saving a lot of money by doing that. It looks like it
does it only outside a radius of 200 miles.” The system worked faster when it
used rules like these.
If evolutionary algorithms are used in a production environment, a very
interesting thing happens. The experts can learn from the system and the system
can learn from the experts. Evolution happens outside the scope of the system
as well as inside it.
Other ways to borrow from nature
Genetic
algorithms are inspired by processes we have observed in the natural world.
There are others:
Ant colony optimization is a technique that is based on the foraging behavior
of ants. The Air Liquide system described above includes a genetic algorithm
and an ant colony optimizer, working together to solve the overall problem of
production and distribution. If you search for “ant colony optimization” on the
Internet, you may be fascinated to learn how ant behavior can produce a useful
computerized optimization approach.
Simulated annealing is an optimization technique that is inspired by the
behavior of metals as they are heated and cooled. It is another technique for
rapid solution of complicated problems. A search on the Internet will show you
how, in the hands of physicists, principles from the science of thermodynamics
gave rise to a very useful optimization algorithm.
Particle swarm optimization is an optimization technique that is inspired by
the behavior of animals in swarms, herds, and flocks. A search on the Internet
will show you how swarming and flocking behavior inspired computer scientists
to produce very effective optimization algorithms.
There is a great deal of power in optimization approaches inspired by processes
in the natural world, and the 21st century will probably see the use of many
more of them. Genetic algorithms are the most widespread of these, but we
predict that many more optimization approaches inspired by natural processes
are yet to be developed.
Increasing our certainty about uncertainty
One
of the biggest problems with supply chain plans is their performance when
something unexpected happens. We may be uncertain about the future, but when we
use our traditional problem-solving techniques we are often forced to eliminate
that uncertainty as we describe the problem. We tell our computers that our
truck’s travel time will be three hours and twenty minutes, that the price of
power next Tuesday will be $78 per kilowatt hour, and that the level of demand
next month will be 23,471 units.
It is very unlikely that any of these predictions will be precisely accurate,
and yet the solutions we produce using traditional techniques may be tied very
tightly to the predictions we gave when we posed the problem.
A good way to capture uncertainty about the future is to include that
uncertainty in our descriptions of our problems. Suppose, instead of telling
the computer that travel time will be three hours and twenty minutes, we tell
it instead that there are different possible travel times, and that they have
different probabilities. We tell the computer that power prices may fall
somewhere in a range next Tuesday, we tell it what the chances are for
different parts of that range, and so forth.
What we gain from doing this is the ability to simulate the performance of our
plan again and again, using these probabilities in each simulation to determine
what happens in that particular version of the future. If we said that travel
time will be four hours or more 10% of the time, then in about 10% of the
simulations we would see travel times greater than four hours. A critical part
of these simulations would be the reactions of the simulated dispatchers and
planners when the unexpected happens, and the effects of their actions on
subsequent activities as the simulation plays out.
It is possible that none of these simulations would be the same, but taken
together they would give us a very good feel for the kinds of things likely to
happen. What we gain by running many simulations, in other words, is a picture
of the range of futures that are possible using our plan.
There are many things we can do by studying a range of outcomes for a plan. We
can look at the average performance of our plan—the mean of its performance
across the range of outcomes. We can
look at the best and worst outcomes of our plan. (In order to reduce risk, it
may be important to find a plan that has worse average performance but a better
worst case.) We can modify our plan in order to look for a better distribution
of outcomes. We can see whether there are consistent problems that arise across
many of the simulations, and consider ways to reduce their impact as we modify
our plan.
The way to gain certainty about uncertainty, then, is to include uncertainty in
our description of the problem. We then create many simulations of the way our
solution plays out. The range of outcomes of those simulations gives us some
certainty about how our plan will perform, even in an uncertain world. In this
way, twenty-first century companies can overcome one of the hidden pitfalls of
business: making decisions based upon averages of averages.
Optimizing under certainty
In
our view, the 21st century will be the century of the simulation of
uncertainty, and evolutionary algorithms are just the tool to use when we are
optimizing under uncertainty. Evolutionary algorithms handle ranges of outcomes
well. They adapt to patterns that appear across sets of simulations. And, they
can include the kinds of rules of thumb that experts use to produce better
solutions. If a rule of thumb works, then the algorithm will try it out and
then evolve and refine solutions based on it; if it doesn’t, the algorithm will
try other approaches to improving the overall performance of the
schedule.
Conclusion
In
this article we have described genetic algorithms and the reasons that experts
look to them to provide solutions to 21st century problems. We have given
examples of their use taken from our own experience (these are the techniques
that we have been using to solve supply chain and logistics problems for our
clients for more than twenty years.) Finally, we have suggested that their use
will spread as they are given the task of creating good plans in the presence
of uncertainty. These algorithms will give us the ability to plan better in a
world with increasingly complicated problems and increasing uncertainty.
wt
|