EddySearch

Eddy is a collection of artificial function landscapes and search strategies to find their extrema points. Most artificial landscapes are in euclidean space and can simply be seen as a landscape of hills and valleys and the goal is to find the lowest or highest point within a given evaluation budget. This gives the possibility to compare optimization methods -- or often also known as search strategies -- in artificial settings: either for the curious mind, for pedagogical purpose or for fair experimental comparison. You can simply extend it with your own search strategy and see how well it works in these landscapes (objective functions).
Jump to ..
Installation
- Install from PyPi via poetry:
poetry install eddysearch - Install with pip:
pip install eddysearch - Install latest development version:
poetry add git+https://github.com/innvariant/eddysearch.git#master
Intro
To make visualizations (e.g. 3D Plots or Manim-Videos) easy, objectives define much more information than just the pure function definition. For example, they contain information about suggested visualization boundaries or their analytical or empirical known extrema. Search strategies on the other hand provide capabilities to track their search path through space. So it is easy to follow their search principles. The main intent is to provide insights into the differences of various search strategies and how they behave in different artifcial landscapes.
Artificial Landscapes
.. also called test functions for optimization on Wikipedia.
Himmelblau Function
Also see Wikipedia: Himmelblau's function.
$f(x,y) = (x^2+y-11(x+ y^2-7)^2)$
from eddysearch.objective import HimmelblauObjective
obj = HimmelblauObjective()
RastriginObjective
from eddysearch.objective import RastriginObjective
obj = RastriginObjective()
RosenbrockObjective
from eddysearch.objective import RosenbrockObjective
obj = RosenbrockObjective()
LeviN13Objective
from eddysearch.objective import LeviN13Objective
obj = LeviN13Objective()
CrossInTrayObjective
from eddysearch.objective import CrossInTrayObjective
obj = CrossInTrayObjective()
EggholderObjective
from eddysearch.objective import EggholderObjective
obj = EggholderObjective()
Under Development
- Stier2020A1Objective
from eddysearch.objective import Stier2020A1Objective
obj = Stier2020A1Objective()
- Stier2020A2Objective
from eddysearch.objective import Stier2020A2Objective
obj = Stier2020A2Objective()
- Stier2020BObjective
from eddysearch.objective import Stier2020BObjective
obj = Stier2020BObjective()
Metadata
Release files for eddysearch 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| eddysearch-0.3.0.tar.gz | 19.3 kB | Without provenance | Details for eddysearch-0.3.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| eddysearch-0.3.0-py3-none-any.whl | Python 3 | none | any | Details for eddysearch-0.3.0-py3-none-any.whl |
Total release size: 39.6 kB
Release files / eddysearch-0.3.0.tar.gz
| Download URL | eddysearch-0.3.0.tar.gz |
|---|---|
| Size | 19.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3a4cf0e481c63e2bad6cc5181c2d6edca17f91f6867884903dd09a7f05d7bd83
|
|
BLAKE2b-256 checksum How to use checksums |
88cda06883654079a6452692f0f2f825fe4d98c6b6e9f3c0539d34e070a0e808
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/2.0.0 pkginfo/1.7.1 requests/2.24.0 setuptools/52.0.0.post20210125 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.7.3
|
Release files / eddysearch-0.3.0-py3-none-any.whl
| Download URL | eddysearch-0.3.0-py3-none-any.whl |
|---|---|
| Size | 20.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3a9ff8d910b25f1ac88696af8ac68d8cf1085b0c17fdb29f27c971708432ab6f
|
|
BLAKE2b-256 checksum How to use checksums |
6f618440da0747c84ee843b253f0da964ad28cd14d0187d8bd372c9c146e9219
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/2.0.0 pkginfo/1.7.1 requests/2.24.0 setuptools/52.0.0.post20210125 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.7.3
|
Security for eddysearch 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.