[NEMO-devel] new evolutionary algorithm

Ben Elliston b.elliston at unsw.edu.au
Tue Jan 13 16:34:05 AEDT 2015

Hi all,

I recently spent some time investigating a more complete and better
maintained framework for evolutionary algorithms called DEAP
(Distributed Evolutionary Algorithms in Python).  Last night I modified
NEMO to use this framework instead of Pyevolve.  Initially, I used it to
implement another GA, but DEAP provides a number of other common algorithms.

A recent paper on optimised 100% renewable systems used a more recently
developed algorithm called CMA-ES (Covariance Matrix Adaptation
Evolution Strategy), which I know little about other than it appears to
consistently outperform GAs for certain classes of problems.  I modified
NEMO today to use CMA-ES and was blown away.  It produces slightly lower
cost scenarios (about 5% lower cost) than Pyevolve and does so in fewer
generations.  On the cluster I am using, this takes 6 min 40 sec!

The code changes are checked into a branch called 'deap-branch' and I
won't merge it in until I am satisified that it's all working as it
should.  To use it, you will need to install:

	SCOOP (for distributed computation, if you wish)

.. or they can be installed with Python's easy_install.

Cheers, Ben

Ben Elliston
Centre for Energy and Environmental Markets
University of New South Wales

"The difficulty lies not in the new ideas, but in escaping from the old
  -- John Maynard Keynes

More information about the nemo-devel mailing list