Home
Products and Services
Software
Products
Recommended Books
Bibliography and White Papers Free Downloads
Links


GenSheet
Genetic Algorithm FAQ
GenSheet supports genetic operations for binary, integer, real,
and permutation representations.
GenSheet provides an interactive help and a tutorial that
takes you through the process of building applications using genetic
algorithms.
GenSheet interfaces with all standard Microsoft Excel editing, charting, database, button, dialog, and macro commands. GenSheet is compatible with the latest versions of Excel  both under 32 and 64bit Windows implementations.
System Requirements
GenSheet requires Microsoft Excel  Version 2007 and later.
Input/OutputGenetic algorithm inputs consist
of your specification of an objective function to be maximized, and
parameters that determine how the genetic algorithm is to
"breed" improved solutions from a population of parent
solutions. In GenSheet, you specify the initial population,
parameters (such as number of generations and mutation rate), and
other inputs directly as spreadsheet regions. GenSheet output is the
display of the population after computation.
Size and Speed GenSheet population
size is limited by Excel memory.
Runtime speed depends on the hardware support for floating point
computation.
GenSheet supports the following algorithms and utilities:
 Binary
The basic genetic algorithm, representing genes
as arrays of bits.
 Integer
Genes as arrays of integers. Useful for integer
programming problems.
 Real
Genes as arrays of real numbers. Useful for
nonlinear programming.
 Permutation
Genes as arrays of integers, where order is
significant.
Licenses
The basic singleuser license includes the genetic algorithm
development tools integrated with the Microsoft Excel user inteface
macros and VBA libraries; an online tutorial; an 80 Page
Manual; and function optimization templates. GenSheet
comes with EMail Technical Support.
What Are Genetic Algorithms?Genetic algorithms are a set of
mathematical optimization techniques that are inspired by biological
evolution. They work by breeding a population of new
answers from old answers with a methodology based on survival of
the fittest. Over time, an initial population of answers will
improve and converge to a population of optimal answers.
How Do Genetic Algorithms Differ From Other Optimization
Techniques? Mathematical optimization is concerned with the
following problem: Given a complicated function f(x), find a vector
M, subject to constraints C(x), such that f(M) is a Maximum. This
formal statement is similar to the problem of finding the highest
mountain peak in a mountain range, while hiking with a blindfold.
Conventional optimization techniques start with an initial answer
 a single guess for M  and a way to generate new answers from
old answers, based on gradient search rules. This rule is:
to find a peak, keep taking steps in the direction of the steepest
ascent.
Genetic algorithm techniques start with an initial population of
answers  a set of different guesses for M  and a way to generate
new answers from old answers based on rules that are inspired by
genetics and evolutionary biology.
Are Genetic Algorithms Better Than Conventional Optimization
Methods?One problem with conventional gradient search rules is
that they are local: since you start with a single guess, you may
find a peak, but you are not guaranteed that it is the highest in
the entire mountain range. Genetic search procedures are global:
since you start with a population of guesses, the likelihood of
finding the highest peak also depends on the size and variety of the
population. The basic idea is that when two potential answers are
mated in a probabilistic way, the best properties of both
parents are preserved in the population. In the terminology of
genetic algorithms, vector x is a chromosome and the components of x
are genes. The height of the mountains is described by a fitness
function: the optimal answer M corresponds to the fittest
survivor of all the possible values of x. At every generation,
the fittest answers are mated: the crossover operations combines
different genes of both solutions into a new solution, and the
mutation operations introduce a random element on genes.
Hillclimbing becomes survival of the fittest.
What Is GenSheet?GenSheet implements genetic algorithms as
C programs dynamically linked to Microsoft Excel spreadsheets. In
GenSheet, a gene is a spreadsheet cell, a chromosome (vector x) is
range of spreadsheet cells, and a population is a rectangular region
of spreadsheet cells (an array of chromosomes). GenSheet runs under
all implementations of Microsoft Excel (version 4.0 or higher),
including Windows, Macintosh, and Sun under Solaris. GenSheet macros
interface with all Excel spreadsheet commands for charting, for
spreadsheet formatting and for reporting and printing.
What Kinds of Genetic Operations are Supported by GenSheet?
GenSheet supports a comprehensive set of genetic
representations, operations, and utilities, all packaged in an
easytouse system based on Excel Menus and dialogs:
 Numerical Representations
Binary, Integer, Real,
Permutation
 Genetic Operations
Uniform, Partially Matched
Crossovers, Average, Coarse, Fine Crossovers, Ordinal/Positional
Mutations
How do you use GenSheet to Solve a Problem?If you are
familiar with using a spreadsheet, then you will very quickly
recognize GenSheet's ability to solve your most difficult
optimization problems efficiently. Three steps to solving a
problem with a genetic algorithm process:
 Represent the problem in terms of maximizing a Fitness
Function.
Create a fitness function based any
spreadsheet formulas. Function arguments can be either bits,
integers, real numbers, or integer orderings (permutations).
The representation you select for the fitness function
specifies the type of genetic algorithm. Define bounds for
each argument. Incorporate complex constraints in the
fitness function. If you are using one of the predefined
GenSheet applications, the fitness function is already
specified for you.
 Set the Parameters for the Genetic Algorithm on the
Spreadsheet.
Set the parameters in the Parameter Region
on the spreadsheet. All GenSheet algorithms and applications
have defaults for all parameters displayed in a Parameter
Region.
 Iterate.
If you have designed your own fitness
function, set the number of generations to the number of
iterations in the Excel Calculation... menu. If you are
using a predefined GenSheet application, set the generations
to the #Runs parameter in the spreadsheet Parameter Region.
© 2015 Inductive Solutions, Inc. All rights
reserved.

