multi-objective fitness

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

multi-objective fitness

Eric Pascual
Hello,

I'm quite newbie to JGAP, and not at all an international expert in GAs,
but I have already succeeded in writing a small app based on it, and
without much trouble. So I'd like to address tons of congratulations and
thanks to JGAP dev team for the top quality work they've done and are doing.

I'm presently experimenting various GAs Java implementations in the
context of an European research project started a few month ago. Shortly
said, the objective of the project is to develop automatic configuration
and/or optimisation tools for industrial products, backed up by a
semantic based repository of the elementary components of the solution.
For instance, considering a final product made of the combination of a
given set of parts, and using a catalog of various flavours of each
part, the tools are expected to find the best combination suiting the
provided end-user requirements wrt the designed product. Since "best
suited" means offering the best compromise for several criteria(fi.
matching the technical specifications, being the cheapest and begin
deliverable in the shortest delay), I need something able to handle
multi-objective optimization.

As far as I have understood, JGAP evaluation approach of individuals
being only based on a fitness represented by a single numerical value,
when applied to multi-objective optimization, it requires to convert a
set of independant fitness values into a single one. This limits the
range of evaluation methods to basically the weighted sum one. Since I'd
like to experiment with other methods (Pareto ranking,...) I would need
the fitness to be something more complex than a single value (basically,
it should be a vector for instance). There is of course a way to do it
by packing this vector into a single numerical value, using a
geometrical combination for instance, but IMHO this has too much a smell
of sordid hack :-)

I've studied a bit JGAP sources (selectors, chromosomes,...). Once
again, congrats for the efforts done at documentation level. I think
I've found a possible way to do this by implementing a specific
comparator (such as NaturalSelector.FitnessValueComparator) which would
not be based on the standard 1-dof chromosome fitness, but on a n-dof
fitness, supported by a to be developed sub-class of Chromosome (or
IChromosome). The problem is that I'm not sure this would be the best
way to respect JGAP overall phylosophy and architecture.

So any suggestion or comment would be appreciated.

Please note that since this project is a EU research one, its results
will be public and extensions I could develop to JGAP will of course be
donated to the community (so my concern wrt the cleanest way to support
what I need).

Thanks in advance for any feedback and best regards

--
==============================================================
Eric PASCUAL
Centre Scientifique et Technique du B√Ętiment
299, Route des Lucioles - BP 209
F-06904 Sophia Antipolis - France
http://www.cstb.fr
==============================================================



-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
<a href="http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642">http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642
_______________________________________________
jgap-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jgap-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

RE: multi-objective fitness

Klaus Meffert
Hello Eric,

Thank you very much for your extended interest in JGAP and your kind
remarks. Your problem seems interesting enough to any extent, to try to make
JGAP work with it. So either we could elaborate a way doing so by using the
core functionality. Or we should consider extending the code base (which
would be difficult as I assume because of the paradigm shift necessary).

Here are my considerations about a possible solution:
As one gene (or at least one CompositeGene) should contribute one stamping
(of a set of alternatives), the fitness over all constraints is represented
by summing up each component's value (maybe weighted). As a component is a
gene (in my imagination), it could be used storing the fitness value (or the
value for the dimension it represents). A gene has a property called
"energy" owning getter and setter. Maybe you could use this as a partial
fitness value (i.e. component of the fitness vector you desire)?

Another issue: Your fitness function will lastly compute the value of each
fitness vector component (as I understand it). Though, it would be this
function writing the vector's components to a storage (as proposed above to
each gene's energy propoperty). By subclassing Chromosome (as you mentioned
it) you could introduce a fitness value vector and instead store the
vector's components there.

Make my suggestions sense resp. in your problem domain?

BTW: You seem to work with the CVS version of JGAP (which is great) as I
noticed by your reference to interface IChromosome (which has been
introduced after the latest officially released version, 2.5). So, if you
encounter any problems that might have their root in a coding error, please
don't hesitate contacting me.

Best

Klaus Meffert
JGAP Admin

> -----Original Message-----
> From: [hidden email] [mailto:[hidden email]]
> Sent: Wednesday, January 25, 2006 4:22 PM
> To: [hidden email]
> Subject: [jgap-users] multi-objective fitness
>
> Hello,
>
> I'm quite newbie to JGAP, and not at all an international
> expert in GAs, but I have already succeeded in writing a
> small app based on it, and without much trouble. So I'd like
> to address tons of congratulations and thanks to JGAP dev
> team for the top quality work they've done and are doing.
>
> I'm presently experimenting various GAs Java implementations
> in the context of an European research project started a few
> month ago. Shortly said, the objective of the project is to
> develop automatic configuration and/or optimisation tools for
> industrial products, backed up by a semantic based repository
> of the elementary components of the solution.
> For instance, considering a final product made of the
> combination of a given set of parts, and using a catalog of
> various flavours of each part, the tools are expected to find
> the best combination suiting the provided end-user
> requirements wrt the designed product. Since "best suited"
> means offering the best compromise for several criteria(fi.
> matching the technical specifications, being the cheapest and
> begin deliverable in the shortest delay), I need something
> able to handle multi-objective optimization.
>
> As far as I have understood, JGAP evaluation approach of
> individuals being only based on a fitness represented by a
> single numerical value, when applied to multi-objective
> optimization, it requires to convert a set of independant
> fitness values into a single one. This limits the range of
> evaluation methods to basically the weighted sum one. Since
> I'd like to experiment with other methods (Pareto
> ranking,...) I would need the fitness to be something more
> complex than a single value (basically, it should be a vector
> for instance). There is of course a way to do it by packing
> this vector into a single numerical value, using a
> geometrical combination for instance, but IMHO this has too
> much a smell of sordid hack :-)
>
> I've studied a bit JGAP sources (selectors, chromosomes,...).
> Once again, congrats for the efforts done at documentation
> level. I think I've found a possible way to do this by
> implementing a specific comparator (such as
> NaturalSelector.FitnessValueComparator) which would not be
> based on the standard 1-dof chromosome fitness, but on a
> n-dof fitness, supported by a to be developed sub-class of
> Chromosome (or IChromosome). The problem is that I'm not sure
> this would be the best way to respect JGAP overall phylosophy
> and architecture.
>
> So any suggestion or comment would be appreciated.
>
> Please note that since this project is a EU research one, its
> results will be public and extensions I could develop to JGAP
> will of course be donated to the community (so my concern wrt
> the cleanest way to support what I need).
>
> Thanks in advance for any feedback and best regards
>
> --
> ==============================================================
> Eric PASCUAL
> Centre Scientifique et Technique du B√Ętiment 299, Route des
> Lucioles - BP 209
> F-06904 Sophia Antipolis - France
> http://www.cstb.fr
> ==============================================================




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
<a href="http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642">http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642
_______________________________________________
jgap-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jgap-users
Loading...