pso 1.0.2 copy "pso: ^1.0.2" to clipboard
pso: ^1.0.2 copied to clipboard

Particle Swarm Optimization tool for Dart. The implementation supposes the objective function is a maximation and optimization parameters are customizable.

Dart CI

A Library for Particle Swarm Optimization

Created by Matletik - Mathematical Manipulatives and Interactive Learning Tools

http://www.matletik.com

Usage #

A simple usage example:

import 'dart:math' as _math;
import 'package:pso/pso.dart';

double f(List<double> x){
  double s = 0.0;
  s = _math.pow(x[0] - 3.14159265, 2.0) + _math.pow(x[1] - 2.71828, 2.0);
  return -s;
}

void main() {
  List<double> mins = [-10, -10];
  List<double> maxs = [10, 10];

  PSO pso = PSO(f, 100, mins, maxs);
  pso.iterateN(500);

  Particle result = pso.findGBest();
  print(result);
}

Details #

  • The objective function is always in the form of
double f(List<double> x){
  
}
  • The optimization is always a maximation. If the objective function of the problem is a minimization, the returned value of the objective function can be multiplied by -1.0.

  • The default parameters of the classical Particle Swarm Optimization are set to w = 0.5, c1 = 1.0, and c2 = 1.0. These optimization parameters can be customized in the

void iterateWithParameters(double w, double c1, double c2) 

or

void iterateNWithParameters(int n, double w, double c1, double c2) 

in the class PSO.

0
likes
20
pub points
0%
popularity

Publisher

unverified uploader

Particle Swarm Optimization tool for Dart. The implementation supposes the objective function is a maximation and optimization parameters are customizable.

Homepage

License

unknown (LICENSE)

More

Packages that depend on pso