Skip to content

trifectalabs/myriad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Myriad Myriad

A Scala Akka library for swarm intelligence algorithms

Codeship Status for trifectalabs/myriad

How It Works


1. Create an objective function which looks something like this
def objectiveFunction(X: List[Double]): Double {
  ...
}
2. Declare a config using your objective function and specify some initial solutions

The number of solutions specified will determine the size of the swarm. The only two required parameters are the objective function and initial solutions but all of the other parameters are customizable as well.

val conf = PSOConfiguration(
  objectiveFunction = obj,
  initialSolutions = solutions,
  ...
)
3. Create a factory to build the optimization system
val psoSystemFactory = new PSOSystemFactory(conf)
val pso = psoSystemFactory.build()
4. Create an exectuor to run the optimization
val psoJob = new PSOExecutor(pso)
psoJob.run