swh:1:snp:aa8b4c9b793b36ad527c4b4777087a0aff8ee6b3
Raw File
Tip revision: 9f3cdd9192e1a2ffb4228f327c22c93d56a86ca8 authored by Romain Reuillon on 30 August 2012, 15:03:50 UTC
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>

back to top