Skip to main content

pysga


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:

https://www.researchgate.net/publication/274253521_Search_group_algorithm_A_new_metaheuristic_method_for_the_optimization_of_truss_structures

or from science direct at:

http://www.sciencedirect.com/science/article/pii/S0045794915000851

The m-files original codes is provide from:

https://www.mathworks.com/matlabcentral/fileexchange/50598-search-group-algorithm-matlab-code

Installation:


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()

app.run()

Put a fobj_function.py 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.

Release files for pysga 1.2.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pysga 1.2.7
File Size Uploaded
pysga-1.2.7.tar.gz 10.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pysga 1.2.7
File Interpreter ABI Platform
pysga-1.2.7-py3-none-any.whl Python 3 none any Details

Total release size: 21.7 kB

Release files / pysga-1.2.7.tar.gz

Download URL pysga-1.2.7.tar.gz
Size 10.3 kB
Tags Source
SHA-256 checksum
How to use checksums
782c144e6c889549a73982a967f4bcd2c852b09c2270947f02efe7f6d235aa8a
BLAKE2b-256 checksum
How to use checksums
a030de432466583685a35e7011515d55e3034155a7449b4623d7804c44044a88
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.1

Release files / pysga-1.2.7-py3-none-any.whl

Download URL pysga-1.2.7-py3-none-any.whl
Size 11.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1cb2b316d293d7597af27e06527db0cf8025539d4d6d0b2b1df935add5880821
BLAKE2b-256 checksum
How to use checksums
a515927652be5e995d47c09d4fa4ca29ca7bc610dfafe59e53c3d4382b780e58
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.1

Release history Release notifications | RSS feed

This release

1.2.7 This release

2 release files

1.2.6

2 release files

1.2.5

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2

2 release files

1.1

2 release files

1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page