https://github.com/trifectalabs/myriad
A Scala Akka library for swarm intelligence algorithms
https://github.com/trifectalabs/myriad
akka optimization scala scala-akka-library swarm swarm-intelligence-algorithms
Last synced: 9 months ago
JSON representation
A Scala Akka library for swarm intelligence algorithms
- Host: GitHub
- URL: https://github.com/trifectalabs/myriad
- Owner: trifectalabs
- License: mit
- Created: 2015-09-08T01:54:17.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2017-08-03T13:06:09.000Z (almost 9 years ago)
- Last Synced: 2025-06-14T22:43:49.723Z (about 1 year ago)
- Topics: akka, optimization, scala, scala-akka-library, swarm, swarm-intelligence-algorithms
- Language: Scala
- Size: 77.1 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

Myriad
======
A Scala Akka library for swarm intelligence algorithms
[ ](https://codeship.com/projects/104435)
### 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
```