[EvA] Soem beginners questions on Eva

Marcel Kronfeld marcel.kronfeld at uni-tuebingen.de
Mon Apr 6 15:03:07 CEST 2009


Hi there,

thanks for your interest in EvA2. There is a generic IslandModelEA
optimizer already implemented in EvA2. It realizes a distributed EA
implementation which splits up the main population into several "island
populations" and evaluates their fitnesses within own threads, which may
run on remote servers using RMI. In certain intervals, individuals
migrate between the islands using a migration strategy, of which some
different types are implemented.

Most of this can be directly configured through the GUI, where the
servers and their CPU counts need to be specified. I only suggest to
start the remote EvA servers manually (I didnt test the part where EvA
does this automatically using ssh). I attach a screenshot which might me
helpful (It includes some error messages of the server which shouldnt
occur when using the proper jar - however the server does its job anyway).

As to the second question: There is an ExternalRuntimeProblem
implemented in EvA2. It uses a ProcessBuilder instance and may execute
any external system command (provided as simple string) as a fitness
function. It assumes that the command takes the solution representation
(n double values for an n-dimensional problem) as arguments and
interprets the returned output stream as the assigned fitness vector.
Notice that this is not very efficient for technical reaons. However if
the fitness evaluation itself takes a relatively long time by itself
and/or a reimplementation in Java or the usage of a more efficient
interface such as JNI is not feasible, going this way is reasonable
enough - thats what we were using it for, too.

Of course there are numerous instances of possible island models and the
EvA version is only one of them. But as a test, you might just try to
optimize the ExternalRuntimeProblem with a simple test executable using
the existing IslandModelEA.

Best greetings,
Marcel Kronfeld

Alex Wood wrote:
> > I'm interested in using Eva in a test harness I'm developing.  But
before I
> > do, could I check a few things with you to see if Eva will support my
> > requirements:
> >
> > 1) I need to implement an Island model (which I've never done before,
so the
> > easier the better), I see there is a brief mention of it on the
webpage, is
> > there some documentation/example to look at?
> >
> > 2) I need to run an external command, and then parse a text file
output by
> > this command to evaluate my fitness.  At the moment I'm just using a
> > threadpool of runtime.exec()s to do this, will Eva support this (I
suppose
> > there should be no reason why it shouldn't)? Or could I use Eva
> > client/server model and have the clients do each runtime.exec()s?

-- 
 Dipl.-Inform. Marcel Kronfeld
 Wilhelm-Schickard-Institute for Computer Science
 University of Tuebingen
 Sand 1 - A305, 72076 Tuebingen, Germany

 Phone: (+49/0)-7071-29-78987, Fax: (+49/0)-7071-29-5091
 EMail: marcel.kronfeld at uni-tuebingen.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: IslandModelEA.jpeg
Type: image/jpeg
Size: 106727 bytes
Desc: not available
Url : http://listserv.uni-tuebingen.de/pipermail/eva/attachments/20090406/d5be3130/attachment-0001.jpeg 


More information about the EvA mailing list