Skip to main content

Search Group Algorithm metaheuristic optimization method python adaptation

Project description


A python adaptation for matlab Search Group Algorithm code.

The Search Group Algorithm (SGA) is a metaheuristic optimization method for nonlinear, nonconvex, nonsmooth, multimodal, bounded optimization problems. You may also find a tutorial in a pdf file, which is a step by step explanation about how to use the SGA code. The sections and equations cited in this file refer to the paper that presented the SGA:

M.S. Gonçalves, R.H. Lopez, L.F.F. Miguel, Search group algorithm: A new metaheuristic method for the optimization of truss structures, Computers & Structures, 153:165-184, 2015. DOI: 0.1016/j.compstruc.2015.03.003

This paper may also be download at Research Gate:

or from science direct at:

The m-files original codes is provide from:


Actually is working in python 3.x. The following modules are necessary:

* numpy (all) * kivy (for app only)

Use pip to install. For only the function without GUI App:

pip install pysga

This will install numpy if necessary.

For GUI App:

pip install pysga[full]

This will install the kivy module and dependencies. For any error, consult de kivy documentation.

App example:

from pysga.sgaApp import SearchGroupAlgorithmApp

from kivy.config import Config

Config.set('graphics', 'width', '500')

Config.set('graphics', 'height', '600')

app = SearchGroupAlgorithmApp()

Put a file in current directory and define your objective function as fobj function.

When run the app, choose the from file option and run the optimizer.

Call SGA in python code:

See the github website.

Project details

Download files

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

Files for pysga, version 1.2.7
Filename, size File type Python version Upload date Hashes
Filename, size pysga-1.2.7-py3-none-any.whl (11.3 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size pysga-1.2.7.tar.gz (10.3 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page