项目作者: tyhal

项目描述 :
Particle Swarm Optimization library in Julia
高级语言: Julia
项目地址: git://github.com/tyhal/ParticleSwarmOptimization.jl.git
创建时间: 2017-06-02T02:39:50Z
项目社区:https://github.com/tyhal/ParticleSwarmOptimization.jl

开源协议:Other

下载


ParticleSwarmOptimization

Partical Swarm Optimization library in Julia

project log

  1. Pkg.clone("git@github.com:tylerhale/ParticleSwarmOptimization.jl.git")
  2. Pkg.add("ParticleSwarmOptimization")
  3. Pkg.build("ParticleSwarmOptimization")
  4. Pkg.update()
  5. using Blink
  6. Blink.AtomShell.install()
  7. Pkg.test("ParticleSwarmOptimization")
  1. using ParticleSwarmOptimization; PSO = ParticleSwarmOptimization;

Julia

GR for speed, Plotly(JS) for interactivity, PyPlot otherwise.
https://juliaplots.github.io/backends/

Core types

  1. # Info for a single plot
  2. type ParticlePlotInfo
  3. x::Float64
  4. y::Float64
  5. ParticlePlotInfo(x=0,y=0) = new(x,y)
  6. end
  1. # A population element
  2. type Particle
  3. plot::ParticlePlotInfo
  4. indx::Integer # Id in array
  5. fitn::Float64 # Fitness
  6. befi::Float64 # Best Fitness
  7. data::Any
  8. end
  1. # Generic plotting object to render the Swarm on a scatterplot
  2. type SwarmsPlotInfo
  3. colo::String # Swarm Color
  4. name::String # Name of Swarm :3
  5. xmin::Float64
  6. ymin::Float64
  7. xmax::Float64
  8. ymax::Float64
  9. updt::Function # Update for particles
  10. SwarmsPlotInfo(c::String,n::String) = new(c,n,0,0,0,0,(p::Particle) -> ParticlePlotInfo(p.indx,p.fitn))
  11. end
  1. # Basic swarm object holds functions and state to create any swarm you need
  2. type Swarm
  3. plot::SwarmsPlotInfo
  4. part::Array{Particle,1} # Particle
  5. glfi::Float64 # Best Global
  6. fifu::Function # fitness func
  7. move::Function # move func (glfi::Float64,swdata::Any,pt::Particle)
  8. data::Any # data
  9. end