  The field of algorithmic self-assembly is concerned with the design and
analysis of self-assembly systems from a computational perspective, that is,
from the perspective of mathematical problems whose study may give insight into
the natural processes through which elementary objects self-assemble into more
complex ones. One of the main problems of algorithmic self-assembly is the
minimum tile set problem (MTSP), which asks for a collection of types of
elementary objects (called tiles) to be found for the self-assembly of an
object having a pre-established shape. Such a collection is to be as concise as
possible, thus minimizing supply diversity, while satisfying a set of stringent
constraints having to do with the termination and other properties of the
self-assembly process from its tile types. We present a study of what we think
is the first practical approach to MTSP. Our study starts with the introduction
of an evolutionary heuristic to tackle MTSP and includes results from extensive
experimentation with the heuristic on the self-assembly of simple objects in
two and three dimensions. The heuristic we introduce combines classic elements
from the field of evolutionary computation with a problem-specific variant of
Pareto dominance into a multi-objective approach to MTSP.
