Skip to main content

Simple Particle Swarm Optimization

Project description

Optimus-Beez

This is a Particle Swarm Optimization (PSO) package. The PSO used is the simplest version presented by Maurice Clarc in "Particle Swarm Optimization".

Installation

Run the following command: pip install optimus-beez

How to use Optimus-Beez

Choosing the function to evaluate

The default function to evaluate is Rosenbrock. To change this, first check out evaluate.py. This file contains evaluate() that evaluates points for different functions. If the function you wish to use is not defined, then go ahead and add it to evaluate(). Then go to function_info.txt and change

  • fn_name to the name of one of the functions in evaluate()
  • true_position to the x,y-coordinates of the global minimum of your function

Optimizing the parameters of the PSO

The optimization algorithm itself contains 5 parameters that need to be set by the user. These are set in the file optimal_constants.txt. In the code, these parameters are referred to as 'constants' so as not to confuse them with the x,y-coordinates. It is a good idea to optimize these constants using optimize_constants.py. Run optimize_constants.py on your command line. This is just good old random search optimization. You will be prompted several times for input. Use a value of 'time steps' similar to what you want to use with PSO. When the random search is completed, you will be asked if you want to overwrite the file optimal_constants.txt. Do this if you would like to use these constants in PSO.py.

Using PSO

The main script is PSO.py. Run this in the command line. You will be asked if you want to change the number of evaluations. If the value you wish to set is much larger or smaller than the default value, it is advised you run optimize_constants.py again. Set the value, or use the default value and wait for the PSO to finish. You will see an animation of your swarm at the end.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

optimusbeez-0.0.1.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

optimusbeez-0.0.1-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file optimusbeez-0.0.1.tar.gz.

File metadata

  • Download URL: optimusbeez-0.0.1.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for optimusbeez-0.0.1.tar.gz
Algorithm Hash digest
SHA256 3494d386e457bf0113c03c331fa5ecd8ea4ea74c5fd351566901dceaedf03e50
MD5 c50071b90c75dcb372fecaab4e79a7c1
BLAKE2b-256 a02971f1a11f8449be7c9ca5edcbe6ce900be7fa572044b2826f6cf83e536038

See more details on using hashes here.

File details

Details for the file optimusbeez-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: optimusbeez-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 12.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for optimusbeez-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 afa2a91517c29d89fbeef6b6396ce7106b5346e47437a4346a05e4d04946de6f
MD5 6753137f92fc7fffb2cd27c1a6fcff88
BLAKE2b-256 c2cf1e41e78bc47a4fc10e168057582baacca735e7924be8c03fe8b884e804fa

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page