swh:1:snp:aa8b4c9b793b36ad527c4b4777087a0aff8ee6b3
Tip revision: 9f3cdd9192e1a2ffb4228f327c22c93d56a86ca8 authored by Romain Reuillon on 30 August 2012, 15:03:50 UTC
Updated scala doc.
Updated scala doc.
Tip revision: 9f3cdd9
README.md
MGO
===
MGO is a library based on the cake pattern for multi-objective evolutionary algorithm:
* written in scala,
* enforcing immutability,
* exposes a modular and exetensible architechture,
* implements state of the art algorithms.
Example
-------
import fr.iscpif.mgo._
val zdt = new ZDT4 {
def n = 10
}
implicit val rng = new Random
val smsemoea =
new SMSEMOEASigma
with MGBinaryTournamentSelection
with HyperVolumeStabilityTermination
with NonDominatedElitism
with CoEvolvingSigmaValuesMutation
with SBXBoundedCrossover
with HypervolumeDiversity
with ParetoRanking
with StrictDominance
with RankDiversityModifier
with ManualReferencePoint
with CloneRemoval {
def distributionIndex = 2
def windowSize = 100
def deviationEpsilon = 0.001
def mu = 200
def lambda = 200
def genomeSize = 10
def referencePoint = IndexedSeq(2.0, 2.0)
}
val res = smsemoea.run(zdt).dropWhile {
s => println(s.terminationState.std); !s.terminated
}.next.population
res sortBy (_.metaFitness.rank) foreach {
e => println(zdt.scale(e)._2.values.mkString(","))
}
Maven dependency
----------------
<dependency>
<groupId>fr.iscpif</groupId>
<artifactId>mgo</artifactId>
<version>1.XX</version>
</dependency>
<repository>
<id>maven.iscpif.fr</id>
<name>ISC-PIF Repository</name>
<url>http://maven.iscpif.fr/public/</url>
</repository>